#!/bin/sh . /usr/share/libubox/jshn.sh case "$1" in list) echo '{ "get": { } }' ;; call) case "$2" in get) # create output with peer stats # construct json object from ath10k fw_stats echo "{" for phy in /sys/kernel/debug/ieee80211/phy*/ath10k/..; do [ -e "$phy" ] && { phy=$(basename $(readlink -f "$phy")) echo '"'"${phy/phy/radio}"'"'":" { grep Peer /sys/kernel/debug/ieee80211/$phy/ath10k/fw_stats || echo; } | tr A-Z a-z | sed -e '{s, *peer ,,;y/ /_/}' \ -e 's,\([^ ]*\).*_\([^ ]*\),"\1":"\2"\,,' \ -e '/mac_/s,\(.*\),\n\1,' \ -e '$s,$,\n}\n},' \ -e '1s,^,{,' | sed -e '/mac_/{s-"mac_.*":\(.*\),-\1:{-;y/abcdef/ABCDEF/}' \ -e 's-^$-},-' echo "," } done echo "}" ;; esac ;; esac