Re: [Bulk] seagate SRD00f2 expansion 4Tb desktop drive does not work on USB 3.0 Part 2 xhci-debug SOLVED

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 05/26/2015 03:06 AM, Donald Harter wrote:
Yes, this fixed the problem.  Thanks for your help.

That doesn't mean exactly that this change fixes your problem.

I would suggest you to try the latest kernel without any changes
to check whether the fix is already there. Then you can go ahead
with changing the timeout value to check whether it helps.

Here is the kernel version that I compiled:
Linux 4.1.0-rc2+ #2 SMP Mon May 25 10:58:36 CDT 2015 x86_64 x86_64 x86_64 GNU/Linux

On the non-working generic ubuntu kernel,the USB 3.0 ports that time out became non-working. I could plug my other working USB 3.0 devices into that port, and they would not come up. So maybe if there is a timeout, you should consider resetting such a port on the chip. For a while I thought that some of my usb 3.0 ports were bad.

The USB 3.0 port non-working issue might be due to CEC error
not cleared. Again, I would suggest you to check with the latest
kernel version. If the port non-working issue still exists, you can
report a bug in the bugzilla and forward that to this mailing list
somebody will assume the responsibility to get it fixed.



May 25 13:38:50 (none) mtp-probe: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4"
May 25 13:38:50 (none) mtp-probe: bus: 2, device: 7 was not an MTP device
May 25 13:38:51 (none) kernel: [ 222.919894] scsi 9:0:0:0: Direct-Access Seagate Expansion Desk 0739 PQ: 0 ANSI: 6 May 25 13:38:51 (none) kernel: [ 222.920119] sd 9:0:0:0: Attached scsi generic sg6 type 0 May 25 13:38:51 (none) kernel: [ 222.921015] sd 9:0:0:0: [sdf] Spinning up disk...
May 25 13:39:01 (none) kernel: [  228.375368] ......ready
May 25 13:39:01 (none) kernel: [ 233.395760] sd 9:0:0:0: [sdf] 976754645 4096-byte logical blocks: (3.90 TB/3.63 TiB) May 25 13:39:01 (none) kernel: [ 233.396383] sd 9:0:0:0: [sdf] Write Protect is off May 25 13:39:01 (none) kernel: [ 233.396390] sd 9:0:0:0: [sdf] Mode Sense: 2b 00 10 08 May 25 13:39:01 (none) kernel: [ 233.396945] sd 9:0:0:0: [sdf] Write cache: enabled, read cache: enabled, supports DPO and FUA May 25 13:39:01 (none) kernel: [ 233.397602] sd 9:0:0:0: [sdf] 976754645 4096-byte logical blocks: (3.90 TB/3.63 TiB)
May 25 13:39:01 (none) kernel: [  233.435743]  sdf: sdf1
May 25 13:39:01 (none) kernel: [ 233.436474] sd 9:0:0:0: [sdf] 976754645 4096-byte logical blocks: (3.90 TB/3.63 TiB) May 25 13:39:01 (none) kernel: [ 233.437674] sd 9:0:0:0: [sdf] Attached SCSI disk

Bus 002 Device 007: ID 0bc2:3312 Seagate RSS LLC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x0bc2 Seagate RSS LLC
  idProduct          0x3312
  bcdDevice            7.39
  iManufacturer           1 Seagate
  iProduct                2 Expansion Desk
  iSerial                 3 NA4MZS4N
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          121
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
:
iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               7
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0a  EP 10 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               7
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
:  bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0a  EP 10 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               7
        MaxStreams             32
        Data-out pipe (0x04)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
:     bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               7
        MaxStreams             32
        Data-in pipe (0x03)
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat         512 micro seconds
Device Status:     0x0001
  Self Powered







On 05/25/2015 05:34 AM, Lu, Baolu wrote:


On 05/23/2015 10:00 PM, Donald Harter wrote:
May 23 08:52:05 pc_u kernel: [53875.075976] xhci_hcd 0000:00:14.0:
Port Status Change Event for port 3
May 23 08:52:05 pc_u kernel: [53875.075979] xhci_hcd 0000:00:14.0:
port resume event for port 3
May 23 08:52:05 pc_u kernel: [53875.075981] xhci_hcd 0000:00:14.0:
resume HS port 3
May 23 08:52:05 pc_u kernel: [53875.075983] xhci_hcd 0000:00:14.0:
handle_port_status: starting port polling.
May 23 08:52:05 pc_u kernel: [53875.135221] xhci_hcd 0000:00:14.0:
Resume USB2 port 3
May 23 08:52:05 pc_u kernel: [53875.135230] xhci_hcd 0000:00:14.0:
Port Status Change Event for port 3
May 23 08:52:05 pc_u kernel: [53875.135240] xhci_hcd 0000:00:14.0: get
port status, actual port 2 status  = 0xfe3
May 23 08:52:05 pc_u kernel: [53875.135241] xhci_hcd 0000:00:14.0: Get
port status returned 0x40503
May 23 08:52:05 pc_u kernel: [53875.135262] xhci_hcd 0000:00:14.0:
clear port suspend/resume change, actual port 2 status  = 0xe03
May 23 08:52:05 pc_u kernel: [53875.151222] xhci_hcd 0000:00:14.0: get
port status, actual port 2 status  = 0xe03
May 23 08:52:05 pc_u kernel: [53875.151224] xhci_hcd 0000:00:14.0: Get
port status returned 0x503
May 23 08:52:05 pc_u kernel: [53875.255453] xhci_hcd 0000:00:14.0: //
Ding dong!
May 23 08:52:05 pc_u kernel: [53875.255496] xhci_hcd 0000:00:14.0:
Slot 15 output ctx = 0x4018f1000 (dma)
May 23 08:52:05 pc_u kernel: [53875.255498] xhci_hcd 0000:00:14.0:
Slot 15 input ctx = 0x401e2a000 (dma)
May 23 08:52:05 pc_u kernel: [53875.255499] xhci_hcd 0000:00:14.0: Set
slot id 15 dcbaa entry ffff8804028f2078 to 0x4018f1000
May 23 08:52:06 pc_u kernel: [53875.343311] usb 3-3.4: new high-speed
USB device number 14 using xhci_hcd
May 23 08:52:06 pc_u kernel: [53875.343314] xhci_hcd 0000:00:14.0: Set
root hub portnum to 3
May 23 08:52:06 pc_u kernel: [53875.343315] xhci_hcd 0000:00:14.0: Set
fake root hub portnum to 3
May 23 08:52:06 pc_u kernel: [53875.343315] xhci_hcd 0000:00:14.0:
udev->tt =           (null)
May 23 08:52:06 pc_u kernel: [53875.343316] xhci_hcd 0000:00:14.0:
udev->ttport = 0x0
May 23 08:52:06 pc_u kernel: [53875.343317] xhci_hcd 0000:00:14.0:
Slot ID 15 Input Context:

It looks like USB device doesn't complete resuming while host controller
tries
to assign USB address to it.

Do you mind trying below change?

diff --git a/include/linux/usb.h b/include/linux/usb.h
index 447fe29..660e2d7 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -229,7 +229,7 @@ void usb_put_intf(struct usb_interface *intf);
   * should cope with both LPJ calibration errors and devices not
following every
   * detail of the USB Specification.
   */
-#define USB_RESUME_TIMEOUT     40 /* ms */
+#define USB_RESUME_TIMEOUT     100 /* ms */

  /**
   * struct usb_interface_cache - long-term representation of a device
interface

Thanks,
-Baolu




--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux