R7500V2 Wifi Speed Issue

I recently acquired an r7500v2. I have installed OpenWRT on it and everything seems to work fine except radio0 (5Ghz). I have a need for a high-speed link as there are some DLNA and FTP servers running in the LAN that, I often access to put files on it or pull from it. Files are in order of GBs so slow speed on 5GHz is kind of a turn-off for such a good device.

There is also a catch here when I connect to it from a pc running Intel AX210 on 149Ch and 80MHz channel width I get 866Mbps link speed that is expected, all good here. But when I connect to it from a mobile device I get 433Mbps :> That is the problem as when I connect this same mobile device to a hotspot created from my PC running Intel Ax210 I get full 866Mbps speed. So imo it is not that my mobile supports a single stream and the router is also not defective. I have also tried this with another mobile device, same issue.

What I have tried:

  • Trying various channels and channel widths.
  • Trying moving away and close to the router.
  • Using snapshot build 20. something.
    Currently, I am on Kong's 19.07 build.

Here are my configurations

root@Pacman:~# **vi /etc/config/wireless**
config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option country 'AU'
        option cell_density '3'
        option channel '149'
        option htmode 'VHT80'
        option disabled '0'

root@Pacman:~# **iw dev wlan0 station dump**
        rx bytes:       139538
        rx packets:     1352
        tx bytes:       178225
        tx packets:     526
        tx retries:     0
        tx failed:      26
        rx drop misc:   1
        signal:         -90 [-95, -98, -96, -95] dBm
        signal avg:     -88 [-96, -97, -92, -93] dBm
        tx bitrate:     6.0 MBit/s
        rx bitrate:     6.0 MBit/s
        rx duration:    0 us
        last ack signal:-95 dBm
        authorized:     yes
        authenticated:  yes
        associated:     yes
        preamble:       short
        WMM/WME:        yes
        MFP:            no
        TDLS peer:      no
        DTIM period:    2
        beacon interval:100
        short preamble: yes
        short slot time:yes
        connected time: 583 seconds

What's the channel bandwidth when you use the soft-AP on your ax210 system?

I'd venture that the ax210 might do 160 MHz channel bandwidth, with the cell phone only doing 1x1 instead of 2x2 on 80 MHz with the r7500v2.

What's the channel bandwidth when you use the soft-AP on your ax210 system?

ax210 is at channel 149 same as the r7500v2 and bandwidth is 20Mhz.

I'd venture that the ax210 might do 160 MHz channel bandwidth

It is capable of doing that but none of the recent OSs support it in softap mode.

with the cell phone only doing 1x1 instead of 2x2 on 80 MHz with the r7500v2.

I doubt that as it is a classic s7 edge and I don't think 160Mhz was a thing back in 2016. Phone as per my research, supports 2x2 data streams on 20, 40, and 80Mhz in 5Ghz band.

