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

Bug#677472: [3.1->3.2 regression] Immediate wake on suspend, associated with OHCI on MCP51



On Sun, 08 Jul 2012 07:40:49 -0700, Alan Stern <stern@rowland.harvard.edu>
wrote:

On Sat, 7 Jul 2012, Octavio Alvarez wrote:

On Sat, 07 Jul 2012 19:23:08 -0700, Alan Stern <stern@rowland.harvard.edu>
wrote:

>> roothub.portstatus [4] 0x00000303 LSDA PPS PES CCS
>> roothub.portstatus [5] 0x00000303 LSDA PPS PES CCS
>> roothub.portstatus [6] 0x00000101 PPS CCS
>
> That's normal, except for the status of port 6 (which actually is port
> 7, since we normally count ports starting from 1).  The port shows
> Current Connect Status, so something is connected to it -- but what?

It looks like it was my pendrive. Disconnecting the mouse and keyboard
cleared CCS on [4] and [5] (not necesariliy in that order).

Removing my pen drive cleared CCS on [6].

Okay, that explains that.  More or less.  Is this an old USB-1.1 pen
drive?  If it is USB-2.0 then I would expect it to connect to the EHCI
controller, not the OHCI controller.

I don't know... Is there a way to know that? The device is a

Bus 001 Device 011: ID 0781:5406 SanDisk Corp. Cruzer Micro U3

Does it make sense to think that some ports are OHCI and some are
EHCI, particularly if some of them are on the back and some on the
front?

This is the continuation of the previous dmesg, starting on second 178,
when I pressed the power button.

(done without my pen drive)

The suspending part is normal.  The resuming part is not...

[  181.394398] usb usb2: usb resume
[  181.394403] ohci_hcd 0000:00:0b.0: wakeup root hub
[  181.394426] usb usb1: usb resume
[  181.394430] ehci_hcd 0000:00:0b.1: resume root hub
[  181.428035] ehci_hcd 0000:00:0b.1: port 6 low speed --> companion

That shouldn't have happened.  It's not actually _wrong_, but it
indicates that the USB controllers did not maintain their states
properly while the system was suspended.

Considering that this happens while the system is already resuming,
do you think is in some way related with the bug?

[  181.472105] hub 2-0:1.0: port 6: status 0301 change 0003
[  181.524028] ehci_hcd 0000:00:0b.1: GetStatus port:6 status 003402 0
ACK POWER OWNER sig=k CSC
[  181.540030] hub 1-0:1.0: hub_resume
[  181.540040] ehci_hcd 0000:00:0b.1: GetStatus port:1 status 001020 0
ACK POWER sig=se0 OCC
[  181.540051] ehci_hcd 0000:00:0b.1: GetStatus port:2 status 001020 0
ACK POWER sig=se0 OCC
[  181.540061] ehci_hcd 0000:00:0b.1: GetStatus port:3 status 001020 0
ACK POWER sig=se0 OCC
[  181.540071] ehci_hcd 0000:00:0b.1: GetStatus port:4 status 001020 0
ACK POWER sig=se0 OCC
[  181.540086] ehci_hcd 0000:00:0b.1: GetStatus port:7 status 001020 0
ACK POWER sig=se0 OCC
[  181.540095] ehci_hcd 0000:00:0b.1: GetStatus port:8 status 001020 0
ACK POWER sig=se0 OCC

These messages are highly suspicious.  They indicate a low-level
hardware problem in the wiring of the USB controllers or support
components.

I won't go into further detail.  The remaining events all seem to flow
from these underlying problems.

Just out of curiosity, what happens if you suspend with the mouse and
keyboard unplugged, i.e., no USB devices attached at all?  (To
forestall possible questions, you run a little shell script that sleeps
for 10 seconds, during which you unplug the keyboard and mouse, and
then initiates a system suspend.)

I'm using the power button to suspend and resume, so this test is
actually easy.

It's weird, but without K & M connected, even with the pendrive
connected, the system suspends! (The keyboard leds go off and all,
though)

Also, what happens if you unload ehci-hcd before suspending (with the
keyboard and mouse plugged in as normal)?

It doesn't suspend. I tested this a while ago. It's pretty much specific
to ohci_hcd.


Not sure if this is helpful but:

