eSATA Write (Hash) Errors

This is not specifically an openSUSE issue, but I figured I’d try the hardware subforum anyway.

I have:

  • a Vantec NexStar 3 NST-260SU-BK (black) external 2.5" hard drive enclosure with USB 2.0 and eSATA interfaces. (Actually, I have exchanged several samples of the same model and keep getting this problem.)

  • My mainboard is an MSI K9AGM2-L with four internal SATA ports, the last two of which (#'s 3 and 4) are available for use.

  • The enclosure kit comes with a SATA-to-eSATA backplate bracket. I also have a Rosewill RCR-AK-IM5002 card reader that includes a SATA-to-eSATA adapter.

With the enclosure plugged into either the backplate or into the Rosewill, and with those plugged into either of the free internal SATA ports, I:

  1. Copy an amount of data to the external drive over eSATA, whether using ‘cp’ or KDE4’s Dolphin. (I think I also once used ‘dd’.) Error so far tested down to around 300 megabytes, but it used to need to be over a gigabyte in size.

  2. Unmount the volume to (for certain) clear the drive’s cache.

  3. Remount the volume with the same mount settings.

  4. Check the newly written file’s (sha1sum) hash. The file’s hash does not match the original, yet I see no error messages (i.e., on the console or in dmesg).

Testing various different parts leads me to conclude:

  • This is an issue with the eSATA interface because the USB interface works flawlessly.

  • This is purely a writing issue because the same file written correctly (e.g., via USB) will show the correct hash when I read it via eSATA.

  • This is not a filesystem issue (per se
    ) because this happens the same on the FAT32 (vfat) partition as on the Ext3 partition.

  • The drive and the internal SATA ports are okay, as far as I can tell, because I get no issues when the hard drive is connected directly to the SATA port with an internal SATA cable.

  • S.M.A.R.T. also reports no problems with the hard drive.

There was a time when connecting the eSATA interface to SATA port 3 through either the backplate or the Rosewill would exhibit the erroneous writes, but connecting through either adapter to SATA port 4 gave no issues, which suggests that the problem isn’t really the the adapters. (Sadly, I did not test directly plugging the hard drive into port 3 before the honeymoon with port 4 ended.)

Also, I recently had a very crazy issue where leaving the drive plugged in via eSATA (and powered) on boot would cause openSUSE (or rather, the ATA subsystem) to error out and stall (until the ATA subsystem gave up on the interface) – and if I hard-reset while experiencing such problems, I would not even pass POST on boot (all I would see would be an underscore).

There are three chips on the enclosure that look important:

  • Component U3
    AMS1117
    3.3 1005

  • Component U4 (has text so small I can barely read it)
    Pm25LV010 (or Pm25LV016)
    AE1000 (or AE1008, AE4000, AE4008)
    M19398L6 (or M19398LG, M1939BL6, M1939BLG)

  • Component U5 (is twice the size of the other two)
    initio
    INIC 1610PL](http://www.initio.com/Html/INIC-1610.asp)
    A41
    E36029512
    1004

I am very tired right now, so I will wait until later to investigate the Initio chip. But if anyone could offer some insight to this weary soul, I would be very grateful.

So, eSATA does work with openSUSE and it appears your external drive works OK as a USB2 drive. What is left is some connectors a cable and your eSATA input on the external drive. A lot of new motherboards have built-in eSATA and are not really the same as a Standard SATA in that AHCI is supposed to be enabled so you can hot plug and unplug the drive. If you have a bracket that lets you use a standard SATA as eSATA and you have not selected AHCI mode, then your external drive is not Hot Swap-able. Other than that though, it should work just like it is an internal hard drive. Don’t forget this cable must be kept VERY SHORT, perhaps no longer than 18" so beware of any super long eSATA cables.

My guess is that that there is something wrong with the external drive eSATA support, thought testing AHCI is something you can try, when you are reinstalling your entire system. I would consider just using USB2 or buying a new eSTAT external drive. I am using a ThermalTake (BLAC X) external USB2/eSATA fixture that allows you plug/unplug the drive on the fly though again I would assume I would need to be using AHCI for my eSATA port, which I have not selected. My setup sounds like the same setup as you have, except for the external eSATA enclosure. The one I purchased cost $54 from Best Buy, but runs even less online and worth a look.

I have installed openSUSE 11.3 on this external eSATA drive and Windows XP on the internal drive and it works like a champ with no read or write errors.

Thank You,

Hmm, hmm, hmm.

It turns out that in my BIOS, (Integrated Peripherals => IDE Devices Configuration =>) OnChip SATA Type was (I think) set to Native IDE out of:

  • Native IDE
  • RAID
  • Legacy IDE
  • AHCI

I have now set it to AHCI, but doing just that seems to yield no difference.

I must admit, the cable that comes with the enclosure kit does measure over 37 inches, not including the plugs. However, I’m not sure that cable length explains why I get only write errors and no read errors. As this is the only eSATA cable I have, it will be somewhat inconvenient for me to test this idea. (Plus I’m out another ten bucks. Sigh.)

Anyway, further investigation would require more energy (and sanity) than I can spare tonight, so I will have to postpone going any deeper. Thanks for your observations.

According to the following guide, eSata cables can be up to 2 meters:

Serial ATA - Wikipedia, the free encyclopedia

However, they have to be shielded and of very good quality in my experience. While not the same thing, anyone that has played around with cheap optical cables can come to realize that quality is everything. I am using a shielded .5 meter cable and it works very well, but my drive must sit right next to the computer it is connected to.

What it comes down to is trying a different cable or a different eSata enclosure. You have no other options as I see it since no other settings are making any difference.

Thank You,

Addendum for reference:

Two additional cables were tested:

  • a 1-foot eSATA cable (thick and heavy) connected via the eSATA-to-SATA adaptor
  • a 1-metre SATA-to-eSATA adaptor cable

Both of these exhibited the same symptom, suggesting that the cable is not the problem. (I have to return these 2010-08-09 since they do not help me.)

I am still experiencing the same symptom after upgrading from openSUSE 11.2 to openSUSE 11.3.

I also tested and confirmed that the same occurs under Knoppix LiveCD 6.2.1 (2010-01-31) to determine that this is not an openSUSE issue.

I even wiped the drive from the enclosure with # dd if=/dev/zero of=/dev/disk/by-id/ata-SAMSUNG-<device> and redid the partitions to reset the geometry that it reports from -H 224 (heads) -S 32 (sectors per track) back to the default of -H 255 -S 63, and that isn’t it either.

Furthermore, I experience the same symptom under Windows XP on the MSI mainboard, suggesting that the cause is entirely to do with the hardware involved.


It may be a false lead, but I also attempted to test with an Asus A7N8X Deluxe mainboard running a Knoppix LiveCD. Having verified that the SATA connection is working by connecting a drive and seeing it in Knoppix, I then connected the enclosure via the 1-metre SATA-to-eSATA adaptor cable.

The Silicon Image SiI 3112 SATALink (SATARaid) Controller, accessed under Linux by the sata_sil module, reports seeing the drive in the eSATA enclosure. However, when Knoppix tries to scan for the drive, dmesg reports the ATA subsystem being unable to communicate with the device. (Unfortunately, I haven’t saved the errors.) This causes Knoppix to stall for a while as it waits again and again for the device to respond. When it finally gives up and I’m able to reboot, the SATA controller then is unable to see the external drive and the enclosure continues to blink with activity.

Furthermore, if I hard-reset (leaving the enclosure still blinking) or hard-poweroff the machine, the mainboard then loses its USB interface until I unplug it from the mains entirely.

I get the same ATA errors in dmesg if I boot into Knoppix first and then power on the enclosure.

In other words, I am completely unable to use the eSATA interface of the enclosure with the Asus mainboard, at least as far as Knoppix is concerned.


Quite frankly, I am at a loss. I had hoped that if there were any glaring issues like this with any of these components that a search across the Web would turn up some warning flags, but, my own deficiency at Google-fu notwithstanding, I could simply not find anything obvious.

As the signs seem to be pointing to the enclosure – that is, its model line since I have exchanged it several times already – it is very sad that it does not Just Work. Unless retailer happens to decide to be flexible with me, I’m not sure that it will be convenient to perform the final test: using a whole different model of enclosure, hopefully with a different controller.

More clarifications:

Under Windows XP, I used both GnuWin32’s implementation of cmp and Microsoft’s own FCIV (sha1) hash program.

Regarding the nature of the write error:

  • Using the cmp
    command has shown me that the error occurs at a different place within the file with each write attempt. - It is confirmed as purely a write error because I get the same read result (with cmp
    or with sha1sum), across multiple mountings, until the next write attempt.

With all of the testing you have done, it sounds like there is a problem with the eSata enclosure. I don’t know what, but to continue to try and use eSata without buying a different enclosure sounds futile to me. You know I have many USB2 external drives that work like a champ and I would not toss them out if they had an eSata port that did not work for me, I would just use USB2.

Thank You,

It’s true. I finally gave up on the Vantec when I noticed that the retailer carried a different, if generic, brand. So far, I haven’t hit this strange writing error again, but a different problem has cropped up which I have already worked around. *(http://forums.opensuse.org/english/get-help-here/hardware/444228-delay-libata-when-connecting-esata.html)

Thanks for taking a look.*

For what it is worth, I own a couple of Vantec external drive enclosures myself, but these are the new USB3 types and no eSATA port included. They have worked OK for me so far, but that does not mean that they could not have a defective product out there.

Thank You,