3

On my machine, I have two bluetooth adapters. One inside (connected to the wifi) that has terrible range, and a bluetooth dongle (usb) that has excellent range.

On elementary OS, it automatically selects the adapter inside the machine. I need it to select the bluetooth dongle over the internal adapter, whether automatically or manually...I just need to do it somehow.

I've tried hotplugging the USB, but it doesn't help, the entire bluetooth settings menu is only recognizing the internal adapter.

I've gotten this to work on Ubuntu on the same machine, so the hardware is fine, it's the software.

Output from lsusb; lspci -nnk | grep -iA2 net:

Bus 004 Device 002: ID 8087:8001 Intel Corp. 
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8009 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 8087:07dc Intel Corp. 
Bus 001 Device 005: ID 5986:066d Acer, Inc 
Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 001 Device 003: ID 1c7a:0603 LighTuning Technology Inc. 
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
06:00.0 Network controller [0280]: Intel Corporation Wireless 3160 [8086:08b3] (rev 83)
Subsystem: Intel Corporation Dual Band Wireless AC 3160 [8086:8070]
Kernel driver in use: iwlwifi
07:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
Subsystem: CLEVO/KAPOK Computer Device [1558:7500]
Kernel driver in use: r8169

2
  • Post the result of lsusb; lspci -nnk | grep -iA2 net
    – Jeremy31
    Commented Feb 25, 2016 at 22:53
  • @Jeremy31 Answer edited with the output. Commented Feb 28, 2016 at 4:11

1 Answer 1

2

You can use a udev rule to disable a bluetooth controller.

gksudo gedit /etc/udev/rules.d/81-bluetooth-hci.rules

And paste the following in as one line

SUBSYSTEM=="usb", ATTRS{idVendor}=="8087", ATTRS{idProduct}=="07dc", ATTR{authorized}="0"

Save, exit program

After a reboot the internal Intel bluetooth chip will not function

3
  • This is exactly what I've been looking for, thanks! Commented Feb 28, 2016 at 22:10
  • In the logs given by Zzzach... line no 8 is an internal Bluetooth device Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0 but you have used different id to disable different device which is Intel corp SUBSYSTEM=="usb", ATTRS{idVendor}=="8087", ATTRS{idProduct}=="07dc", ATTR{authorized}="0" is bluetooth device and controller are two different things In my case lsusb output is as follows:- a@a-Lenovo-IdeaPad-Z510:~$ lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Commented May 7, 2019 at 11:13
  • @MangeshDivate The broadcom device is not internal, it is a USB dongle like a IoGear GBU521. The internal is the Intel
    – Jeremy31
    Commented May 7, 2019 at 14:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.