FWIW, i'm pretty sure i've seen 866 link speeds between my r7500v2 (ath10k-ct-htt-full firmware, kernel 5.4 and 5.10 builds from master) and apple mobile devices (a 7 and a 10) on 5GHz ch 36 (I can't verify that atm as those devices are not present).

Since you can get that link speed from a laptop but not with an android device, I'm thinking this is device/android related and you may have to look there despite the fact the android device will connect to your laptop at higher link speeds. Check if there is some wifi power saving feature enabled in settings and force any you find to off (my android devices are inexpensive and don't have the capability for those link speeds so I'd be of little help beyond this).

If your curious, from the cli on the r7500v2, you can poke around in

/sys/kernel/debug/ieee80211/phy0/netdev:wlan0/stations/*/

to examine what the r7500v2 knows about the stations connected to it on 5GHz.

In particular on my r7500v2, I currently have 3 devices connected on 5 GHz and:

r7500v2 # cat /sys/kernel/debug/ieee80211/phy0/netdev:wlan0/stations/*/vht_capa
VHT supported
cap: 0x0f815832
                MAX-MPDU-11454
                80Mhz
                RXLDPC
                SHORT-GI-80
                RXSTBC_0
                SU-BEAMFORMER-CAPABLE
                SU-BEAMFORMEE-CAPABLE
                BEAMFORMEE-STS: 0x2
                SOUNDING-DIMENSIONS: 0x1
                MPDU-LENGTH-EXPONENT: 0x7
                LINK-ADAPTATION-VHT-UNSOL-MFB
                LINK-ADAPTATION-VHT-MRQ-MFB: 0x3
RX MCS: fffa
TX MCS: fffa
VHT not supported
VHT not supported

two do not support VHT...

If you compare your two devices you might get some clues about where to look next.

There are some settings to tweek with hostapd (example here) but I've never observed a benefit of using these.

HTH.

EDIT, the iphone 10 just connected on 5 GHz ch 36 at 866 (tx) mbits/s.
it's VHT capabilites as reported by the r7500v2 are:

r7500v2 # cat /sys/kernel/debug/ieee80211/phy0/netdev:wlan0/stations/*/vht_capa
VHT supported
cap: 0x0f817032
                MAX-MPDU-11454
                80Mhz
                RXLDPC
                SHORT-GI-80
                RXSTBC_0
                SU-BEAMFORMEE-CAPABLE
                BEAMFORMEE-STS: 0x3
                SOUNDING-DIMENSIONS: 0x1
                MPDU-LENGTH-EXPONENT: 0x7
                LINK-ADAPTATION-VHT-UNSOL-MFB
                LINK-ADAPTATION-VHT-MRQ-MFB: 0x3
RX MCS: fffa
TX MCS: fffa

Something you can compare with.

HTH

Thank You for your response!
Here I ran the command and the following data popped up. Now from what I can tell it has something to do with the phone (the first result) as it is missing SU-BEAMFORMEE-CAPABLE. The second one is from another mobile that has some changes but the speed is still at 433Mbps while the third one is my IntelAX210 machine. It has more vht_capa and its speed is also listed at the bottom.

root@Pacman:~# cat /sys/kernel/debug/ieee80211/phy0/netdev:\wlan0/stations/*/vht_capa
VHT supported
cap: 0x0f901032
                MAX-MPDU-11454
                80Mhz
                RXLDPC
                SHORT-GI-80
                RXSTBC_0
                SU-BEAMFORMEE-CAPABLE
                BEAMFORMEE-STS: 0x0
                SOUNDING-DIMENSIONS: 0x0
                MU-BEAMFORMEE-CAPABLE
                MPDU-LENGTH-EXPONENT: 0x7
                LINK-ADAPTATION-VHT-UNSOL-MFB
                LINK-ADAPTATION-VHT-MRQ-MFB: 0x3
RX MCS: fffa
TX MCS: fffa
VHT supported
cap: 0x03907130
                MAX-MPDU-3895
                80Mhz
                RXLDPC
                SHORT-GI-80
                RXSTBC_1
                SU-BEAMFORMEE-CAPABLE
                BEAMFORMEE-STS: 0x3
                SOUNDING-DIMENSIONS: 0x0
                MU-BEAMFORMEE-CAPABLE
                MPDU-LENGTH-EXPONENT: 0x7
                LINK-ADAPTATION-VHT-MRQ-MFB: 0x0
RX MCS: fffe
TX MCS: fffe
VHT supported
cap: 0x039179b2
                MAX-MPDU-11454
                80Mhz
                RXLDPC
                SHORT-GI-80
                TXSTBC
                RXSTBC_1
                SU-BEAMFORMER-CAPABLE
                SU-BEAMFORMEE-CAPABLE
                BEAMFORMEE-STS: 0x3
                SOUNDING-DIMENSIONS: 0x1
                MU-BEAMFORMEE-CAPABLE
                MPDU-LENGTH-EXPONENT: 0x7
                LINK-ADAPTATION-VHT-MRQ-MFB: 0x0
RX MCS: fffa
TX MCS: fffa
MCS TX highest: 8192 Mbps

I also put all the capabilities in the *.cong file as per @ eduperez comment, the file is generated from */wireless so I don't think it is going to be very helpful. After every reboot, they will be generated from the source that does not support them. Nevertheless, I did it, and no change.

It's missing SU-BEAMFORMER-CAPABLE but that likely is not an issue. The iphone 10 also is not BEAMFORMER capable but can still connect at 866 mbps for tx as reported by the r7500v2. I'm not an expert on VHT or wifi radio but I'd guess that lack of beamformer capability would only affect the data rate for uploading from the s7 (i.e. the rx link bitrate reported on the r7500v2).

Before you go too far troubleshooting, I have seen device link speeds (both tx and rx) change up and down depending how much the device is being used. You can use a command like iw dev wlan0 station dump | grep bitrate on the r7500v2 from a ssh session to keep an eye on them.

If your up to it, using a program like iperf3 on your s7 to send/recieve data from a laptop (also running iperf3) connected to the lan of the r7500v2 by wire will give you a better feel for the actual data transfer rates up and down from the s7.

One thing that caught my attention is that all your devices support MU-BEAMFORMING. I've seen suggestions to disable MU beamforming on routers as it can cause slowdowns. I've never experienced any as I only have one device that is MU beamforming capabale and MU beamforming is only relevant when multiple clients and the router support it. That said, perhaps try connecting the s7 to the r7500v2 5GHz with no other devices on 5GHz while observing the reported link rate (or better an iperf3 test) from your laptop connected via to the r7500v2 lan (i.e. ethernet wire).

It's possible to disable MU beamforming on the r7500v2 (example here). There may be easier ways to do it but I haven't stumbled accross one yet. If MU beamforming is causing you issues, then trying the hostapd settings I mentioned in my post above might help.

Beyond this, I don't have ideas about why your observing slower link rates with your s7.

Good luck.

Yes, I tried iperf3, on my laptop, I get around 400Mbps which is what I expect as 866*0.5=433. However, on the phone, I get 200 ish.

As you suggested I tried disabling MU Beamforming and it didn't help. However, why not try some other firmware so I tried DD-WRT and stock, both seem to work ok but not OpenWRT.

Since you are using a "kong" build you can try posting a question here and see if @kong (as you likely are aware a former ddwrt dev) can give you some guidance. Keep it brief as cross posting on the forums is discouraged and it seems this in not specific to his build.

As it seems you are using the ath10k-ct driver/firmware, you can also try posting on the ath10k-ct github site (here). The dev there is responsive for driver/firmware crashes but less so for these type of issues.

Hope you find a resolution.

1 Like

Either Kong’s or my firmware should be able to get you max performance from your router. I have firmware with both the -ct and the ath10k drivers you can try (some clients like one over the other).

1 Like

Assuming you are referring the default openwrt non-ct ath10k firmware for the r7500v2, last time I checked, that has not been updated in more than five years. But it is a good idea to try it anyway as it may help in a bug report to the ct dev.

FWIW, I believe ddwrt is using a different and possibly newer non-ct ath10k firmware version than openwrt. I have not tried it, but it is possible to extract the ath10k firmware blob from the ddwrt image and attempt to use it with openwrt (either the ct or non ct driver). It may not work at all tho and updating would be a pain. Just using ddwrt is likely the better :wink: an easier option.

EDIT (apologies if its TMI) , the r7500v2 wifi is an "ath10k 9980" chipset which is different than the r7800. The last default openwrt ath10k 9980 "kavalo" firmware i checked has the version string "10.4.1.00030-1ww" Somewhere in the ddwrt forms there is a post indicating a new firmware for the r7500v2 is/was being used. I pulled the 20200910-r44340 image, extracted the firmware blob and its version string is "10.4-3.11.00023" I'm not sure if ddwrt is still using this version tho as I remember some r7500v2 wifi complaints in their forums after that. I have no idea where the ddwrt firmware came from and it does not look like it comes from any update from netgear (I checked when I wrote this post describing how to assemble a firmware blob from netgear updates). I haven't checked either netgear or ddwrt recently tho so perhaps they are using something different now.

1 Like

Extracting the driver and baking it into OpenWRT seems to be out of my current knowledge so yeah that is a no-go for me. DD-WRT is easier but I use some features like dynamic VLANs on wireless from a radius server hosted on the router itself. and a handful of others that I don't think dd-wrt would support. and I am used to OpenWRT and OpenWisp so dd-wrt seems alien to me, have tried a couple of times but hoped back in a day.

1 Like