Problem with ATA driver on pc386

Angelo Fraietta afraiett at
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 
particular system.

> 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.

Angelo Fraietta

PO Box 859
Hamilton NSW 2303

Home Page

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 mailing list