I'm studying socket programming in wireless devices and one of the main issues that I'm facing right now is getting the RSSI information from a client.
I'm running scripts on a WRT54GL router with OpenWRT. As far as I understand, getting the RSSI information is possible with "wl rssi <client MAC>
". So I thought I could use a popen(); to run a command and get the output within the program.I tried it and it prompts:
root@mesh: wl rssi 00:23:08:B3:04:8C
rssi is -56
However, I noticed that even though I turned off the laptop's WLAN NIC, it still prompted something!!. Moreover, if I enter an imaginary MAC address, it still shows something:
root@mesh: wl rssi 11:22:33:44:55:66
rssi is -61
I found that this is not a reliable method, since after making another test that consisted in moving away from the router while running "wl rssi 00:23:08:B3:04:8C" every second, the values didn't change too much.
I also tried this method: http://bit.ly/aeiahG
. I ran the code on the router, but I'm not sure where to specify the RSSI from a target client.
So I would like to ask: Is there a way to get the RSSI information from an specific client in C?.