Re: Enabling btusb autosuspend by default

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

 



  Hi,

> This is really useful work. I'm already seeing ~20% battery
> improvement with Fedora 27 + 4.14.0-0.rc8.git3.1.fc28.x86_64 on an HP
> Spectre, and so far no regressions. I get better battery life with
> this combination than running Windows 10 with all the HP specific
> drivers for this model.
> 
> Some tips on how regressions might manifest and what information to
> include in a good bug report would be useful. e.g. on an Intel NUC
> when I run powertop --auto-tune, and walk away (it's a server so it
> might be days) and come back the keyboard won't work. I've never done
> any troubleshooting other than just disable the powertop systemd unit,
> I'm vaguely suspicious of usb autosuspend and it not waking up when
> keys are pressed.

autosuspend has a high chance to be the root cause for this one.  Yes,
its very messy, mostly due to bad hardware.

In qemu it took us quite some effort to get autosuspend working.  It's
very useful there too, usb hostadapter power consumtion on a laptop
translates to cpu cycles for usb hostadapter emulation for a virtual
machine.

The fundamental problem is that hardware exists claiming to support
autosuspend, but it's not working properly.  Effect is exactly what
you see: device stops working.  Result is that operating systems don't
enable autosuspend by default, to avoid disturbing users.

udev has a whitelist of known-good hid devices
(/lib/udev/rules.d/42-usb-hid-pm.rules) to deal with that.  qemu hid
devices are listed there, that way qemu has automatic autosuspend for
linux guests.

Microsoft created some "os-specific" usb descriptors which devices can
define.  One of the things you can do with that is set registry entries
for the device.  Qemu uses that to automatically enable autosuspend on
windows guests, by setting SelectiveSuspendEnabled to 1.

Microsoft specs:
  https://msdn.microsoft.com/en-us/library/windows/hardware/ff537430.aspx

Qemu code:
  https://git.qemu.org/?p=qemu.git;a=blob;f=hw/usb/desc-msos.c;h=3652919815777d637ed4f716772f9c1ce2d0b819;hb=HEAD

Possibly this can be used on linux too, to figure which devices are
known-good, without having to maintain a whitelist ...

cheers,
  Gerd
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux