M7350v3_en_gpl
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
include compat-wireless.inc
|
||||
|
||||
PR = "${INC_PR}.7"
|
||||
PR = "${INC_PR}.4"
|
||||
|
||||
SRC_URI += "file://ath6kl_ctrl_wlan"
|
||||
|
||||
|
@ -15,9 +15,7 @@ SRC_URI = "file://${WORKSPACE}/external/compat-wireless"
|
||||
|
||||
COMPAT_WIRELESS_VERSION = "3.0"
|
||||
|
||||
inherit gitsha
|
||||
PV = "git-${GITSHA}-${COMPAT_WIRELESS_VERSION}"
|
||||
SRC_DIR = "${WORKSPACE}/external/compat-wireless"
|
||||
PV = "${COMPAT_WIRELESS_VERSION}"
|
||||
|
||||
S = "${WORKDIR}/compat-wireless"
|
||||
|
||||
|
@ -52,60 +52,10 @@ HOSTAPD_STA_AP_CONF="/etc/sta_mode_hostapd.conf"
|
||||
retry=0
|
||||
AR6004_DEVID="0cf3:9374"
|
||||
|
||||
# MAC Address
|
||||
RANDOM_MAC_ADDRESS="00:11:22:33:44:55"
|
||||
UCI_MAC_ADDRESS="`uci get product.wlan.mac_address`"
|
||||
|
||||
# Enable FW error recovery via debug quirks, default is 0x1FC04.
|
||||
# Disable ATH6KL_MODULE_ENABLE_USB_AUTO_PM(16).
|
||||
# for more infomation, please refer to debug.h of ath6kl driver.
|
||||
ATH6KL_DEBUG_QUIRKS="0x4FC04"
|
||||
|
||||
# if start FTM
|
||||
ATH6KL_FTM_QUIRKS="0x10"
|
||||
|
||||
# Check existence
|
||||
if [ ! -n "UCI_MAC_ADDRESS" ]; then
|
||||
MAC_ADDRESS=$RANDOM_MAC_ADDRESS
|
||||
else
|
||||
# Mac address in uci is like: 00-11-22-33-44-55
|
||||
# But wlan driver need this: 00:11:22:33:44:55
|
||||
# So convert '-' to ':' in MAC address
|
||||
MAC_ADDRESS="`echo $UCI_MAC_ADDRESS | sed s/-/:/g`"
|
||||
fi
|
||||
|
||||
# Check if calibration files exist
|
||||
is_cal_pass () {
|
||||
# TR961 has no file "calData", just check bdata_self
|
||||
if [ -e "/misc/bdata_self.bin" ]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
do_ctrl_ar6004_hsic () {
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting WLAN... $@"
|
||||
echo "WLAN: Starting WLAN... $@" >> /dev/kmsg
|
||||
|
||||
# When starts in not FTM mode, and calibration failed, wifi will stop bringing up
|
||||
ftm_match="`echo $@ | grep "debug_quirks=$ATH6KL_FTM_QUIRKS"`"
|
||||
|
||||
if [ -z "$ftm_match" ]; then
|
||||
# Check if cal passed
|
||||
is_cal_pass
|
||||
if [ $? -ne 1 ]; then
|
||||
echo "Cannot find cal files at /misc, abort."
|
||||
echo "WLAN: Cannot find cal files at /misc, abort." >> /dev/kmsg
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "wifi start in FTM mode"
|
||||
echo "WLAN: wifi start in FTM mode" >> /dev/kmsg
|
||||
fi
|
||||
|
||||
shift
|
||||
start_ap1=0
|
||||
devmode=1
|
||||
@ -119,23 +69,13 @@ do_ctrl_ar6004_hsic () {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Disable HSIC suspend
|
||||
## HSIC host side may go wrong when resuming and
|
||||
## cause bam failure.
|
||||
echo on > /sys/devices/msm_hsic_host/power/control
|
||||
|
||||
# Clear caches to reduce chance of mem allocation failure.
|
||||
## Kernel panic may occur when loading ath6kl drivers if
|
||||
## dma allocation failure happens previously.
|
||||
echo "3" > /proc/sys/vm/drop_caches
|
||||
|
||||
set -e
|
||||
insmod $MODULE_BASE/compat/compat.ko
|
||||
insmod $MODULE_BASE/net/wireless/cfg80211.ko
|
||||
insmod $MODULE_BASE/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko reg_hint=0 debug_quirks=$ATH6KL_DEBUG_QUIRKS devmode=$devmode enable_ani=1 ath6kl_wifi_mac=$MAC_ADDRESS $@
|
||||
insmod $MODULE_BASE/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
|
||||
echo hsic 2000 > /sys/bus/platform/devices/usb_bam/inactivity_timer
|
||||
echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/bind
|
||||
insmod $MODULE_BASE/compat/compat.ko
|
||||
insmod $MODULE_BASE/net/wireless/cfg80211.ko
|
||||
insmod $MODULE_BASE/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko devmode=$devmode $@
|
||||
insmod $MODULE_BASE/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
|
||||
set +e
|
||||
|
||||
c=1
|
||||
@ -150,11 +90,9 @@ do_ctrl_ar6004_hsic () {
|
||||
|
||||
if [ $c -gt $RETRY_LIMIT ]; then
|
||||
echo "WLAN bring-up failed!"
|
||||
echo "WLAN: WLAN bring-up failed!" >> /dev/kmsg
|
||||
lsusb | grep -q $AR6004_DEVID
|
||||
if [ $? -ne 0 -a $retry -lt $ENUM_RETRY_LIMIT ]; then
|
||||
echo "Enumeration failure, try again!"
|
||||
echo "WLAN: Enumeration failure, try again!" >> /dev/kmsg
|
||||
do_ctrl_ar6004_hsic stop
|
||||
sleep 1
|
||||
if [ $start_ap1 -eq 1 ]; then
|
||||
@ -171,32 +109,29 @@ do_ctrl_ar6004_hsic () {
|
||||
|
||||
if [ $start_ap1 -eq 1 ]; then
|
||||
echo "Adding second AP interface(wlan1)"
|
||||
echo "WLAN: Adding second AP interface(wlan1)" >> /dev/kmsg
|
||||
iw dev wlan0 interface add wlan1 type __ap
|
||||
ifconfig wlan1 up 2> /dev/null
|
||||
fi
|
||||
|
||||
echo "Starting CXMAPP..."
|
||||
echo "WLAN: Starting CXMAPP..." >> /dev/kmsg
|
||||
cxmapp --init
|
||||
cxmapp &
|
||||
;;
|
||||
|
||||
start_ftm)
|
||||
do_ctrl_ar6004_hsic start debug_quirks=$ATH6KL_FTM_QUIRKS
|
||||
do_ctrl_ar6004_hsic start debug_quirks=0x10
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "Stopping WLAN..."
|
||||
echo "WLAN: Stopping WLAN..." >> /dev/kmsg
|
||||
killall -15 cxmapp
|
||||
|
||||
echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
|
||||
echo hsic 0 > /sys/bus/platform/devices/usb_bam/inactivity_timer
|
||||
rmmod ath6kl_usb
|
||||
rmmod ath6kl_core
|
||||
rmmod cfg80211
|
||||
rmmod compat
|
||||
echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
|
||||
echo hsic 0 > /sys/bus/platform/devices/usb_bam/inactivity_timer
|
||||
;;
|
||||
|
||||
restart)
|
||||
@ -273,7 +208,6 @@ do_ctrl_ar6003 () {
|
||||
|
||||
stop)
|
||||
echo "Stopping WLAN..."
|
||||
echo "WLAN: Stopping WLAN..." >> /dev/kmsg
|
||||
killall -15 cxmapp
|
||||
|
||||
echo 0 > $SDIO_POLLING_PATH
|
||||
|
Reference in New Issue
Block a user