CSR8510 based BTA-402 Bluetooth device cannot be started

Bug #1873718 reported by Sebastian Unger
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bluez (Ubuntu)
Won't Fix
Undecided
Unassigned
linux (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

In the GUI, I can go to the Bluetooth settings and it shows BT to be off. I turn on the little switch at the top but nothing else changes. If I navigate away from this page and then back, the switch is off again.

If I try to reset the device on the command line I get:

seb@eragon:~$ sudo hciconfig hci0 reset
Can't init device hci0: Connection timed out (110)

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: bluez 5.50-0ubuntu5.1
ProcVersionSignature: Ubuntu 5.3.0-46.38-generic 5.3.18
Uname: Linux 5.3.0-46-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu8.8
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Mon Apr 20 14:39:55 2020
EcryptfsInUse: Yes
InterestingModules: bnep btusb bluetooth
MachineType: Gigabyte Technology Co., Ltd. To be filled by O.E.M.
ProcEnviron:
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_NZ.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.3.0-46-generic root=/dev/mapper/vg0-root rw rootflags=errors=remount-ro quiet splash vt.handoff=1 pti=off
SourcePackage: bluez
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/23/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: FA
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: 990FXA-UD3
dmi.board.vendor: AMD Corporation
dmi.board.version: x.x
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrFA:bd10/23/2012:svnGigabyteTechnologyCo.,Ltd.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMDCorporation:rn990FXA-UD3:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.family: To be filled by O.E.M.
dmi.product.name: To be filled by O.E.M.
dmi.product.sku: To be filled by O.E.M.
dmi.product.version: To be filled by O.E.M.
dmi.sys.vendor: Gigabyte Technology Co., Ltd.
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:0 acl:0 sco:0 events:0 errors:0
  TX bytes:0 acl:0 sco:0 commands:1 errors:1
rfkill:
 0: hci0: Bluetooth
  Soft blocked: no
  Hard blocked: no

Revision history for this message
Sebastian Unger (sebunger44) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sounds like this might be a kernel bug, or a hardware problem. I am skeptical of CSR Bluetooth dongles since they seem to be consistently unreliable, at least on Linux.

Please try a newer (or older) kernel version and tell us if that makes any difference:

  https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D

Or more simply just try live booting Ubuntu 20.04 from USB and tell us if that has the same bug:

  http://cdimage.ubuntu.com/daily-live/current/

Ubuntu 20.04 is due for release at the end of this week.

Changed in bluez (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: New → Incomplete
You-Sheng Yang (vicamo)
tags: added: hwe-bluetooth
Revision history for this message
Sebastian Unger (sebunger44) wrote :

Sorry for the delay. I have just installed 20.04 to try but the behaviour is the same.

Dmesg log when I plug in the dongle:

[ 230.119651] usb 10-1: new full-speed USB device number 3 using xhci_hcd
[ 230.375357] usb 10-1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
[ 230.375362] usb 10-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 230.375365] usb 10-1: Product: CSR8510 A10
[ 230.479445] Bluetooth: Core ver 2.22
[ 230.479465] NET: Registered protocol family 31
[ 230.479466] Bluetooth: HCI device and connection manager initialized
[ 230.479470] Bluetooth: HCI socket layer initialized
[ 230.479472] Bluetooth: L2CAP socket layer initialized
[ 230.479475] Bluetooth: SCO socket layer initialized
[ 230.504741] usbcore: registered new interface driver btusb
[ 230.672496] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 230.672497] Bluetooth: BNEP filters: protocol multicast
[ 230.672501] Bluetooth: BNEP socket layer initialized

In the settings screen for BT it shows "BT Turned Off". When flip the switch nothing happens.

seb@eragon:~[0]$ 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:0 acl:0 sco:0 events:0 errors:0
 TX bytes:0 acl:0 sco:0 commands:1 errors:1

seb@eragon:~[1]$ sudo hciconfig hci0 reset
Can't init device hci0: Connection timed out (110)

