====Bluetooth====
See [[tools: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.
===RPi===
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)
===USB===
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)