[Sun Jul 08 10:02:31 -0700 -- alvarezp@octavio:~]
$ sudo lsusb -vvvv

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         0 Full speed (or root) hub
    bMaxPacketSize0        64
    idVendor           0x1d6b Linux Foundation
    idProduct          0x0002 2.0 root hub
    bcdDevice            3.02
    iManufacturer           3 Linux 3.2.0-3-686-pae ehci_hcd
    iProduct                2 EHCI Host Controller
    iSerial                 1 0000:00:0b.1
    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              11
    bDescriptorType      41
    nNbrPorts             8
    wHubCharacteristic 0x000a
      No power switching (usb 1.0)
      Per-port overcurrent protection
    bPwrOn2PwrGood       10 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    DeviceRemovable    0x00 0x00
    PortPwrCtrlMask    0xff 0xff
   Hub Port Status:
     Port 1: 0000.0100 power
     Port 2: 0000.0100 power
     Port 3: 0000.0100 power
     Port 4: 0000.0100 power
     Port 5: 0000.0100 power
     Port 6: 0000.0100 power
     Port 7: 0000.0100 power
     Port 8: 0000.0503 highspeed power enable connect
Device Status:     0x0001
    Self Powered

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0 Unused
    bDeviceProtocol         0 Full speed (or root) hub
    bMaxPacketSize0        64
    idVendor           0x1d6b Linux Foundation
    idProduct          0x0001 1.1 root hub
    bcdDevice            3.02
    iManufacturer           3 Linux 3.2.0-3-686-pae ohci_hcd
    iProduct                2 OHCI Host Controller
    iSerial                 1 0000:00:0b.0
    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     0x0002  1x 2 bytes
          bInterval             255
Hub Descriptor:
    bLength              11
    bDescriptorType      41
    nNbrPorts             8
    wHubCharacteristic 0x0002
      No power switching (usb 1.0)
      Ganged overcurrent protection
    bPwrOn2PwrGood        1 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    DeviceRemovable    0x00 0x00
    PortPwrCtrlMask    0xff 0xff
   Hub Port Status:
     Port 1: 0000.0100 power
     Port 2: 0000.0100 power
     Port 3: 0000.0100 power
     Port 4: 0000.0100 power
     Port 5: 0000.0303 lowspeed power enable connect
     Port 6: 0000.0303 lowspeed power enable connect
     Port 7: 0000.0100 power
     Port 8: 0000.0100 power
Device Status:     0x0001
    Self Powered

Bus 002 Device 009: ID 046d:c05a Logitech, Inc. Optical Mouse M90
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          0xc05a Optical Mouse M90
    bcdDevice           54.00
    iManufacturer           1 Logitech
    iProduct                2 USB Optical 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               98mA
      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.11
            bCountryCode            0 Not supported
            bNumDescriptors         1
            bDescriptorType        34 Report
            wDescriptorLength      67
           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     0x0006  1x 6 bytes
          bInterval              10
Device Status:     0x0000
    (Bus Powered)

Bus 002 Device 010: ID 046d:c31d Logitech, Inc.
Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            0 (Defined at Interface level)
    bDeviceSubClass         0
    bDeviceProtocol         0
    bMaxPacketSize0         8
    idVendor           0x046d Logitech, Inc.
    idProduct          0xc31d
    bcdDevice           66.00
    iManufacturer           1 Logitech
    iProduct                2 USB Keyboard
    iSerial                 0
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           59
      bNumInterfaces          2
      bConfigurationValue     1
      iConfiguration          3 U66.00_B0001
      bmAttributes         0xa0
        (Bus Powered)
        Remote Wakeup
      MaxPower               90mA
      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              2 USB Keyboard
          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              2 USB Keyboard
          HID Device Descriptor:
            bLength                 9
            bDescriptorType        33
            bcdHID               1.10
            bCountryCode            0 Not supported
            bNumDescriptors         1
            bDescriptorType        34 Report
            wDescriptorLength     159
           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     0x0004  1x 4 bytes
          bInterval             255
Device Status:     0x0000
    (Bus Powered)

Bus 001 Device 011: ID 0781:5406 SanDisk Corp. Cruzer Micro U3
Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               2.00
    bDeviceClass            0 (Defined at Interface level)
    bDeviceSubClass         0
    bDeviceProtocol         0
    bMaxPacketSize0        64
    idVendor           0x0781 SanDisk Corp.
    idProduct          0x5406 Cruzer Micro U3
    bcdDevice            0.10
    iManufacturer           1 SanDisk
    iProduct                2 U3 Cruzer Micro
    iSerial                 3 0000186265743522
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           32
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0
      bmAttributes         0x80
        (Bus Powered)
      MaxPower              200mA
      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     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     0x01  EP 1 OUT
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0200  1x 512 bytes
          bInterval               1
Device Qualifier (for other device speed):
    bLength                10
    bDescriptorType         6
    bcdUSB               2.00
    bDeviceClass            0 (Defined at Interface level)
    bDeviceSubClass         0
    bDeviceProtocol         0
    bMaxPacketSize0        64
    bNumConfigurations      1
Device Status:     0x0000
    (Bus Powered)




--
Octavio.



Reply to: