Dell Latitude D820 laptop, lspci reports the network card as:
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Netwo rk Connection (rev 02)
iwlwifi driver in use, card associated via wpa_supplicant but not being
actively used
# iwconfig
wlan0 IEEE 802.11abg ESSID:"VT-Wireless"
Mode:Managed Frequency:2.447 GHz Access Point: 00:11:20:A4:4C:10
Bit Rate=54 Mb/s Tx-Power=15 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:<lopped out> [2]
Link Quality=62/70 Signal level=-48 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
# cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlan0: 0000 63. -47. -256 0 0 0 0 0 0
wlan1: 0000 0 0 0 0 0 0 0 0 0
wlan2: 0000 0 0 0 0 0 0 0 0 0
Where did that -256 for "noise" come from? It ends up confusing the
gkrellm-wifi plugin, it reports a S/N of 219dB ;)
On Wed, 2009-07-29 at 05:01 +0800, [email protected] wrote:
> Dell Latitude D820 laptop, lspci reports the network card as:
>
> 0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Netwo rk Connection (rev 02)
>
> iwlwifi driver in use, card associated via wpa_supplicant but not being
> actively used
>
> # iwconfig
> wlan0 IEEE 802.11abg ESSID:"VT-Wireless"
> Mode:Managed Frequency:2.447 GHz Access Point: 00:11:20:A4:4C:10
> Bit Rate=54 Mb/s Tx-Power=15 dBm
> Retry long limit:7 RTS thr:off Fragment thr:off
> Encryption key:<lopped out> [2]
> Link Quality=62/70 Signal level=-48 dBm
> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
> Tx excessive retries:0 Invalid misc:0 Missed beacon:0
> # cat /proc/net/wireless
> Inter-| sta-| Quality | Discarded packets | Missed | WE
> face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
> wlan0: 0000 63. -47. -256 0 0 0 0 0 0
> wlan1: 0000 0 0 0 0 0 0 0 0 0
> wlan2: 0000 0 0 0 0 0 0 0 0 0
>
> Where did that -256 for "noise" come from? It ends up confusing the
> gkrellm-wifi plugin, it reports a S/N of 219dB ;)
This should be related to http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=fdb897ea5c77836f890033d563336ab0c94c9222
But I don't think this is an ABI broken. User space should parse the
trailing '.' to see if a field is updated or not because there are cards
not capable to report hardware noise level anyway. Johannes?
Thanks,
-yi
On Wed, 2009-07-29 at 09:31 +0800, Zhu Yi wrote:
> > # cat /proc/net/wireless
> > Inter-| sta-| Quality | Discarded packets | Missed | WE
> > face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
> > wlan0: 0000 63. -47. -256 0 0 0 0 0 0
> > wlan1: 0000 0 0 0 0 0 0 0 0 0
> > wlan2: 0000 0 0 0 0 0 0 0 0 0
> >
> > Where did that -256 for "noise" come from? It ends up confusing the
> > gkrellm-wifi plugin, it reports a S/N of 219dB ;)
>
> This should be related to http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=fdb897ea5c77836f890033d563336ab0c94c9222
>
> But I don't think this is an ABI broken. User space should parse the
> trailing '.' to see if a field is updated or not because there are cards
> not capable to report hardware noise level anyway. Johannes?
So I had to look at the code to figure out wtf is going on.
Then the value shown is calculated as:
((__s32) stats->qual.noise) - ((stats->qual.updated & IW_QUAL_DBM) ? 0x100 : 0)
and since we have dBm for the signal strength (and dBm is "all or
nothing") you get -256 since we don't fill noise right now.
However, it goes on like this:
stats->qual.updated & IW_QUAL_NOISE_UPDATED ? '.' : ' '
so you're right -- the tool shouldn't be using the value unless followed
by a dot (".").
Thus, your analysis is correct as far as I can tell -- it's a userspace
bug and your userspace just happened to work correctly with this card,
but would have been broken with almost all other wireless cards.
johannes