What's new

Get Link Rate?

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

JGrana

Very Senior Member
When running Asuswrt-melin in Media Bridge mode, the GUI displays the link rate between it and it's connected AP.

I have an issue that over time my link rate degrades - typically starting around 3800Mbps and at some point - sometimes a few days, it will drop to ~400Mbps.
I have @Adamm 's channelhog installed but it always shows I am connected at 160Mhz channel width.
When I restart wifi (via scMerlin) it will return to 3800Mbps.
In looking at channelhogs code, it looks easy enough to add and "or" statement to look for link rate below a number.

I can't seem to find a way via CLI to get the present link rate...
Anyone have some insight?
 
I already cry “uncle”. The web of Broadcom obfuscation defeats me.

Next volunteer?
 
assuming the AP counts as a STA, on the router you could try:
Code:
wl -i eth6 sta_info AP:MAC:ADDR
and look on the rate of last tx/rx pkt line
replace eth6 with the interface of the wifi radio
might help?
 
assuming the AP counts as a STA, on the router you could try:
Code:
wl -i eth6 sta_info AP:MAC:ADDR
and look on the rate of last tx/rx pkt line
replace eth6 with the interface of the wifi radio
might help?
That did it! Thanks!
 
An I agree with @dave14305 - just type wl cmds in the cli. Amazing whats in that little binary.

BTW, the mac address you need to feed wl sta_info is the remote AP mac (BSSID) address. Not eth6.
Took me a few times to figure that out.
Luckily I didn't brick any of the radios trying various wl commands. But I can see how easily you can. Not for the faint of hearts!

BTW, here is a start to a small script that will (at some point) reset the radios when the receive rate drops too low:

Code:
#!/bin/sh
# checkrate - check receive rate of a Media Bridge and restart radio if it drops too low

targetrate="3000000"

port5ghz="$(ifconfig | grep -F "$(nvram get wl1_hwaddr)" | awk '{if (NR==1) {print $1}}')"
currentbandwidth="$(wl -i "$port5ghz" assoc | grep -F "Chanspec" | awk '{print $5}')"
printf "Current radio width %s\n" $currentbandwidth
bssid="$(wl -i "$port5ghz" assoc | grep -F "BSSID" | awk '{print $2}')"
printf "Remote BSSID %s\n" $bssid
currentrate="$(wl -i "$port5ghz" sta_info $bssid | grep 'rate of last rx pkt:' | awk '{print $6}')"
if [ "$currentrate" -lt "$targetrate" ]; then
        printf "Current rate (%d) below target rate (%d), should reset radios\n" $currentrate $targetrate
        logger -t checkrates "Rate was below target"
else
        printf "Rate within bounds: %d\n" $currentrate
fi
 
An I agree with @dave14305 - just type wl cmds in the cli. Amazing whats in that little binary.

BTW, the mac address you need to feed wl sta_info is the remote AP mac (BSSID) address. Not eth6.
Took me a few times to figure that out.
Luckily I didn't brick any of the radios trying various wl commands. But I can see how easily you can. Not for the faint of hearts!

BTW, here is a start to a small script that will (at some point) reset the radios when the receive rate drops too low:

Code:
#!/bin/sh
# checkrate - check receive rate of a Media Bridge and restart radio if it drops too low

targetrate="3000000"

port5ghz="$(ifconfig | grep -F "$(nvram get wl1_hwaddr)" | awk '{if (NR==1) {print $1}}')"
currentbandwidth="$(wl -i "$port5ghz" assoc | grep -F "Chanspec" | awk '{print $5}')"
printf "Current radio width %s\n" $currentbandwidth
bssid="$(wl -i "$port5ghz" assoc | grep -F "BSSID" | awk '{print $2}')"
printf "Remote BSSID %s\n" $bssid
currentrate="$(wl -i "$port5ghz" sta_info $bssid | grep 'rate of last rx pkt:' | awk '{print $6}')"
if [ "$currentrate" -lt "$targetrate" ]; then
        printf "Current rate (%d) below target rate (%d), should reset radios\n" $currentrate $targetrate
        logger -t checkrates "Rate was below target"
