123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #! /vendor/bin/sh
- LOG_TAG="qcom-bt-wlan-coex"
- LOG_NAME="${0}:"
- coex_pid=""
- ath_wlan_supported=`getprop wlan.driver.ath`
- loge ()
- {
- /system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
- }
- logi ()
- {
- /system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@"
- }
- failed ()
- {
- loge "$1: exit code $2"
- exit $2
- }
- start_coex ()
- {
- case "$ath_wlan_supported" in
- "2")
- echo "ATH WLAN Chip ID AR6004 is enabled"
- /system/bin/abtfilt -d -z -n -m -a -w wlan0 &
- ;;
- "1")
- echo "ATH WLAN Chip ID is enabled"
-
- /system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
- ;;
- "0")
- echo "WCN WLAN Chip ID is enabled"
-
- /system/bin/btwlancoex -o $opt_flags &
- ;;
- *)
- echo "NO WLAN Chip ID is enabled, so enabling ATH as default"
-
- /system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
- ;;
- esac
- coex_pid=$!
- logi "start_coex: pid = $coex_pid"
- }
- kill_coex ()
- {
- logi "kill_coex: pid = $coex_pid"
- kill -TERM $coex_pid
-
- }
- USAGE="${0} [-o] [-c] [-r] [-i] [-h]"
- while getopts "ocrih" f
- do
- case $f in
- o | c | r | i | h) opt_flags="$opt_flags -$f" ;;
- \?) echo $USAGE; exit 1;;
- esac
- done
- trap "kill_coex" TERM INT
- target=`getprop ro.board.platform`
- if [ "$target" == "msm8960" ] && [ "$ath_wlan_supported" != "2" ]; then
- logi "btwlancoex/abtfilt is not needed"
- else
-
- if ls /system/bin/btwlancoex || ls /system/bin/abtfilt
- then
- start_coex
- wait $coex_pid
- logi "Coex stopped"
- else
- logi "btwlancoex/abtfilt not available"
- fi
- fi
- exit 0
|