VAR-SOM-AM33 Bluetooth Krogoth: Difference between revisions
From Variscite Wiki
(Created page with "{{PageHeader|Bluetooth}} {{DocImage|category1=Yocto|category2=VAR-SOM-AM33}} __toc__ = Bluetooth boot messages = During boot the following Bluetooth kernel messages are rece...") |
m (Admin moved page AMx3 Bluetooth to VAR-SOM-AM33 Bluetooth Krogoth: The new BT features are only available in Krogoth branch) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{PageHeader|Bluetooth}} {{DocImage|category1=Yocto|category2=VAR-SOM-AM33}} __toc__ | {{PageHeader|Bluetooth}} {{DocImage|category1=Yocto|category2=VAR-SOM-AM33}} __toc__ | ||
= Device identification = | = Device identification = | ||
Line 30: | Line 7: | ||
hci0: Type: BR/EDR Bus: UART | hci0: Type: BR/EDR Bus: UART | ||
BD Address: 64:A3:CB:5B:69:F0 ACL MTU: 1021:8 SCO MTU: 64:1 | BD Address: 64:A3:CB:5B:69:F0 ACL MTU: 1021:8 SCO MTU: 64:1 | ||
DOWN | |||
RX bytes:1772 acl:0 sco:0 events:69 errors:0 | RX bytes:1772 acl:0 sco:0 events:69 errors:0 | ||
TX bytes:1152 acl:0 sco:0 commands:65 errors:0 | TX bytes:1152 acl:0 sco:0 commands:65 errors:0 | ||
</pre> | </pre> | ||
<pre> | = Device initialization = | ||
<pre> | |||
$ hciconfig hci0 up | |||
$ hciconfig | |||
hci0: Type: BR/EDR Bus: UART | |||
BD Address: 64:A3:CB:5B:69:F0 ACL MTU: 1021:8 SCO MTU: 64:1 | |||
UP RUNNING | |||
RX bytes:1772 acl:0 sco:0 events:69 errors:0 | |||
TX bytes:1152 acl:0 sco:0 commands:65 errors:0 | |||
</pre> | </pre> | ||
= | = Connecting to classic bluetooth devices = | ||
You can manage bluetooth with bluetoothctl, type 'bluetoothctl' and enter the interface. Type help to show commands.</br> | You can manage bluetooth with bluetoothctl, type 'bluetoothctl' and enter the interface. Type help to show commands.</br> | ||
Line 46: | Line 29: | ||
<pre> | <pre> | ||
$ bluetoothctl | $ bluetoothctl | ||
[bluetooth]# agent on | [bluetooth]# agent on | ||
[bluetooth]# pairable on | [bluetooth]# pairable on | ||
Line 66: | Line 48: | ||
</pre> | </pre> | ||
For example when connecting a | For example when connecting a Microsoft bluetooth mouse the following is done:</br> | ||
<pre> | <pre> | ||
root@varsomam33:~# bluetoothctl | root@varsomam33:~# bluetoothctl | ||
[NEW] Controller | [NEW] Controller 78:A5:04:2A:E0:C8 varsomam33 [default] | ||
[bluetooth]# | [bluetooth]# agent on | ||
Agent registered | |||
[bluetooth]# pairable on | [bluetooth]# pairable on | ||
Changing pairable on succeeded | Changing pairable on succeeded | ||
Line 111: | Line 91: | ||
</pre> | </pre> | ||
= | = Connecting to BLE devices = | ||
Connecting to BLE devices requires different command sequence. The btmgmt tool is used to scan for LE devices and report MAC address type (random vs public). | |||
<pre> | |||
$ btmgmt find | |||
Copy MAC address of LE device, use "-t random" gatttool parameter if scan reports random MAC address. | |||
$ gatttool -b <MAC> [-t random] -I | |||
</pre> | </pre> | ||
<pre> | For example when connecting to "BLE Peripheral Simulator" on Android phone the following is done:</br> | ||
<pre> | |||
root@varsomam33:~# btmgmt find | |||
Discovery started | |||
hci0 type 7 discovering on | |||
hci0 dev_found: 74:B9:AB:CF:13:A9 type LE Random rssi -90 flags 0x0000 | |||
[ | AD flags 0x1a | ||
[ | name Galaxy S5 | ||
hci0 dev_found: 00:1A:7D:DA:71:0B type BR/EDR rssi -79 flags 0x0000 | |||
name SMTBT | |||
hci0 dev_found: 00:1A:7D:DA:71:11 type BR/EDR rssi -96 flags 0x0001 | |||
eir_len 5 | |||
confirm_name succeeded for 00:1A:7D:DA:71:11 | |||
hci0 type 7 discovering off | |||
root@varsomam33:~# gatttool -t random -b 74:B9:AB:CF:13:A9 -I | |||
[74:B9:AB:CF:13:A9][LE]> connect | |||
Attempting to connect to 74:B9:AB:CF:13:A9 | |||
[74:B9:AB:CF:13:A9][LE]> | |||
Connection successful | |||
Indication handle = 0x0003 value: 01 00 ff ff | |||
[74:B9:AB:CF:13:A9][LE]> | |||
</pre> | </pre> |
Latest revision as of 13:11, 22 November 2016
Bluetooth
Device identification
After the File system is up 'hciconfig' should show the connected bluetooth module.
hciconfig hci0: Type: BR/EDR Bus: UART BD Address: 64:A3:CB:5B:69:F0 ACL MTU: 1021:8 SCO MTU: 64:1 DOWN RX bytes:1772 acl:0 sco:0 events:69 errors:0 TX bytes:1152 acl:0 sco:0 commands:65 errors:0
Device initialization
$ hciconfig hci0 up $ hciconfig hci0: Type: BR/EDR Bus: UART BD Address: 64:A3:CB:5B:69:F0 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:1772 acl:0 sco:0 events:69 errors:0 TX bytes:1152 acl:0 sco:0 commands:65 errors:0
Connecting to classic bluetooth devices
You can manage bluetooth with bluetoothctl, type 'bluetoothctl' and enter the interface. Type help to show commands.
For connecting a device do the following:
$ bluetoothctl [bluetooth]# agent on [bluetooth]# pairable on Push the connect button in the device [bluetooth]# scan on Copy mac address [bluetooth]# scan off [bluetooth]# pair <mac address> Approve pairing on Device if required [bluetooth]# trust <mac address> [bluetooth]# connect <mac address> [bluetooth]# quit
For example when connecting a Microsoft bluetooth mouse the following is done:
root@varsomam33:~# bluetoothctl [NEW] Controller 78:A5:04:2A:E0:C8 varsomam33 [default] [bluetooth]# agent on Agent registered [bluetooth]# pairable on Changing pairable on succeeded [bluetooth]# scan on Discovery started [CHG] Controller 50:72:24:11:EF:B0 Discovering: yes [NEW] Device 00:1D:D8:39:93:46 Microsoft Bluetooth Notebook Mouse 5000 [bluetooth]# scan off [CHG] Device 00:1D:D8:39:93:46 RSSI is nil Discovery stopped [CHG] Controller 50:72:24:11:EF:B0 Discovering: no [bluetooth]# pair 00:1D:D8:39:93:46 Attempting to pair with 00:1D:D8:39:93:46 [CHG] Device 00:1D:D8:39:93:46 Connected: yes [CHG] Device 00:1D:D8:39:93:46 Modalias: usb:v045Ep0700d0100 [CHG] Device 00:1D:D8:39:93:46 UUIDs: 00001000-0000-1000-8000-00805f9b34fb 00001124-0000-1000-8000-00805f9b34fb 00001200-0000-1000-8000-00805f9b34fb [CHG] Device 00:1D:D8:39:93:46 Paired: yes Pairing successful [CHG] Device 00:1D:D8:39:93:46 Connected: no [bluetooth]# trust 00:1D:D8:39:93:46 [CHG] Device 00:1D:D8:39:93:46 Trusted: yes Changing 00:1D:D8:39:93:46 trust succeeded [bluetooth]# connect 00:1D:D8:39:93:46 Attempting to connect to 00:1D:D8:39:93:46 [CHG] Device 00:1D:D8:39:93:46 Connected: yes [bluetooth]# hid-generic 0005:045E:0700.0001: unknown main item tag 0x0 input: Microsoft Bluetooth Notebook Mouse 5000 as /devices/soc0/soc.0/2100000.aips-bus/21e8000.serial/tty/ttymxc1/hci0/hci0:1/0005:045E:0700.0001/input/input1 Connection successful [bhid-generic 0005:045E:0700.0001: input: BLUETOOTH HID v1.00 Mouse [Microsoft Bluetooth Notebook Mouse 5000] on 50:72:24:11:ef:b0 [bluetooth]# quit [DEL] Controller 50:72:24:11:EF:B0 BlueZ 5.28 [default] root@varsomam33:~#
Connecting to BLE devices
Connecting to BLE devices requires different command sequence. The btmgmt tool is used to scan for LE devices and report MAC address type (random vs public).
$ btmgmt find Copy MAC address of LE device, use "-t random" gatttool parameter if scan reports random MAC address. $ gatttool -b <MAC> [-t random] -I
For example when connecting to "BLE Peripheral Simulator" on Android phone the following is done:
root@varsomam33:~# btmgmt find Discovery started hci0 type 7 discovering on hci0 dev_found: 74:B9:AB:CF:13:A9 type LE Random rssi -90 flags 0x0000 AD flags 0x1a name Galaxy S5 hci0 dev_found: 00:1A:7D:DA:71:0B type BR/EDR rssi -79 flags 0x0000 name SMTBT hci0 dev_found: 00:1A:7D:DA:71:11 type BR/EDR rssi -96 flags 0x0001 eir_len 5 confirm_name succeeded for 00:1A:7D:DA:71:11 hci0 type 7 discovering off root@varsomam33:~# gatttool -t random -b 74:B9:AB:CF:13:A9 -I [74:B9:AB:CF:13:A9][LE]> connect Attempting to connect to 74:B9:AB:CF:13:A9 [74:B9:AB:CF:13:A9][LE]> Connection successful Indication handle = 0x0003 value: 01 00 ff ff [74:B9:AB:CF:13:A9][LE]>