Re: Qualcomm Atheros QCA61x4 keeps drawing 0.85 W despite Bluetooth being disable in GNOME

From: Paul Menzel
Date: Sun Nov 19 2023 - 17:09:53 EST


Dear Alan,


Thank you very much for your quick response.

Am 19.11.23 um 16:43 schrieb Alan Stern:
On Sun, Nov 19, 2023 at 02:42:58PM +0100, Paul Menzel wrote:

On the Dell XPS 13 9360 from 2016, BIOS 2.21.0 06/02/2022, with Debian
sid/unstable and Debian’s Linux 6.5.10 kernel, I am trying to extend the
run-time with battery, at under 50 % of it’s original capacity, and I am
using PowerTOP 2.15.

Although radio/wireless devices are turned off in GNOME, PowerTOP shows the
Bluetooth device drawing 0.85 W of energy:

848 mW 100.0% Device USB device: usb-device-0cf3-e300

$ lsusb -d 0cf3:e300
Bus 001 Device 002: ID 0cf3:e300 Qualcomm Atheros Communications QCA61x4 Bluetooth 4.0

After unloading the module `btusb`, the entry disappears from the PowerTOP
list after a while.

usbcore: deregistering interface driver btusb

Auto-suspend was enabled for the device. (Though it shouldn’t have mattered
as it was disabled in GNOME?)

Enabling autosuspend means that the device _may_ go into runtime suspend
when it's not being used. Whether it _will_ do so depends on the driver
(btusb in this case).

Thank you for the clarification.

Anyways, have you heard of such an issue? Can I provide more information, to
get it to not use any energy while being disable in GNOME?

What is the output from

grep . /sys/bus/usb/devices/1-3/power/*

both with and without the btusb module loaded?

```
$ sudo modprobe btusb
$ sudo dmesg | tail -10
[313699.136637] wlp58s0: Limiting TX power to 17 dBm as advertised by 00:f6:63:af:fa:4f
[314037.905400] WARNING! power/level is deprecated; use power/control instead
[314065.418431] usbcore: registered new interface driver btusb
[314065.421509] bluetooth hci0: firmware: direct-loading firmware qca/rampatch_usb_00000302.bin
[314065.423852] Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00000302.bin
[314065.423865] Bluetooth: hci0: QCA: patch rome 0x302 build 0x3e8, firmware rome 0x302 build 0x111
[314065.791131] bluetooth hci0: firmware: direct-loading firmware qca/nvm_usb_00000302.bin
[314065.791228] Bluetooth: hci0: using NVM file: qca/nvm_usb_00000302.bin
[314065.823499] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[314066.117644] Bluetooth: MGMT ver 1.22
$ grep . /sys/bus/usb/devices/1-3/power/*
/sys/bus/usb/devices/1-3/power/active_duration:119053224
/sys/bus/usb/devices/1-3/power/async:enabled
/sys/bus/usb/devices/1-3/power/autosuspend:2
/sys/bus/usb/devices/1-3/power/autosuspend_delay_ms:2000
/sys/bus/usb/devices/1-3/power/connected_duration:148065372
/sys/bus/usb/devices/1-3/power/control:auto
/sys/bus/usb/devices/1-3/power/level:auto
/sys/bus/usb/devices/1-3/power/persist:1
/sys/bus/usb/devices/1-3/power/runtime_active_kids:0
/sys/bus/usb/devices/1-3/power/runtime_active_time:119060567
/sys/bus/usb/devices/1-3/power/runtime_enabled:enabled
/sys/bus/usb/devices/1-3/power/runtime_status:active
/sys/bus/usb/devices/1-3/power/runtime_suspended_time:28831453
/sys/bus/usb/devices/1-3/power/runtime_usage:0
/sys/bus/usb/devices/1-3/power/wakeup:disabled
```

```
$ sudo modprobe -r btusb
$ sudo dmesg | tail -1
[314106.155163] usbcore: deregistering interface driver btusb
$ grep . /sys/bus/usb/devices/1-3/power/*
/sys/bus/usb/devices/1-3/power/active_duration:119072176
/sys/bus/usb/devices/1-3/power/async:enabled
/sys/bus/usb/devices/1-3/power/autosuspend:2
/sys/bus/usb/devices/1-3/power/autosuspend_delay_ms:2000
/sys/bus/usb/devices/1-3/power/connected_duration:148320980
/sys/bus/usb/devices/1-3/power/control:auto
/sys/bus/usb/devices/1-3/power/level:auto
/sys/bus/usb/devices/1-3/power/persist:1
/sys/bus/usb/devices/1-3/power/runtime_active_kids:0
/sys/bus/usb/devices/1-3/power/runtime_active_time:119079518
/sys/bus/usb/devices/1-3/power/runtime_enabled:enabled
/sys/bus/usb/devices/1-3/power/runtime_status:suspended
/sys/bus/usb/devices/1-3/power/runtime_suspended_time:29068110
/sys/bus/usb/devices/1-3/power/runtime_usage:0
/sys/bus/usb/devices/1-3/power/wakeup:disabled
```


Kind regards,

Paul


$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Human Interface Device,
Driver=usbhid, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 3: Dev 2, If 0, Class=Wireless, Driver=, 12M
|__ Port 3: Dev 2, If 1, Class=Wireless, Driver=, 12M
|__ Port 4: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 5: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
```