else
        printf "Rate within bounds: %d\n" $currentrate
fi
i did put AP:MAC:ADDR ;-)
i could have been clearer about the eth6 being wifi radio used on router to talk to AP
and yes, wl is great. YazFi leverages it in the next version to print a lot of nice info about connected clients
 
i did put AP:MAC:ADDR ;-)
i could have been clearer about the eth6 being wifi radio used on router to talk to AP
and yes, wl is great. YazFi leverages it in the next version to print a lot of nice info about connected clients
Missed the "AP" ;-)
Thanks again for the pointer - saved me lots of time and likely my router! (wl can be dangerous!!!)
 
An I agree with @dave14305 - just type wl cmds in the cli. Amazing whats in that little binary.

BTW, the mac address you need to feed wl sta_info is the remote AP mac (BSSID) address. Not eth6.
Took me a few times to figure that out.
Luckily I didn't brick any of the radios trying various wl commands. But I can see how easily you can. Not for the faint of hearts!

BTW, here is a start to a small script that will (at some point) reset the radios when the receive rate drops too low:

Code:
#!/bin/sh
# checkrate - check receive rate of a Media Bridge and restart radio if it drops too low

targetrate="3000000"

port5ghz="$(ifconfig | grep -F "$(nvram get wl1_hwaddr)" | awk '{if (NR==1) {print $1}}')"
currentbandwidth="$(wl -i "$port5ghz" assoc | grep -F "Chanspec" | awk '{print $5}')"
printf "Current radio width %s\n" $currentbandwidth
bssid="$(wl -i "$port5ghz" assoc | grep -F "BSSID" | awk '{print $2}')"
printf "Remote BSSID %s\n" $bssid
currentrate="$(wl -i "$port5ghz" sta_info $bssid | grep 'rate of last rx pkt:' | awk '{print $6}')"
if [ "$currentrate" -lt "$targetrate" ]; then
        printf "Current rate (%d) below target rate (%d), should reset radios\n" $currentrate $targetrate
        logger -t checkrates "Rate was below target"
else
        printf "Rate within bounds: %d\n" $currentrate
fi

Were you able to implement this solution? I have the same problem in Repeater mode. Over time my Link Rate degrades until it becomes unusable.

I poured over the logs but can't find a cause for it. I was hoping you could share the final version of your script, if you did implement it -- Thanks!
 
Sorry, I never turned it into a proper addon. I did add some debug and some commands to reset the radio. I checked this out this morning and it still works on my AX58U running in Media Mode.
I ended up using Channelhog (from @Adamm ) and it seems to keep my link happy.
I had intended to fork Channelhog and add this Rx rate routine so it monitors both Channel Width and the measured Rx rate. If either falls below a threshold, do the radio reset and send an email.

You could either try ChannelHog or this short, non-email version.

If you use the script below, copy and paste into a file (i.e. checkrate.sh) in jffs/scripts.
I would first do a few runs with the debug flag set to 1 to:

1) Make sure it finds the correct 5Ghz radio device (in my case, eth6)
2) Get a few baseline readings on the RxRate it's getting from the main router.

Then adjust targetrate to the lowest you want it to be before it resets the WiFi radio.

Once happy, have it run every hour or so:

cru a checkrate "5 * * * /jffs/scripts/checkrate.sh"

Also add the above line to /jffs/scripts/services-start to have it set the cron job after any boot.


Code:
#!/bin/sh
# checkrate - check receive rate of a Media Bridge and restart radio if it drops too low

# set debug=1 to have lots of debugging output
# normally should be 0 if running with cron/cru
debug="0"

# set to your lowest Rx rate.
targetrate="3000000"

# figure out correct radio device and check rate

port5ghz="$(ifconfig | grep -F "$(nvram get wl1_hwaddr)" | awk '{if (NR==1) {print $1}}')"
currentbandwidth="$(wl -i "$port5ghz" assoc | grep -F "Chanspec" | awk '{print $5}')"
bssid="$(wl -i "$port5ghz" assoc | grep -F "BSSID" | awk '{print $2}')"
currentrate="$(wl -i "$port5ghz" sta_info $bssid | grep 'rate of last rx pkt:' | awk '{print $6}')"
if [ "$debug" == "1" ]; then
    printf "Current radio device %s\n" "$port5ghz"
    printf "Current radio width %s\n" "$currentbandwidth"
    printf "Remote BSSID %s\n" "$bssid"
    printf "Current Rx Rate %s\n" "$currentrate"
