[ros-dev] atapi problems

Ge van Geldorp gvg at reactos.com
Wed Oct 20 01:47:27 CEST 2004


I'm having problems getting atapi drives recognized. Setup:

Primary controller
- master: HD HITACHI_DK23AA-60
- slave: CD-ROM COMPAQ CD-224E

Secondary controller
- master: not connected
- slave: not connected

First of all, the harddisk is not recognized. The call to
AtapiWaitForStatus() in atapi.c line 1159 times out. I can fix this by
increasing the timeout in that call from 20000 to 40000 (the harddisk needs
a minimum of around 38700 here).

After the harddisk is succesfully recognized, detection of the CD-ROM fails.
Again, the call to AtapiWaitForStatus in line 1159 times out, but this time
no amount of increasing the timeout (I've gone up to 4000000, 40 sec, more
than the 30 sec limit in the ATA spec) helps. I've attached the debug log.
Note the lines:

(atapi.c:1161) Timeout on drive 1
and
(atapi.c:992) Unexpected Interrupt, CommandPort=01f0, Status=ff, Count=1

I hope someone more familiar with the atapi driver can take a look at this.
Oh, btw, going back to atapi.c rev 48 cures the problem (both HD and CD-ROM
are recognized and working then).

All help appreciated, Gé van Geldorp.
-------------- next part --------------
(atapi.c:348) ATAPI Driver 0.0.1
(atapi.c:349) RegistryPath: '\Registry\Machine\System\CurrentControlSet\Services\atapi(atapi.c:572) AtapiFindCompatiblePciController() Bus: 0  Slot: 0
(atapi.c:611) 6 0
(atapi.c:611) 6 4
(atapi.c:611) 6 7
(atapi.c:611) 6 7
(atapi.c:611) 6 80
(atapi.c:611) 1 1
(atapi.c:622) Bus 0  Device  7  Func 1  VenID 0x8086  DevID 0x7111
(atapi.c:623) ProgIF 0x80
(atapi.c:625) Found IDE controller in compatibility mode!
(atapi.c:633) Found IDE Bus Master controller!
(atapi.c:637)   IDE Bus Master Registers at IO 3420
(atapi.c:643) Primary channel!
(atapi.c:1105) AtapiFindDevices() called
(atapi.c:1108)   CommandPortBase: 1f0
(atapi.c:1111)   ControlPortBase: 3f6
(atapi.c:1185)   Check drive 0: High 0x0 Low 0x0
(atapi.c:1462) status=50
(atapi.c:1463) waited 0 usecs for busy to clear
(atapi.c:1513) READ:DRV=0:LBA=0:CH=00:CL=00:HD=0:SN=00:SC=01:CM=ec
(atapi.c:1332) Config:045a  Cyls:12416  Heads:15  Sectors/Track: 63  Gaps:00 00
(atapi.c:1336) Bytes/PLO:  0  Vendor Cnt:13619  Serial number:[              M54056]
(atapi.c:1341) Cntlr type: 3  BufSiz:524288  ECC bytes:  4  Firmware Rev:[00XEA0H0]
(atapi.c:1342) Model:[HITACHI_DK23AA-60                       ]
(atapi.c:1349) RWMultMax?:8010  RWMult?:10  LBA:1  DMA:1  MinPIO:512 ns  MinDMA:512 ns
(atapi.c:1354) TM:Cyls:12416  Heads:15  Sectors/Trk:63 Capacity:11733120
(atapi.c:1358) TM:SectorCount: 0x00b30880 = 11733120
(atapi.c:1368) Ultra DMA mode 2 is selected
(atapi.c:1405) BytesPerSector 512
(atapi.c:1223)   IDE drive found!
(atapi.c:3081) status=ff
(atapi.c:3082) waited 400000 usecs
(atapi.c:1161) Timeout on drive 1
(atapi.c:672) AtapiFindCompatiblePciController() returns: SP_RETURN_FOUND
(atapi.c:992) Unexpected Interrupt, CommandPort=01f0, Status=ff, Count=1
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 0  Lun: 0
(atapi.c:1911) SCSIOP_INQUIRY: DeviceExtension c0495724  TargetId: 0
(atapi.c:1935) ConfigBits: 0x45a
(atapi.c:1965) VendorId: 'HITACHI_DK23AA-60   '
(atapi.c:1896) AtapiSendIdeCommand() done!
(atapi.c:973) AtapiStartIo() done
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 1  Lun: 0
(atapi.c:973) AtapiStartIo() done
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 0  Lun: 1
(atapi.c:973) AtapiStartIo() done
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 0  Slot: 0
(atapi.c:611) 6 0
(atapi.c:611) 6 4
(atapi.c:611) 6 7
(atapi.c:611) 6 7
(atapi.c:611) 6 80
(atapi.c:611) 1 1
(atapi.c:622) Bus 0  Device  7  Func 1  VenID 0x8086  DevID 0x7111
(atapi.c:623) ProgIF 0x80
(atapi.c:625) Found IDE controller in compatibility mode!
(atapi.c:633) Found IDE Bus Master controller!
(atapi.c:637)   IDE Bus Master Registers at IO 3420
(atapi.c:656) Secondary channel!
(atapi.c:1105) AtapiFindDevices() called
(atapi.c:1108)   CommandPortBase: 170
(atapi.c:1111)   ControlPortBase: 376
(atapi.c:1129) No Drive found. UnitNumber 0 CommandPortBase 170
(atapi.c:1129) No Drive found. UnitNumber 1 CommandPortBase 170
(atapi.c:1137) No device found
(atapi.c:672) AtapiFindCompatiblePciController() returns: SP_RETURN_FOUND
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 0  Lun: 0
(atapi.c:973) AtapiStartIo() done
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 1  Lun: 0
(atapi.c:973) AtapiStartIo() done
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 1  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 2  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 3  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 4  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 5  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 6  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 7  Slot: 0
(atapi.c:572) AtapiFindCompatiblePciController() Bus: 8  Slot: 0
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:781) AtapiFindNativePciController() called!
(atapi.c:888) AtapiFindNativePciController() done!
(atapi.c:703) AtapiFindIsaBusController() called!
(atapi.c:741) AtapiFindIsaBusController() both channels claimed. Returns: SP_RETURN_NOT_FOUND
(atapi.c:703) AtapiFindIsaBusController() called!
(atapi.c:741) AtapiFindIsaBusController() both channels claimed. Returns: SP_RETURN_NOT_FOUND
(atapi.c:428) Returning from DriverEntry
DriverBase for class2.sys: dccfc000
DriverBase for disk.sys: dcd05000
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 0  Lun: 0
(atapi.c:1980) SCSIOP_READ_CAPACITY: TargetId: 0
(atapi.c:2008) LastCount: 11733119 (00b3087f / 7f08b300)
(atapi.c:1896) AtapiSendIdeCommand() done!
(atapi.c:973) AtapiStartIo() done
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 0  Lun: 0
(atapi.c:2031) AtapiReadWrite() called!
(atapi.c:2033) SCSIOP_WRITE: TargetId: 0
(atapi.c:2049) Starting sector 0  Number of bytes 512  Sectors 1
(atapi.c:2080) READ:BUS=01f0:DRV=0:LBA=1:BLK=00000000:SC=01:CM=c0
(atapi.c:2112) status=ff
(atapi.c:2113) waited 500000 usecs for busy to clear
(atapi.c:2116) Drive is BUSY for too long
(atapi.c:1896) AtapiSendIdeCommand() done!
(atapi.c:973) AtapiStartIo() done
(atapi.c:917) AtapiStartIo() called
(atapi.c:1823) AtapiSendIdeCommand() called!
(atapi.c:1828) PathId: 0  TargetId: 0  Lun: 0
(atapi.c:2031) AtapiReadWrite() called!
(atapi.c:2033) SCSIOP_WRITE: TargetId: 0
(atapi.c:2049) Starting sector 0  Number of bytes 512  Sectors 1
(atapi.c:2080) READ:BUS=01f0:DRV=0:LBA=1:BLK=00000000:SC=01:CM=c0
(atapi.c:2112) status=ff
(atapi.c:2113) waited 500000 usecs for busy to clear
(atapi.c:2116) Drive is BUSY for too long
(atapi.c:1896) AtapiSendIdeCommand() done!
(atapi.c:973) AtapiStartIo() done


More information about the Ros-dev mailing list