#!/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