# wl is quite verbose. Uncomment if you want all the dirt
#    wl -i "$port5ghz" sta_info "$bssid"
fi
if [ "$currentrate" -lt "$targetrate" ]; then  ## rate was below target, reset the radio
    if [ "$debug" == "1" ]; then
             printf "Current rate (%d) below target rate (%d), resetting radio %s\n" "$currentrate" "$targetrate" "$port5ghz"
    fi
    wl -i "$port5ghz" down
    sleep 1
    wl -i "$port5ghz" up
        logger -t checkrate "Current rate (%d) below target rate (%d), reset radio %s\n" "$currentrate" "$targetrate" "$port5ghz"
else                                           ## Rx Rate was good
    if [ "$debug" == "1" ]; then
            printf "Radio %s rate within bounds: %d\n" "$port5ghz" "$currentrate"
    fi
        logger -t checkrate "Rx Rate was good"
fi

Good luck.
 
Sorry, I never turned it into a proper addon. I did add some debug and some commands to reset the radio. I checked this out this morning and it still works on my AX58U running in Media Mode.
I ended up using Channelhog (from @Adamm ) and it seems to keep my link happy.
I had intended to fork Channelhog and add this Rx rate routine so it monitors both Channel Width and the measured Rx rate. If either falls below a threshold, do the radio reset and send an email.

You could either try ChannelHog or this short, non-email version.

If you use the script below, copy and paste into a file (i.e. checkrate.sh) in jffs/scripts.
I would first do a few runs with the debug flag set to 1 to:

1) Make sure it finds the correct 5Ghz radio device (in my case, eth6)
2) Get a few baseline readings on the RxRate it's getting from the main router.

Then adjust targetrate to the lowest you want it to be before it resets the WiFi radio.

Once happy, have it run every hour or so:

cru a checkrate "5 * * * /jffs/scripts/checkrate.sh"

Also add the above line to /jffs/scripts/services-start to have it set the cron job after any boot.


Code:
#!/bin/sh
# checkrate - check receive rate of a Media Bridge and restart radio if it drops too low

# set debug=1 to have lots of debugging output
# normally should be 0 if running with cron/cru
debug="0"

# set to your lowest Rx rate.
targetrate="3000000"

# figure out correct radio device and check rate

port5ghz="$(ifconfig | grep -F "$(nvram get wl1_hwaddr)" | awk '{if (NR==1) {print $1}}')"
currentbandwidth="$(wl -i "$port5ghz" assoc | grep -F "Chanspec" | awk '{print $5}')"
bssid="$(wl -i "$port5ghz" assoc | grep -F "BSSID" | awk '{print $2}')"
currentrate="$(wl -i "$port5ghz" sta_info $bssid | grep 'rate of last rx pkt:' | awk '{print $6}')"
if [ "$debug" == "1" ]; then
    printf "Current radio device %s\n" "$port5ghz"
    printf "Current radio width %s\n" "$currentbandwidth"
    printf "Remote BSSID %s\n" "$bssid"
    printf "Current Rx Rate %s\n" "$currentrate"
# wl is quite verbose. Uncomment if you want all the dirt
#    wl -i "$port5ghz" sta_info "$bssid"
fi
if [ "$currentrate" -lt "$targetrate" ]; then  ## rate was below target, reset the radio
    if [ "$debug" == "1" ]; then
             printf "Current rate (%d) below target rate (%d), resetting radio %s\n" "$currentrate" "$targetrate" "$port5ghz"
    fi
    wl -i "$port5ghz" down
    sleep 1
    wl -i "$port5ghz" up
        logger -t checkrate "Current rate (%d) below target rate (%d), reset radio %s\n" "$currentrate" "$targetrate" "$port5ghz"
