Hi,

(Was "HDD question" on hackers@, posted also here cause this is also CURRENT problem)

History:
> I have some problems with my HDD (ST380021A). The problem was checked on 5.2, 5.2.1, and some
> 5.Current (cvsuped about week or two).
>
> At first I got this problem while system installation. I get trap and message from ata after I start a commit:
> FAILURE READ_DMA status=51 <READY, DSC, ERROR> error=10 <NID_NOT_FOUND> LBA=245529601
>
> I started to hack sysinstall and finally came to simple program that could lead
> to the same message from ata:
>
> fd = open ("/dev/ata0", O_RDWR);
> read_block (fd, (daddr_t)41929650, 512); // this one could be changed to pair calls lseek and read,
> // so this is not libdisk problem
>
> I checked the same code with /dev/ata1 which is twice as little, but I didn't
> get any messages.
>
> I don't have any ideas where my read call goes, which drivers to look to catch this bug.
>
> So I need a help from some gurus in this area.


What I've found since that time:

This is not an LBA request. ATA driver thinks that I have 80G CHS device, cause it's ATA_FLAG_54_58
is zero. (This decision is incorrect, we shouldn't relay on this flag). I've checked another seagate 80G drive in
CHS mode(by driver hacking), and problematic one with LBA mode. I get the same behavior on both with CHS.
And both work fine in LBA mode. It also should be mentioned that I get this problem on machine with
ICH2 controller, and it seems that I don't have such problem on other machine with ICH5.


PS. If you have any ideas, or if you have any materials (standards for example) about ATA/ATAPI and you
can share them with me, please let me know. I am not ata developer, so this is a bit difficalt for me to
dig this problem.


rik



_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to