Since this seems to have become a udev issue I'm brining the hotplug/udev list into the loop. A brief recap for the hotplug list readers: I'm experiencing issues with a USB 3.0 hard drive (Buffalo HD-HXU3) on kernel 2.6.32.9 with udev 151. When connected the device seems to be recognized and registered with xHCI and USB core correctly but then responds to a bulk transfer with a stall. We narrowed the issue down to udev by stopping the udev daemon, connecting the device and mounting it manually. If done this way the drive works fine. However, if udevd is running the device stalls. Below is an excerpt of the conversation involving the USB core, the USB storage and the SCSI list. Any idea what command (most likely coming from udev) could cause the drive to stall and what could be done about it? -Jonas On Fri, Mar 26, 2010 at 7:40 PM, Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> wrote: > I think the amount of information is fine, but I'm not sure why the > device would respond with a stall to this particular command, so I'm > CC'ing the USB storage list and SCSI list. Does anyone know what the > third command is? The USB storage driver reports it as an "unknown > command". I can see from scsi.h that 0x85 is the code for ATA_16, but > I'm not sure what that command actually does. > > Mar 24 18:53:36 js-workstation kernel: [ 253.403792] usb-storage: Command BLANK (12 bytes) > Mar 24 18:53:36 js-workstation kernel: [ 253.403794] usb-storage: a1 08 2e 00 01 00 00 00 00 ec 00 00 > Mar 24 18:53:36 js-workstation kernel: [ 253.403800] usb-storage: Bulk Command S 0x43425355 T 0x2d L 512 F 128 Trg 0 LUN 0 CL 12 > Mar 24 18:53:36 js-workstation kernel: [ 253.403802] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes > Mar 24 18:53:36 js-workstation kernel: [ 253.403969] usb-storage: Status code 0; transferred 31/31 > Mar 24 18:53:36 js-workstation kernel: [ 253.403972] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.403973] usb-storage: Bulk command transfer result=0 > Mar 24 18:53:36 js-workstation kernel: [ 253.403975] usb-storage: usb_stor_bulk_transfer_sglist: xfer 512 bytes, 1 entries > Mar 24 18:53:36 js-workstation kernel: [ 253.409708] usb-storage: Status code 0; transferred 512/512 > Mar 24 18:53:36 js-workstation kernel: [ 253.409709] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.409710] usb-storage: Bulk data transfer result 0x0 > Mar 24 18:53:36 js-workstation kernel: [ 253.409711] usb-storage: Attempting to get CSW... > Mar 24 18:53:36 js-workstation kernel: [ 253.409712] usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes > Mar 24 18:53:36 js-workstation kernel: [ 253.409854] usb-storage: Status code 0; transferred 13/13 > Mar 24 18:53:36 js-workstation kernel: [ 253.409855] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.409856] usb-storage: Bulk status result = 0 > Mar 24 18:53:36 js-workstation kernel: [ 253.409858] usb-storage: Bulk Status S 0x53425355 T 0x2d R 0 Stat 0x0 > Mar 24 18:53:36 js-workstation kernel: [ 253.409859] usb-storage: scsi cmd done, result=0x0 > Mar 24 18:53:36 js-workstation kernel: [ 253.409861] usb-storage: *** thread sleeping. > Mar 24 18:53:36 js-workstation kernel: [ 253.413870] usb-storage: queuecommand called > Mar 24 18:53:36 js-workstation kernel: [ 253.413874] usb-storage: *** thread awakened. > > Mar 24 18:53:36 js-workstation kernel: [ 253.413876] usb-storage: Command (unknown command) (16 bytes) > Mar 24 18:53:36 js-workstation kernel: [ 253.413877] usb-storage: 85 06 20 00 05 00 fe 00 00 00 00 00 00 40 ef 00 > Mar 24 18:53:36 js-workstation kernel: [ 253.413882] usb-storage: Bulk Command S 0x43425355 T 0x2e L 0 F 0 Trg 0 LUN 0 CL 16 > Mar 24 18:53:36 js-workstation kernel: [ 253.414229] usb-storage: Bulk Command S 0x43425355 T 0x2f L 512 F 128 Trg 0 LUN 0 CL 16 > Mar 24 18:53:36 js-workstation kernel: [ 253.413883] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes > Mar 24 18:53:36 js-workstation kernel: [ 253.414031] usb-storage: Status code 0; transferred 31/31 > Mar 24 18:53:36 js-workstation kernel: [ 253.414032] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.414033] usb-storage: Bulk command transfer result=0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414034] usb-storage: Attempting to get CSW... > Mar 24 18:53:36 js-workstation kernel: [ 253.414035] usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes > Mar 24 18:53:36 js-workstation kernel: [ 253.414179] usb-storage: Status code 0; transferred 13/13 > Mar 24 18:53:36 js-workstation kernel: [ 253.414180] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.414181] usb-storage: Bulk status result = 0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414182] usb-storage: Bulk Status S 0x53425355 T 0x2e R 0 Stat 0x0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414183] usb-storage: scsi cmd done, result=0x0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414186] usb-storage: *** thread sleeping. > Mar 24 18:53:36 js-workstation kernel: [ 253.414217] usb-storage: queuecommand called > Mar 24 18:53:36 js-workstation kernel: [ 253.414222] usb-storage: *** thread awakened. > > Mar 24 18:53:36 js-workstation kernel: [ 253.414223] usb-storage: Command (unknown command) (16 bytes) > Mar 24 18:53:36 js-workstation kernel: [ 253.414224] usb-storage: 85 08 2e 00 00 00 00 00 00 00 00 00 00 40 ec 00 > Mar 24 18:53:36 js-workstation kernel: [ 253.414229] usb-storage: Bulk Command S 0x43425355 T 0x2f L 512 F 128 Trg 0 LUN 0 CL 16 > Mar 24 18:53:36 js-workstation kernel: [ 253.414230] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes > Mar 24 18:53:36 js-workstation kernel: [ 253.414378] usb-storage: Status code 0; transferred 31/31 > Mar 24 18:53:36 js-workstation kernel: [ 253.414379] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.414380] usb-storage: Bulk command transfer result=0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414381] usb-storage: usb_stor_bulk_transfer_sglist: xfer 512 bytes, 1 entries > Mar 24 18:53:36 js-workstation kernel: [ 253.414458] xhci_hcd 0000:03:00.0: WARN: Stalled endpoint > Mar 24 18:53:36 js-workstation kernel: [ 253.414529] usb-storage: Status code -32; transferred 0/512 > Mar 24 18:53:36 js-workstation kernel: [ 253.414530] usb-storage: clearing endpoint halt for pipe 0xc0008280 > Mar 24 18:53:36 js-workstation kernel: [ 253.414532] usb-storage: usb_stor_control_msg: rq=01 rqtype=02 value=0000 index=81 len=0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414894] usb-storage: usb_stor_clear_halt: result = 0 > Mar 24 18:53:36 js-workstation kernel: [ 253.414895] usb-storage: Bulk data transfer result 0x2 > Mar 24 18:53:36 js-workstation kernel: [ 253.414896] usb-storage: Attempting to get CSW... > Mar 24 18:53:36 js-workstation kernel: [ 253.414897] usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes > Mar 24 18:53:36 js-workstation kernel: [ 253.414902] xhci_hcd 0000:03:00.0: WARN halted endpoint, queueing URB anyway. > Mar 24 18:53:36 js-workstation kernel: [ 253.415168] usb-storage: Status code 0; transferred 13/13 > Mar 24 18:53:36 js-workstation kernel: [ 253.415169] usb-storage: -- transfer complete > Mar 24 18:53:36 js-workstation kernel: [ 253.415170] usb-storage: Bulk status result = 0 > Mar 24 18:53:36 js-workstation kernel: [ 253.415171] usb-storage: Bulk Status S 0x53425355 T 0x2f R 512 Stat 0x2 > Mar 24 18:53:36 js-workstation kernel: [ 253.415172] usb-storage: -- transport indicates error, resetting > Mar 24 18:53:36 js-workstation kernel: [ 253.415174] usb-storage: usb_stor_pre_reset > Mar 24 18:53:36 js-workstation kernel: [ 253.415204] usb-storage: usb_stor_post_reset On Tue, Mar 30, 2010 at 9:44 AM, Jonas Schwertfeger <jschwertfeger@xxxxxxxxx> wrote: > On Fri, Mar 26, 2010 at 11:30 PM, Douglas Gilbert <dgilbert@xxxxxxxxxxxx> wrote: >>> Booting into a minimal userspace environment (for example, with >>> init=/bin/bash) might prove this. >>> >>> No doubt the reason the drive fails to respond is because it can't handle >>> these commands and gets fatally confused. >> >> The ATA commands seem to be: >> IDENTIFY DEVICE (via the ATA_12 tunnel) >> SET FEATURES (via the ATA_16 tunnel) >> IDENTIFY DEVICE (via the ATA_16 tunnel) >> >> The last one fails but that could be caused by >> the second last one. Doesn't look like smartd. >> My money would be on udev. > > Doug was right. I switched into runlevel 1 and connected the drive. > Same errors as before. Then, I unplugged it, stopped the udev daemon > and plugged it back in. Voila, I was able to manually mount the drive > with no issues. > > Where do we go from here? Does anyone know how to debug udev? -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html