From: Holden Karau <[email protected]> http://www.holdenkarau.com
I have made a small patch for the atmel driver [included in the 2.6.18
kernel] to output signal strength information as part of iwlist scan
[before it did not output any signal strength related information].
Signed-off-by: Holden Karau <[email protected]> http://www.holdenkarau.com
--
The output of iwlist scan is frequently used by user space utilites to
chose which wireless network to connect to based on the reported
signal strength, so I think this could be useful [of course I could be
horribly wrong about that but *shrugs*]. Incase the patch gets mangled
I've also put it up on at
http://www.holdenkarau.com/~holden/projects/atmel/patches/001-iwlist-stats.patch
And now for the patch:
--- drivers/net/wireless/atmel.c.orig 2006-09-28 14:14:42.000000000 -0400
+++ drivers/net/wireless/atmel.c 2006-09-28 14:14:55.000000000 -0400
@@ -2345,6 +2345,14 @@ static int atmel_get_scan(struct net_dev
iwe.u.freq.e = 0;
current_ev = iwe_stream_add_event(current_ev, extra +
IW_SCAN_MAX_DATA, &iwe, IW_EV_FREQ_LEN);
+ /* Add quality statistics */
+ iwe.cmd = IWEVQUAL;
+ iwe.u.qual.level = (__u8) priv->BSSinfo[i].RSSI;
+ iwe.u.qual.qual = iwe.u.qual.level;
+ /* iwe.u.qual.noise = SOMETHING */
+ current_ev = iwe_stream_add_event(current_ev, extra +
IW_SCAN_MAX_DATA , &iwe, IW_EV_QUAL_LEN);
+
+
iwe.cmd = SIOCGIWENCODE;
if (priv->BSSinfo[i].UsingWEP)
iwe.u.data.flags = IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;