73 lines
3.3 KiB
Bash
Executable File
73 lines
3.3 KiB
Bash
Executable File
LOGGER="/usr/bin/logger"
|
|
IWINFO="/usr/bin/iwinfo"
|
|
IWPRIV="/usr/sbin/iwpriv"
|
|
|
|
LOG_STR="wifi_log: "
|
|
|
|
#wificount=`cat /etc/config/wireless | grep "wifi-device" | wc -l`
|
|
wificount=2
|
|
subnum=16
|
|
stainfo_idx=7
|
|
|
|
wl_dump_assoclist()
|
|
{
|
|
local ifname
|
|
ifname=$1
|
|
|
|
ssid="`${IWINFO} ${ifname} assoclist | grep "ssid:" | awk -F " " '{print $2}'`"
|
|
bssid="`${IWINFO} ${ifname} assoclist | grep "bssid:" | awk -F " " '{print $2}'`"
|
|
channel="`${IWINFO} ${ifname} assoclist | grep "channel:" | awk -F " " '{print $2}'`"
|
|
stacount="`${IWINFO} ${ifname} assoclist | grep "stacount:" | awk -F " " '{print $2}'`"
|
|
noise="`${IWINFO} ${ifname} assoclist | grep "noise:" | awk -F " " '{print $2}'`"
|
|
|
|
if [ ! ${stacount} -eq 0 ]; then
|
|
|
|
dump_info="${LOG_STR}Ifname=\"${ifname}\", Noise=\"${noise} dBm\", Stacount=\"${stacount}\", SSID=\"$ssid\", Bssid=\"$bssid\", Channel=\"$channel\""
|
|
echo ${dump_info}
|
|
${LOGGER} ${dump_info}
|
|
|
|
for j in `seq ${stacount}`
|
|
do
|
|
i=$(($j + $stainfo_idx))
|
|
sta_mac="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $1}'`"
|
|
sta_phy="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $2}'`"
|
|
sta_security="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $3}'`"
|
|
sta_rssi="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $4}'`"
|
|
sta_noise="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $5}'`"
|
|
sta_snr="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $6}'`"
|
|
sta_rx_rate="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $7" Mbit/s"}'`"
|
|
sta_rx_upkts="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $8" Pkts"}'`"
|
|
sta_rx_ukbyte="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $9" Kbytes"}'`"
|
|
sta_rx_mpkts="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $10" Pkts"}'`"
|
|
sta_rx_mkbyte="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $11" Kbytes"}'`"
|
|
sta_tx_rate="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $12" Mbit/s"}'`"
|
|
sta_tx_upkts="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $13" Pkts"}'`"
|
|
sta_tx_ukbyte="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $14" Kbytes"}'`"
|
|
sta_tx_mpkts="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $15" Pkts"}'`"
|
|
sta_tx_mkbyte="`${IWINFO} ${ifname} assoclist | awk -F " " 'NR=='"${i}"'{print $16" Kbytes"}'`"
|
|
dump_stainfo="${LOG_STR}sta_mac=\"${sta_mac}\", Phy=\"${sta_phy}\", Security=\"${sta_security}\", RSSI=\"${sta_rssi}\", Noise=\"${sta_noise}\",snr=\"${sta_snr}\", RX=\"${sta_rx_rate}\", RX_UCAST_PKT=\"${sta_rx_upkts}\", RX_UCAST_KBYTE=\"${sta_rx_ukbyte}\", RX_MCAST_PKTS=\"${sta_rx_mpkts}, RX_MCAST_KBYTE=\"${sta_rx_mkbyte}\", TX=\"${sta_tx_rate}\", RX_UCAST_PKT=\"${sta_rx_upkts}\", TX_UCAST_KBYTE=\"${sta_tx_ukbyte}\", TX_MCAST_PKTS=\"${sta_tx_mpkts}\", TX_MCAST_KBYTE=\"${sta_tx_mkbyte}\""
|
|
echo $dump_stainfo
|
|
${LOGGER} $dump_stainfo
|
|
done
|
|
fi
|
|
}
|
|
|
|
for n in `seq ${wificount}`
|
|
do
|
|
let n=n-1
|
|
ifname="wl$n"
|
|
|
|
cat /proc/net/dev | grep -q "wl$n"
|
|
if [ $? -eq 1 ]; then
|
|
continue
|
|
fi
|
|
wl_dump_assoclist "wl$n"
|
|
for sub in `seq $subnum`; do
|
|
cat /proc/net/dev | grep -q "wl$n.$sub"
|
|
if [ $? -eq 1 ]; then
|
|
continue
|
|
fi
|
|
wl_dump_assoclist "wl$n.$sub"
|
|
done
|
|
done
|