M7350v3_en_gpl

This commit is contained in:
T
2024-09-09 08:55:19 +00:00
parent 801e6d2ad8
commit 2d95e8761a
2791 changed files with 89608 additions and 390711 deletions

View File

@ -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