From ee7da2fcf6f4c31237f5bc9df0a3752036ea28c1 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 23 Aug 2017 16:36:44 +0100 Subject: [PATCH] brcmfmac_sdio-firmware-rpi: set BT MAC as new firmware uses a fixed MAC See: https://github.com/raspberrypi/firmware/issues/860#issuecomment-324355290 Also, use sh instead of bash - one less unecessary bash dependency. --- .../brcmfmac_sdio-firmware-rpi/scripts/rpi-btuart | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/linux-firmware/brcmfmac_sdio-firmware-rpi/scripts/rpi-btuart b/packages/linux-firmware/brcmfmac_sdio-firmware-rpi/scripts/rpi-btuart index c27c58c152..fb89ef84e6 100755 --- a/packages/linux-firmware/brcmfmac_sdio-firmware-rpi/scripts/rpi-btuart +++ b/packages/linux-firmware/brcmfmac_sdio-firmware-rpi/scripts/rpi-btuart @@ -1,11 +1,18 @@ -#!/bin/bash +#!/bin/sh + +HCIATTACH=/usr/bin/hciattach +SERIAL=$(awk '/^Serial/{ print $3 }' /proc/cpuinfo) +B1=${SERIAL:10:2} +B2=${SERIAL:12:2} +B3=${SERIAL:14:2} +BDADDR=$(printf b8:27:eb:%02x:%02x:%02x $((0x$B1 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B3 ^ 0xaa))) if [ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ] ; then if [ "$(wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' ')" = "16" ] ; then - /usr/bin/hciattach /dev/serial1 bcm43xx 3000000 flow - + $HCIATTACH /dev/serial1 bcm43xx 3000000 flow - $BDADDR else - /usr/bin/hciattach /dev/serial1 bcm43xx 921600 noflow - + $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR fi else - /usr/bin/hciattach /dev/serial1 bcm43xx 460800 noflow - + $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR fi