Problem with ATA driver on pc386

Angelo Fraietta 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 
Hardware.

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


http://www.users.bigpond.com/angelo_f/

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