USB resets on ATA smart probing

Bug #474988 reported by Farris Goldstein
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libatasmart
Fix Released
Medium
libatasmart (Ubuntu)
High
Martin Pitt

Bug Description

Related to bug # 387161, found another USB storage device getting reset upon SMART probing. The device always offlines immediately after enumerating. Commenting out the devkit-disks-probe-ata-smart rules in udev gets a little further:

skdump output:
farris@bauer:~$ sudo skdump /dev/sdc
Device: sat12:/dev/sdc
Type: 12 Byte SCSI ATA SAT Passthru
Size: 1907348 MiB
Awake: Operation not supported
ATA SMART not supported.

Shortly after getting the skdump, the device was offlined:
/var/log/messages
Nov 4 20:00:02 bauer kernel: [ 4981.580059] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:00:33 bauer kernel: [ 5012.124040] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:01:04 bauer kernel: [ 5042.668039] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:01:14 bauer kernel: [ 5053.024045] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:01:24 bauer kernel: [ 5063.268100] usb 1-3: USB disconnect, address 3
Nov 4 20:01:24 bauer kernel: [ 5063.268779] scsi 6:0:0:0: Device offlined - not ready after error recovery
Nov 4 20:01:24 bauer kernel: [ 5063.380038] usb 1-3: new high speed USB device using ehci_hcd and address 4
Nov 4 20:01:55 bauer kernel: [ 5093.924038] usb 1-3: new high speed USB device using ehci_hcd and address 5
Nov 4 20:02:25 bauer kernel: [ 5124.468039] usb 1-3: new high speed USB device using ehci_hcd and address 6

Device won't renumerate without power cycling the USB device, unlplug/replug does no good.

lsusb -v:
Bus 001 Device 012: ID 0928:0000 Oxford Semiconductor, Ltd
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x0928 Oxford Semiconductor, Ltd
  idProduct 0x0000
  bcdDevice 0.00
  iManufacturer 1
  iProduct 2
  iSerial 3
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 32
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 5
    bmAttributes 0xc0
      Self Powered
    MaxPower 0mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 80 Bulk (Zip)
      iInterface 4
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)

Related branches

Revision history for this message
In , Martin Pitt (pitti) wrote :

We got another report about a device where ata smart probing causes USB resets:

$ sudo skdump /dev/sdc
Device: sat12:/dev/sdc
Type: 12 Byte SCSI ATA SAT Passthru
Size: 1907348 MiB
Awake: Operation not supported
ATA SMART not supported.

Shortly after getting the skdump, the device was offlined:
Nov 4 20:00:02 bauer kernel: [ 4981.580059] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:00:33 bauer kernel: [ 5012.124040] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:01:04 bauer kernel: [ 5042.668039] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:01:14 bauer kernel: [ 5053.024045] usb 1-3: reset high speed USB device using ehci_hcd and address 3
Nov 4 20:01:24 bauer kernel: [ 5063.268100] usb 1-3: USB disconnect, address 3
Nov 4 20:01:24 bauer kernel: [ 5063.268779] scsi 6:0:0:0: Device offlined - not ready after error recovery

(This is with disabling the udev rule for dk-d ata smart probe; with it, the device doesn't appear at all).

(libatasmart 016)

Should I get an strace from the reporter? Or should we just blacklist this device?

lsusb -v:
Bus 001 Device 012: ID 0928:0000 Oxford Semiconductor, Ltd
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x0928 Oxford Semiconductor, Ltd
  idProduct 0x0000
  bcdDevice 0.00
  iManufacturer 1
  iProduct 2
  iSerial 3
  bNumConfigurations 1

Martin Pitt (pitti)
Changed in libatasmart (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → High
status: New → Triaged
Changed in libatasmart:
status: Unknown → Confirmed
Revision history for this message
filip (bandit-s-fw) wrote :

hello, i have a external hdd from freecom usb-powered (no external powersupply) Bus 001 Device 005: ID 07ab:fc88 Freecom Technologies. I tried to install karmic on my external hdd. With jaunty i have no problems. I think i have also this problem. When i try to boot i get: usb 1-4 : device descriptor read/64 error -32. After that i get a lot of ext4-fs errors. Will the fix be for every device or do i need to fill another bug?

Revision history for this message
filip (bandit-s-fw) wrote :
Martin Pitt (pitti)
Changed in libatasmart (Ubuntu):
assignee: Martin Pitt (pitti) → nobody
Revision history for this message
In , Lennart-poettering (lennart-poettering) wrote :

I have blacklisted this bridge now. Thanks.

Changed in libatasmart:
status: Confirmed → Fix Released
Martin Pitt (pitti)
Changed in libatasmart (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libatasmart - 0.17+git20100219-1

---------------
libatasmart (0.17+git20100219-1) unstable; urgency=low

  * New upstream git snapshot (up to 2cc5102):
    - Autoconfiscation done with recent libtool (Closes: #558570)
    - Blacklist Oxford Semiconductor bridge [0928:0000], causing USB resets on
      probing. (LP: #474988)
    - Provide names for attributes 184 and 188. (LP: #521864)
    - Some small bug fixes.
  * Drop 01-export-symbols.patch, included upstream.
  * Drop 99-autoreconf.patch, not necessary any more.
  * debian/control: Wrap build dependencies.
  * Add debian/local/apport-hook.py: Apport package hook for collecting
    devkit-disks --dump and available SMART blobs. Install it in debian/rules
    when building on Ubuntu. Add "lsb-release" build dependency for this.
  * debian/libatasmart-dev.install: Ship Vala .vapi file.
  * debian/control: Bump Standards-Version to 3.8.4 (no changes necessary).
 -- Martin Pitt <email address hidden> Fri, 19 Feb 2010 23:37:28 +0100

Changed in libatasmart (Ubuntu):
status: In Progress → Fix Released
Changed in libatasmart:
importance: Unknown → Medium
Changed in libatasmart:
importance: Medium → Unknown
Changed in libatasmart:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.