Revision history for this message
Sebastian Unger (sebunger44) wrote :

Gave it another try with linux-image-unsigned-5.7.0-999-generic on Eoan, same behaviour.

Revision history for this message
You-Sheng Yang (vicamo) wrote :

https://www.reddit.com/r/AnnePro/comments/e76ij8/csr_40_bluetooth_dongle_on_linux/
It seems this dongle currently takes an additional patch to enable. Does it work for you?

Revision history for this message
Sebastian Unger (sebunger44) wrote :

Here are the steps I followed (all on Eoan):

sudo apt install kernel-package linux-source flex bison libssl-dev libelf-dev
tar xf /usr/src/linux-source-5.3.0.tar.bz2
cd linux-source-5.3.0
make mrproper
cp /usr/lib/modules/5.3.0-46-generic/build/{.config,Module.symvers} .
make oldconfig
patch -p1 < ../btusb-Enablement-of-HCI_QUIRK_BROKEN_STORED_LINK_KEY-quirk.patch
make EXTRAVERSION=-ubuntu1-1 modules_prepare
make M=drivers/bluetooth
xz drivers/bluetooth/btusb.ko
sudo cp -f drivers/bluetooth/btusb.ko.xz /usr/lib/modules/5.3.0-46-generic/updates
sudo depmod
sudo modprobe -r btusb

Now when I insert the dongle, I get
[ 4831.984499] btusb: version magic '5.3.18-ubuntu1-1 SMP mod_unload ' should be '5.3.0-46-generic SMP mod_unload '

Obviously, the EXTRAVERSION isn't right yet, but why is that module reporting itself as 5.3.18 when I built it from 5.3.0 source?

Revision history for this message
Sebastian Unger (sebunger44) wrote :

Ok, I tried again but changed the command with the version above to:

make SUBLEVEL=0 EXTRAVERSION=-46-generic modules_prepare

Now I get in dmesg:

[ 7851.540982] usb 10-1: new full-speed USB device number 4 using xhci_hcd
[ 7851.788016] usb 10-1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
[ 7851.788022] usb 10-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 7851.788026] usb 10-1: Product: CSR8510 A10
[ 7851.802391] usbcore: registered new interface driver btusb
[ 7851.963660] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 7851.963662] Bluetooth: BNEP filters: protocol multicast
[ 7851.963667] Bluetooth: BNEP socket layer initialized
[ 7853.817073] Bluetooth: hci0: command 0x1001 tx timeout
[ 7861.977389] Bluetooth: hci0: CSR: Local version failed (-110)

seb@eragon:~/btDongleTest/linux-source-5.3.0[0]$ 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:0 acl:0 sco:0 events:0 errors:0
 TX bytes:0 acl:0 sco:0 commands:1 errors:1

seb@eragon:~/btDongleTest/linux-source-5.3.0[1]$ sudo hciconfig hci0 reset
Can't init device hci0: Connection timed out (110)

Otherwise behaviour is unchanged.

Revision history for this message
Sebastian Unger (sebunger44) wrote :

Ok, this is interesting. I just downgraded to bionic (18.04) and now the dongle is working! So something went wrong somewhere along the way but the H/W is definitely good.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for bluez (Ubuntu) because there has been no activity for 60 days.]

Changed in bluez (Ubuntu):
status: Incomplete → Expired
Changed in bluez (Ubuntu):
status: Expired → New
Changed in linux (Ubuntu):
status: Expired → New
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
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for reporting this bug to Ubuntu.
Ubuntu 19.10 (eoan) reached end-of-life on July 17, 2020.

See this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We appreciate that this bug may be old and you might not be interested in discussing it any more. But if you are then please upgrade to the latest Ubuntu version and re-test. If you then find the bug is still present in the newer Ubuntu version, please add a comment here telling us which new version it is in and change the bug status to Confirmed.

Changed in bluez (Ubuntu):
status: New → Won't Fix
Changed in linux (Ubuntu):
status: Confirmed → Won't Fix
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.