Am 21.12.2012 01:59, schrieb Alan Stern: > On Thu, 20 Dec 2012, Frank Schäfer wrote: > >>> Yes runtime suspend works (tested with a mouse) and lspci -vv doesn't >>> change. >>> >>> With >>> /sys/devices/pci0000:00/0000:00:02.0/usb2/2-9/power: >>> control = on >>> runtime_status = active >>> >>> 00:02.0 USB controller: NVIDIA Corporation MCP61 USB 1.1 Controller (rev >>> a2) (prog-if 10 [OHCI]) >>> Subsystem: ASUSTeK Computer Inc. Device 8234 >>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- >>> ParErr- Stepping- SERR- FastB2B- DisINTx- >>> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- >>> <TAbort- <MAbort- >SERR- <PERR- INTx- >>> Latency: 0 (750ns min, 250ns max) >>> Interrupt: pin A routed to IRQ 23 >>> Region 0: Memory at fe02f000 (32-bit, non-prefetchable) [size=4K] >>> Capabilities: [44] Power Management version 2 >>> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA >>> PME(D0+,D1+,D2+,D3hot+,D3cold+) >>> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- >>> Kernel driver in use: ohci_hcd >>> >>> >>> => set control to 'auto' >>> >>> runtime_status = active >>> >>> 00:02.0 USB controller: NVIDIA Corporation MCP61 USB 1.1 Controller (rev >>> a2) (prog-if 10 [OHCI]) >>> Subsystem: ASUSTeK Computer Inc. Device 8234 >>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- >>> ParErr- Stepping- SERR- FastB2B- DisINTx- >>> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- >>> <TAbort- <MAbort- >SERR- <PERR- INTx- >>> Latency: 0 (750ns min, 250ns max) >>> Interrupt: pin A routed to IRQ 23 >>> Region 0: Memory at fe02f000 (32-bit, non-prefetchable) [size=4K] >>> Capabilities: [44] Power Management version 2 >>> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA >>> PME(D0+,D1+,D2+,D3hot+,D3cold+) >>> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- >>> Kernel driver in use: ohci_hcd >>> >>> >>> => after ~2s the device suspends >>> >>> runtime_status = suspended >>> >>> 00:02.0 USB controller: NVIDIA Corporation MCP61 USB 1.1 Controller (rev >>> a2) (prog-if 10 [OHCI]) >>> Subsystem: ASUSTeK Computer Inc. Device 8234 >>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- >>> ParErr- Stepping- SERR- FastB2B- DisINTx- >>> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- >>> <TAbort- <MAbort- >SERR- <PERR- INTx- >>> Latency: 0 (750ns min, 250ns max) >>> Interrupt: pin A routed to IRQ 23 >>> Region 0: Memory at fe02f000 (32-bit, non-prefetchable) [size=4K] >>> Capabilities: [44] Power Management version 2 >>> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA >>> PME(D0+,D1+,D2+,D3hot+,D3cold+) >>> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- >>> Kernel driver in use: ohci_hcd >>> >> Of course I checked that the host controller suspends, too. > The lspci output above shows that the host controller is _not_ > suspended. Or at least, that's what it looks like -- maybe for some > reason the runtime suspend code didn't put the controller into D3. Yes, but I checked /sys/devices/pci0000:00/0000:00:02.0/power/runtime_status, and it changed from 'active' to 'suspended'. I double-checked the whole test. But guess what ? Today lspci changes... 00:02.0 USB controller: NVIDIA Corporation MCP61 USB 1.1 Controller (rev a2) (prog-if 10 [OHCI]) Subsystem: ASUSTeK Computer Inc. Device 8234 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 23 Region 0: Memory at fe02f000 (32-bit, non-prefetchable) [size=4K] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D3 NoSoftRst- PME-Enable+ DSel=0 DScale=0 PME- Kernel driver in use: ohci_hcd > It > would help to see the dmesg output from a kernel with CONFIG_USB_DEBUG > enabled. ... [ 529.195045] hub 2-0:1.0: hub_suspend [ 529.195054] usb usb2: bus auto-suspend, wakeup 1 [ 529.195058] ohci_hcd 0000:00:02.0: suspend root hub [ 529.195081] ohci_hcd 0000:00:02.0: hcd_pci_runtime_suspend: 0 [ 538.361502] hub 1-0:1.0: state 7 ports 10 chg 0000 evt 0200 [ 538.361515] ehci_hcd 0000:00:02.1: GetStatus port:9 status 001403 0 ACK POWER sig=k CSC CONNECT [ 538.361522] hub 1-0:1.0: port 9, status 0501, change 0001, 480 Mb/s [ 538.465028] hub 1-0:1.0: debounce: port 9: total 100ms stable 100ms status 0x501 [ 538.465038] ehci_hcd 0000:00:02.1: port 9 low speed --> companion [ 538.476062] ohci_hcd 0000:00:02.0: setting latency timer to 64 [ 538.476069] ohci_hcd 0000:00:02.0: powerup ports [ 538.497013] ohci_hcd 0000:00:02.0: hcd_pci_runtime_resume: 0 [ 538.497018] usb usb2: usb wakeup-resume [ 538.497022] usb usb2: usb auto-resume [ 538.497026] ohci_hcd 0000:00:02.0: wakeup root hub [ 538.516029] ehci_hcd 0000:00:02.1: GetStatus port:9 status 003402 0 ACK POWER OWNER sig=k CSC [ 538.516045] hub 1-0:1.0: state 7 ports 10 chg 0000 evt 0200 [ 538.516050] ehci_hcd 0000:00:02.1: GetStatus port:9 status 003402 0 ACK POWER OWNER sig=k CSC [ 538.516055] hub 1-0:1.0: port 9, status 0100, change 0001, 12 Mb/s [ 538.557013] hub 2-0:1.0: hub_resume [ 538.557039] ohci_hcd 0000:00:02.0: GetStatus roothub.portstatus [8] = 0x00010301 CSC LSDA PPS CCS [ 538.557042] hub 2-0:1.0: port 9: status 0301 change 0001 [ 538.620043] hub 1-0:1.0: debounce: port 9: total 100ms stable 100ms status 0x100 [ 538.658027] hub 2-0:1.0: state 7 ports 10 chg 0200 evt 0000 [ 538.658036] hub 2-0:1.0: port 9, status 0301, change 0000, 1.5 Mb/s [ 538.764028] ohci_hcd 0000:00:02.0: GetStatus roothub.portstatus [8] = 0x00100303 PRSC LSDA PPS PES CCS [ 538.815026] usb 2-9: new low-speed USB device number 5 using ohci_hcd [ 538.923049] ohci_hcd 0000:00:02.0: GetStatus roothub.portstatus [8] = 0x00100303 PRSC LSDA PPS PES CCS [ 538.996031] usb 2-9: skipped 1 descriptor after interface [ 538.999031] usb 2-9: default language 0x0409 [ 539.002031] usb 2-9: udev 5, busnum 2, minor = 132 [ 539.002033] usb 2-9: New USB device found, idVendor=15d9, idProduct=0a37 [ 539.002036] usb 2-9: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 539.002038] usb 2-9: Product: USB Mouse [ 539.002133] usb 2-9: usb_probe_device [ 539.002137] usb 2-9: configuration #1 chosen from 1 choice [ 539.005057] usb 2-9: adding 2-9:1.0 (config #1, interface 0) [ 539.005101] usbhid 2-9:1.0: usb_probe_interface [ 539.005104] usbhid 2-9:1.0: usb_probe_interface - got id [ 539.012505] input: USB Mouse as /devices/pci0000:00/0000:00:02.0/usb2/2-9/2-9:1.0/input/input7 [ 539.012766] hid-generic 0003:15D9:0A37.0002: input,hidraw0: USB HID v1.10 Mouse [USB Mouse] on usb-0000:00:02.0-9/input0 [ 539.012812] hub 2-0:1.0: state 7 ports 10 chg 0000 evt 0200 [ 557.827054] ohci_hcd 0000:00:02.0: urb ea022c00 path 9 ep1in 7b160000 cc 7 --> status -71 [ 649.707158] ohci_hcd 0000:00:02.0: urb ea022c00 path 9 ep1in 1f160000 cc 1 --> status -84 [ 679.812204] usb 2-9: usb auto-suspend, wakeup 1 [ 682.008063] hub 2-0:1.0: hub_suspend [ 682.008072] usb usb2: bus auto-suspend, wakeup 1 [ 682.008076] ohci_hcd 0000:00:02.0: suspend root hub [ 682.008098] ohci_hcd 0000:00:02.0: hcd_pci_runtime_suspend: 0 > What do you get in /sys/devices/pci0000:00/0000:00:02.0/power/ ? async = enabled autosuspend_delay_ms = [I/O error] control = auto runtime_active_kids = 0 runtime_active_time = 503003 runtime_enabled = enabled runtime_status = suspended runtime_suspended_time = 287507 runtime_usage = 0 wakeup = enabled wakeup_abort_count = 0 wakeup_active = 0 wakeup_active_count = 3 wakeup_count = 3 wakeup_expire_count = 3 wakeup_last_time_ms = 538565 wakeup_max_time_ms = 101 wakeup_total_time_ms = 300 The only thing I've changed is updating from kernel 3.6.10 to 3.6.11, but that shouldn't matter, right ? I also noticed that today auto-suspend is enabled by default while I had to enable it before. No idea what happened :( Anyway, system still wakes up from S3 immediately. Regards, Frank -- 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