ipq806x: fix Linksys E8350 web sysupgrade

This commit is contained in:
coolsnowwolf 2021-07-24 22:45:08 +08:00
parent 7a4f49fb25
commit c366b45ec9
6 changed files with 19 additions and 83 deletions

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2020 OpenWrt.org
# Copyright (C) 2021 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=quantenna
PKG_VERSION:=37.3.2.44
PKG_RELEASE:=6
PKG_RELEASE:=8
PKG_MAINTAINER:=lean
@ -54,7 +54,6 @@ define Package/qtn-utils/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/qcsapi_sockrpc $(1)/usr/sbin/
ln -s /tmp/qcsapi_target_ip.conf $(1)/etc
$(INSTALL_BIN) ./files/qtn-utils.init $(1)/etc/init.d/qtn-utils
$(INSTALL_BIN) ./files/qtn-wifi.init $(1)/etc/init.d/qtn-wifi
endef
define Package/qtn-firmware

View File

@ -25,15 +25,18 @@ detect_quantenna() {
set wireless.radio${devidx}.type=quantenna
set wireless.radio${devidx}.channel=${channel:-36}
set wireless.radio${devidx}.hwmode=11ac
set wireless.radio${devidx}.band=5g
set wireless.radio${devidx}.htmode=VHT80
set wireless.radio${devidx}.phy=${phy}
set wireless.radio${devidx}.disabled=1
set wireless.radio${devidx}.disabled=0
set wireless.default_radio${devidx}=wifi-iface
set wireless.default_radio${devidx}.device=radio${devidx}
set wireless.default_radio${devidx}.network=lan
set wireless.default_radio${devidx}.mode=ap
set wireless.default_radio${devidx}.ssid=OpenWrt
set wireless.default_radio${devidx}.encryption=none
set wireless.default_radio${devidx}.ssid=OpenWrt-5G
set wireless.default_radio${devidx}.encryption=psk2+ccmp
set wireless.default_radio${devidx}.key=12345678
EOF
uci -q commit wireless
}

View File

@ -1,7 +1,7 @@
#!/bin/sh
# no need for tftp service if the Quantenna module is PCIe connected
[ "$(basename "$(readlink /sys/class/net/$(uci -q get network.qtn.ifname)/device/driver)")" = "qtnfmac_pcie" ] && exit 0
[ "$(basename "$(readlink /sys/class/net/host0/device/driver)")" = "qdpc_host" ] && exit 0
uci -q get dhcp.qtn_rgmii >/dev/null && exit 0
touch /etc/config/dhcp

View File

@ -7,12 +7,13 @@ START=19
USE_PROCD=1
start_service() {
local ifname=$(uci get network.qtn.ifname)
local ipaddr=$(uci get network.qtn.ipaddr)
ifconfig host0 1.1.1.1 netmask 255.255.255.252 up
local ifname="host0"
local ipaddr="1.1.1.1"
local hex_ip=$(printf "0x%02x%02x%02x%02x" $(echo $ipaddr | tr . \ ))
eval "$(ipcalc.sh $ipaddr $(uci get network.qtn.netmask) 2)"
echo "$START" >/tmp/qcsapi_target_ip.conf
eval "$(ipcalc.sh $ipaddr 255.255.255.252 2)"
echo "1.1.1.2" > /tmp/qcsapi_target_ip.conf
# work around Quatenna vlan bug - pop bogus tags from arp and ip packets for 1.1.1.1
tc qdisc add dev $ifname handle ffff: ingress
@ -29,7 +30,7 @@ start_service() {
}
stop_service() {
local ifname=$(uci get network.qtn.ifname)
local ifname="host0"
tc filter del dev $ifname ingress
tc qdisc del dev $ifname ingress

View File

@ -1,70 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
STOP=10
NAME=qtn-wifi
start()
{
###########################################
### 5G Quantenna wifi ###
### INITIALIZATION part - do not edit ###
###########################################
# run automatically on start-up modprobe qdpc-host
COUNT=0
WIFI_INIT=`dmesg |grep -c "Connection established with Target BBIC4 board"`
while [ "$WIFI_INIT" = "0" ] ;do
sleep 1
WIFI_INIT=`dmesg |grep -c "Connection established with Target BBIC4 board"`
let COUNT+=1
if [ "$COUNT" -gt 60 ];then
logger "Error 1 in 5G wifi pcie2 firmware initialization"
exit 1
break
fi
done
# start wifi configuration and start wifi
ifconfig host0 1.1.1.1 netmask 255.255.255.252 up
echo "1.1.1.2" > /tmp/qcsapi_target_ip.conf
wifi config
uci set wireless.radio1.disabled=0
uci commit
wifi
sleep 5
#######################################
### END 5g wifi initialization part ###
#######################################
###########################################
### WIFI CONFIGURATION ###
### edit below this line on your taste ###
###########################################
SSID="OpenWrt-5G"
WPAPASS="12345678"
CHANNEL="149"
TXPOWER=22
WIFIDEV=`qcsapi_sockrpc get_primary_interface`
qcsapi_sockrpc get_primary_interface
qcsapi_sockrpc get_regulatory_region "$WIFIDEV"
qcsapi_sockrpc set_regulatory_region "$WIFIDEV" us
qcsapi_sockrpc get_scs_report "$WIFIDEV" all
qcsapi_sockrpc get_channel "$WIFIDEV"
qcsapi_sockrpc set_channel "$WIFIDEV" "$CHANNEL"
qcsapi_sockrpc set_bw "$WIFIDEV" 80
qcsapi_sockrpc get_tx_power "$WIFIDEV" "$CHANNEL"
qcsapi_sockrpc set_tx_power "$WIFIDEV" "$CHANNEL" "$TXPOWER"
qcsapi_sockrpc -u -q set_option "$WIFIDEV" 802_11h 1
qcsapi_sockrpc set_ssid "$WIFIDEV" "$SSID"
qcsapi_sockrpc set_beacon "$WIFIDEV" 11i # WPA2 AES only
qcsapi_sockrpc set_option "$WIFIDEV" SSID_broadcast 1
qcsapi_sockrpc set_WPA_authentication_mode "$WIFIDEV" PSKAuthentication
qcsapi_sockrpc set_WPA_encryption_modes "$WIFIDEV" AESEncryption
qcsapi_sockrpc set_passphrase "$WIFIDEV" 0 "$WPAPASS"
}

View File

@ -12,7 +12,6 @@ platform_do_upgrade() {
case "$(board_name)" in
askey,rt4230w-rev6 |\
compex,wpq864 |\
linksys,e8350-v1 |\
netgear,d7800 |\
netgear,r7500 |\
netgear,r7500v2 |\
@ -22,6 +21,10 @@ platform_do_upgrade() {
qcom,ipq8064-ap161)
nand_do_upgrade "$1"
;;
linksys,e8350-v1)
fwtool -q -t -i /dev/null "$1"
nand_do_upgrade "$1"
;;
asrock,g10)
asrock_upgrade_prepare
nand_do_upgrade "$1"