mirror of
https://github.com/breeze303/nss-packages.git
synced 2025-12-16 08:44:52 +00:00
nss-drv: Add diagnostic gathering utility
This is meant to ease debugging when asking for support. Just run the
command "nss_diag" and include in your issues/forum posts.
Example of output
```
MODEL: Linksys MX5300
OPENWRT: r27608+169-3f98f68573
IPQ BRANCH: qualcommax-6.x-nss-mx4300-6.11
IPQ COMMIT: 2153dceb34
IPQ DATE: 2024-10-03
NSS FW: NSS.HK.11.4.0.5-6-R
MAC80211: v6.11-0-g98f7e32f20d2
ATH11K FW: WLAN.HK.2.12-01368-QCAHKSWPL_SILICONZ-1
GRO: wan : on
br-lan : on
lan1 : on
lan2 : on
lan3 : on
lan4 : on
phy0-mesh0 : on
phy1-ap0 : on
phy2-ap0 : on
NSS PKGS: kmod-qca-nss-cfi-cryptoapi - 6.6.53.12.5.2022.12.15~5cd07ce-r3
kmod-qca-nss-crypto - 6.6.53.12.5.2022.12.15~3c5a574-r3
kmod-qca-nss-dp - 6.6.53.2024.04.16~5bf8b91e-r1
kmod-qca-nss-drv - 6.6.53.11.4.0.5.2021.09.13~53e5863-r13
kmod-qca-nss-drv-bridge-mgr - 6.6.53.11.4.0.5.2021.08.17~c4049d1-r7
kmod-qca-nss-drv-igs - 6.6.53.11.4.0.5.2021.08.17~c4049d1-r7
kmod-qca-nss-drv-qdisc - 6.6.53.11.4.0.5.2021.08.17~c4049d1-r7
kmod-qca-nss-drv-vlan-mgr - 6.6.53.11.4.0.5.2021.08.17~c4049d1-r7
kmod-qca-nss-drv-wifi-meshmgr - 6.6.53.11.4.0.5.2021.08.17~c4049d1-r7
kmod-qca-nss-ecm - 6.6.53.12.5.5.2024.09.02~bd5057b-r1
nss-eip-firmware - 2.5.7-r3
nss-firmware-default - 2024.08.04~794fe373-r1
nss-firmware-ipq8074 - 2024.08.04~794fe373-r1
```
Signed-off-by: Sean Khan <datapronix@protonmail.com>
This commit is contained in:
parent
27c9b64b6a
commit
b217c08798
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=qca-nss-drv
|
||||
PKG_RELEASE:=12
|
||||
PKG_RELEASE:=13
|
||||
|
||||
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
@ -74,6 +74,9 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
NSS_CLIENTS_DIR:=$(TOPDIR)/qca/src/qca-nss-clients
|
||||
IPQ_BRANCH:=$(shell git -C $(TOPDIR) rev-parse --abbrev-ref HEAD)
|
||||
IPQ_DATE:=$(shell git -C $(TOPDIR) log -1 --format=%cd --date=format:%Y-%m-%d)
|
||||
IPQ_COMMIT:=$(shell git -C $(TOPDIR) log -1 --format=%h)
|
||||
|
||||
define KernelPackage/qca-nss-drv
|
||||
SECTION:=kernel
|
||||
@ -102,7 +105,10 @@ define KernelPackage/qca-nss-drv/install
|
||||
$(INSTALL_DATA) ./files/qca-nss-drv.uci $(1)/etc/config/nss
|
||||
$(INSTALL_DATA) ./files/qca-nss-drv.hotplug $(1)/etc/hotplug.d/firmware/10-qca-nss-fw
|
||||
$(INSTALL_BIN) ./files/qca-nss-drv.debug $(1)/usr/bin/nss_stats
|
||||
|
||||
$(INSTALL_BIN) ./files/qca-nss-drv.diag $(1)/usr/bin/nss_diag
|
||||
echo "IPQ_BRANCH=$(IPQ_BRANCH)" > $(1)/etc/ipq_release
|
||||
echo "IPQ_DATE=$(IPQ_DATE)" >> $(1)/etc/ipq_release
|
||||
echo "IPQ_COMMIT=$(IPQ_COMMIT)" >> $(1)/etc/ipq_release
|
||||
endef
|
||||
|
||||
define KernelPackage/qca-nss-drv/conffiles
|
||||
|
||||
99
qca-nss-drv/files/qca-nss-drv.diag
Executable file
99
qca-nss-drv/files/qca-nss-drv.diag
Executable file
@ -0,0 +1,99 @@
|
||||
#!/bin/sh
|
||||
# shellcheck disable=3037,3060,2034,1091
|
||||
|
||||
# check if stdout is a terminal, then set colors.
|
||||
if test -t 1; then
|
||||
fg=$(printf '\033[38;5;')
|
||||
bg=$(printf '\033[48;5;')
|
||||
red=$(printf '\033[31m')
|
||||
green=$(printf '\033[32m')
|
||||
yellow=$(printf '\033[33m')
|
||||
blue=$(printf '\033[34m')
|
||||
magenta=$(printf '\033[35m')
|
||||
cyan=$(printf '\033[36m')
|
||||
white=$(printf '\033[37m')
|
||||
reset=$(printf '\033[m')
|
||||
bold=$(printf '\033[1m')
|
||||
underline=$(printf '\033[4m')
|
||||
blink=$(printf '\033[5m')
|
||||
invert=$(printf '\033[7m')
|
||||
resetbold=$(printf '\033[21m')
|
||||
resetunderline=$(printf '\033[24m')
|
||||
else
|
||||
fg=""
|
||||
bg=""
|
||||
red=""
|
||||
green=""
|
||||
yellow=""
|
||||
blue=""
|
||||
magenta=""
|
||||
cyan=""
|
||||
white=""
|
||||
reset=""
|
||||
bold=""
|
||||
underline=""
|
||||
blink=""
|
||||
invert=""
|
||||
resetbold=""
|
||||
resetunderline=""
|
||||
fi
|
||||
|
||||
[ -r /etc/openwrt_version ] && openwrt_rev=$(cat /etc/openwrt_version)
|
||||
model=$(jsonfilter -e ''@.model.name'' < /etc/board.json | sed -e "s/,/_/g")
|
||||
|
||||
# NSS firmware version
|
||||
nss_fw="/lib/firmware/qca*.bin"
|
||||
[ "$(ls $nss_fw 2> /dev/null)" ] && nss_version=$(grep -h -m 1 -a -o 'Version:.[^[:cntrl:]]*' $nss_fw | head -1 | cut -d ' ' -f 2)
|
||||
|
||||
# ATH11K firmware version
|
||||
ath11k_fw=$(grep -h -m 1 -a -o 'WLAN.[^[:cntrl:]]*SILICONZ-1' /lib/firmware/*/q6* | head -1)
|
||||
|
||||
# MAC80211 (backports) version
|
||||
mac80211_version=$(awk '/version/{print $NF;exit}' /lib/modules/*/compat.ko)
|
||||
|
||||
# OpenWRT IPQ
|
||||
[ -r /etc/ipq_release ] && . /etc/ipq_release
|
||||
ipq_branch=${IPQ_BRANCH:-"N/A"}
|
||||
ipq_commit=${IPQ_COMMIT:-"N/A"}
|
||||
ipq_date=${IPQ_DATE:-"N/A"}
|
||||
|
||||
[ -z "$openwrt_rev" ] && openwrt_rev="N/A"
|
||||
[ -z "$model" ] && model="N/A"
|
||||
|
||||
|
||||
[ -z "$nss_version" ] && nss_version="N/A"
|
||||
[ -z "$ath11k_fw" ] && ath11k_fw="N/A"
|
||||
[ -z "$mac80211_version" ] && mac80211_version="N/A"
|
||||
|
||||
echo -e "${bold}${red} MODEL${reset}: ${white}${model}${reset}"
|
||||
echo -e "${bold}${red} OPENWRT${reset}: ${yellow}${openwrt_rev}${reset}"
|
||||
echo -e "${bold}${red}IPQ BRANCH${reset}: ${green}${ipq_branch}${reset}"
|
||||
echo -e "${bold}${red}IPQ COMMIT${reset}: ${green}${ipq_commit}${reset}"
|
||||
echo -e "${bold}${red} IPQ DATE${reset}: ${green}${ipq_date}${reset}"
|
||||
echo -e "${bold}${red} NSS FW${reset}: ${cyan}${nss_version}${reset}"
|
||||
echo -e "${bold}${red} MAC80211${reset}: ${white}${mac80211_version}${reset}${reset}"
|
||||
echo -e "${bold}${red} ATH11K FW${reset}: ${cyan}${ath11k_fw}${reset}"
|
||||
echo -ne "${bold}${red} GRO${reset}${white}: "
|
||||
|
||||
count=0
|
||||
|
||||
for i in wan br-lan /sys/class/net/br-lan/brif/*; do
|
||||
i=${i##*\/}
|
||||
ethtool -k ${i} | awk -v count=$count -v i=$i -v white=$white -v green=$green -v r=$reset '
|
||||
/generic-receive-offload/ {
|
||||
if(count>0) tab=" "
|
||||
if($2=="on") color=green
|
||||
printf "%s%-11s : %s%s%s\n",tab,i,color,$2,r
|
||||
}'
|
||||
count=$((count + 1))
|
||||
done
|
||||
|
||||
echo -e "${reset}"
|
||||
echo -ne "${bold}${red} NSS PKGS${reset}: ${white}"
|
||||
opkg list-installed | awk -v count=0 '
|
||||
/kmod-qca-nss|^nss/ {
|
||||
if(count>0) tab=" "
|
||||
print tab $0
|
||||
count++
|
||||
}'
|
||||
echo -ne "${reset}"
|
||||
Loading…
Reference in New Issue
Block a user