- General Bluetooth Dongle via USB
- Hardware Setup
- Software Configuration
- Configure Linux Kernel
- Configure package
- Example
- Page Tools
- Analog Devices Uses Cookies for Enhanced Online Performance
- Ubuntu Wiki
- HardwareSupportComponentsBluetoothUsbAdapters
- Introduction
- Unbranded
- Azio
- Belkin
- Bluetake
- Cirago
- CityCom Corp
- Conceptronic
- D-Link
- Kensington
- Konig
- Hama
- IO Gear
- Rocketfish
- SafeCom Technologies
- Speedlink
- TRENDnet
- Trust Brand
- Billionton Systems Inc.
General Bluetooth Dongle via USB
Bluetooth is a low-cost, low-power, short-range wireless technology. It was designed as a replacement for cables and other short-range technologies like IrDA . Bluetooth operates in “personal area” range, that typically extends up to 10 meters. More information about Bluetooth can be found at .
Linux has support for almost any Bluetooth USB dongle. This document will guide users on how to set up a Bluetooth USB dongle on Linux.
Hardware Setup
ADSP -SC5xx Board: ADSP -SC589 Ezkit v1.1 and above, or, ADSP -SC589 MINI ADSP -SC584 Ezkit v1.0 and above, or, ADSP -SC573 Ezkit v1.2 (BOM 1.8) and above Bluetooth USB dongle Bluetooth 5.0 Bluetooth 4.0
Software Configuration
Configure Linux Kernel
Please enable Bluetooth Support and the HCI USB driver.
[*] Networking support ---> Bluetooth subsystem support ---> [*] Bluetooth Classic (BR/EDR) features RFCOMM protocol support [*] RFCOMM TTY support BNEP protocol support [*] Multicast filter support [*] Protocol filter support HIDP protocol support [*] Bluetooth High Speed (HS) features (NEW) [*] Bluetooth device drivers HCI USB driver
Note that by the default configuration, the USB port works on OTG mode. Users need to probe the USB Bluetooth dongle before it can work.
Otherwise users can select USB host mode for the USB dongle. For detailed information about how to configure USB , please refer to USB interface
Device Drivers ---> [*] USB support ---> MUSB Mode Selection (Host only mode)---> (X) Host only mode ( ) Gadget only mode ( ) Dual Role only mode
Configure package
Add the Bluetooth relevant packages in the filesystem, they’re enabled in adsp-sc5xx-full image by default.
vim build/conf/local.conf IMAGE_INSTALL_append = " \ dbus \ bluez5 \ packagegroup-tools-bluetooth \ expat \ play " DISTRO_FEATURES_append = " \ bluetooth \ "
Then run “bitbake adsp-sc5xx-minimal -C compile” or “bitbake adsp-sc5xx-full -C compile” to generate the filesystem.
Example
Plug in the USB dongle. If the USB interface is in host mode the device should be detected automatically:
usbhid: USB HID core driver usb 1-1: new full-speed USB device number 2 using musb-hdrc
If the USB interface is in OTG mode then the device must be probed first:
# hciconfig hci0 up # hciconfig hci0: Type: BR/EDR Bus: USB BD Address: 00:18:E4:08:CC:30 ACL MTU: 192:8 SCO MTU: 64:8 UP RUNNING PSCAN RX bytes:383 acl:0 sco:0 events:16 errors:0 TX bytes:300 acl:0 sco:0 commands:15 errors:0
Users can use “hcitool” to set the configuration of Bluetooth connections.
# hcitool hcitool - HCI Tool ver 4.101 Usage: hcitool [options] command> [command parameters] Options: --help Display help -i dev HCI device Commands: dev Display local devices inq Inquire remote devices scan Scan for remote devices name Get name from remote device info Get information from remote device spinq Start periodic inquiry epinq Exit periodic inquiry cmd Submit arbitrary HCI commands con Display active connections cc Create connection to remote device dc Disconnect from remote device sr Switch master/slave role cpt Change connection packet type rssi Display connection RSSI lq Display link quality tpl Display transmit power level afh Display AFH channel map lp Set/display link policy settings lst Set/display link supervision timeout auth Request authentication enc Set connection encryption key Change connection link key clkoff Read clock offset clock Read local or remote clock lescan Start LE scan lewladd Add device to LE White List lewlrm Remove device from LE White List lewlsz Read size of LE White List lewlclr Clear LE White list lecc Create a LE Connection ledc Disconnect a LE Connection lecup LE Connection Update
For more information on the usage of each command use:
Take some commands as example, such as show HCI devices
# hcitool -i hci0 dev Devices: hci0 00:18:E4:08:CC:30
Scan and inquire for Bluetooth devices in the area:
# hcitool -i hci0 scan Scanning . 30:F9:ED:E1:9E:A9 DR-BT140Q 34:80:B3:4D:5F:5A mi4 # hcitool -i hci0 inq Inquiring . 34:80:B3:4D:5F:5A clock offset: 0x2555 class: 0x5a020c 30:F9:ED:E1:9E:A9 clock offset: 0x57f5 class: 0x240408
Get some information from these devices:
# hcitool -i hci0 info 30:F9:ED:E1:9E:A9 Requesting information . BD Address: 30:F9:ED:E1:9E:A9 Device Name: DR-BT140Q LMP Version: 2.0 (0x3) LMP Subversion: 0x1225 Manufacturer: Cambridge Silicon Radio (10) Features: 0xff 0xff 0x8f 0x7e 0x98 0x19 0x00 0x80 3-slot packets> 5-slot packets> encryption> slot offset> timing accuracy> role switch> hold mode> sniff mode> park state> RSSI> channel quality> SCO link> HV2 packets> HV3 packets> u-law log> A-law log> CVSD> paging scheme> power control> transparent SCO> broadcast encrypt> EDR ACL 2 Mbps> EDR ACL 3 Mbps> enhanced iscan> interlaced iscan> interlaced pscan> inquiry with RSSI> AFH cap. slave> AFH class. slave> 3-slot EDR ACL> 5-slot EDR ACL> AFH cap. master> AFH class. master> extended features>
# l2ping 30:F9:ED:E1:9E:A9 Ping: 30:F9:ED:E1:9E:A9 from 00:18:E4:08:CC:30 (data size 44) . 4 bytes from 30:F9:ED:E1:9E:A9 id 0 time 30.38ms 4 bytes from 30:F9:ED:E1:9E:A9 id 1 time 8.70ms 4 bytes from 30:F9:ED:E1:9E:A9 id 2 time 8.48ms 4 bytes from 30:F9:ED:E1:9E:A9 id 3 time 8.90ms 4 bytes from 30:F9:ED:E1:9E:A9 id 4 time 8.51ms
resources/tools-software/linuxdsp/docs/linux-kernel-and-drivers/usb/host_mode/usb_bluetooth.txt · Last modified: 16 Jul 2020 08:36 by cathy fang
Page Tools
Analog Devices Uses Cookies for Enhanced Online Performance
Some cookies are required for secure log-ins but others are optional for functional activities. Our data collection is used to improve our products and services. We recommend you accept our cookies to ensure you’re receiving the best performance and functionality our site can provide. For additional information you may view the cookie details. Read more about our privacy policy.
The cookies we use can be categorized as follows:
Strictly Necessary Cookies: These are cookies that are required for the operation of analog.com or specific functionality offered. They either serve the sole purpose of carrying out network transmissions or are strictly necessary to provide an online service explicitly requested by you. Analytics/Performance Cookies: These cookies allow us to carry out web analytics or other forms of audience measuring such as recognizing and counting the number of visitors and seeing how visitors move around our website. This helps us to improve the way the website works, for example, by ensuring that users are easily finding what they are looking for. Functionality Cookies: These cookies are used to recognize you when you return to our website. This enables us to personalize our content for you, greet you by name and remember your preferences (for example, your choice of language or region). Loss of the information in these cookies may make our services less functional, but would not prevent the website from working. Targeting/Profiling Cookies: These cookies record your visit to our website and/or your use of the services, the pages you have visited and the links you have followed. We will use this information to make the website and the advertising displayed on it more relevant to your interests. We may also share this information with third parties for this purpose. Decline cookies
©1995 — 2023 Analog Devices, Inc. All Rights Reserved
Ubuntu Wiki
HardwareSupportComponentsBluetoothUsbAdapters
Introduction
This page lists some of the Bluetooth USB Adapters that work on Ubuntu. For help with Bluetooth in Ubuntu, see the community documentation on Setting up Bluetooth. You may also want to consider purchasing a free software compatible device. Unlike non-free driver dependent hardware support exists out of the box and will continue working going forward. Many other Bluetooth dongles will not. Free software compatible adapters are available from stores such as ThinkPenguin.com.
To get information about you BlueTooth device use commands:
$ lsusb . Bus 002 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) . $ hciconfig hci0: Type: USB . $ hciconfig -a hci0 . Manufacturer: Accel Semiconductor Ltd. (74)
Unbranded
Azio
Belkin
Belkin F8T016(uk) micro USB adapter.
Works out of the box in Ubuntu 12.04.
gksu gedit /etc/modprobe.d/blacklist
There is a patch available in bluez but it is easier to just edit the files. The first edit stops ubuntu automatically loading the module and the second loads the module with the correct parameter. (Thank you Marcel Holtmann).
Bluetake
Works out-of-the-box in Ubuntu v10.04 ~ 11.04 but stopped working reliably in 11.10, frequent kernel panics and other general not good stuff, [Bug: 901770]
$ lsusb Bus 007 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
$ hciconfig -a hci0 Manufacturer: Cambridge Silicon Radio (10)
Might need same fix as Belkin : add «blacklist hci_usb» to /etc/modprobe.d/blacklist.conf, and add «hci_usb reset=1» to /etc/modules
Cirago
CityCom Corp
Conceptronic
D-Link
Kensington
Konig
- Mini Bluetooth Dongle CMP-BLUEKEY31 (uses Cambridge Silicon Radio chip) — works out of the box on Ubuntu 10.04
- USB Mini Bluetooth v4.0 Dongle CSBLUEKEY200 (uses Cambridge Silicon Radio chip with; USB ID 0a12:0001) — works with most devices, but could not pair with some Bose headphones in Ubuntu 16.04 (2016-10-02).
Hama
IO Gear
- USB Micro Adapter Bluetooth 4.0 (GBU521W6) — works out of the box (Ubuntu 12.04 & 12.10)
As of Nov 2013, it is also one of the cheapest on the market. - USB Micro Adapter Bluetooth 2.1 Micro Adapter (BGU421) — works out of the box on Ubuntu
- KS-UBT1 USB BLUETOOTH ADAPTER
- This is the mini-dongle that comes with various JVC car stereo head units to provide bluetooth support via one of the USB ports.
Works out of the box with Ubuntu 12.04 (Precise). (Tested with a headset using blueman / alsa.)
Type: BR/EDR Bus: USB BD Address: 00:10:60:D2:D9:B3 ACL MTU: 310:10 SCO MTU: 64:8 UP RUNNING PSCAN RX bytes:828 acl:0 sco:0 events:34 errors:0 TX bytes:637 acl:0 sco:0 commands:33 errors:0 Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Class: 0x7e0100 Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio, Telephony Device Class: Computer, Uncategorized HCI Version: 2.1 (0x4) Revision: 0x12e7 LMP Version: 2.1 (0x4) Subversion: 0x12e7 Manufacturer: Cambridge Silicon Radio (10)
Rocketfish
SafeCom Technologies
Speedlink
TRENDnet
- TRENDnet TBW-101UB Bluetooth USB Adapter «just works»
- TRENDnet TBW-106UB Bluetooth USB Adapter works out of the box in Ubuntu 12.04. Supports Headset.
Trust Brand
- Trust_BT-2210Tp_Bluetooth_2.0_EDR_USB_Adapter
- Trust BT-2400p Ultra Small Bluetooth 2 USB Adapter 10m: works out-of-the-box
- Trust Bluetooth 4.0 USB Adapter: works out-of-the-box on Ubuntu 17.04
Billionton Systems Inc.
- This is the mini-dongle that comes with various JVC car stereo head units to provide bluetooth support via one of the USB ports.