Re: USB autosuspend causing trouble with bluetooth

From: Oliver Neukum
Date: Tue Jan 20 2015 - 16:47:34 EST


On Tue, 2015-01-20 at 23:25 +0400, Kirill Elagin wrote:

> Hm, I'm pretty sure I never touched anything with `port` in its name,
> all the ports are set to `auto` (that's what laptop-mode-tools does).

Here we go.

> Right now I think I see three possibly unrelated issues:
>
> Issue #1. BT trackpad not working properly when connected to the
> builtin bluetooth adapter.
> ----------
>
> The adapter is attached to a USB1.1 hub:
>
> ~~~~
> # lsusb -t
> ...
> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
> |__ Port 2: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
> |__ Port 2: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
> |__ Port 2: Dev 2, If 2, Class=Vendor Specific Class, Driver=, 12M
> |__ Port 2: Dev 2, If 3, Class=Application Specific Interface, Driver=, 12M
> ...
>
> # cat usb3/power/control
> auto
>
> # cat usb3/3-*/usb3-port*/power/control
> auto
> auto

Try setting this to on.

> # cat usb3/3-2/power/control
> on

Here "auto" should work. Please try.
[..]
> Issue #2. No hotplug with USB1.1:
> ----------
>
> To see this I pick one physical port. When I plug a USB1.1 device it
> appears on bus 4 port 2; a USB2.0 device appears on bus 1 port 4.
>
> ~~~~
> # cat usb4/power/control
> auto
> # cat usb4/4-*/usb4-port*/power/control
> auto
> auto

Please set this to "on"

> # cat usb1/power/control
> auto
> # cat usb1/1-*/usb1-port*/power/control

Please set this to "on"

[..]
>
> Issue #3. No hot-plug-out for USB1.1.
> --------

> I think that the first two issues are fixed by keeping all the USB1.1
> hubs and the builtin BT always `on`, but I just wanted to know whether
> those are hardware or software bugs.

I suspect this is caused by outdated laptop-mode-tools.

Basically setting the port controls (as opposed to hub and device
controls) to "auto" tells the kernel that it may disable hotplugging
to save energy. Hotunplug for devices that need remote wakeup will
still work. Likewise if you disable autosuspend of the attached devices.

Regards
Oliver


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/