Skip to content

Commit 5035726

Browse files
htotholtmann
authored andcommitted
Bluetooth: btbcm: Add default address for BCM43341B
The BCM43341B has the default MAC address 43:34:1B:00:1F:AC if none is given. This address was found when enabling Bluetooth on multiple Intel Edison modules. It also contains the sequence 43341B, the name the chip identifies itself as. Using the same BD_ADDR is problematic when having multiple Intel Edison modules in each others range. The default address also has the LAA (locally administered address) bit set which prevents a BNEP device from being created, needed for BT tethering. Add this to the list of black listed default MAC addresses and let the user configure a valid one using f.i. `btmgmt -i hci0 public-addr xx:xx:xx:xx:xx:xx` Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Ferry Toth <ftoth@exalondelft.nl> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
1 parent a1616a5 commit 5035726

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

drivers/bluetooth/btbcm.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#define BDADDR_BCM43430A0 (&(bdaddr_t) {{0xac, 0x1f, 0x12, 0xa0, 0x43, 0x43}})
3838
#define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
3939
#define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
40+
#define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43}})
4041

4142
int btbcm_check_bdaddr(struct hci_dev *hdev)
4243
{
@@ -82,7 +83,8 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
8283
!bacmp(&bda->bdaddr, BDADDR_BCM20702A1) ||
8384
!bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
8485
!bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
85-
!bacmp(&bda->bdaddr, BDADDR_BCM43430A0)) {
86+
!bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||
87+
!bacmp(&bda->bdaddr, BDADDR_BCM43341B)) {
8688
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
8789
&bda->bdaddr);
8890
set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);

0 commit comments

Comments
 (0)