lingon
Posts: 166
Joined: Fri Aug 26, 2011 7:31 am

Re: USB redux

Mon Dec 09, 2013 5:33 am

gsh wrote:Does the problem still occur if you remove the external hub?
I disconnected the hub and now the uptime has been almost nine days without the USB/ethernet disconnection problem occuring. So yes it looks like that the problem is related to the hub.

Is this a known problem?

Is there some workaround for this problem?

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27444
Joined: Sat Jul 30, 2011 7:41 pm

Re: USB redux

Mon Dec 09, 2013 7:40 am

lingon wrote:
gsh wrote:Does the problem still occur if you remove the external hub?
I disconnected the hub and now the uptime has been almost nine days without the USB/ethernet disconnection problem occuring. So yes it looks like that the problem is related to the hub.

Is this a known problem?

Is there some workaround for this problem?
If you already have the latest firmware (which has a lot of USB fixes), then probably buying a a decent hub?
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

thradtke
Posts: 492
Joined: Wed May 16, 2012 5:16 am
Location: Germany / EL

Re: USB redux

Mon Dec 09, 2013 9:33 am

jamesh wrote:If you already have the latest firmware (which has a lot of USB fixes), then probably buying a a decent hub?
Would you mind recommending one or two that comply to the current USB driver?
Rocket Scientist.

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1609
Joined: Sat Sep 10, 2011 11:43 am

Re: USB redux

Mon Dec 09, 2013 9:36 am

