** Description changed:
- The physical bluetooth address is the same on all DB410cs -
- "00:00:00:00:5A:AD", and there's no way to change it, no matter the
- underlining OS (ubuntu core / classic, Debian, etc).
+ Impact:
+
+ Every single dragonboard out there employs the same physical bluetooth
+ address ("00:00:00:00:5A:AD") - that would be the problem if two boards
+ tried to communicate with each other, and in general, having a single
+ physical address shared among all boards is a bad idea.
+
+ Fix:
+
+ The attached patches introduce a new DTB binding ("local-bd-address")
+ that the user can exploit to override the default address.
+
+ How to test:
+
+ First boot an unpatched kernel and check the hci0 address:
+
+ $ sudo hciconfig
+ hci0: Type: BR/EDR Bus: UNKNOWN
+ BD Address: 00:00:00:00:5A:AD ACL MTU: 0:0 SCO MTU: 0:0
+ UP RUNNING RAW
+ RX bytes:0 acl:0 sco:0 events:3 errors:0
+ TX bytes:0 acl:0 sco:0 commands:0 errors:0
+
+ then install the patched kernel, reboot, stop at the uboot prompt and
+ issue:
+
+ dragonboard410c => ext4load mmc 1:9 ${fdt_addr} /boot/apq8016-sbc.dtb
+ dragonboard410c => fdt addr ${fdt_addr}
+ dragonboard410c => fdt resize
+ dragonboard410c => fdt list /smd/pronto/bt
+
+ bt {
+ compatible = "qcom,hci-smd";
+ qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
+ qcom,smd-channel-names = "event", "data";
+ };
+
+ set the local-bd-address property to the desired new address:
+
+ dragonboard410c => fdt set /smd/pronto/bt local-bd-address [55 44 33 22
+ 11 00]
+
+ check that the change was effectively applied:
+
+ dragonboard410c => fdt list /smd/pronto/bt
+
+ bt {
+ local-bd-address = [55 44 33 22 11 00];
+ compatible = "qcom,hci-smd";
+ qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
+ qcom,smd-channel-names = "event", "data";
+ };
+
+ and continue booting:
+
+ dragonboard410c => run loadkernel; run doboot
+
+ Once the OS is alive, check again hci0 address:
+
+ $ sudo hciconfig
+ hci0: Type: BR/EDR Bus: UNKNOWN
+ BD Address: 00:11:22:33:44:55 ACL MTU: 1024:7 SCO MTU: 50:8
+ UP RUNNING
+ RX bytes:0 acl:0 sco:0 events:45 errors:0
+ TX bytes:0 acl:0 sco:0 commands:0 errors:0
+
+ NB: The booting process might change depending on the image/distribution
+ you are using, verify your uboot environment and extrapolate the
+ necessary steps from the above instruction.
** Description changed:
Impact:
- Every single dragonboard out there employs the same physical bluetooth
- address ("00:00:00:00:5A:AD") - that would be the problem if two boards
- tried to communicate with each other, and in general, having a single
- physical address shared among all boards is a bad idea.
+ Every single dragonboard employs the same physical bluetooth address
+ ("00:00:00:00:5A:AD") - that would be the problem if two boards tried to
+ communicate with each other, and in general, having a single physical
+ address shared among all boards is a bad idea.
Fix:
The attached patches introduce a new DTB binding ("local-bd-address")
that the user can exploit to override the default address.
How to test:
First boot an unpatched kernel and check the hci0 address:
$ sudo hciconfig
hci0: Type: BR/EDR Bus: UNKNOWN
- BD Address: 00:00:00:00:5A:AD ACL MTU: 0:0 SCO MTU: 0:0
- UP RUNNING RAW
- RX bytes:0 acl:0 sco:0 events:3 errors:0
- TX bytes:0 acl:0 sco:0 commands:0 errors:0
+ BD Address: 00:00:00:00:5A:AD ACL MTU: 0:0 SCO MTU: 0:0
+ UP RUNNING RAW
+ RX bytes:0 acl:0 sco:0 events:3 errors:0
+ TX bytes:0 acl:0 sco:0 commands:0 errors:0
then install the patched kernel, reboot, stop at the uboot prompt and
issue:
dragonboard410c => ext4load mmc 1:9 ${fdt_addr} /boot/apq8016-sbc.dtb
dragonboard410c => fdt addr ${fdt_addr}
dragonboard410c => fdt resize
dragonboard410c => fdt list /smd/pronto/bt
bt {
- compatible = "qcom,hci-smd";
- qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
- qcom,smd-channel-names = "event", "data";
+ compatible = "qcom,hci-smd";
+ qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
+ qcom,smd-channel-names = "event", "data";
};
set the local-bd-address property to the desired new address:
dragonboard410c => fdt set /smd/pronto/bt local-bd-address [55 44 33 22
11 00]
check that the change was effectively applied:
dragonboard410c => fdt list /smd/pronto/bt
bt {
- local-bd-address = [55 44 33 22 11 00];
- compatible = "qcom,hci-smd";
- qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
- qcom,smd-channel-names = "event", "data";
+ local-bd-address = [55 44 33 22 11 00];
+ compatible = "qcom,hci-smd";
+ qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
+ qcom,smd-channel-names = "event", "data";
};
and continue booting:
dragonboard410c => run loadkernel; run doboot
Once the OS is alive, check again hci0 address:
$ sudo hciconfig
hci0: Type: BR/EDR Bus: UNKNOWN
- BD Address: 00:11:22:33:44:55 ACL MTU: 1024:7 SCO MTU: 50:8
- UP RUNNING
- RX bytes:0 acl:0 sco:0 events:45 errors:0
- TX bytes:0 acl:0 sco:0 commands:0 errors:0
+ BD Address: 00:11:22:33:44:55 ACL MTU: 1024:7 SCO MTU: 50:8
+ UP RUNNING
+ RX bytes:0 acl:0 sco:0 events:45 errors:0
+ TX bytes:0 acl:0 sco:0 commands:0 errors:0
NB: The booting process might change depending on the image/distribution
you are using, verify your uboot environment and extrapolate the
necessary steps from the above instruction.
** Summary changed:
- Can't change bluetooth address
+ Add support for bluetooth address setup
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1718205
Title:
Add support for bluetooth address setup
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-snapdragon/+bug/1718205/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs