2012/3/27 Andiry Xu <andiry.xu@xxxxxxx>: > On 03/27/2012 09:40 AM, Elric Fu wrote: >> 2012/3/26 Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>: >>> Elric Fu wrote: >>>> 2012/3/26 Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>: >>>>> Elric Fu wrote: >>>>>> 2012/3/26 Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>: >>>>>>> Hi, >>>>>>> I tried one of the "stable" kernels with my Dell Votro 3550 laptop >>>>>>> with a USB2.0 hub connected to its eSATA/USB2.0 port. Is this a known >>>>>>> issue? Aside from removing USB suspend from the kernel, is there any >>>>>>> other way to get rid of this? >>>>>> >>>>>> The kernel is too old. The power management implementation for USB3 >>>>>> was supported from 2.6.37. You should use the lastest kernel. >>>>> >>>>> Ah, thanks. So how about disabling CONFIG_USB_SUSPEND altogether >>>>> for USB3.0 in those old kernels? I mean really to disable it in the xHCI >>>>> driver only. >>>>> >>>>> But the message I reported here is a USB2.0 connection through an >>>>> internal eSATA/USB2.0 connector on the laptop. So are we talking about >>>>> the same? >>>> >>>> Maybe you can write a negative number to /sys/bus/usb/[dev bus name]/ >>>> power/autosuspend. The negative value of autosuspend means disabling >>>> autosuspend. >>> >>> # ls -la /sys/bus/usb/devices/3-0\:1.0/power/ >>> total 0 >>> drwxr-xr-x 2 root root 0 Mar 26 15:24 . >>> drwxr-xr-x 4 root root 0 Mar 26 15:24 .. >>> -rw-r--r-- 1 root root 4096 Mar 26 15:24 wakeup >>> # >>> # ls -la /sys/bus/usb/devices/3-0\:1.0/power/ >>> total 0 >>> drwxr-xr-x 2 root root 0 Mar 26 15:24 . >>> drwxr-xr-x 4 root root 0 Mar 26 15:24 .. >>> -rw-r--r-- 1 root root 4096 Mar 26 15:24 wakeup >>> # find /sys/bus/usb/devices/ -name autosuspend >>> # find /sys/bus/usb/devices/ -name autosuspend >>> # gzip -dc /proc/config.gz | grep SUSPEND >>> CONFIG_ARCH_SUSPEND_POSSIBLE=y >>> CONFIG_SUSPEND=y >>> CONFIG_SUSPEND_FREEZER=y >>> CONFIG_USB_SUSPEND=y >>> # uname -a >>> Linux vostro 2.6.32.59-default #2 SMP Mon Mar 26 01:15:46 MEST 2012 x86_64 Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz GenuineIntel GNU/Linux >>> # echo -n -1 > /sys/bus/usb/devices/3-0\:1.0/power/autosuspend >>> -su: /sys/bus/usb/devices/3-0:1.0/power/autosuspend: No such file or directory >>> # >>> >>> What am I doing wrong? ;) >> >> What you do is correct. Actually, I don't know why the USB3 bus don't >> have the autosuspend file. >> >> Anyway, I don't think it is a issue. The "-2" is -ENOENT. It is a returned value >> when the hcd_bus_suspend() identify hcd->driver->bus_suspend is NULL. > > Why? ehci_bus_suspend/resume() are defined in 32.59. According to the log, the host controller of Bus 3 is xHCI. xhci_hcd 0000:0b:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 xhci_hcd 0000:0b:00.0: setting latency timer to 64 xhci_hcd 0000:0b:00.0: xHCI Host Controller xhci_hcd 0000:0b:00.0: new USB bus registered, assigned bus number 3 xhci_hcd 0000:0b:00.0: supports USB remote wakeup xhci_hcd 0000:0b:00.0: irq 16, io mem 0xf7d00000 usb usb3: config 1 interface 0 altsetting 0 endpoint 0x81 has no SuperSpeed companion descriptor usb usb3: default language 0x0409 usb usb3: udev 1, busnum 3, minor = 256 usb usb3: New USB device found, idVendor=1d6b, idProduct=0003 usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb3: Product: xHCI Host Controller usb usb3: Manufacturer: Linux 2.6.32.59-default xhci_hcd usb usb3: SerialNumber: 0000:0b:00.0 usb usb3: usb_probe_device usb usb3: configuration #1 chosen from 1 choice xHCI xhci_add_endpoint called for root hub xHCI xhci_check_bandwidth called for root hub usb usb3: adding 3-0:1.0 (config #1, interface 0) hub 3-0:1.0: usb_probe_interface hub 3-0:1.0: usb_probe_interface - got id hub 3-0:1.0: USB hub found hub 3-0:1.0: 4 ports detected hub 3-0:1.0: standalone hub hub 3-0:1.0: individual port power switching hub 3-0:1.0: individual port over-current protection hub 3-0:1.0: TT requires at most 8 FS bit times (666 ns) hub 3-0:1.0: power on to power good time: 20ms hub 3-0:1.0: local power source is good hub 3-0:1.0: enabling power on all ports > >> As I said, the kernel can't support bus suspend/resume. So I think you just >> need to shutdown the CONFIG_USB_DEBUG. Then the syslog doesn't show >> the messages. >> > > But the 32.59 kernel should support bus suspend/resume. The messages are: hub 3-0:1.0: hub_suspend usb usb3: bus auto-suspend usb usb3: bus suspend fail, err -2 hub 3-0:1.0: hub_resume hub 3-0:1.0: state 7 ports 4 chg 0000 evt 0000 So I think it is reported due to hcd_bus_suspend() found the hcd->driver->bus_suspend is NULL. > > Thanks, > Andiry > > > -- 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