0

My motherboard bluetooth chip is weaker, and have dongle which gave better range. Previosly I found solution here (long time ago, maybe on ubuntu 18) -> Deactivate internal bluetooth adapter while leaving usb dongle online

With which I excluded motherboard chip, but now on ubuntu 22 i tested is not working. It's modern now, shows 2 adapters, how can I exclude one (motherboard) adapter and choose dongle.

josifoski@josifoski-HP-EliteBook-8460p:~$ lsusb
Bus 002 Device 004: ID 03f0:231d HP, Inc Broadcom 2070 Bluetooth Combo
Bus 002 Device 003: ID 04f2:b230 Chicony Electronics Co., Ltd Integrated HP HD Webcam
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 05e3:0612 Genesys Logic, Inc. Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 012: ID 10c4:8105 Silicon Labs USB OPTICAL MOUSE
Bus 003 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 003 Device 009: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 138a:003c Validity Sensors, Inc. VFS471 Fingerprint Reader
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cat /etc/udev/rules.d/81-bluetooth-hci.rules SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="231d", ATTR{authorized}="0"

Any help

josifoski
  • 121
  • 5
  • 1
    Was this on Ubuntu 22.04 as the udev rule still works for me? – Jeremy31 Jan 29 '23 at 20:31
  • @Jeremy31 tbh udev worked also, it excludes mb adapter, but can not find with search dongle. Only that was issue. Thank you also anyway for udev solution, worked for me many years. – josifoski Jan 29 '23 at 22:06

1 Answers1

1

To select a default bluetooth controller you can use the bluetoothctl command which directly talks to the bluez stack that Ubuntu uses by default:

bluetoothctl list

Which will list your bluetooth controllers and their MAC address, then select the one you want as the default using it's MAC address:

# replace with your controller's mac address
bluetoothctl select 00:11:22:33:44:55

You may have to turn the power on your bluetooth controller after setting the default controller, which you can accomplish using this command:

bluetoothctl power on

You can find more information here: https://ubuntu.com/core/docs/bluez/reference/pairing/introduction

In general though your solution should involve going through bluez rather than through udev.

Disabling a bluetooth adapter at the kernel level is overkill. I have multiple bluetooth controllers connected to my system and have never had to mess around with udev to get them working.