summary of the problem:
bluetooth stops working upon resume from a "sleep", on 19.04 (using latest bluez version that is available right now)
hardware / software:
Description: Ubuntu 19.04
% dpkg --status bluez | grep '^Version:'
Version: 5.50-0ubuntu2
% lsmod | grep -i blue
bluetooth 557056 23 btrtl,btintel,btbcm,bnep,btusb,rfcomm
ecdh_generic 28672 1 bluetooth
% lspci -k
06:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
Subsystem: Intel Corporation Dual Band Wireless-AC 8265
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
% lsusb
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
% usb-devices
T: Bus=01 Lev=01 Prnt=01 Port=08 Cnt=06 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=0a2b Rev=00.10
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#=0x1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
observations:
dmesg shows a timeout
% dmesg | grep -i blue
[ 8.854203] Bluetooth: Core ver 2.22
[ 8.854213] Bluetooth: HCI device and connection manager initialized
[ 8.854215] Bluetooth: HCI socket layer initialized
[ 8.854216] Bluetooth: L2CAP socket layer initialized
[ 8.854217] Bluetooth: SCO socket layer initialized
[ 8.887056] Bluetooth: hci0: Firmware revision 0.1 build 43 week 1 2019
[ 9.791115] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 9.791117] Bluetooth: BNEP filters: protocol multicast
[ 9.791120] Bluetooth: BNEP socket layer initialized
[ 22.415492] Bluetooth: RFCOMM TTY layer initialized
[ 22.415498] Bluetooth: RFCOMM socket layer initialized
[ 22.415502] Bluetooth: RFCOMM ver 1.11
[ 35.357910] hid-generic 0005:046D:B01D.0005: input,hidraw4: BLUETOOTH HID v0.16 Mouse [MX Ergo] on C0:B6:F9:70:BC:27
[350513.404651] Bluetooth: hci0: Firmware revision 0.1 build 43 week 1 2019
[389661.535751] hid-generic 0005:046D:B01D.0009: input,hidraw4: BLUETOOTH HID v0.16 Mouse [MX Ergo] on C0:B6:F9:70:BC:27
[404929.368630] Bluetooth: hci0: SCO packet for unknown connection handle 0
[404929.368636] Bluetooth: hci0: SCO packet for unknown connection handle 0
[404929.378628] Bluetooth: hci0: SCO packet for unknown connection handle 0
[404929.378630] Bluetooth: hci0: SCO packet for unknown connection handle 0
[404929.378631] Bluetooth: hci0: SCO packet for unknown connection handle 0
[404929.388647] Bluetooth: hci0: SCO packet for unknown connection handle 0
[404940.041477] Bluetooth: hci0: SCO packet for unknown connection handle 260
[404940.041484] Bluetooth: hci0: SCO packet for unknown connection handle 260
[404940.041487] Bluetooth: hci0: SCO packet for unknown connection handle 260
[431287.519594] Bluetooth: hci0: last event is not cmd complete (0x00)
[431287.519604] Bluetooth: hci0: last event is not cmd complete (0x00)
[431287.519640] Bluetooth: hci0: Reading Intel version information failed (-61)
[431289.423079] Bluetooth: hci0: command tx timeout
bluetoothctl cannot see the bluetooth adapter
% sudo bluetoothctl
Agent registered
[bluetooth]# power off
No default controller available
other posts mentioned rfkill list, mine is not blocked
% rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
3: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
hcitool does not show any devices. i think this is a issue
% hcitool dev
Devices:
hci0 is DOWN
% hciconfig
hci0: Type: Primary Bus: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:76 acl:0 sco:0 events:2 errors:0
TX bytes:3 acl:0 sco:0 commands:1 errors:0
i reset and it now appears UP
% sudo hciconfig hci0 reset
% hciconfig
hci0: Type: Primary Bus: USB
BD Address: C0:B6:F9:70:BC:27 ACL MTU: 1021:4 SCO MTU: 96:6
UP RUNNING
RX bytes:901 acl:0 sco:0 events:56 errors:0
TX bytes:454 acl:0 sco:0 commands:45 errors:0
% hcitool dev
Devices:
hci0 C0:B6:F9:70:BC:27
however bluetoothctl still reports no controller is available
[bluetooth]# devices
No default controller available
still seeing hci0 report issue reading the Intel info
[481037.880552] Bluetooth: hci0: Reading Intel version information failed (-61)
[481039.889836] Bluetooth: hci0: command tx timeout
[481570.804750] Bluetooth: hci0: Firmware revision 0.1 build 43 week 1 2019
troubleshooting steps taken:
- restart bluetooh.service, but the problem persists.
- a reboot (or multiple sometimes) will fix the bluetooth issue. though it returns after subsequent suspend (issue is not seen every time).
i found this open bug that sounds similar, but have not yet tested i am hitting the same problem (patch is available to try). adding it here in case others hit this same issue. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1790454
workaround:
- issue does NOT occur if i "lock/unlock" the user session (instead of using sleep). uptime is 27days (and counting) using this method.