Activity log for bug #1718205

Date Who What changed Old value New value Message
2017-09-19 13:33:48 Paolo Pisati bug added bug
2017-10-03 16:32:17 Paolo Pisati description 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.
2017-10-03 16:33:49 Paolo Pisati description 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. Impact: 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 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.
2017-10-03 16:34:19 Paolo Pisati summary Can't change bluetooth address Add support for bluetooth address setup