else                                           ## Rx Rate was good
    if [ "$debug" == "1" ]; then
            printf "Radio %s rate within bounds: %d\n" "$port5ghz" "$currentrate"
    fi
        logger -t checkrate "Rx Rate was good"
fi

Good luck.
Thank you so much for this! I will give it a try this weekend.

I have an RT-AX86U as my main router, with an RT-AC68U set up in Repeater mode. They are connected via 2.4GHz, and the link rate is somewhere between 150Mbps and 200Mbps with RSSI around -65 when the connection is first established, which is plenty good for my use-case. Then, for reasons I have not been able to pin down, the RSSI will drop to -90, and the link rate of course goes down the drain with it. It seems to happen unpredictably every 24-48hrs, and the logs don't seem to show anything out of the ordinary.

When I force the connection to reset, either by turning either routers' radio off and back on, or by restarting either router, the link rate comes right back up.

I read about the RT-AC68U having issues in media bridge mode on other posts, and ironically switching to repeater mode was the recommended solution that worked for some, but that is where I am encountering this problem.

Just figured I'd share my experience in case others have run into similar issues. In any case, thanks again for taking the time to share your script, I'll test it out!
 
I am using an AX88U as the router and an AX58U as the Media Bridge - connected over the 5Ghz band.
You will have to change all the occurrences of “wl1_hwaddr” to “wl0_hwaddr” to get the information from the 2.4 Ghz radio. Change the “targetrate” to something like 1200000 and enable debug.
Run it a few times with targetrate real low (like 100) to make sure it’s getting correct information before you set it to a reasonable value. Should work!
 
I am using an AX88U as the router and an AX58U as the Media Bridge - connected over the 5Ghz band.
You will have to change all the occurrences of “wl1_hwaddr” to “wl0_hwaddr” to get the information from the 2.4 Ghz radio. Change the “targetrate” to something like 1200000 and enable debug.
Run it a few times with targetrate real low (like 100) to make sure it’s getting correct information before you set it to a reasonable value. Should work!
Just wanted to follow up and say that the script works as intended - thanks again!

I modified it slightly to also log the RSSI. I set it to run every 15 minutes to try to pin down when the signal degrades and maybe figure out why that happens.

the signal degraded between 00:45 and 01:00. Then, I had the router reboot on a schedule at 05:00, which reset the connection. However, the signal dropped again between 06:45 and 7:00.

There are no relevant entries in the main router between those times, other than allowing the repeater to rejoin after rebooting at 05:00.

Any idea what could be causing this? The router and repeater were sitting next to each other all night, so I don't think it's an environmental factor. They are connected on 2.4GHz over 20MHz on a fixed channel with a static IP assigned by the main router.

At this point, I'm wondering if the AC68U hardware is simply failing. I've been running into issues with it when Merlin is installed as opposed to the stock firmware where I'm not able to log into it at all, whether from the web GUI or via SSH. Even when trying to set up the script, I had to factory reset it a couple of times, because after installing the scripts and rebooting, it would not allow me to even log in (web GUI would time out, and SSH would as well).

In any case, thanks again for your help, JGrana - I learned quite a bit from your script!

