| Summary: | AHA-1542A not supported by FreeBSD 3.x ("compensating") | ||
|---|---|---|---|
| Product: | Base System | Reporter: | bertram <bertram> |
| Component: | i386 | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 3.1-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: gnats-admin->freebsd-bugs Misfiled PR. Please close. Duplicate of i386/14334. /K -- Johan Karlsson mailto:k@numeri.campus.luth.se State Changed From-To: open->closed Duplicate of i386/14334. |
aha0 is found and probed correctly but fails when probing for attached devices. Output during boot is: aha0 at 0x330-0x333 irq 11 drq 5 on isa aha0: AHA-1540/1542 64 head BIOS FW Rev. 0.6 (ID=41) SCSI Host Adapter, SCSI ID 7, 16 CCBs Waiting 15 seconds for SCSI devices to settle aha0: AHA-1540A detected, compensating aha0: AHA-1540A detected, compensating aha0: AHA-1540A detected, compensating aha0: AHA-1540A detected, compensating aha0: AHA-1540A detected, compensating aha0: AHA-1540A detected, compensating then the machine just hangs. works with FreeBSD 2.x, output of "boot -v" in 2.2.8: aha0: Rev 41 (AHA-154x[AB]) V0.6, enabling residuals, target ops Fix: disabling residuals in aha.c cured the problem on my machine. I've no clue about the consequences of the modification I did, but if possible I'd like to have this as the default for the GENERIC kernel, since it make installation possible with this controller. On the other hand residuals IMHO aren't the real source of the problem since obviously they worked in 2.2.8. Context diff of sources from 3.1-RELEASE follows: *** aha.c Wed Jan 20 07:21:26 1999 --- aha.c-orig Thu Oct 14 20:55:46 1999 *************** *** 242,249 **** aha->unit = unit; aha->tag = tag; aha->bsh = bsh; ! aha->ccb_sg_opcode = INITIATOR_SG_CCB_WRESID; ! aha->ccb_ccb_opcode = INITIATOR_CCB_WRESID; if (aha->unit != AHA_TEMP_UNIT) { aha_softcs[unit] = aha; --- 242,249 ---- aha->unit = unit; aha->tag = tag; aha->bsh = bsh; ! aha->ccb_ccb_opcode = INITIATOR_CCB; ! aha->ccb_sg_opcode = INITIATOR_SG_CCB; if (aha->unit != AHA_TEMP_UNIT) { aha_softcs[unit] = aha; How-To-Repeat: Boot with Install-floppies of FreeBSD 3.x or 4.0-current