dc2f60013004810d60179001c8818e0c67c4e8d7
[platform/adaptation/bluetooth-firmware-bcm.git] / scripts / bt-dev-start-rpi3.sh
1 #!/bin/sh
2 PATH=/bin:/usr/bin:/sbin:/usr/sbin
3
4 # Script for registering Broadcom UART BT device
5 BT_UART_DEVICE=/dev/ttyAMA0
6 BT_CHIP_TYPE=bcm
7 BT_MAC_FILE=/opt/etc/.bd_addr
8
9 BT_PLATFORM_DEFAULT_HCI_NAME="TIZEN-Mobile"
10 UART_SPEED=3000000
11
12 HCI_CONFIG=/usr/bin/hciconfig
13 BT_ATTACH=/usr/bin/btattach
14
15 if [ ! -e "$BT_UART_DEVICE" ]
16 then
17         mknod $BT_UART_DEVICE c 204 64
18 fi
19
20 GEN_BDADDR(){
21         #echo "BT Mac addr generates randomly."
22         #MAC_PRE=$(echo "00:02:")
23         #MAC_POST=$(/usr/bin/openssl rand -hex 4 | sed 's/\(..\)/\1:/g; s/.$//')
24         #BT_MAC=$MAC_PRE$MAC_POST
25         echo "Generates BT MAC address based on serial number."
26         SERIAL=`cat /proc/device-tree/serial-number | cut -c9-`
27         B1=`echo $SERIAL | cut -c3-4`
28         B2=`echo $SERIAL | cut -c5-6`
29         B3=`echo $SERIAL | cut -c7-8`
30         BT_MAC=`printf b8:27:eb:%02x:%02x:%02x $((0x$B1 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B3 ^ 0xaa))`
31 }
32
33 if [ ! -e "$BT_MAC_FILE" ]
34 then
35         # Set BT address
36         GEN_BDADDR
37         echo $BT_MAC > ${BT_MAC_FILE}
38 else
39         BT_MAC=$(cat ${BT_MAC_FILE})
40 fi
41
42 echo $BT_MAC
43
44 echo "Check for Bluetooth device status"
45 if ($HCI_CONFIG | grep hci); then
46         echo "Bluetooth device is UP"
47         $HCI_CONFIG hci0 up
48 else
49         echo "Bluetooth device is DOWN"
50         echo "Registering Bluetooth device"
51
52         # Attaching Broadcom device
53         $BT_ATTACH -B $BT_UART_DEVICE -P $BT_CHIP_TYPE -S $UART_SPEED > /dev/null 2>&1 &
54
55         sleep 0.02
56
57         $HCI_CONFIG hci0 up
58         $HCI_CONFIG hci0 name $BT_PLATFORM_DEFAULT_HCI_NAME
59         echo "HCIATTACH success"
60 fi