Re: [PATCH] Bluetooth: btbcm: Add default address for BCM43341B

From: Andy Shevchenko
Date: Tue Apr 09 2019 - 10:45:16 EST


On Tue, Apr 09, 2019 at 04:15:50PM +0200, Ferry Toth wrote:
> 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`
>

Thank you!

Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

P.S. It seems the To: field was empty, dunno if it prevents bots to parse the
original message.

> Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Signed-off-by: Ferry Toth <ftoth@xxxxxxxxxxxxxx>
> ---
> drivers/bluetooth/btbcm.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c
> index d5d6e6e5da3b..62d3aa2b26f6 100644
> --- a/drivers/bluetooth/btbcm.c
> +++ b/drivers/bluetooth/btbcm.c
> @@ -37,6 +37,7 @@
> #define BDADDR_BCM43430A0 (&(bdaddr_t) {{0xac, 0x1f, 0x12, 0xa0, 0x43, 0x43}})
> #define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
> #define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
> +#define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43}})
>
> int btbcm_check_bdaddr(struct hci_dev *hdev)
> {
> @@ -82,7 +83,8 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
> !bacmp(&bda->bdaddr, BDADDR_BCM20702A1) ||
> !bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
> !bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
> - !bacmp(&bda->bdaddr, BDADDR_BCM43430A0)) {
> + !bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||
> + !bacmp(&bda->bdaddr, BDADDR_BCM43341B)) {
> bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
> &bda->bdaddr);
> set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
> --
> 2.19.1
>

--
With Best Regards,
Andy Shevchenko