FreeBSD 9.0 and (Kingspec) PATA drive ATA status errors. Drive
unusable.
Wajih Ahmed
wajih.ahmed at gmail.com
Sun Aug 12 16:42:47 UTC 2012
Ok at the boot loader prompt i did as you suggested
set hint.ata.0.mode="UDMA33"
And that change did take effect as evedint by
ada0: 33.300MB/s transfers (UDMA2, PIO 512bytes)
Unfortunately i still get the error
.....ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT)
Regards,
On Sun, Aug 12, 2012 at 12:29 PM, Wajih Ahmed <wajih.ahmed at gmail.com> wrote:
> Thank you. I'll try it out. One question though. How do i modify the
> loader.conf on the usb image from which i am booting? Is there somethign i
> can change in the boot loader? If this is RTFM kindly point me to it.
>
>
>
>
> On Sun, Aug 12, 2012 at 11:45 AM, Ian Lepore <
> freebsd at damnhippie.dyndns.org> wrote:
>
>> On Sun, 2012-08-12 at 10:57 -0400, Wajih Ahmed wrote:
>> > I have a Dell D420 laptop with the ZIF interface and uses a 1.8" PATA
>> > drive. I purchased a Kingspec 16GB SSD and installed it. The BIOS
>> > recogonizes the drive. I am using the USB image to boot in verbose
>> mode.
>> > Upon boot the disk is recognized by FreeBSD 9.0 as follows (sorry for
>> any
>> > typos as i am reading this off the console):
>> >
>> > ada0 at ata0 bus 0 scbus0 target 0 lun 0
>> > ada0: <KingSpec KSD-ZF18.6-016MS 20120202> ATA-7 device
>> > ada0: Serial number...
>> > ada0: 100.0000MB/s transfers (UDMA5, PIO 512bytes)
>> >
>> > Then i see these errors
>> >
>> > (ada0:ata0:0:0:0): ATA status error
>> > .....READ_DMA. ACB: c8 ....
>> > .....CAM status: ATA status error
>> > .....ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT)
>> > .....RES: 51 .....
>> >
>> >
>> > As a result the disk is rendered unusable and i cannot write
>> (partition) to
>> > it. I did test the drive with a linux boot disk and i was able to
>> format
>> > it.
>> >
>> > So my question is how can i make this drive work? Do i need to pass
>> > something to the kernel at boot to lower the speed of the drive. Maybe
>> to
>> > UDMA66? Any help will be really appreciated.
>>
>> Whenever I've seen ICRC errors, it has been caused by using a 40-wire
>> cable at speeds faster than UDMA33 [1]. A potential fix is to force the
>> mode in loader.conf:
>>
>> hint.ata.0.mode="UDMA33"
>>
>> [1] I've also seen ICRC errors when there was no cable involved at all,
>> such as with a surface-mount compact flash socket on a circuit board
>> that has 50 pins spaced even closer together than a standard ata cable.
>> I have no real proof that such closely-spaced pins cause the same kind
>> of signal crosstalk as a 40-wire cable (they're close, but the length of
>> the parallel wires is just a couple millimeters), but forcing the driver
>> to UDMA33 or less always seems to fix the problem.
>>
>> -- Ian
>>
>>
>>
>
More information about the freebsd-stable
mailing list