[Soekris] net5501 ATA UDMA mode problem with FreeBSD 7.0
Martin Johnson
martin.johnson.uk.lists at googlemail.com
Sat May 24 15:27:11 UTC 2008
I'm upgrading a net5501 with a Travelstar E7K100 IDE drive from
FreeBSD 6.2 to 7.0. FreeBSD 6.2 set the IDE controller up in UDMA33
mode, but unfortunately 7.0 chooses UDMA100. From my tests, the
fastest safe setting for this hardware appears to be UMDA66, as
UDMA100 gives occasional errors such as "ad0: WARNING - READ_DMA UDMA
ICRC error (retrying request) LBA=3871". This is the same on comBIOS
versions 1.32i and 1.33.
Is there any way to force FreeBSD 7.0 to use UDMA66, or failing that,
UDMA33 ?
I could disable UDMA by adding 'hw.ata.ata_dma="0"' in /boot/
loader.conf, but that would run slowly. I could put a script in /usr/
local/etc/rc.d to invoke "atacontrol mode ad0 udma66", but that would
still leave the system running in an unstable configuration until that
script was invoked.
Any ideas? I'm wondering whether I'll need to patch the kernel
source, and if so, how difficult that will be. It would be nice if /
boot/loader.conf had a switch for this, but I haven't spotted any
documentation for such a thing.
Cheers,
- Martin.
More information about the Soekris-tech
mailing list