Jun 5 00:00:00 checkrate: Rate within bounds ( 216667 vs min 50000 ) last RSSI -64 average RSSI -61
Jun 5 00:15:00 checkrate: Rate within bounds ( 195000 vs min 50000 ) last RSSI -61 average RSSI -60
Jun 5 00:30:00 checkrate: Rate within bounds ( 192500 vs min 50000 ) last RSSI -60 average RSSI -59
Jun 5 00:45:00 checkrate: Rate within bounds ( 173250 vs min 50000 ) last RSSI -60 average RSSI -60
Jun 5 01:00:00 checkrate: Rate within bounds ( 58500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 01:15:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 01:30:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 01:45:00 checkrate: Rate within bounds ( 78000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 02:00:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 02:15:00 checkrate: Rate within bounds ( 78000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 02:30:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 02:45:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 03:00:00 checkrate: Rate within bounds ( 96111 vs min 50000 ) last RSSI -99 average RSSI -101
Jun 5 03:15:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI -99 average RSSI -101
Jun 5 03:30:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 03:45:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 04:00:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 04:15:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 04:30:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI -99 average RSSI -102
Jun 5 04:45:00 checkrate: Rate within bounds ( 96111 vs min 50000 ) last RSSI -99 average RSSI -101
Jun 5 05:00:00 reboot_scheduler: [timecheck] The system is going down for reboot
[... reboot entries...]
Jun 5 06:30:00 checkrate: Rate within bounds ( 195000 vs min 50000 ) last RSSI -61 average RSSI -60
Jun 5 06:45:00 checkrate: Rate within bounds ( 216667 vs min 50000 ) last RSSI -61 average RSSI -60
Jun 5 07:00:00 checkrate: Rate within bounds ( 96111 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 07:15:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 07:30:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 07:45:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 08:00:00 checkrate: Rate within bounds ( 78000 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 08:15:00 checkrate: Rate within bounds ( 86500 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 08:30:00 checkrate: Rate within bounds ( 86667 vs min 50000 ) last RSSI 0 average RSSI 0
Jun 5 08:45:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI -99 average RSSI -113
Jun 5 09:00:00 checkrate: Rate within bounds ( 65000 vs min 50000 ) last RSSI -99 average RSSI -101
Jun 5 09:15:00 checkrate: Rate within bounds ( 96111 vs min 50000 ) last RSSI -99 average RSSI -101
 
Thanks, glad it worked (or at least is helping troubleshoot!).
From what I have read, an RSSI greater than ~ -70dB is not good. I see many 0 RSSI - that would indeed say the devices are pretty much next to each other.
When I first saw you mention it happened in the morning (6:45AM) I thought maybe some interference on the 2.4Ghz channel - like a microwave or electrical noisy motor (vacuum cleaner, etc.)

But unless you had the microwave on at 1AM, likely not it.
Also thought of heat. Maybe put a fan blowing on the AC68U for a day or two. If so, could be a hardware degradation...

On the router (AX86U) what are the settings on Wireless->Professional tab? Take a screen shot.

BTW, clever idea to read the RSSI and print that info, I will likely add that to my script.
Also, the "wl" command is very powerful - and has 100's of subcommands. Many require a PhD in RF Engineering! It's also a dangerous command - use with caution.
 
Last edited:
BTW, you can also get to the Wireless-Professional tab on the AC68U if it doesn't show up in the GUI.

Login to the Web on the AC68U, then paste this as the destination:

Advanced_WAdvanced_Content.asp

i.e 192.168.1.X/Advanced_WAdvanced_Content.asp
 
Thanks, glad it worked (or at least is helping troubleshoot!).
From what I have read, an RSSI greater than ~ -70dB is not good. I see many 0 RSSI - that would indeed say the devices are pretty much next to each other.
When I first saw you mention it happened in the morning (6:45AM) I thought maybe some interference on the 2.4Ghz channel - like a microwave or electrical noisy motor (vacuum cleaner, etc.)

But unless you had the microwave on at 1AM, likely not it.
Also thought of heat. Maybe put a fan blowing on the AC68U for a day or two. If so, could be a hardware degradation...

On the router (AX86U) what are the settings on Wireless->Professional tab? Take a screen shot.

BTW, clever idea to read the RSSI and print that info, I will likely add that to my script.
Also, the "wl" command is very powerful - and has 100's of subcommands. Many require a PhD in RF Engineering! It's also a dangerous command - use with caution.

Yes, I think the reading of 0 RSSI is not accurate, and might be an indication that something is wrong - perhaps from a hardware perspective. When I had the router and repeater next to each other, I would get something like between -30 and -45 RSSI, which I think is as good (and a real reading) as it can get for wireless devices connected to one another. It's probably no coincidence that I get that reading right when the link rate degrades.

Funny you mention heat as a possible issue, because before trying the script, I thought of the same thing and added a couple fans behind the AC68U... unfortunately that was not the issue.

I attached the screenshot of the Wireless Professional Tab settings of the AX86U. The one for the AC68U only shows "Band" and "Roaming Assistant" (which is disabled)

Here is the slight edit to your code if you want to add the RSSI reading - I'm sure it's a piece of cake for you to add, but if it saves you time... I think you might need to change print $11 to print $10 or print $9 for the 5GHz reading. I get four readings on those lines, so I'm not certain which is which, other than 11 being the 2.4GHz, based on comparing the reading with the one in the GUI.

Code:
#!/bin/sh
# checkrate - check receive rate of a Media Bridge and restart radio if it drops too low

# set debug=1 to have lots of debugging output
# normally should be 0 if running with cron/cru
debug="0"

# set to your lowest Rx rate.
targetrate="50000"

# figure out correct radio device and check rate

port24ghz="$(ifconfig | grep -F "$(nvram get wl0_hwaddr)" | awk '{if (NR==1) {print $1}}')"
currentbandwidth="$(wl -i "$port24ghz" assoc | grep -F "Chanspec" | awk '{print $5}')"
bssid="$(wl -i "$port24ghz" assoc | grep -F "BSSID" | awk '{print $2}')"
currentrate="$(wl -i "$port24ghz" sta_info $bssid | grep 'rate of last rx pkt:' | awk '{print $6}')"
lastframeRSSI="$(wl -i "$port24ghz" sta_info $bssid | grep 'per antenna rssi of last rx data frame:' | awk '{print $11}')"
averageRSSI="$(wl -i "$port24ghz" sta_info $bssid | grep 'per antenna average rssi of rx data frames:' | awk '{print $11}')"
if [ "$debug" == "1" ]; then
    printf "Current radio device %s\n" "$port24ghz"
    printf "Current radio width %s\n" "$currentbandwidth"
    printf "Remote BSSID %s\n" "$bssid"
    printf "Current Rx Rate %s\n" "$currentrate"
# wl is quite verbose. Uncomment if you want all the dirt
    # wl -i "$port24ghz" sta_info "$bssid"
fi
if [ "$currentrate" -lt "$targetrate" ]; then  ## rate was below target, reset the radio
    if [ "$debug" == "1" ]; then
             printf "Current rate (%d) below target rate (%d), resetting radio %s\n" "$currentrate" "$targetrate" "$port24ghz"
             printf "last RSSI: %d average RSSI: %d\n" "$lastframeRSSI" "$averageRSSI"
    fi
    wl -i "$port24ghz" down
    sleep 1
    wl -i "$port24ghz" up
        logger -t checkrate -- "Current rate (" "$currentrate" ") below target (" "$targetrate" "), last RSSI" "$lastframeRSSI" "average RSSI" "$averageRSSI" "reset radio" "$port24ghz"

else                                           ## Rx Rate was good
    if [ "$debug" == "1" ]; then
            printf "Radio %s rate within bounds: %d\nlast RSSI: %d average RSSI: %d\n" "$port24ghz" "$currentrate" "$lastframeRSSI" "$averageRSSI"
    fi
        logger -t checkrate -- "Rate within bounds (" "$currentrate" "vs min" "$targetrate" ") last RSSI" "$lastframeRSSI" "average RSSI" "$averageRSSI"
        
fi
 

Attachments

  • Wireless Pro.JPG
    Wireless Pro.JPG
    63.3 KB · Views: 42
Nice mods to the script! Thanks.

For the heck of it, disable both Explicit and Universal beam forming.

See how that goes.
 
BTW, yes I agree the 0 readings for RSSI might be an indicator of a hardware problem. -30 to -40 is excellent.
I made a quick script to have my AX58U (Media Mode) read the RSSI from an AX88U router every 30 seconds. Ran it a few hours.
The RSSI reading was consistently between -38 and 41 dBm.

Maybe you should look at the entire Mode line wl assoc presents. It also shows SNR and Noise.
As a reference, here is what mine looks like:

Code:
Mode: Managed   RSSI: -40 dBm   SNR: 35 dB      noise: -78 dBm  Flags: RSSI on-channel  Channel: 36/160

I used this line:

Code:
wl -i eth6 assoc | grep Mode:

Your device (eth6) might be different.
 

Similar threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top