It's quite possible that the problem is you've got a hub with a single transaction translator (this is the thing that converts USB2 to USB 1 for things like keyboard and mouse's etc.

You can check by doing lsusb -v to output the information and look for the hub descriptor (there will be at least three hubs, the first is the root hub, then the 9512 hub then your external one. The 9512 should have TT PER PORT and SINGLE TT interfaces...)
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27444
Joined: Sat Jul 30, 2011 7:41 pm

Re: USB redux

Mon Dec 09, 2013 9:39 am

thradtke wrote:
jamesh wrote:If you already have the latest firmware (which has a lot of USB fixes), then probably buying a a decent hub?
Would you mind recommending one or two that comply to the current USB driver?
All the ones I've tried have just worked, but they are just cheapo ones. Most should indeed just work.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

User avatar
scrishton
Posts: 49
Joined: Mon May 07, 2012 8:48 pm
Location: Settle, in the Yorkshire Dales
Contact: Website

Re: USB redux

Mon Dec 09, 2013 9:42 am

thradtke wrote:
jamesh wrote:If you already have the latest firmware (which has a lot of USB fixes), then probably buying a a decent hub?
Would you mind recommending one or two that comply to the current USB driver?

Yes please, let us all know what hub will work. I have bought and tried quite a few and none of them work entirely correctly. Even the ones CPC / Farnell sell in their Raspberry Pi sections. The Pimoroni one looks interesting, but I'm not sure it will fit in the space I have available.

Simon R.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27444
Joined: Sat Jul 30, 2011 7:41 pm

Re: USB redux

Mon Dec 09, 2013 9:47 am

scrishton wrote:
thradtke wrote:
jamesh wrote:If you already have the latest firmware (which has a lot of USB fixes), then probably buying a a decent hub?
Would you mind recommending one or two that comply to the current USB driver?

Yes please, let us all know what hub will work. I have bought and tried quite a few and none of them work entirely correctly. Even the ones CPC / Farnell sell in their Raspberry Pi sections. The Pimoroni one looks interesting, but I'm not sure it will fit in the space I have available.

Simon R.
As above, I don't know since all the ones I have tried have worked fine. But then I only use them for attaching USB HD's and keyboards, so nothing unusual.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5664
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: USB redux

Mon Dec 09, 2013 1:07 pm

thradtke wrote:Would you mind recommending one or two that comply to the current USB driver?
http://www.raspberrypi.org/archives/4803

User avatar
scrishton
Posts: 49
Joined: Mon May 07, 2012 8:48 pm
Location: Settle, in the Yorkshire Dales
Contact: Website

Re: USB redux

Mon Dec 09, 2013 1:16 pm

dom wrote:
thradtke wrote:Would you mind recommending one or two that comply to the current USB driver?
http://www.raspberrypi.org/archives/4803
But it's only four port. How about a seven port hub?

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27444
Joined: Sat Jul 30, 2011 7:41 pm

Re: USB redux

Mon Dec 09, 2013 1:58 pm

scrishton wrote:
dom wrote:
thradtke wrote:Would you mind recommending one or two that comply to the current USB driver?
http://www.raspberrypi.org/archives/4803
But it's only four port. How about a seven port hub?
Google.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

MaxK1
Posts: 1043
Joined: Sun Aug 26, 2012 11:34 pm

Re: USB redux

Mon Dec 09, 2013 2:32 pm

Adafruit sells a 7 port (powered) USB hub that isn't a 3+4 that _seems_ to work well (Manhattan) Microcenter also has it. But I can't throw every combination of USB devices at it and state that it "absolutely just works" for everything that has a USB 2.0 sticker on it. And since it only has a 5V/2A supply, you can't expect it to power anything/everything you throw at it.
You are in a maze of twisty little passages, all alike.
When General Failure and Major Disaster get together, Private Parts usually suffers.

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1609
Joined: Sat Sep 10, 2011 11:43 am

Re: USB redux

Mon Dec 09, 2013 2:46 pm

That sounds like the right sort of product, the 3+4 ones are a bit of a cheap out, although they should work as long as they have TT per port

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

thradtke
Posts: 492
Joined: Wed May 16, 2012 5:16 am
Location: Germany / EL

Re: USB redux

Mon Dec 09, 2013 2:46 pm

scrishton wrote:But it's only four port. How about a seven port hub?
Searching for "Multi-TT" hubs results in e.g. http://www.ayagroup.com/product.php?productid=16951

Hope that's a good one. Gordon?
Rocket Scientist.

lingon
Posts: 166
Joined: Fri Aug 26, 2011 7:31 am

Re: USB redux

Wed Dec 11, 2013 7:55 pm

gsh wrote:It's quite possible that the problem is you've got a hub with a single transaction translator (this is the thing that converts USB2 to USB 1 for things like keyboard and mouse's etc.

You can check by doing lsusb -v to output the information and look for the hub descriptor (there will be at least three hubs, the first is the root hub, then the 9512 hub then your external one. The 9512 should have TT PER PORT and SINGLE TT interfaces...)
The seven port USB hub that I use consists of two 4 port hubs connected together:
Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
bDeviceProtocol 1 Single TT
Bus 001 Device 007: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
bDeviceProtocol 1 Single TT
So unfortunately each 4 port hub has a Single TT. Do you think that the mouse and keyboard would work better if they are connected to ports that are not on the same internal hub?

Why is it that if I have the mouse and keyboard on the hub on ports that are on the same internal hub that they work for a while, but sooner or later the USB and ethernet connections on the Raspberry Pi will crash?

Code: Select all

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         2 TT per port
  bMaxPacketSize0        64
  idVendor           0x0424 Standard Microsystems Corp.
  idProduct          0x9512 
  bcdDevice            2.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      1 Single TT
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 TT per port
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             3
  wHubCharacteristic 0x000d
    Per-port power switching
    Compound device
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent      1 milli Ampere
  DeviceRemovable    0x02
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
   Port 2: 0000.0503 highspeed power enable connect
   Port 3: 0000.0303 lowspeed power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            3.10
  iManufacturer           3 Linux 3.10.19+ dwc_otg_hcd
  iProduct                2 DWC OTG Controller
  iSerial                 1 bcm2708_usb
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0008
    Ganged power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
Device Status:     0x0001
  Self Powered

Bus 001 Device 008: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc016 Optical Wheel Mouse
  bcdDevice            3.40
  iManufacturer           1 Logitech
  iProduct                2 Optical USB Mouse
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol         1 
  bMaxPacketSize0        64
  idVendor           0x0424 Standard Microsystems Corp.
  idProduct          0xec00 
  bcdDevice            2.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              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
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 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     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               4
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol         1 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0608 USB-2.0 4-Port HUB
  bcdDevice           77.64
  iManufacturer           0 
  iProduct                1 USB2.0 Hub
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e0
    Ganged power switching
    Ganged overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0503 highspeed power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 005: ID 04ca:0050 Lite-On Technology Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x04ca Lite-On Technology Corp.
  idProduct          0x0050 
  bcdDevice            1.03
  iManufacturer           1 Lite-On Technology Corp.
  iProduct                2 USB Multimedia Keyboard
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      50
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0003  1x 3 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 007: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0608 USB-2.0 4-Port HUB
  bcdDevice           77.64
  iManufacturer           0 
  iProduct                1 USB2.0 Hub
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e0
    Ganged power switching
    Ganged overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0303 lowspeed power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

rspitz
Posts: 58
Joined: Tue Jul 31, 2012 7:25 pm

Re: USB redux

Thu Dec 12, 2013 4:56 pm

jamesh wrote:If you already have the latest firmware (which has a lot of USB fixes)
Which firmware version do you mean? Is it in the Raspbian repository or only accessible via rpi-update?

I ran rpi-update yesterday and now have "Linux raspi 3.10.23+ #608 PREEMPT Mon Dec 9 21:11:23 GMT 2013 armv6l GNU/Linux". I'm presently trying out if this will fix my longstandig problems with a DVB-C USB-stick.

de-shu
Posts: 8
Joined: Sat Jan 04, 2014 5:27 pm

Re: USB redux

Fri Jan 17, 2014 1:00 pm

Hi,

Is the USB fix already merged from the fiq_split branch into master? I would prefer to not downgrade to 3.8.11...

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27444
Joined: Sat Jul 30, 2011 7:41 pm

Re: USB redux

Fri Jan 17, 2014 1:17 pm

I think all known USB fixes are in the main code now. So if you update/rpi-update you will et the very latest stuff.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

de-shu
Posts: 8
Joined: Sat Jan 04, 2014 5:27 pm

Re: USB redux

Fri Jan 17, 2014 6:32 pm

Well, I'm asking because I'm having a problem that is very similar to the described here.
Also, the branch still exists, but inactive for 8 months. It's a binary branch, so I'm having issues with finding the corresponding commit to the master branch.

fabriced
Posts: 10
Joined: Thu Jun 06, 2013 7:56 pm

Re: USB redux

Wed Jan 22, 2014 7:36 am

Dears,
I think I have the same issue. I am on 3.10.27 and was thinking split transaction issue was solved but with a bluetooth dongle I have fast failure except if I switch it to USB 1.
Is the fix commited into 3.10 branch ?
Maybe is it possible to switch only the bluetooth dongle to USB 1 but leave the others in USB 2 ?
Kind regards,
Fabrice

de-shu
Posts: 8
Joined: Sat Jan 04, 2014 5:27 pm

Re: USB redux

Wed Jan 22, 2014 7:49 am

Hi,

It seems that the fix is actually committed but does not solve the issue completely, just makes it less probable.

You can check it by running

Code: Select all

# dmesg | grep "FIQ split fix"

thradtke
Posts: 492
Joined: Wed May 16, 2012 5:16 am
Location: Germany / EL

Re: USB redux

Wed Jan 22, 2014 9:13 am

Some time ago, Gordon considered an EHCI implementation in the blob. Is this still an option?
Rocket Scientist.

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1609
Joined: Sat Sep 10, 2011 11:43 am

Re: USB redux

Wed Jan 22, 2014 9:22 am

thradtke wrote:Some time ago, Gordon considered an EHCI implementation in the blob. Is this still an option?
Well, it is but it's unlikely to fix the problems we're seeing. Basically the Synopsys module we use for USB has some limitations which mean it's very very difficult to schedule transactions exactly when you want them... That's the issue that P33M is working on at the moment he's been working on it steadily since he came to work for Raspberry Pi and that's now at 6 months!

Unfortunately that's just the way of the hardware!

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

thradtke
Posts: 492
Joined: Wed May 16, 2012 5:16 am
Location: Germany / EL

Re: USB redux

Wed Jan 22, 2014 4:32 pm

Ok, thanks.

Also thanks to both of you for your work on it.
Rocket Scientist.

ericbruggema
Posts: 4
Joined: Wed Jan 01, 2014 5:08 pm
Location: The World
Contact: Website

Re: USB redux

Sun Feb 09, 2014 1:05 pm

I have the same problem, after starting raspivid

raspivid -o test.h264 t 100000
after a couple of minutes it tells me

Message from syslogd@raspberrypi at feb 9 12:55:17 ...
kernel: [ 257.xxxxxxx ] Disabling IRQ 32

All usb devices are stopped (without using a hub, one wifi one bluetooth for keyboard/mouse)

Specs:
- Model B 512MB
- 32GB microsdhc with converter to sd
- PiCam 1.3
- Castcom wifi
- Logitech K400r keyboard + touchpad
Its better to start a project for the 10th time then stop after the first fail!!!!

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27444
Joined: Sat Jul 30, 2011 7:41 pm

Re: USB redux

Sun Feb 09, 2014 3:31 pm

That might be a power supply problem. I was getting ethernet drop outs when running the camera, even though the power supply was robust. Turned out to be a bad USB cable. Might be worth checking either cable or supply. Try testing the voltage at tp1,2.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

Return to “Troubleshooting”