See bluetooth for Linux Bluetooth services and development.
There are two standards in use known as BT classic and BT low energy.
Anything other than BLE is considered to be legacy now.
HCI / LMP | Version |
---|---|
0 | 1.0b |
1 | 1.1 |
2 | 1.2 |
3 | 2.0+EDR |
4 | 2.1+EDR |
5 | 3.0+HS |
6 | 4.0 |
7 | 4.1 |
8 | 4.2 |
9 | 5.0 |
10 | 5.1 |
11 | 5.2 |
12 | 5.3 |
BT 3.0+HS utilises WiFi. BT 4.0 onward is BLE, anything prior is BDR/EDR.
The Raspberry Pi3/4 have built in BT BLE 5.0 but it can be awkward to setup the UART configuration. UART can be /dev/ttyS0 or /dev/ttyAMA0 depending on how you configure it in /boot/config.txt
If the device needs to be attached to a specific the UART it can be done like this.
btattach -B /dev/ttyAMA0 -P bcm -S 3000000
Alternatively, the kernel can attach with the following entry in /boot/config.txt on both the Pi3 and Pi4 (reboot to take effect).
dtparam=krnbt=on
Pi400
Raspberry Pi 400 Rev 1.0
hci0: Type: Primary Bus: UART BD Address: DC:A6:32:DC:5A:E8 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:6038 acl:0 sco:0 events:400 errors:0 TX bytes:52632 acl:0 sco:0 commands:356 errors:0 Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH SNIFF Link mode: SLAVE ACCEPT Name: 'BlueZ 5.55' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 5.0 (0x9) Revision: 0x36 LMP Version: 5.0 (0x9) Subversion: 0x6606 Manufacturer: Broadcom Corporation (15)
Pi3
Raspberry Pi 3 Model B Plus Rev 1.3
hci0: Type: Primary Bus: UART BD Address: 43:45:C0:00:1F:AC ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:4726 acl:0 sco:0 events:398 errors:0 TX bytes:60451 acl:0 sco:0 commands:398 errors:0 Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH SNIFF Link mode: SLAVE ACCEPT Name: 'BlueZ 5.50' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 5.0 (0x9) Revision: 0x156 LMP Version: 5.0 (0x9) Subversion: 0x6119 Manufacturer: Cypress Semiconductor Corporation (305)
Pi4
Raspberry Pi 4 Model B Rev 1.1
hci0: Type: Primary Bus: UART BD Address: DC:A6:32:03:03:0E ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:3680 acl:0 sco:0 events:385 errors:0 TX bytes:66436 acl:0 sco:0 commands:385 errors:0 Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH SNIFF Link mode: SLAVE ACCEPT Name: 'BlueZ 5.55' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 5.0 (0x9) Revision: 0x17e LMP Version: 5.0 (0x9) Subversion: 0x6119 Manufacturer: Cypress Semiconductor (305)
Here is a list of legacy BT USB adapters all of which are either BT 2.0 or 1.2.
BARROT
CSR clones which are very cheap and found in pound stores.
BT 2.0
usb 2-1: new full-speed USB device number 44 using ohci-platform usb 2-1: device descriptor read/all, error -62 usb 2-1: new full-speed USB device number 45 using ohci-platform usb 2-1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice= 1.34 usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 Bluetooth: hci0: CSR: Setting up dongle with HCI ver=3 rev=0c5c; LMP ver=3 subver=0c5c; manufacturer=10 Bluetooth: hci0: CSR: Unbranded CSR clone detected; adding workarounds and force-suspending once... Bluetooth: hci0: CSR: Couldn't suspend the device for our Barrot 8041a02 receive-issue workaround Bluetooth: hci0: HCI Delete Stored Link Key command is advertised, but not supported. Bluetooth: hci0: HCI Read Default Erroneous Data Reporting command is advertised, but not supported. Bluetooth: hci0: HCI Set Event Filter command not supported. hci0: Type: Primary Bus: USB BD Address: 00:15:83:0C:BF:EB ACL MTU: 339:8 SCO MTU: 128:2 UP RUNNING RX bytes:966 acl:0 sco:0 events:41 errors:0 TX bytes:913 acl:0 sco:0 commands:41 errors:0 Features: 0xff 0x3e 0x85 0x30 0x18 0x18 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF Link mode: PERIPHERAL ACCEPT Name: 'Pi6' Class: 0x000104 Service Classes: Unspecified Device Class: Computer, Desktop workstation HCI Version: 2.0 (0x3) Revision: 0xc5c LMP Version: 2.0 (0x3) Subversion: 0xc5c Manufacturer: Cambridge Silicon Radio (10)
Silicon Wave
A very old USB adapter.
BT 1.2
usb 2-1: new full-speed USB device number 46 using ohci-platform usb 2-1: New USB device found, idVendor=0c10, idProduct=0000, bcdDevice=20.05 usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 2-1: Product: Bluetooth Device usb 2-1: Manufacturer: Bluetooth Device usb 2-1: SerialNumber: D9BF16940A00 Bluetooth: hci0: HCI Read Local Supported Commands not supported Bluetooth: MGMT ver 1.22 hci0: Type: Primary Bus: USB BD Address: 00:0A:94:16:BF:D9 ACL MTU: 120:20 SCO MTU: 50:0 UP RUNNING RX bytes:399 acl:0 sco:0 events:17 errors:0 TX bytes:563 acl:0 sco:0 commands:17 errors:0 Features: 0xff 0xff 0x8d 0x78 0x18 0x18 0x00 0x80 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: Link mode: PERIPHERAL ACCEPT Name: 'Pi6' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 1.2 (0x2) Revision: 0x0 LMP Version: 1.2 (0x2) Subversion: 0x8a9 Manufacturer: Silicon Wave (11)
Broadcom
BT 2.0
usb 2-1: new full-speed USB device number 47 using ohci-platform usb 2-1: New USB device found, idVendor=050d, idProduct=0012, bcdDevice= 0.00 usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-1: Product: BCM92045DG Non-UHE usb 2-1: Manufacturer: Broadcom Corp Bluetooth: MGMT ver 1.22 hci0: Type: Primary Bus: USB BD Address: 00:0A:3A:6D:86:E1 ACL MTU: 1017:8 SCO MTU: 64:8 UP RUNNING RX bytes:492 acl:0 sco:0 events:21 errors:0 TX bytes:574 acl:0 sco:0 commands:21 errors:0 Features: 0xff 0xff 0x8d 0xfe 0x9b 0xf9 0x00 0x80 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: PERIPHERAL ACCEPT Name: 'Pi6' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 2.0 (0x3) Revision: 0x2000 LMP Version: 2.0 (0x3) Subversion: 0x4127 Manufacturer: Broadcom Corporation (15)
BT 2.0
usb 2-1: new full-speed USB device number 48 using ohci-platform usb 2-1: New USB device found, idVendor=0a5c, idProduct=2121, bcdDevice= 1.00 usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-1: Product: Bluetooth Dongle V2.0+EDR usb 2-1: Manufacturer: Broadcom Corp Bluetooth: MGMT ver 1.22 hci0: Type: Primary Bus: USB BD Address: 00:19:86:00:01:B6 ACL MTU: 1017:8 SCO MTU: 64:0 UP RUNNING RX bytes:500 acl:0 sco:0 events:22 errors:0 TX bytes:584 acl:0 sco:0 commands:22 errors:0 Features: 0xff 0xff 0x8d 0xfe 0x9b 0xf9 0x00 0x80 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: PERIPHERAL ACCEPT Name: 'Pi6' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 2.0 (0x3) Revision: 0x411a LMP Version: 2.0 (0x3) Subversion: 0x430e Manufacturer: Broadcom Corporation (15)