uoaerg / wavemon

wavemon is an ncurses-based monitoring application for wireless network devices on Linux.
GNU General Public License v3.0
935 stars 70 forks source link

wavemon gives inconsistant signal level values #47

Closed douardda closed 6 years ago

douardda commented 6 years ago

I'm using an Intel 9260NGW in a Dell XPS 13 (9360) using Debian stretch.

Wavemon reports inconsistent values for signal level and link quality:

signal level is typically reported as 70/72dBm (yes, +70dBm) with a link quality stuck at 100%. Note that on the same system, iwconfig report reasonable values:

wlp58s0 IEEE 802.11 ESSID:"xxx"
Mode:Managed Frequency:5.2 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=48 Mb/s Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on Link Quality=46/70 Signal level=-64 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:389 Missed beacon:0

Note sure wether it is a bug in wavemon itself or a third party lib like libnl...

Thank you, David

grrtrr commented 6 years ago

Thanks for reporting. It looks like this is new hardware. To find out whether this is a driver or userland issue, could I get you to provide a few more details, please.

If you see iw reporting the same nonsensical levels, it more likely is a driver problem. We just had a recent issue where the driver reported 0dBm (but not +70), and then fixed in 0.8.2.

douardda commented 6 years ago

Hi,

the package shipped with Debian stretch is 0.8.1, but I tried with the latest version compiled from the git repo. Also not I'm using a kernel 4.14.17.

sudo iw dev wlp58s0 station dump
Station xx:xx:xx:xx:xx:xx (on wlp58s0)
    inactive time:  79368 ms
    rx bytes:   420225
    rx packets: 4617
    tx bytes:   15265
    tx packets: 67
    tx retries: 7
    tx failed:  0
    beacon loss:    146
    beacon rx:  21036
    rx drop misc:   0
    signal:     -74 dBm
    signal avg: 72 dBm
    beacon signal avg:  184 dBm
    tx bitrate: 1.0 MBit/s
    rx bitrate: 36.0 MBit/s
    authorized: yes
    authenticated:  yes
    associated: yes
    preamble:   long
    WMM/WME:    no
    MFP:        no
    TDLS peer:  no
    DTIM period:    1
    beacon interval:100
    short preamble: yes
    connected time: 2325 seconds

sudo iw dev wlp58s0 link
Connected to xx:xx:xx:xx:xx:xx (on wlp58s0)
    SSID: xxx
    freq: 2437
    RX: 421335 bytes (4633 packets)
    TX: 15265 bytes (67 packets)
    signal: -72 dBm
    tx bitrate: 1.0 MBit/s

    bss flags:  short-preamble
    dtim period:    1
    beacon int: 100

Indeed, signal avg and beacon signal avg are not exactly the correct scale...

grrtrr commented 6 years ago

Thank you for following up. As far as I remember, the print-out reflects directly the values returned via libnl from the kernel internals; which means that the driver has a bug. It would be good to inform people from linux-wireless and/or the driver maintainer.

If you can give me until next weekend, I can look into finding a work-around in order to sanity-check non-sensical values (similar to the 0dB problem referred to earlier).

grrtrr commented 6 years ago

Hi, I have added a work-around for this situation.

Can you please,

Thanks in advance.

grrtrr commented 6 years ago

@douardda - did you have time to look into this?

douardda commented 6 years ago

Not yet, sorry. I'll try this evening and report the results, thank you.

douardda commented 6 years ago

Just tried the current head (bd7e9701b4f8a6930b35d5ff052fda94a24e2b97) and wavemon now shows me acceptable values, thanks a lot.

FTR, my kernel is 4.15.11-1~bpo9+1 (from debian stretch-backports).

@grrtrr thanks again

grrtrr commented 6 years ago

Thank you for taking the time to confirm. I will add this fix to the changelog and post the details of this issue on the linux-wireless list, for them to take a look at the kernel module.