Replace tarball with un-tarred ImmortalWrt patch tree (package/feeds/files overrides)
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2023, hanwckf <hanwckf@vip.qq.com>
|
||||
#
|
||||
# v21 2026-07-21: HONEST labels (UCI now matches physical reality).
|
||||
# Driver binds profiles by MacAddress match, NOT by l1profile order:
|
||||
# b0.dat (MacAddress=2.4G eeprom MAC) -> rax0 netdev (2.4G HW)
|
||||
# b1.dat (MacAddress=5G eeprom MAC) -> ra0 netdev (5G HW)
|
||||
# v21 additionally swaps INDEX0_profile_path in l1profile.dat to
|
||||
# "b1.dat;b0.dat", so l1dat_parser maps: idx=1 (ra0) -> b1.dat,
|
||||
# idx=2 (rax0) -> b0.dat. Result: each UCI section writes the DAT that
|
||||
# the driver actually binds to its phy, so UCI band/ssid can be honest:
|
||||
# idx=1 (ra0, 5G HW): band=5g HE160 ch 36 ssid=ImmortalWrt-5G
|
||||
# idx=2 (rax0, 2.4G HW): band=2g HE40 ch auto ssid=ImmortalWrt-2.4G
|
||||
# Kernel DBDC merge quirk (unchanged): VHT_BW / VHT_Sec80_Channel for
|
||||
# ra0's slot are taken from b0.dat, so mtwifi_cfg still forces
|
||||
# VHT_BW=2 + VHT_Sec80_Channel=155 into the band==2g profile.
|
||||
# Validated live on v20 2026-07-21: ra0 2401Mbps HE160 ch36,
|
||||
# rax0 HE40, DBDC_card0.dat identical to v20 working state.
|
||||
|
||||
append DRIVERS "mtwifi"
|
||||
|
||||
detect_mtwifi() {
|
||||
local idx ifname
|
||||
local band hwmode htmode htbsscoex ssid dbdc_main channel
|
||||
if [ -d "/sys/module/mt_wifi" ]; then
|
||||
dev_list="$(l1util list)"
|
||||
for dev in $dev_list; do
|
||||
ifname="$(l1util get ${dev} main_ifname)"
|
||||
idx="$(l1util get ${dev} subidx)"
|
||||
if [ $idx -eq 1 ]; then
|
||||
# v29: UCI idx=1 is the 5G config. Driver maps band=5g content
|
||||
# to the 5G PHY (whichever netdev it is this boot).
|
||||
dbdc_main="1"
|
||||
band="5g"
|
||||
hwmode="11a"
|
||||
htmode="HE160"
|
||||
htbsscoex="0"
|
||||
ssid="ImmortalWrt-5G"
|
||||
txpower="100"
|
||||
channel="36"
|
||||
else
|
||||
# v29: UCI idx=2 is the 2.4G config.
|
||||
dbdc_main="0"
|
||||
band="2g"
|
||||
hwmode="11g"
|
||||
htmode="HE40"
|
||||
htbsscoex="1"
|
||||
ssid="ImmortalWrt-2.4G"
|
||||
txpower="100"
|
||||
channel="auto"
|
||||
fi
|
||||
config_get type ${dev//./_} type
|
||||
if [ "$type" != "mtwifi" ]; then
|
||||
uci -q batch <<-EOF
|
||||
set wireless.${dev//./_}=wifi-device
|
||||
set wireless.${dev//./_}.type=mtwifi
|
||||
set wireless.${dev//./_}.phy=${ifname}
|
||||
set wireless.${dev//./_}.hwmode=${hwmode}
|
||||
set wireless.${dev//./_}.band=${band}
|
||||
set wireless.${dev//./_}.dbdc_main=${dbdc_main}
|
||||
set wireless.${dev//./_}.channel=${channel}
|
||||
set wireless.${dev//./_}.txpower=${txpower}
|
||||
set wireless.${dev//./_}.htmode=${htmode}
|
||||
set wireless.${dev//./_}.country=CN
|
||||
set wireless.${dev//./_}.mu_beamformer=1
|
||||
set wireless.${dev//./_}.noscan=${htbsscoex}
|
||||
set wireless.${dev//./_}.serialize=1
|
||||
|
||||
set wireless.default_${dev//./_}=wifi-iface
|
||||
set wireless.default_${dev//./_}.device=${dev//./_}
|
||||
set wireless.default_${dev//./_}.network=lan
|
||||
set wireless.default_${dev//./_}.mode=ap
|
||||
set wireless.default_${dev//./_}.ssid=${ssid}
|
||||
set wireless.default_${dev//./_}.encryption=none
|
||||
set wireless.default_${dev//./_}.uapsd=0
|
||||
EOF
|
||||
else
|
||||
uci -q batch <<-EOF
|
||||
set wireless.${dev//./_}.phy=${ifname}
|
||||
set wireless.${dev//./_}.hwmode=${hwmode}
|
||||
set wireless.${dev//./_}.band=${band}
|
||||
set wireless.${dev//./_}.dbdc_main=${dbdc_main}
|
||||
set wireless.${dev//./_}.channel=${channel}
|
||||
set wireless.${dev//./_}.htmode=${htmode}
|
||||
set wireless.${dev//./_}.country=CN
|
||||
set wireless.${dev//./_}.mu_beamformer=1
|
||||
set wireless.${dev//./_}.noscan=${htbsscoex}
|
||||
set wireless.${dev//./_}.serialize=1
|
||||
set wireless.default_${dev//./_}.device=${dev//./_}
|
||||
set wireless.default_${dev//./_}.network=lan
|
||||
set wireless.default_${dev//./_}.mode=ap
|
||||
EOF
|
||||
fi
|
||||
uci -q commit wireless
|
||||
done
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user