BT_MAC_FILE=/opt/etc/.bd_addr
BT_PLATFORM_DEFAULT_HCI_NAME="TIZEN-Mobile"
-UART_SPEED=921600
HCI_CONFIG=/usr/bin/hciconfig
HCI_ATTACH=/usr/bin/hciattach
fi
GEN_BDADDR(){
- echo "BT Mac addr generates randomly."
- MAC_PRE=$(echo "00:02:")
- MAC_POST=$(/usr/bin/openssl rand -hex 4 | sed 's/\(..\)/\1:/g; s/.$//')
- echo "Random : $MAC_PRE$MAC_POST"
- BT_MAC=$MAC_PRE$MAC_POST
+ #echo "BT Mac addr generates randomly."
+ #MAC_PRE=$(echo "00:02:")
+ #MAC_POST=$(/usr/bin/openssl rand -hex 4 | sed 's/\(..\)/\1:/g; s/.$//')
+ #BT_MAC=$MAC_PRE$MAC_POST
+ echo "Generates BT MAC address based on serial number."
+ SERIAL=`cat /proc/device-tree/serial-number | cut -c9-`
+ B1=`echo $SERIAL | cut -c3-4`
+ B2=`echo $SERIAL | cut -c5-6`
+ B3=`echo $SERIAL | cut -c7-8`
+ BT_MAC=`printf b8:27:eb:%02x:%02x:%02x $((0x$B1 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B3 ^ 0xaa))`
}
+PIMODEL=`cat /proc/device-tree/model | awk '{print $5}'`
+echo "$PIMODEL"
+
+if [ "$PIMODEL" = "B" ]
+then
+ FLOW_CONTROL=noflow
+ UART_SPEED=460800
+else
+ FLOW_CONTROL=flow
+ UART_SPEED=2000000
+
+fi
+
if [ ! -e "$BT_MAC_FILE" ]
then
# Set BT address
echo "Registering Bluetooth device"
# Attaching Broadcom device
- if ($HCI_ATTACH $BT_UART_DEVICE $BT_CHIP_TYPE $UART_SPEED noflow nosleep $BT_MAC); then
- sleep 0.1
- $HCI_CONFIG hci0 up
- $HCI_CONFIG hci0 name $BT_PLATFORM_DEFAULT_HCI_NAME
- $HCI_CONFIG hci0 sspmode 1
- echo "HCIATTACH success"
- else
+ flag=0
+ for ((i=0; i<2; i++))
+ do
+ if ($HCI_ATTACH $BT_UART_DEVICE $BT_CHIP_TYPE $UART_SPEED $FLOW_CONTROL nosleep $BT_MAC -t 5); then
+ sleep 0.1
+ $HCI_CONFIG hci0 up
+ echo "HCIATTACH success"
+ flag=1
+ break
+ fi
+ done
+
+ if [ $flag -eq 0 ]
+ then
echo "HCIATTACH failed"
fi
fi