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 _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"