Problem with ATA driver on pc386
afraiett at bigpond.net.au
Tue Jul 6 21:05:36 UTC 2004
Eugeny S. Mints wrote:
> Hi Angelo!
> Ok, let start from the beginning. I developed the the code based on
> ATA spec revision mentioned in the header in ata.c file. The revision
> is quite old.
> First command executed for a IDE controller is DEVICE DIAGNOSTIC
> command. Return codes other then 0x81 or 0x01 are vendor specific and
> probably are not handled properly by the current ata.c driver. There
> is no special return code for "master (device 0) not present". THere
> is "device 0 failed" only. One potential is that your IDE controller
> uses some vendor specific code for "master not present". Other is that
> your IDE controller cann't handle "no master" case and doesn't set BSY
> bit properly and DIAGNOSTIC command never terminates.
I don't know about that. I have tested this on three different types of
The first is the DIMMPC, which has an on board IDE. If I disable the
onboard IDE, the App hangs. If I then plug an external Hard drive
configured as a master to the port, it works
The second is on the PC104 system. It hangs unless I plug a Master in
the Primary Port
The third is this PC I am on now. I disconnected my primary hard disk
and booted from a floppy and it froze. I plugged it back in and it worked.
Based on these tests, I believe that the problem is not isolated to my
> I would like to help you with the issue but I need more details on the
> failure. Could you please check first that:
> - execution of ata_process_request_on_init_phase is completed
> successfully for DEVICE_DIAGNOSTIC command
> - disassembe of the diagnostic return codes gives correct
> configuration for you system, i.e. it detects "no master, slave
> present" for your IDE controller
I can seed some messages to the console in the function if that helps.
PO Box 859
Hamilton NSW 2303
There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
There are those who seek knowledge to be known by others - that is VANITY
There are those who seek knowledge in order to serve - that is LOVE
Bernard of Clairvaux (1090 - 1153)
More information about the users