Raspberry Pi , "USB disconnect" using USB to SATA converters and external USB hub

As per my previous issue with using SATA USB converters this issue happens sometime after a high data (70GB, 8hr) flow starts not always/ever at the same point in either data or time, it is inconsistent - sometime the enstire transfer works, other times not.  The difference is that after the event the drive returns/reconnects as a valid accessible device whereas it did not before.

The USB SATA converter I'm using now is not AC powered, it 2 USB leads and I'm connecting it through a 4 port (powered) hub.  The USB cable between the HUB and Pi has had the power lines cut so there is definitely no power back feed issue.

The 4 port hub also has a Ralink WiFi adapter in and it is wholly unaffected by any issues raised here.

To test this I just use the command

dd if=/dev/sda1 of=/dev/null

A success is where 70GB are read without issue, failures manifest as shown on the right.

I noticed that if there was some consistency about where I plug the USB cables and the issue.

  • If USB power is drawn from the HUB and USB data directly into the other Pi port there is no issue (tfer never fails).
  • If USB power is drawn from the HUB and USB data is also connected to the HUB the inconsistency exists (sometimes success sometimes failue)
  • It should make no difference, but to check I power the device from another PSU and only the DATA USB to the Pi (worked), if the Data was to the Hub (inconsistent).

Easy to blame the Hub, but the Ralink was unaffected.

I should point out that in doing these tests I was plugging and un plugging and not being consistent about which 2 of the HUB USB ports I used for Data/Power.

Doing the test again (consistently choosing the same port for each) I got these results from the dd before it died:

  • (492 MB) copied, 30.0986 s
  • (1.9 GB) copied, 93.2179 s
  • (951 MB) copied, 50.8332 s
  • (380 MB) copied, 24.8022 s

Swapping the connections around these are the figures (and I killed the DD, it was still running).

  • (40 GB) copied, 1821.64 s
  • (76 GB) copied, 3521.64 s

It would seem there is some sort of a fault on one port on my USB HUB.  It's not dead, but the results definitely port toward a port that is the cause of the problem.

I've ordered a new USB HUB and until it arrives will simply not use that port for USB data!

I initially thought replacing the USB SATA converter/adapter had solved the inconsistent / unreliable USB HDD connectivity.

It didn't.  The error had just changed.

The previous issue looked like this:

[ 1470.343321] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[ 1470.423323] usb 1-1.3: device descriptor read/64, error -71
[ 1470.613336] usb 1-1.3: device descriptor read/64, error -71

It now looks like this:

51040.577529] usb 1-1.3.2: USB disconnect, device number 7
[51040.596515] sd 1:0:0:0: [sda] Unhandled error code
[51040.596547] sd 1:0:0:0: [sda]  Result: hostbyte=0x01 driverbyte=0x00
[51040.596568] sd 1:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 02 4e e0 00 00 f0 00

I still think their was an issue with the original adapter since the reset would always happen once during the 70GB / 8hr transfer, it was just never at the same point in either data or time.  Now the transfer sometimes works.

Whilst I won't rule out a 5v rail power issue (on USB insert) there is definitely nothing wrong with the delivered power.  The whole setup is powered by a 2.5A 5v device that doesn't drop below 4.95v.