BCM2045B: Integrated Bluetooth adapter needs to be enabled twice to work on ThinkPad T400

Bug #1760127 reported by Dimitar Milkov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

This bug has been around since the 4.x kernels.

When the system boots up, Bluetooth is disabled as expected:

$ rfkill list
0: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
2: tpacpi_bluetooth_sw: Bluetooth
 Soft blocked: yes
 Hard blocked: no

After we try to enable it with 'rfkill unblock bluetooth', the Bluetooth interface hci0 is now present, but is soft blocked:

$ rfkill unblock bluetooth

$ rfkill list
0: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
2: tpacpi_bluetooth_sw: Bluetooth
 Soft blocked: noDescription: Linux Mint 18.3 Sylvia
Release: 18.3

 Hard blocked: no
10: hci0: Bluetooth
 Soft blocked: yes
 Hard blocked: no

However, Bluetooth is considered enabled by the thinkpad-acpi driver, as we can see:

$ cat /proc/acpi/ibm/bluetooth
status: enabled
commands: enable, disable

The Bluetooth LED is also on.

'hciconfig' is seeing the Bluetooth adapter as being DOWN:

$ hciconfig

hci0: Type: BR/EDR Bus: USB
 BD Address: 00:22:68:E4:BF:27 ACL MTU: 1021:8 SCO MTU: 64:1
 DOWN
 RX bytes:511 acl:0 sco:0 events:23 errors:0
 TX bytes:339 acl:0 sco:0 commands:23 errors:0

To remove the soft block of hci0 and make the Bluetooth adapter fully operational, we should run 'rfkill unblock bluetooth' one more time.

$ rfkill unblock bluetooth

$ rfkill list
0: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
2: tpacpi_bluetooth_sw: Bluetooth
 Soft blocked: no
 Hard blocked: no
10: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no

$ hciconfig

hci0: Type: BR/EDR Bus: USB
 BD Address: 00:22:68:E4:BF:27 ACL MTU: 1021:8 SCO MTU: 64:1
 UP RUNNING PSCAN ISCAN
 RX bytes:1046 acl:0 sco:0 events:50 errors:0
 TX bytes:943 acl:0 sco:0 commands:50 errors:0

Now the adapter is fully operational.

This behavior confuses most of the GUI applets that are used by the modern distributions, since they expect to have an operational adapter after the first attempt to enable it. This makes it impossible to use the Bluetooth adapter through them.

I`m currently testing on Linux Mint 18.3 MATE (with Ubuntu package base) that is shipped with the 'blueberry' applet, it uses bt-adapter from the BlueZ suite in the background to manage the Bluetooth adapter. Because of this bug, it crashes and 'blueberry' is unable to use the Bluetooth.

Revision history for this message
Dimitar Milkov (programings) wrote :
Revision history for this message
Dimitar Milkov (programings) wrote :
Revision history for this message
Dimitar Milkov (programings) wrote :
Revision history for this message
Dimitar Milkov (programings) wrote :
affects: linux-meta (Ubuntu) → linux (Ubuntu)
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: artful
tags: added: bionic
removed: artful
tags: added: xenial
removed: bionic
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.16 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Dimitar Milkov (programings) wrote :

The 3.13 kernel in Trusty was not affected by this. I have tested all the kernels since 4.4 and they are affected.
I can confirm that the bug is fixed in the 4.15 and 4.16 kernels.

tags: added: kernel-fixed-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.