Bug 109321

Summary: ASUS T100TA Bluetooth stopped working
Product: Drivers Reporter: Brian Loften (bloften80)
Component: BluetoothAssignee: linux-bluetooth (linux-bluetooth)
Status: NEW ---    
Severity: normal CC: bloften80, jbMacBrodie, johan.hedberg
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.4-rc4 Subsystem:
Regression: No Bisected commit-id:

Description Brian Loften 2015-12-14 01:36:06 UTC
Hello

since kernel 4.2.3 the bluetooth on ASUS t100TA stopped working 

can no longer initialize it using hciattach /dev/ttyS4 bcm43xx command it always times out it also registers different in dmesg

 80860F0A:00: ttyS4 at MMIO 0x9094d000 (irq = 191, base_baud = 2764800) is a 16550A
[    5.629222] Bluetooth: Core ver 2.21
[    5.629287] NET: Registered protocol family 31
[    5.629291] Bluetooth: HCI device and connection manager initialized
[    5.629299] Bluetooth: HCI socket layer initialized
[    5.629305] Bluetooth: L2CAP socket layer initialized
[    5.629318] Bluetooth: SCO socket layer initialized
[    5.643749] Bluetooth: HCI UART driver ver 2.3
[    5.643757] Bluetooth: HCI UART protocol H4 registered
[    5.643760] Bluetooth: HCI UART protocol BCSP registered
[    5.643763] Bluetooth: HCI UART protocol LL registered
[    5.643765] Bluetooth: HCI UART protocol ATH3K registered
[    5.643768] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    5.643853] Bluetooth: HCI UART protocol Intel registered
[    5.657970] hci_bcm BCM2E39:00: BCM irq: 192
[    5.658046] Bluetooth: BCM2E39:00: Asus T100TA: Overwriting IRQ polarity to active low
[    5.658051] hci_bcm BCM2E39:00: BCM2E39:00 device registered.
[    5.658224] Bluetooth: HCI UART protocol BCM registered

not sure if this is a bug in the kernel driver or if something was changed BlueZ and not updated in the bcm driver

also it no longer registers with rfkill which i think was changed

let me know if you need any more information

thanks
Comment 1 Johan Hedberg 2015-12-16 15:44:11 UTC
There was an answer to this, but you may have missed it since it was only sent to the mailing list: http://www.spinics.net/lists/linux-bluetooth/msg65800.html
Comment 2 Brian Loften 2015-12-17 03:24:16 UTC
(In reply to Johan Hedberg from comment #1)
> There was an answer to this, but you may have missed it since it was only
> sent to the mailing list:
> http://www.spinics.net/lists/linux-bluetooth/msg65800.html

yes this got it working again thank you for the information

i did the btmgmt static-addr and public-addr and cannot get the bluetooth devices to stay after each boot (mouse, speaker, etc) any ideas how to get the system to remember bluetooth devices with btattach? 

with hciconfig it was hciconfig /dev/ttyS4 bcm43xx 921600 flow bdaddr XX:XX:XX:XX:XX:XX and the system will remember the devices whcih each boot

the BDADDR keeps changing after boot if i do not set static-addr or public-addr 

is this a driver issue or a bluez issue?

thanks again for your help
Comment 3 jbMacAZ 2016-03-01 23:34:47 UTC
btattach was working fine in 4.3.x with bluez 5.3.5 and blueman (Ubuntu15.10-i386, Asus T100-CHI).  Starting with kernel 4.4 (and 4.5) bluetooth no longer self-starts at boot or reconnects after no-activity timeout.  I have to manually search (pairing is still retained) using blueman device manager to activate bluetooth link.  Or stay with EOL 4.3.x
Comment 4 jbMacAZ 2016-03-22 07:01:42 UTC
4.5.0-next-20150321 self-starts at boot, but I have to open device manager to maintain bluetooth connection, search not needed though.  If mouse or keyboard timeout, it will reconnect automatically.  If the T100 times out, I have to manually search with blueman device manager to reconnect devices.  Pairing is maintained boot to boot and after inactivity timeouts.