projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
87460e8
)
libs/iwinfo: fix broadcom signal calculation in master mode
author
Jo-Philipp Wich
<jow@openwrt.org>
Sun, 9 Aug 2009 02:45:05 +0000
(
02:45
+0000)
committer
Jo-Philipp Wich
<jow@openwrt.org>
Sun, 9 Aug 2009 02:45:05 +0000
(
02:45
+0000)
libs/iwinfo/src/iwinfo_wl.c
patch
|
blob
|
history
diff --git
a/libs/iwinfo/src/iwinfo_wl.c
b/libs/iwinfo/src/iwinfo_wl.c
index
37f4de1
..
3362475
100644
(file)
--- a/
libs/iwinfo/src/iwinfo_wl.c
+++ b/
libs/iwinfo/src/iwinfo_wl.c
@@
-152,16
+152,14
@@
int wl_get_signal(const char *ifname, int *buf)
wl_ioctl(ifname, WLC_GET_BSS_INFO, tmp, WLC_IOCTL_MAXLEN);
wl_ioctl(ifname, WLC_GET_BSS_INFO, tmp, WLC_IOCTL_MAXLEN);
- rssi = 0;
- rssi_count = 0;
-
if( !wl_ioctl(ifname, WLC_GET_AP, &ap, sizeof(ap)) && !ap )
{
if( !wl_ioctl(ifname, WLC_GET_AP, &ap, sizeof(ap)) && !ap )
{
- rssi = tmp[WL_BSS_RSSI_OFFSET];
- rssi_count = 1;
+ *buf = tmp[WL_BSS_RSSI_OFFSET];
}
else
{
}
else
{
+ rssi = rssi_count = 0;
+
/* Calculate average rssi from conntected stations */
if( (macs = wl_read_assoclist(ifname)) != NULL )
{
/* Calculate average rssi from conntected stations */
if( (macs = wl_read_assoclist(ifname)) != NULL )
{
@@
-171,16
+169,16
@@
int wl_get_signal(const char *ifname, int *buf)
if( !wl_ioctl(ifname, WLC_GET_RSSI, &starssi, 12) )
{
if( !wl_ioctl(ifname, WLC_GET_RSSI, &starssi, 12) )
{
- rssi
+
= starssi.rssi;
+ rssi
-
= starssi.rssi;
rssi_count++;
}
}
free(macs);
}
rssi_count++;
}
}
free(macs);
}
- }
- *buf = (rssi == 0 || rssi_count == 0) ? 1 : (rssi / rssi_count);
+ *buf = (rssi == 0 || rssi_count == 0) ? 1 : -(rssi / rssi_count);
+ }
return 0;
}
return 0;
}