USB 3 Support

Issues related to hardware problems
Post Reply
kbocek
Posts: 242
Joined: 2005/05/30 15:40:15
Location: Benicia CA, USA

USB 3 Support

Post by kbocek » 2011/07/19 05:07:15

Testing a two port USB 3 PCI-E x1 card destined for a storage server under Centos 6 x86_64:

02:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03) (prog-if 30)
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at e4000000 (64-bit, non-prefetchable) [size=8K]
Capabilities:
Kernel driver in use: xhci_hcd

First issue was that the xhci_hcd driver does not load automatically. I have to load it manually.

Next I have a 2TB Seagate ST2000DL001 drive that I pulled out of one of their external cases and put it into a third-party USB 3 case in the hope of getting some better performance.

The drive/case combination is recognized by the system:

usb 6-2: New USB device found, idVendor=1759, idProduct=5002
usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 6-2: Product: MassStorage Device
usb 6-2: Manufacturer: USB 3.0
usb 6-2: SerialNumber: 5YD0WQSN
usb 6-2: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 3:0:0:0: Direct-Access ST2000DL 001-9VT156 0100 PQ: 0 ANSI: 4
sd 3:0:0:0: Attached scsi generic sg6 type 0
sd 3:0:0:0: [sdf] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)


The issue is that after five or ten minutes the drive disappears. Not just goes to sleep. The device file (/dev/sdf here) is actually removed. I have to power cycle the drive and the remove/reload the driver to get the drive to reappear but then the problem repeats.

I see various postings about eliminating the sleep cycle on Seagate external drives but sdparm doesn't show *any* parameters on this drive and plugging the drive into a Windows 7 box, I've tried three different pieces of Seagate software but none of them recognize the drive as a Segate external drive any more.

Does anyone have any thoughts on where to go with this?

One step I haven't yet taken is to remove the drive from the USB case and attach it directly to a system via SATA and see if there is anything I can manipulate via sdparm. Does anyone know if those changes are permanent across power cyclings? If I *can* make changes will they persist once I put the drive back in the USB case?

Thanks,
Kirk Bocek

kbocek
Posts: 242
Joined: 2005/05/30 15:40:15
Location: Benicia CA, USA

Re: USB 3 Support

Post by kbocek » 2011/07/19 22:25:17

Update.

The drive doesn't disappear if I just physically attach it. After attaching it I can execute:

[code]# hdparm -Tt /dev/sdf1

/dev/sdf1:
Timing cached reads: 2498 MB in 2.00 seconds = 1249.12 MB/sec
Timing buffered disk reads: 322 MB in 3.01 seconds = 106.88 MB/sec
[/code]

multiple times and the drive remains available. I left the drive attached for about eight hours today without problem. BTW, this shows that the disk is connected at USB 3 super speed. 100 MB/s is about what I would expect from this disk.

Once I mount the drive I can begin accessing the file system. However the entire device disappears within a few minutes.

So, now I'm repartitioning and reformatting the drive to see if that makes a difference. As part of both fdisk and parted rescanning the disk I see:

[code]xhci_hcd 0000:02:00.0: WARN: Stalled endpoint
sd 4:0:0:0: [sdg] Assuming drive cache: write through
sdg: sdg1[/code]

Yes, the device changed letters in the process of one of the hangs. And now I see repeated multiple times:

[code]usb 6-1: USB disconnect, address 2
usb 6-1: Device not responding to set address.
usb 6-1: Device not responding to set address.
usb 6-1: device not accepting address 0, error -71
hub 6-0:1.0: cannot disable port 1 (err = -32)[/code]

sigh.

kbocek
Posts: 242
Joined: 2005/05/30 15:40:15
Location: Benicia CA, USA

Re: USB 3 Support

Post by kbocek » 2011/07/21 14:45:23

I pulled the drive out of the external case and attached it directly via SATA. As expected the drive performs solidly, yielding about 145 MB/sec performance using dd and hdparm to benchmark it. I left it connected and mounted overnight and had no disconnects or other problems.

Using sdparm, I'm not seeing anything that I might be able to tweak for stability:

[code]#sdparm -a /dev/sdb
/dev/sdb: ATA ST2000DL001-9VT1 CC96
Read write error recovery mode page:
AWRE 1
ARRE 0
TB 0
RC 0
EER 0
PER 0
DTE 0
DCR 0
RRC 0
COR_S 0
HOC 0
DSOC 0
TPERE 0
WRC 0
RTL 0
Caching (SBC) mode page:
IC 0
ABPF 0
CAP 0
DISC 0
SIZE 0
WCE 1
MF 0
RCD 0
DRRP 0
WRP 0
DPTL 0
MIPF 0
MAPF 0
MAPFC 0
FSW 0
LBCSS 0
DRA 0
NV_DIS 0
NCS 0
CSS 0
Control mode page:
TST 0
TMF_ONLY 0
D_SENSE 0
GLTSD 1
RLEC 0
QAM 0
QERR 0
RAC 0
UA_INTLCK 0
SWP 0
ATO 0
TAS 0
AUTOLOAD 0
BTP -1
ESTCT 30
[/code]

At this point I'm out of ideas.

I feel this issue is with the xhci_hcd driver as this drive & case combination is stable on a Windows 7 machine using a USB 3 connection.

If anyone knows anything about the xhci_hcd driver, please share.

Post Reply