[][MAC80211][app][update iwpriv wrapper]
[Description]
Add 6G channel switch and interface conversion in iwpriv wrapper.
[Release-log]
N/A
Change-Id: I6801b5160ec77ab380a5d61f1f218f9b5c590844
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6433751
diff --git a/feed/atenl/files/iwpriv.sh b/feed/atenl/files/iwpriv.sh
index 0832a5e..3648780 100755
--- a/feed/atenl/files/iwpriv.sh
+++ b/feed/atenl/files/iwpriv.sh
@@ -59,6 +59,38 @@
fi
}
+function convert_interface {
+ local start_idx_7986=$(get_config "STARTIDX")
+ if [ -z "${start_idx_7986}" ]; then
+ local tmp=$(lspci | grep "7906")
+ if [ ! -z "${tmp}" ]; then
+ start_idx_7986="2"
+ else
+ local tmp=$(lspci | grep "7915\|7916")
+ if [ ! -z "${tmp}" ]; then
+ start_idx_7986="1"
+ else
+ start_idx_7986="0"
+ fi
+ fi
+ record_config "STARTIDX" ${start_idx_7986}
+ fi
+
+ if [[ $1 == "raix"* ]]; then
+ interface="phy1"
+ phy_idx=1
+ elif [[ $1 == "rai"* ]]; then
+ interface="phy0"
+ phy_idx=0
+ elif [[ $1 == "rax"* ]]; then
+ phy_idx=$((start_idx_7986+1))
+ interface="phy${phy_idx}"
+ else
+ phy_idx=$start_idx_7986
+ interface="phy${phy_idx}"
+ fi
+}
+
function simple_convert() {
if [ "$1" = "ATETXCNT" ]; then
echo "tx_count"
@@ -188,6 +220,9 @@
local ch=$(echo $1 | sed s/:/' '/g | cut -d " " -f 1)
local bw=$(get_config "ATETXBW" | cut -d ":" -f 1)
local bw_str="HT20"
+ local base_chan=1
+ local control_freq=0
+ local base_freq=0
if [[ $1 != *":"* ]] || [ "${band}" = "0" ]; then
case ${bw} in
@@ -200,6 +235,7 @@
fi
;;
esac
+ local base_freq=2412
elif [ "${band}" = "1" ]; then
case ${bw} in
"5")
@@ -297,11 +333,162 @@
local bw_str="HT20"
;;
esac
+ local base_freq=5180
+ local base_chan=36
else
- echo "6G Todo"
+ case ${bw} in
+ "5")
+ bw_str="160MHz"
+ if [ ${ch} -lt "33" ]; then
+ ch="1"
+ elif [ ${ch} -lt "65" ]; then
+ ch="33"
+ elif [ ${ch} -lt "97" ]; then
+ ch="65"
+ elif [ ${ch} -lt "129" ]; then
+ ch="97"
+ elif [ ${ch} -lt "161" ]; then
+ ch="129"
+ elif [ ${ch} -lt "193" ]; then
+ ch="161"
+ elif [ ${ch} -lt "225" ]; then
+ ch="193"
+ fi
+ ;;
+ "2")
+ bw_str="80MHz"
+ if [ ${ch} -lt "17" ]; then
+ ch="1"
+ elif [ ${ch} -lt "33" ]; then
+ ch="17"
+ elif [ ${ch} -lt "49" ]; then
+ ch="33"
+ elif [ ${ch} -lt "65" ]; then
+ ch="49"
+ elif [ ${ch} -lt "81" ]; then
+ ch="65"
+ elif [ ${ch} -lt "97" ]; then
+ ch="81"
+ elif [ ${ch} -lt "113" ]; then
+ ch="97"
+ elif [ ${ch} -lt "129" ]; then
+ ch="113"
+ elif [ ${ch} -lt "145" ]; then
+ ch="129"
+ elif [ ${ch} -lt "161" ]; then
+ ch="145"
+ elif [ ${ch} -lt "177" ]; then
+ ch="161"
+ elif [ ${ch} -lt "193" ]; then
+ ch="177"
+ elif [ ${ch} -lt "209" ]; then
+ ch="193"
+ elif [ ${ch} -lt "225" ]; then
+ ch="209"
+ fi
+ ;;
+ "1")
+ if [ ${ch} -lt "9" ]; then
+ ch=$([ "${ch}" -lt "5" ] && echo "1" || echo "5")
+ bw_str=$([ "${ch}" -le "3" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "17" ]; then
+ ch=$([ "${ch}" -lt "13" ] && echo "9" || echo "13")
+ bw_str=$([ "${ch}" -le "11" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "25" ]; then
+ ch=$([ "${ch}" -lt "21" ] && echo "17" || echo "21")
+ bw_str=$([ "${ch}" -le "19" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "33" ]; then
+ ch=$([ "${ch}" -lt "29" ] && echo "25" || echo "29")
+ bw_str=$([ "${ch}" -le "27" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "33" ]; then
+ ch=$([ "${ch}" -lt "29" ] && echo "25" || echo "29")
+ bw_str=$([ "${ch}" -le "27" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "41" ]; then
+ ch=$([ "${ch}" -lt "37" ] && echo "33" || echo "37")
+ bw_str=$([ "${ch}" -le "35" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "49" ]; then
+ ch=$([ "${ch}" -lt "45" ] && echo "41" || echo "45")
+ bw_str=$([ "${ch}" -le "43" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "57" ]; then
+ ch=$([ "${ch}" -lt "53" ] && echo "49" || echo "53")
+ bw_str=$([ "${ch}" -le "51" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "65" ]; then
+ ch=$([ "${ch}" -lt "61" ] && echo "57" || echo "61")
+ bw_str=$([ "${ch}" -le "59" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "73" ]; then
+ ch=$([ "${ch}" -lt "69" ] && echo "65" || echo "69")
+ bw_str=$([ "${ch}" -le "67" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "81" ]; then
+ ch=$([ "${ch}" -lt "77" ] && echo "73" || echo "77")
+ bw_str=$([ "${ch}" -le "75" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "89" ]; then
+ ch=$([ "${ch}" -lt "85" ] && echo "81" || echo "85")
+ bw_str=$([ "${ch}" -le "83" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "97" ]; then
+ ch=$([ "${ch}" -lt "93" ] && echo "89" || echo "93")
+ bw_str=$([ "${ch}" -le "91" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "105" ]; then
+ ch=$([ "${ch}" -lt "101" ] && echo "97" || echo "101")
+ bw_str=$([ "${ch}" -le "99" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "113" ]; then
+ ch=$([ "${ch}" -lt "109" ] && echo "105" || echo "109")
+ bw_str=$([ "${ch}" -le "107" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "121" ]; then
+ ch=$([ "${ch}" -lt "117" ] && echo "113" || echo "117")
+ bw_str=$([ "${ch}" -le "115" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "129" ]; then
+ ch=$([ "${ch}" -lt "125" ] && echo "121" || echo "125")
+ bw_str=$([ "${ch}" -le "123" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "137" ]; then
+ ch=$([ "${ch}" -lt "133" ] && echo "129" || echo "133")
+ bw_str=$([ "${ch}" -le "131" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "145" ]; then
+ ch=$([ "${ch}" -lt "141" ] && echo "137" || echo "141")
+ bw_str=$([ "${ch}" -le "139" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "153" ]; then
+ ch=$([ "${ch}" -lt "149" ] && echo "145" || echo "149")
+ bw_str=$([ "${ch}" -le "147" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "161" ]; then
+ ch=$([ "${ch}" -lt "157" ] && echo "153" || echo "157")
+ bw_str=$([ "${ch}" -le "155" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "169" ]; then
+ ch=$([ "${ch}" -lt "165" ] && echo "161" || echo "165")
+ bw_str=$([ "${ch}" -le "163" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "177" ]; then
+ ch=$([ "${ch}" -lt "173" ] && echo "169" || echo "173")
+ bw_str=$([ "${ch}" -le "171" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "185" ]; then
+ ch=$([ "${ch}" -lt "181" ] && echo "177" || echo "181")
+ bw_str=$([ "${ch}" -le "179" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "193" ]; then
+ ch=$([ "${ch}" -lt "189" ] && echo "185" || echo "189")
+ bw_str=$([ "${ch}" -le "187" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "201" ]; then
+ ch=$([ "${ch}" -lt "197" ] && echo "193" || echo "197")
+ bw_str=$([ "${ch}" -le "195" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "209" ]; then
+ ch=$([ "${ch}" -lt "205" ] && echo "201" || echo "205")
+ bw_str=$([ "${ch}" -le "203" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "217" ]; then
+ ch=$([ "${ch}" -lt "213" ] && echo "209" || echo "213")
+ bw_str=$([ "${ch}" -le "211" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "225" ]; then
+ ch=$([ "${ch}" -lt "221" ] && echo "217" || echo "221")
+ bw_str=$([ "${ch}" -le "219" ] && echo "HT40+" || echo "HT40-")
+ elif [ ${ch} -lt "233" ]; then
+ ch=$([ "${ch}" -lt "229" ] && echo "225" || echo "229")
+ bw_str=$([ "${ch}" -le "227" ] && echo "HT40+" || echo "HT40-")
+ fi
+ ;;
+ "0")
+ local bw_str="HT20"
+ ;;
+ esac
+ local base_freq=5955
fi
- do_cmd "iw dev mon${phy_idx} set channel ${ch} ${bw_str}"
+ local control_freq=$(((ch - base_chan) * 5 + base_freq))
+ do_cmd "iw dev mon${phy_idx} set freq ${control_freq} ${bw_str}"
}
function convert_rxstat {
@@ -423,14 +610,7 @@
# main start here
if [[ ${interface} == "ra"* ]]; then
- tmp=$(get_config "ATECTRLBANDIDX")
- if [ ! -z "${tmp}" ]; then
- interface="phy${tmp}"
- phy_idx=${tmp}
- else
- interface="phy0"
- phy_idx=0
- fi
+ convert_interface $interface
fi
cmd=$(echo ${full_cmd} | sed s/=/' '/g | cut -d " " -f 1)