diff --git a/packages/bsp/sunxi/sprd-bluetooth b/packages/bsp/sunxi/sprd-bluetooth new file mode 100755 index 0000000000..253dc995a0 --- /dev/null +++ b/packages/bsp/sunxi/sprd-bluetooth @@ -0,0 +1,28 @@ +#!/bin/bash +# Requires hciattach_opi_arm64_upstream blob + +set -e + +# Generate MAC Addr Hash +MACDEV=`findmnt -v -n -o SOURCE / | sed 's/dev//g' | sed -e 's#/$##' -e 's/\.git$//' -e 's#^.*/##' | sed 's/p1//g' | sed 's/p2//'` +if [[ -e /sys/class/block/${MACDEV}/device/cid ]]; then + HASHDEV=`sha256sum /sys/class/block/${MACDEV}/device/cid` + BTADDR=`echo "${HASHDEV}" | dd bs=1 count=12 2>/dev/null | sed 's/../&:/g; s/:$//' | sed 's/^../02/'` +else + echo "Failed to find MAC device" >&2 + exit 1 +fi + +if [[ ! -f "/etc/default/sprd_bt_addr" ]]; then + echo "$BTADDR" > "/etc/default/sprd_bt_addr" +fi + +# Attach Bluetooth HCI UART +sleep .50 +if ! hciattach_opi -s 1500000 /dev/ttyBT0 sprd > /dev/null 2>&1; then + echo "Failed to attach HCI device" >&2 + exit 1 +fi +rfkill unblock all + +exit 0