Monday, March 9, 2015

Raspberry pi 2 and the case of the unreliable USB ports

My newly purchased raspberry pi 2 did not recognize external harddrives:
  • There is a powered USB hub for the drives - same make & model as I use successfully for the pi version 1
  • Same manufacturer for the drives, but they were 2 TB instead of 1 TB (each)
the command lsusb reported information, but it was regardless of whether the hub was plugged into the pi or individual drives were plugged in to the hub:
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
dmesg provided the most information - sometimes no message when plugging in the hub, sometimes limited message saying the hub had been found then disconnected (when it was still plugged in):

[  906.148848] usb 1-1.3: new high-speed USB device number 25 using dwc_otg
[  906.251992] usb 1-1.3: New USB device found, idVendor=2109, idProduct=2812
[  906.252017] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  906.252034] usb 1-1.3: Product: USB2.0 Hub          
[  906.252052] usb 1-1.3: Manufacturer: VIA Labs, Inc.      
[  906.253213] hub 1-1.3:1.0: USB hub found
[  906.253538] hub 1-1.3:1.0: 4 ports detected
[  906.429676] usb 1-1.3: USB disconnect, device number 25
unplugging the hub caused dmesg to report that the drives had been discovered and assigned sda, sdb, but then message of them being disconnected:
[  217.168837] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[  217.271960] usb 1-1.3: New USB device found, idVendor=2109, idProduct=2812
[  217.271984] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  217.272001] usb 1-1.3: Product: USB2.0 Hub          
[  217.272018] usb 1-1.3: Manufacturer: VIA Labs, Inc.      
[  217.274929] hub 1-1.3:1.0: USB hub found
[  217.275199] hub 1-1.3:1.0: 4 ports detected
[  217.568950] usb 1-1.3.1: new high-speed USB device number 5 using dwc_otg
[  217.760111] usb 1-1.3.1: New USB device found, idVendor=1058, idProduct=10b8
[  217.760136] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  217.760153] usb 1-1.3.1: Product: Elements 10B8
[  217.760169] usb 1-1.3.1: Manufacturer: Western Digital
[  217.760186] usb 1-1.3.1: SerialNumber: 575834314143343237303030
[  217.761334] usb-storage 1-1.3.1:1.0: USB Mass Storage device detected
[  217.763642] scsi host0: usb-storage 1-1.3.1:1.0
[  217.800757] usbcore: registered new interface driver uas
[  217.849128] usb 1-1.3.3: new high-speed USB device number 6 using dwc_otg
[  218.040144] usb 1-1.3.3: New USB device found, idVendor=1058, idProduct=10b8
[  218.040168] usb 1-1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  218.040185] usb 1-1.3.3: Product: Elements 10B8
[  218.040202] usb 1-1.3.3: Manufacturer: Western Digital
[  218.040218] usb 1-1.3.3: SerialNumber: 575835314539343948393241
[  218.041371] usb-storage 1-1.3.3:1.0: USB Mass Storage device detected
[  218.041856] scsi host1: usb-storage 1-1.3.3:1.0
[  218.759531] scsi 0:0:0:0: Direct-Access     WD       Elements 10B8    1012 PQ: 0 ANSI: 6
[  218.762590] sd 0:0:0:0: [sda] Spinning up disk...
[  218.790632] sd 0:0:0:0: Attached scsi generic sg0 type 0
[  219.039519] scsi 1:0:0:0: Direct-Access     WD       Elements 10B8    1012 PQ: 0 ANSI: 6
[  219.042468] sd 1:0:0:0: [sdb] Spinning up disk...
[  219.043421] sd 1:0:0:0: Attached scsi generic sg1 type 0
[  219.234070] usb 1-1.3: USB disconnect, device number 4
[  219.234098] usb 1-1.3.1: USB disconnect, device number 5
[  219.768685] .ready
[  219.769089] sd 0:0:0:0: [sda] READ CAPACITY failed
[  219.769112] sd 0:0:0:0: [sda]
[  219.769125] Result: hostbyte=0x01 driverbyte=0x00
[  219.769143] sd 0:0:0:0: [sda] Sense not available.
[  219.769242] sd 0:0:0:0: [sda] Write Protect is off
[  219.769265] sd 0:0:0:0: [sda] Mode Sense: 2e 2e 2f 2e
[  219.769358] sd 0:0:0:0: [sda] No Caching mode page found
[  219.769378] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  219.770828] sd 0:0:0:0: [sda] READ CAPACITY failed
[  219.770858] sd 0:0:0:0: [sda]
[  219.770872] Result: hostbyte=0x01 driverbyte=0x00
[  219.770888] sd 0:0:0:0: [sda] Sense not available.
[  219.771087] sd 0:0:0:0: [sda] Attached SCSI disk
[  220.048694] .ready
[  220.278777] sd 1:0:0:0: [sdb] READ CAPACITY failed
[  220.278802] sd 1:0:0:0: [sdb]
[  220.278816] Result: hostbyte=0x07 driverbyte=0x00
[  220.278832] sd 1:0:0:0: [sdb] Sense not available.
[  220.328769] sd 1:0:0:0: [sdb] Write Protect is off
[  220.328797] sd 1:0:0:0: [sdb] Mode Sense: e0 88 7a ba
[  220.378765] sd 1:0:0:0: [sdb] No Caching mode page found
[  220.378789] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[  221.198809] sd 1:0:0:0: [sdb] READ CAPACITY failed
[  221.198839] sd 1:0:0:0: [sdb]
[  221.198854] Result: hostbyte=0x07 driverbyte=0x00
[  221.198870] sd 1:0:0:0: [sdb] Sense not available.
[  221.398811] sd 1:0:0:0: [sdb] Attached SCSI disk
[  221.430132] usb 1-1.3.3: USB disconnect, device number 6
On the basis of the above, wiggled the hub cord in the USB port on the pi, applying slight pressure to pull it out - but not actually pulling it out.  dmesg then reported the drives had been found, and they were present as /dev/sda, /dev/sdb:
[  564.348846] usb 1-1.3: new high-speed USB device number 10 using dwc_otg
[  564.451992] usb 1-1.3: New USB device found, idVendor=2109, idProduct=2812
[  564.452017] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  564.452034] usb 1-1.3: Product: USB2.0 Hub          
[  564.452051] usb 1-1.3: Manufacturer: VIA Labs, Inc.      
[  564.453248] hub 1-1.3:1.0: USB hub found
[  564.453553] hub 1-1.3:1.0: 4 ports detected
[  564.748870] usb 1-1.3.1: new high-speed USB device number 11 using dwc_otg
[  564.860134] usb 1-1.3.1: New USB device found, idVendor=1058, idProduct=10b8
[  564.860158] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  564.860175] usb 1-1.3.1: Product: Elements 10B8
[  564.860192] usb 1-1.3.1: Manufacturer: Western Digital
[  564.860209] usb 1-1.3.1: SerialNumber: 575834314143343237303030
[  564.861329] usb-storage 1-1.3.1:1.0: USB Mass Storage device detected
[  564.861828] scsi host4: usb-storage 1-1.3.1:1.0
[  564.949665] usb 1-1.3.3: new high-speed USB device number 12 using dwc_otg
[  565.060127] usb 1-1.3.3: New USB device found, idVendor=1058, idProduct=10b8
[  565.060152] usb 1-1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  565.060169] usb 1-1.3.3: Product: Elements 10B8
[  565.060186] usb 1-1.3.3: Manufacturer: Western Digital
[  565.060203] usb 1-1.3.3: SerialNumber: 575835314539343948393241
[  565.061333] usb-storage 1-1.3.3:1.0: USB Mass Storage device detected
[  565.061826] scsi host5: usb-storage 1-1.3.3:1.0
[  565.859542] scsi 4:0:0:0: Direct-Access     WD       Elements 10B8    1012 PQ: 0 ANSI: 6
[  565.861255] sd 4:0:0:0: Attached scsi generic sg0 type 0
[  565.862373] sd 4:0:0:0: [sda] 3906963456 512-byte logical blocks: (2.00 TB/1.81 TiB)
[  565.863140] sd 4:0:0:0: [sda] Write Protect is off
[  565.863166] sd 4:0:0:0: [sda] Mode Sense: 47 00 10 08
[  565.863869] sd 4:0:0:0: [sda] No Caching mode page found
[  565.863906] sd 4:0:0:0: [sda] Assuming drive cache: write through
[  566.059590] scsi 5:0:0:0: Direct-Access     WD       Elements 10B8    1012 PQ: 0 ANSI: 6
[  566.061473] sd 5:0:0:0: Attached scsi generic sg1 type 0
[  566.061495] sd 5:0:0:0: [sdb] 3906963456 512-byte logical blocks: (2.00 TB/1.81 TiB)
[  566.062232] sd 5:0:0:0: [sdb] Write Protect is off
[  566.062258] sd 5:0:0:0: [sdb] Mode Sense: 47 00 10 08
[  566.062968] sd 5:0:0:0: [sdb] No Caching mode page found
[  566.062994] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[  566.387400]  sda: sda1
[  566.390820] sd 4:0:0:0: [sda] Attached SCSI disk
[  566.590040]  sdb: sdb1
[  566.593661] sd 5:0:0:0: [sdb] Attached SCSI disk
Conclude that the USB port on the pi is flaky.  Tried connecting the hub to 2 of the 4 ports on the pi and saw the same problem.  Will return to Microcenter for a replacement.

Update:  replacement from Microcenter had the same problem.  on the suggestion from the element14 forum, I tried my other USB hub (that has been working just fine with the raspberry pi 1) with the raspberry pi 2, and saw the exact same problem.

Update 2:  returned the 2nd raspberry pi to Microcenter, ordered a new one from Allied electronics - works fine, hub & drives are recognized immediately.

3 comments:

  1. Update: got a replacement raspberry pi 2 from Microcenter, same exact problem: plugging in the USB for the drive all the way does create a connection. Pulling it out slightly then does.

    I would suspect the cable / hub, but that worked without any problem when I connected it to my original raspbery pi.

    ReplyDelete
  2. Did you ever get this fixed? I am having trouble with some USB UARTs disconnecting 1-4 times each day. They are not powered by the pi. Previously using other serial adapters I have literally years of uptime with no disconnect. Not sure why some work well and others are so bad.

    ReplyDelete
    Replies
    1. Sorry to hear that! The only way I fixed this particular problem was by getting a new raspberry pi - 3rd one! - but it worked. I've had this problem with various USB ports over the year, one hack I've done - with the power off - is try to put a slight bend in the internal part of the USB using a butter knife. It sort of works ...

      Delete