2 Attachment(s)
Simple clients signal level measuring
Here is simle script for measuring signal level from clients as seen at the AP radio.
Instalation:
> login using telnet to AP
cd /tmp/local
vi rssi
> press 'a' and paste rssi.txt
> press ESC and enter ':wq'
vi rssi2
> press 'a' and paste rssi2.txt
> press ESC and enter ':wq'
chmod +x rssi*
flashfs save
flashfs commit
flashfs enable
Now the script is saved in flash and you can run it with:
/tmp/local/rssi
Signal level is (probably) updated whenever AP receive packet from client.
I found it usefull for troubleshooting poor radio performace - low signal level from one client makes radio transmit at lower rate whenever it talks to this client.
Maybe Oleg should put something like this in the new FW release?
It would be nice to see the results via web management too ;-)
Here is a little 'screenshot':
-------------------------------------------------------
rate is 54 Mbps
xx:xx:xx:xx:xx:xx -80 ********************
xx:xx:xx:xx:xx:xx -76 ************************
xx:xx:xx:xx:xx:xx -85 ***************
xx:xx:xx:xx:xx:xx -71 *****************************
-------------------------------------------------------
MACs are replaced with xx for some reason.
And yes, this script can be executed remotely via telnet wireless connection to the AP as it doesn't switch off radio.
Modified script with IP lookups
Quote:
Originally Posted by WlanMan
Hi
Cool thing, no way. How about reverse lookup in the dhcp table to get IPīs ? :rolleyes:
Greets
I modified scripts above a bit. It is single script and it shows also IP address assigned to MAC by dnsmasq.
Code:
#/bin/sh
while (true); do
echo -e "\033[2J" #clear screen
al=`wl assoclist | sed s/assoclist\ //`
wl rate #write wifi rate
for i in $al; do
echo -n "$i |"
sig=`wl rssi $i | sed s/rssi\ is\ //`
if [ $sig -eq "0" ]; then echo -n " "; sig="N/A";
else
if [ $sig -gt "-90" ]; then echo -n "*"; else echo -n " "; fi
if [ $sig -gt "-80" ]; then echo -n "*"; else echo -n " "; fi
if [ $sig -gt "-70" ]; then echo -n "*"; else echo -n " "; fi
if [ $sig -gt "-60" ]; then echo -n "*"; else echo -n " "; fi
if [ $sig -gt "-50" ]; then echo -n "*"; else echo -n " "; fi
fi
echo -n "| $sig | "
#get IP from dnsmasq dhcp log
ip=`cat /tmp/dnsmasq.log | grep -i $i`
if [ "$ip" != "" ]; then
i=0 #index
for field in $ip; do
i=`expr $i + 1` #increment index
if [ $i -eq "3" ]; then #third field is IP address
echo $field
fi
done
fi
done
sleep 1
done
Output looks like this:
Code:
rate is 11 Mbps
XX:XX:XX:XX:XX:XX |* | -86 | 192.168.1.1
XX:XX:XX:XX:XX:XX |** | -76 | 192.168.1.2
3 Attachment(s)
Re: Simple clients signal level measuring
Quote:
Originally Posted by pekr
Here is simle script for measuring signal level from clients as seen at the AP radio.
Nice idea!
I took the liberty of speeding up rssi2 and adding support for WDS peers to rssi.
rssi2 is now easily fast enough to do a simple 'sat-finder' type running display, nice for aligning antennas. This is in rssitest.
Upload the same way as in pekr's post