Bug 136221

Summary: Bluetooth devices stop working, can't be reconnected until WiFi radio is turned off
Product: Drivers Reporter: Chris Murphy (bugzilla)
Component: BluetoothAssignee: DO NOT USE - assign "network-wireless-intel" component instead (linuxwifi)
Status: CLOSED WILL_NOT_FIX    
Severity: high    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.6.3-300.fc24.x86_64 Subsystem:
Regression: No Bisected commit-id:
Attachments: bug136221_journal-bluetoothmouse.txt

Description Chris Murphy 2016-07-21 18:59:05 UTC
Apple Inc. MacBookPro8,2 [Core i7, 15", 2011]

03:00.0 Network controller [0280]: Broadcom Corporation BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
	Subsystem: Apple Inc. AirPort Extreme [106b:00d6]

[    7.975200] Bluetooth: hci0: BCM: chip id 19 build 0847
[    7.977172] Bluetooth: hci0: BCM: product 05ac:821a

Problem: About a dozen times per day, bluetooth devices are disconnected for no apparent reason.

Jul 21 12:47:39 f24m kernel: input: mouses as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/bluetooth/hci0/hci0:12/0005:05AC:030D.0009/input/input18
Jul 21 12:47:39 f24m kernel: magicmouse 0005:05AC:030D.0009: input,hidraw2: BLUETOOTH HID v3.06 Mouse [mouses] on e0:f8:47:39:5d:df
Jul 21 12:47:39 f24m /usr/libexec/gdm-x-session[1710]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/bluetooth/hci0/hci0:12/0005:05AC:030D.0009/input/input18/event6"


And I can't reconnect unless I first turn off the WiFi radio, and then click the bluetooth mouse button or type some keys on the keyboard, and then the device is reaquired. Then I can turn WiFi back on. While WiFi is enabled there is no way to initiate reconnecting with the device.

Upstream GNOME folks say this is a kernel bug.
https://bugzilla.gnome.org/show_bug.cgi?id=767820

Regression testing:
With this same hardware setup, the problem doesn't ever occur when running Windows or macOS.
Comment 1 Chris Murphy 2016-07-22 15:08:36 UTC
Created attachment 225331 [details]
bug136221_journal-bluetoothmouse.txt

The behavior is much worse with kernel 4.7.0-0.rc7.git4.1.fc25.x86_64 in that Bluetooth never properly recovers after waking from suspend to RAM. I have to reboot. The behavior on wake is, Bluetooth devices aren't connected to automatically. If I disable WiFi, those devices do connect and work normally. If I enable WiFi the new behavior is the devices immediately behave sluggishly: mouse arrow jerks around, increasingly non-responsive to movement and clicks, keyboard delays typed keys and increasingly drops what I've typed, and then devices finally just vanish.

So it's completely unusable in practice with kernel 4.7.0. (Arguably it's barely usable having to cycle power on WiFi a dozen times per day with older kernels.)

Attached is a journalctl output for this sequence.

Jul 22 08:54:49 f24m NetworkManager[926]: <info>  [1469199289.7078] WiFi hardware radio set enabled

self explanatory, I've already turned off WiFi, mouse is working fine, and here I turn on WiFi. Immediately the mouse starts to become unresponsive and jerks around on-screen. There's no meaningful messages in the log that explain this, no errors for WiFi or Bluetooth. So some sort of debug mode for bluetooth and or WiFi is maybe needed.

It takes about 20 seconds for the device to just stop working entirely, and then it's another 30 seconds before there's a message in the log that relates to this:


Jul 22 08:55:24 f24m /usr/libexec/gdm-x-session[9575]: (II) config/udev: removing device mouses
Jul 22 08:55:24 f24m /usr/libexec/gdm-x-session[9575]: (**) Option "fd" "35"
Jul 22 08:55:24 f24m /usr/libexec/gdm-x-session[9575]: (II) UnloadModule: "libinput"
Jul 22 08:55:24 f24m /usr/libexec/gdm-x-session[9575]: (II) systemd-logind: releasing fd for 13:72
Jul 22 08:55:24 f24m bluetoothd[820]: GLib: Source ID 193 was not found when attempting to remove it

and later

Jul 22 08:55:55 f24m bluetoothd[820]: Can't get HIDP connection info
Jul 22 08:56:00 f24m bluetoothd[820]: connect error: Host is down (112)
Jul 22 08:56:25 f24m bluetoothd[820]: Can't get HIDP connection info
Jul 22 08:56:30 f24m bluetoothd[820]: connect error: Host is down (112)

Turning off the WiFi radio, all I have to do is single click on the mouse, and it reconnects, works normally. And then the whole thing starts over again and fails if I turn on WiFi. So to stop this nonsense I'll have to reboot.
Comment 2 Emmanuel Grumbach 2017-12-25 22:10:25 UTC
Still relevant?

Found the bug by chance.
Comment 3 Emmanuel Grumbach 2018-01-04 16:07:16 UTC
Please reopen if needed.