1

My workstation already has a wifi card with bluetooth on it, but that bluetooth is extremely unstable and last month, it is unable to turn on (although the wifi is still ok). I thought it was dead so I plugged in a USB bluetooth dongle and it works just fine.
But recently, the bluetooth on wifi card suddenly turned on again, now I have 2 bluetooth, I dont know which is which, and how to connect to the USB bluetooth, not the PCIE card

This is the output of lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 005: ID 04d9:1603 Holtek Semiconductor, Inc. Keyboard
Bus 001 Device 014: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 008: ID 2b89:6209 ibasso IBASSO-DC-Series
Bus 001 Device 004: ID 0a05:7211 Unknown Manufacturer hub
Bus 001 Device 003: ID 0529:0003 Aladdin Knowledge Systems Sentinel HL
Bus 001 Device 013: ID 0cf3:e005 Qualcomm Atheros Communications
Bus 001 Device 016: ID 262a:187a ibasso IBASSO-DC-Series
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

1 Answers1

3

Normal solution

You can use rfkill to disable the specific device:

  1. Run rfkill without arguments and identify the ID of the device you want to block. If you're not sure, just pick one of the hci ones and retry if necessary:
rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 bluetooth hci1   unblocked unblocked
[...]
 2 bluetooth hciX   unblocked unblocked
 3 wlan      phy0   unblocked unblocked
 4 wlan      phy1   unblocked unblocked
[...]
 5 wlan      phyX   unblocked unblocked
  1. Run rfkill block <the number 0 or 1 or etc.>
  2. If it was the wrong one, run rfkill unblock <that number> and repeat step 2

sudo is not usually necessary. systemd-rfkill.service is responsible for saving and loading this file across reboots.

Last-resort solution

Run echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0cf3", ATTRS{idProduct}=="e005", ATTR{authorized}="0"' | sudo tee /etc/udev/rules.d/81-disable-internal-bluetooth.rules and reboot.

This is based on the other answer and how in your lsusb, the "Qualcomm Atheros Communications" is the internal one and "Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)" is your dongle. The device ID for the Qualcomm one changed from 2 to 13 (perhaps it unloaded and loaded a few times), while the dongle's ID remained the same, and this explains why rfkill didn't save.

Daniel T
  • 5,339