land: Clean out bluetooth scripts
Change-Id: I4cd132cf99664e085053a6d2a660e03a3ee0fdda
This commit is contained in:
parent
3f2be3d009
commit
a29e7c7eb5
3 changed files with 16 additions and 277 deletions
13
product/bluetooth.mk
Normal file
13
product/bluetooth.mk
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Properties
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.bluetooth.dun=true \
|
||||||
|
ro.bluetooth.hfp.ver=1.7 \
|
||||||
|
ro.bluetooth.sap=true \
|
||||||
|
ro.qualcomm.bluetooth.ftp=true \
|
||||||
|
ro.qualcomm.bluetooth.hfp=true \
|
||||||
|
ro.qualcomm.bluetooth.hsp=true \
|
||||||
|
ro.qualcomm.bluetooth.map=true \
|
||||||
|
ro.qualcomm.bluetooth.nap=true \
|
||||||
|
ro.qualcomm.bluetooth.opp=true \
|
||||||
|
ro.qualcomm.bluetooth.pbap=true \
|
||||||
|
ro.qualcomm.bt.hci_transport=smd
|
|
@ -26,15 +26,9 @@
|
||||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#
|
#
|
||||||
|
|
||||||
#Read the arguments passed to the script
|
|
||||||
config="$1"
|
|
||||||
|
|
||||||
BLUETOOTH_SLEEP_PATH=/proc/bluetooth/sleep/proto
|
|
||||||
LOG_TAG="qcom-bluetooth"
|
LOG_TAG="qcom-bluetooth"
|
||||||
LOG_NAME="${0}:"
|
LOG_NAME="${0}:"
|
||||||
|
|
||||||
hciattach_pid=""
|
|
||||||
|
|
||||||
loge ()
|
loge ()
|
||||||
{
|
{
|
||||||
/system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
|
/system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
|
||||||
|
@ -51,215 +45,11 @@ failed ()
|
||||||
exit $2
|
exit $2
|
||||||
}
|
}
|
||||||
|
|
||||||
program_bdaddr ()
|
|
||||||
{
|
|
||||||
/system/bin/btnvtool -O
|
|
||||||
logi "Bluetooth Address programmed successfully"
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# enable bluetooth profiles dynamically
|
|
||||||
#
|
|
||||||
config_bt ()
|
|
||||||
{
|
|
||||||
baseband=`getprop ro.baseband`
|
|
||||||
target=`getprop ro.board.platform`
|
|
||||||
if [ -f /sys/devices/soc0/soc_id ]; then
|
|
||||||
soc_hwid=`cat /sys/devices/soc0/soc_id`
|
|
||||||
else
|
|
||||||
soc_hwid=`cat /sys/devices/system/soc/soc0/id`
|
|
||||||
fi
|
|
||||||
btsoc=`getprop qcom.bluetooth.soc`
|
|
||||||
|
|
||||||
case $baseband in
|
|
||||||
"apq")
|
|
||||||
setprop ro.qualcomm.bluetooth.opp true
|
|
||||||
setprop ro.qualcomm.bluetooth.ftp true
|
|
||||||
setprop ro.qualcomm.bluetooth.nap false
|
|
||||||
setprop ro.bluetooth.sap false
|
|
||||||
setprop ro.bluetooth.dun false
|
|
||||||
# For MPQ as baseband is same for both
|
|
||||||
case $soc_hwid in
|
|
||||||
"130")
|
|
||||||
setprop ro.qualcomm.bluetooth.hsp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hfp true
|
|
||||||
setprop ro.qualcomm.bluetooth.pbap false
|
|
||||||
setprop ro.qualcomm.bluetooth.map false
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop ro.qualcomm.bluetooth.hsp false
|
|
||||||
setprop ro.qualcomm.bluetooth.hfp false
|
|
||||||
setprop ro.qualcomm.bluetooth.pbap true
|
|
||||||
setprop ro.qualcomm.bluetooth.map true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
"mdm" | "svlte2a" | "svlte1" | "csfb")
|
|
||||||
setprop ro.qualcomm.bluetooth.opp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hfp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hsp true
|
|
||||||
setprop ro.qualcomm.bluetooth.pbap true
|
|
||||||
setprop ro.qualcomm.bluetooth.ftp true
|
|
||||||
setprop ro.qualcomm.bluetooth.map true
|
|
||||||
setprop ro.qualcomm.bluetooth.nap true
|
|
||||||
setprop ro.bluetooth.sap true
|
|
||||||
case $target in
|
|
||||||
"apq8084")
|
|
||||||
setprop ro.bluetooth.dun true
|
|
||||||
logi "Enabling BT-DUN for APQ8084"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop ro.bluetooth.dun false
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
"msm")
|
|
||||||
setprop ro.qualcomm.bluetooth.opp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hfp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hsp true
|
|
||||||
setprop ro.qualcomm.bluetooth.pbap true
|
|
||||||
setprop ro.qualcomm.bluetooth.ftp true
|
|
||||||
setprop ro.qualcomm.bluetooth.nap true
|
|
||||||
setprop ro.bluetooth.sap true
|
|
||||||
setprop ro.bluetooth.dun true
|
|
||||||
case $btsoc in
|
|
||||||
"ath3k")
|
|
||||||
setprop ro.qualcomm.bluetooth.map false
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop ro.qualcomm.bluetooth.map true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop ro.qualcomm.bluetooth.opp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hfp true
|
|
||||||
setprop ro.qualcomm.bluetooth.hsp true
|
|
||||||
setprop ro.qualcomm.bluetooth.pbap true
|
|
||||||
setprop ro.qualcomm.bluetooth.ftp true
|
|
||||||
setprop ro.qualcomm.bluetooth.map true
|
|
||||||
setprop ro.qualcomm.bluetooth.nap true
|
|
||||||
setprop ro.bluetooth.sap true
|
|
||||||
setprop ro.bluetooth.dun true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#Enable Bluetooth Profiles specific to target Dynamically
|
|
||||||
case $target in
|
|
||||||
"msm8960")
|
|
||||||
if [ "$btsoc" != "ath3k" ] && [ "$soc_hwid" != "130" ]
|
|
||||||
then
|
|
||||||
setprop ro.bluetooth.hfp.ver 1.6
|
|
||||||
setprop ro.qualcomm.bt.hci_transport smd
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"msm8974" | "msm8226" | "msm8610" | "msm8916" | "msm8909" | "msm8952" | "msm8937" | "msm8953" )
|
|
||||||
if [ "$btsoc" != "ath3k" ]
|
|
||||||
then
|
|
||||||
setprop ro.bluetooth.hfp.ver 1.7
|
|
||||||
setprop ro.qualcomm.bt.hci_transport smd
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"apq8084" | "mpq8092" | "msm8994" | "msm8992" | "msm8996" )
|
|
||||||
if [ "$btsoc" != "rome" ]
|
|
||||||
then
|
|
||||||
setprop ro.qualcomm.bt.hci_transport smd
|
|
||||||
elif [ "$btsoc" = "rome" ]
|
|
||||||
then
|
|
||||||
setprop ro.bluetooth.hfp.ver 1.6
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -f /system/etc/bluetooth/stack.conf ]; then
|
|
||||||
stack=`cat /system/etc/bluetooth/stack.conf`
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$stack" in
|
|
||||||
"bluez")
|
|
||||||
logi "Bluetooth stack is $stack"
|
|
||||||
setprop ro.qc.bluetooth.stack $stack
|
|
||||||
reason=`getprop vold.decrypt`
|
|
||||||
case "$reason" in
|
|
||||||
"trigger_restart_framework")
|
|
||||||
start dbus
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
logi "Bluetooth stack is Bluedroid"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
start_hciattach ()
|
|
||||||
{
|
|
||||||
/system/bin/hciattach -n $BTS_DEVICE $BTS_TYPE $BTS_BAUD &
|
|
||||||
hciattach_pid=$!
|
|
||||||
logi "start_hciattach: pid = $hciattach_pid"
|
|
||||||
echo 1 > $BLUETOOTH_SLEEP_PATH
|
|
||||||
}
|
|
||||||
|
|
||||||
kill_hciattach ()
|
|
||||||
{
|
|
||||||
echo 0 > $BLUETOOTH_SLEEP_PATH
|
|
||||||
logi "kill_hciattach: pid = $hciattach_pid"
|
|
||||||
## careful not to kill zero or null!
|
|
||||||
kill -TERM $hciattach_pid
|
|
||||||
# this shell doesn't exit now -- wait returns for normal exit
|
|
||||||
}
|
|
||||||
|
|
||||||
logi "init.qcom.bt.sh config = $config"
|
|
||||||
case "$config" in
|
|
||||||
"onboot")
|
|
||||||
config_bt
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# mimic hciattach options parsing -- maybe a waste of effort
|
|
||||||
USAGE="hciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow] [bdaddr]"
|
|
||||||
|
|
||||||
while getopts "blnpt:s:" f
|
|
||||||
do
|
|
||||||
case $f in
|
|
||||||
b | l | n | p) opt_flags="$opt_flags -$f" ;;
|
|
||||||
t) timeout=$OPTARG;;
|
|
||||||
s) initial_speed=$OPTARG;;
|
|
||||||
\?) echo $USAGE; exit 1;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $(($OPTIND-1))
|
|
||||||
|
|
||||||
# Note that "hci_qcomm_init -e" prints expressions to set the shell variables
|
|
||||||
# BTS_DEVICE, BTS_TYPE, BTS_BAUD, and BTS_ADDRESS.
|
|
||||||
|
|
||||||
#Selectively Disable sleep
|
|
||||||
BOARD=`getprop ro.board.platform`
|
|
||||||
STACK=`getprop ro.qc.bluetooth.stack`
|
|
||||||
|
|
||||||
# BR/EDR & LE power class configurations
|
# BR/EDR & LE power class configurations
|
||||||
POWER_CLASS=`getprop qcom.bt.dev_power_class`
|
POWER_CLASS=`getprop qcom.bt.dev_power_class`
|
||||||
LE_POWER_CLASS=`getprop qcom.bt.le_dev_pwr_class`
|
LE_POWER_CLASS=`getprop qcom.bt.le_dev_pwr_class`
|
||||||
|
|
||||||
#find the transport type
|
setprop bluetooth.status off
|
||||||
TRANSPORT=`getprop ro.qualcomm.bt.hci_transport`
|
|
||||||
logi "Transport : $TRANSPORT"
|
|
||||||
case $STACK in
|
|
||||||
"bluez")
|
|
||||||
logi "** Bluez stack **"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
logi "** Bluedroid stack **"
|
|
||||||
setprop bluetooth.status off
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
case $POWER_CLASS in
|
case $POWER_CLASS in
|
||||||
1) PWR_CLASS="-p 0" ;
|
1) PWR_CLASS="-p 0" ;
|
||||||
|
@ -290,51 +80,11 @@ eval $(/system/bin/hci_qcomm_init -e $PWR_CLASS $LE_PWR_CLASS && echo "exit_code
|
||||||
case $exit_code_hci_qcomm_init in
|
case $exit_code_hci_qcomm_init in
|
||||||
0) logi "Bluetooth QSoC firmware download succeeded, $BTS_DEVICE $BTS_TYPE $BTS_BAUD $BTS_ADDRESS";;
|
0) logi "Bluetooth QSoC firmware download succeeded, $BTS_DEVICE $BTS_TYPE $BTS_BAUD $BTS_ADDRESS";;
|
||||||
*) failed "Bluetooth QSoC firmware download failed" $exit_code_hci_qcomm_init;
|
*) failed "Bluetooth QSoC firmware download failed" $exit_code_hci_qcomm_init;
|
||||||
case $STACK in
|
|
||||||
"bluez")
|
|
||||||
logi "** Bluez stack **"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
logi "** Bluedroid stack **"
|
|
||||||
setprop bluetooth.status off
|
setprop bluetooth.status off
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $exit_code_hci_qcomm_init;;
|
exit $exit_code_hci_qcomm_init;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# init does SIGTERM on ctl.stop for service
|
setprop bluetooth.status on
|
||||||
trap "kill_hciattach" TERM INT
|
|
||||||
|
|
||||||
case $TRANSPORT in
|
|
||||||
"smd")
|
|
||||||
case $STACK in
|
|
||||||
"bluez")
|
|
||||||
logi "** Bluez stack **"
|
|
||||||
echo 1 > /sys/module/hci_smd/parameters/hcismd_set
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
logi "** Bluedroid stack **"
|
|
||||||
setprop bluetooth.status on
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
logi "start hciattach"
|
|
||||||
start_hciattach
|
|
||||||
case $STACK in
|
|
||||||
"bluez")
|
|
||||||
logi "Bluetooth is turning On with Bluez stack "
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
logi "** Bluedroid stack **"
|
|
||||||
setprop bluetooth.status on
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
wait $hciattach_pid
|
|
||||||
logi "Bluetooth stopped"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -462,10 +462,6 @@ on property:persist.sys.chgdisabled=0
|
||||||
on property:init.svc.wpa_supplicant=stopped
|
on property:init.svc.wpa_supplicant=stopped
|
||||||
stop dhcpcd
|
stop dhcpcd
|
||||||
|
|
||||||
on property:bluetooth.isEnabled=true
|
|
||||||
start btwlancoex
|
|
||||||
write /sys/class/bluetooth/hci0/idle_timeout 7000
|
|
||||||
|
|
||||||
on property:bluetooth.sap.status=running
|
on property:bluetooth.sap.status=running
|
||||||
start bt-sap
|
start bt-sap
|
||||||
|
|
||||||
|
@ -483,7 +479,6 @@ on property:ro.bluetooth.ftm_enabled=true
|
||||||
|
|
||||||
on property:vold.decrypt=trigger_restart_framework
|
on property:vold.decrypt=trigger_restart_framework
|
||||||
start config_bt_addr
|
start config_bt_addr
|
||||||
start config_bluetooth
|
|
||||||
|
|
||||||
on property:persist.env.fastdorm.enabled=true
|
on property:persist.env.fastdorm.enabled=true
|
||||||
setprop persist.radio.data_no_toggle 1
|
setprop persist.radio.data_no_toggle 1
|
||||||
|
@ -520,11 +515,6 @@ service config_bt_addr /system/bin/btnvtool -O
|
||||||
group bluetooth radio
|
group bluetooth radio
|
||||||
oneshot
|
oneshot
|
||||||
|
|
||||||
service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot"
|
|
||||||
class core
|
|
||||||
user root
|
|
||||||
oneshot
|
|
||||||
|
|
||||||
service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
|
service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
|
||||||
class late_start
|
class late_start
|
||||||
user bluetooth
|
user bluetooth
|
||||||
|
@ -538,13 +528,6 @@ on property:bluetooth.hciattach=true
|
||||||
on property:bluetooth.hciattach=false
|
on property:bluetooth.hciattach=false
|
||||||
setprop bluetooth.status off
|
setprop bluetooth.status off
|
||||||
|
|
||||||
service hciattach_ath3k /system/bin/sh /system/etc/init.ath3k.bt.sh
|
|
||||||
class late_start
|
|
||||||
user bluetooth
|
|
||||||
group system bluetooth net_bt_admin misc
|
|
||||||
disabled
|
|
||||||
oneshot
|
|
||||||
|
|
||||||
service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0
|
service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0
|
||||||
class late_start
|
class late_start
|
||||||
user bluetooth
|
user bluetooth
|
||||||
|
@ -596,13 +579,6 @@ on property:ro.data.large_tcp_window_size=true
|
||||||
on property:sys.sysctl.tcp_adv_win_scale=*
|
on property:sys.sysctl.tcp_adv_win_scale=*
|
||||||
write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
|
write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
|
||||||
|
|
||||||
service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh
|
|
||||||
class late_start
|
|
||||||
user bluetooth
|
|
||||||
group bluetooth net_bt_admin inet net_admin net_raw
|
|
||||||
disabled
|
|
||||||
oneshot
|
|
||||||
|
|
||||||
service p2p_supplicant /system/bin/wpa_supplicant \
|
service p2p_supplicant /system/bin/wpa_supplicant \
|
||||||
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
|
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
|
||||||
-I/system/etc/wifi/p2p_supplicant_overlay.conf -N \
|
-I/system/etc/wifi/p2p_supplicant_overlay.conf -N \
|
||||||
|
|
Loading…
Reference in a new issue