Bug 100651

Summary: Bluetooth broken on MBA 6,2 since Kernel v4.1
Product: Drivers Reporter: Christoph (kernel)
Component: BluetoothAssignee: linux-bluetooth (linux-bluetooth)
Status: NEW ---    
Severity: normal CC: evangelos, johan.hedberg, kapouer, kernel-bugs, martin.szulecki.kernel.bugzilla, milton.marcinek, net147, v.simankin
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.1.0-040100-generic #201506220235 (Ubuntu) Subsystem:
Regression: No Bisected commit-id:
Attachments: Kernellog
broken kernel config
working kernel config
lsusb

Description Christoph 2015-06-29 12:54:28 UTC
Created attachment 181251 [details]
Kernellog

On Macbook Air 6,2 bluetooth was working till kernel v4.0.3. In version 4.1 bluetooth support is broken:

sudo hciconfig hci0 up
Can't init device hci0: Device or resource busy (16)

dmesg | grep hci0
[  774.467449] Bluetooth: hci0: BCM: Read verbose config info failed (-16)

lsusb | grep -i blue
Bus 001 Device 005: ID 05ac:820b Apple, Inc. Bluetooth HID Mouse
Bus 001 Device 004: ID 05ac:820a Apple, Inc. Bluetooth HID Keyboard
Bus 001 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)

You will find dmesg, Kernel-Configs and lsusb output attached.

Christoph
Comment 1 Christoph 2015-06-29 12:55:12 UTC
Created attachment 181261 [details]
broken kernel config
Comment 2 Christoph 2015-06-29 12:55:49 UTC
Created attachment 181271 [details]
working kernel config
Comment 3 Christoph 2015-06-29 12:56:19 UTC
Created attachment 181281 [details]
lsusb
Comment 4 Martin Szulecki 2015-07-04 17:54:33 UTC
Confirming same issue/behavior on MacbookAir5,2 (tested on 4.1.1):
Bus 002 Device 004: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)

Looks like all BCM2046B1 devices are affected by the recent config read code changes.
Comment 5 Victor 2015-07-05 23:07:34 UTC
same issue starting with  4.1
# dmidecode -t system | grep "Product Name"
	Product Name: MacBookPro11,3
# lsusb | grep -i 2046B1
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
# hciconfig hci0 down
# hciconfig hci0 up
Can't init device hci0: Device or resource busy (16)
# dmesg | grep hci0
[    5.565576] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
…
[ 1972.306838] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
Comment 6 Jérémy Lal 2015-07-09 22:36:50 UTC
modprobe btbcm
?
Comment 7 Jérémy Lal 2015-07-11 15:35:15 UTC
Oh - what happened is booting linux 4.0.7, then rebooting to 4.1.1 leave it with a properly initialized bluetooth.
Comment 8 Evangelos Foutras 2015-07-15 08:08:09 UTC
Possibly fixed by: http://marc.info/?l=linux-bluetooth&m=143690553927903&w=2.

(I don't have the hardware to test.)
Comment 9 Christoph 2015-07-22 08:44:56 UTC
Thank you for pointing me to this patch from Chris Mason. I applied it to kernel v4.1 and the bluetooth device comes up properly.
Comment 10 Victor 2015-07-23 06:16:51 UTC
(In reply to Evangelos Foutras from comment #8)
> Possibly fixed by: http://marc.info/?l=linux-bluetooth&m=143690553927903&w=2.
> 
> (I don't have the hardware to test.)

same problem (on MacBookPro11,3) with patch (and with already patched 4.1.3)
dmesg
[  252.023861] usbcore: registered new interface driver btusb
[  252.025037] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
[  252.026044] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
# uname -r
4.1.3
Comment 11 Johan Hedberg 2015-07-23 06:39:43 UTC
(In reply to Victor from comment #10)
> same problem (on MacBookPro11,3) with patch (and with already patched 4.1.3)

FWIW, 4.1.3 doesn't have the patch.

> dmesg
> [  252.023861] usbcore: registered new interface driver btusb
> [  252.025037] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
> [  252.026044] Bluetooth: hci0: BCM: Read verbose config info failed (-16)

These messages are still supposed to be there even with the patch, however bringing up the interface should work.
Comment 12 Victor 2015-07-23 07:14:06 UTC
(In reply to Johan Hedberg from comment #11)
> FWIW, 4.1.3 doesn't have the patch.

may be.
My gentoo-source - has (i look source btbcm.c just now)
> however bringing up the interface should work.

Not for me.
4.0.8 work fine
Comment 13 milton 2015-08-02 23:23:51 UTC
(In reply to Johan Hedberg from comment #11)
> (In reply to Victor from comment #10)
> > same problem (on MacBookPro11,3) with patch (and with already patched
> 4.1.3)
> 
> FWIW, 4.1.3 doesn't have the patch.
> 
> > dmesg
> > [  252.023861] usbcore: registered new interface driver btusb
> > [  252.025037] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
> > [  252.026044] Bluetooth: hci0: BCM: Read verbose config info failed (-16)
> 
> These messages are still supposed to be there even with the patch, however
> bringing up the interface should work.

I fresh installed Arch 4.1.3 on a MacBookPro8,2 and couldn't get it to boot because of this error.  Installed abs, compiled the linux-4.1.3-1 package which (now) includes this patch, and I'm still getting the error and the boot hang.

Not sure what to do.
Comment 14 Evangelos Foutras 2015-08-03 02:11:25 UTC
Note that the patch I linked above will be in 4.1.4; it's currently in the patch queue for 4.1.x. [1]

The stock Arch Linux kernel package includes the patch and people have confirmed that Bluetooth works with it. The "Read verbose config info failed" messages still exist but should be harmless.

@milton: I don't think your boot failure is related to this issue at all. You could give the linux-lts kernel a try (or an older 4.0.x kernel from [2]).

[1] http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/queue-4.1

[2] http://seblu.net/a/arm/packages/l/linux/
Comment 15 Victor 2015-08-04 09:32:51 UTC
(In reply to Evangelos Foutras from comment #14)
> The stock Arch Linux kernel package includes the patch and people have
> confirmed that Bluetooth works with it. The "Read verbose config info
> failed" messages still exist but should be harmless.

also confirm, work in 4.1.4
# uname -r
4.1.4-gentoo
Comment 16 Martin Szulecki 2015-08-07 10:37:13 UTC
Confirming as fixed in Kernel 4.1.4 for MacbookAir5,2.