Change rssi passed to ifconfig(8) to a signed value to fix printing signal
authorsthen <sthen@openbsd.org>
Fri, 9 Jan 2015 20:34:21 +0000 (20:34 +0000)
committersthen <sthen@openbsd.org>
Fri, 9 Jan 2015 20:34:21 +0000 (20:34 +0000)
commit94fee87df0bba1a36f1edeeb2b4fad99dbce2e09
tree59d3373dde7ceaab35da50d80e385e813f5e5bac
parent6d7eae8c4a4415d6da3000487bb67e2dee44e110
Change rssi passed to ifconfig(8) to a signed value to fix printing signal
strengths on 802.11 interfaces.  ok stsp@

Power on wireless interfaces is usually scaled in dBm. rssi (received signal
strength) is expected to be a -ve dBm values (i.e. [much] <1mW). Some (though
not all!) drivers store this as negative values, so it needs to be passed to
ifconfig that way for printing, not cast to an unsigned value. Valid range is
something like -40 to -90dBm, so the range available with a signed char is
reasonable whether it's stored as a +ve or -ve number.
sbin/ifconfig/ifconfig.c
sys/net80211/ieee80211_ioctl.h