Limited Speed at OpenWrt Access Point

Hi all!

I have an issue with my Access Points. I have 5 pieces of CISCO Meraki MR16 all running OpenWRT and connected by wire via switch to main OpenWRT router build on PC.

All Access points have their connection to internet speed limited to about 50Mb\s up and down. Masured on devices connected to AP as well as on AP itself (netperf) - no difference. 2.4Ghz and 5Ghz scores are the same.

Internet connection speed is symetrical 1Gb\s. All other devices connected to switch goes on full speed. Only Merakis have problem.

Any suggestions where to look?

If you set country to driver default and reboot the access point, does that make any change in wifi speed?

Thank you for your reply!

Unfortunately not.
Still the same score:

Download:  45.49 Mbps
   Upload:  46.52 Mbps
  Latency: [in msec, 61 pings, 0.00% packet loss]
      Min:  17.601
    10pct:  18.351
   Median:  19.527
      Avg:  20.260
    90pct:  22.334
      Max:  29.194
 CPU Load: [in % busy (avg +/- std dev), 58 samples]
     cpu0:  88.4 +/-  9.1
 Overhead: [in % used of total CPU available]
  netperf:  41.2

In my opinion it have nothing to do with radio as I run test directly on AP which is conected via wire to network and get same speed score.

Install ethtool via opkg and check your meraki to switch link.
If you have issues there you can use the same ethtool to force link speeds

Looks like you found an issue.

root@AP2:~# ethtool eth0 | grep Speed
        Speed: 100Mb/s

While Meraki specification says:

Interfaces
1x 100/1000Base-T Ethernet (RJ45) with 48V DC 802.3af PoE

Is it possible to configure eth0 speed? Or it's just about firmware that won't support it?

Eth speed is more about hardware and not firmware, both endpoints and cable must support the same speed.
If you have 100/1000 in one device and it chooses 100 then the other device or cable can’t handle more than 100.

But that alone doesn’t explain the speed around 50Mbps. It could be that it runs half-duplex instead of full duplex.

Can you bring one of the merakis directly to your switch and test with a patch cable that is known to support 1Gb/s, or check with another device at the ethernet wallplug usedby the merakis? Maybe the problem is in your wirings. If one of the cables is not correctly wired at the wallplug, then usually you only see 100Mbit/s instead of 1Gbit/s.

You can also try to force the speed. I've seen recentlyq devices that can't negotiate it correctly

ethtool -s <INTERFACE> speed <100|1000|10000> duplex <half|full> autoneg <on|off>

UPDATE:

I forced 1000Mb/s by ethtool as you said:

root@AP2:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

But still no luck...

 Download:  49.43 Mbps
   Upload:  53.90 Mbps
  Latency: [in msec, 61 pings, 0.00% packet loss]
      Min:  17.553
    10pct:  18.046
   Median:  18.961
      Avg:  19.156
    90pct:  20.252
      Max:  23.161
 CPU Load: [in % busy (avg +/- std dev), 58 samples]
     cpu0:  66.1 +/-  4.9
 Overhead: [in % used of total CPU available]
  netperf:  45.3
root@AP2:~#

Semms like ethtool was able to force 1Gb/s connection. Looks like wiring is fine?

I did one more thing. I changed firmware into newest that LuCi let me flash:

Model:
Meraki MR16
Platforma:
ar71xx/generic
Wersja:
19.07.8 (r11364-ef56c85848)
Data:
2021-08-02 00:39:59

No difference at 2.4Ghz but i get around 70 Mb/s on 5Ghz. Netperf directly on AP still gives the same results...

Can’t you flash 21.02?

Force speed…yea but if the hardware works this auto speed negotiation pretty much never fails.

What device do you have in the other end of the cable and what eth speed does that have?

Do you have duplex cat 5e or 6 cables (with cat 5e or 6 connectors if you made the cables themself)?

can you run iperf between router and meraki? or a host in the switch next to the router and meraki ?

Looks like I can't:

Device mr16 not supported by this image Supported devices: meraki,mr16 mr16 - Image version mismatch: image 2.0, device 1.0. Please wipe config during upgrade (force required) or reinstall. Reason: Partitions differ from ar71xx version of MR16. Image format is incompatible. To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F". For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/mr16, or the commit message of the MR16 ath79 port on git.openwrt.org. Invalid image type. Image check failed.

The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.

HP ProCurve 3500yl-24G-PoE+ J9310A 24-Port Gigabit
eth standard 1000Base -T

I tried cat5e and cat6 cables even cat6 25cm long cable of course ready to use not made by my own.

I suppose I don't know how to use it :slight_smile:

root@AP2:~# iperf -c 192.168.50.1
connect failed: Connection refused
root@AP2:~# iperf -c 192.168.50.8
connect failed: Host is unreachable

192.168.50.1 - main rooter
192.168.50.8 - switch

EDIT:

Looks like real connection speed is still 100Mb/s even when it's forced...

take also @Stefan1 's advice and move the meraki to plug it next to the switch using a short cable that's confirmed to link at 1000mbps

fwiw, what wireless device are you using to measure the speeds?

ie. are you using a phone with single stream wifi, or a laptop with 2x2 stream wifi card?

Ok, thanks. I'll try it later on today.

Network has about 50 clients connected. It was masured on about 10 different devices connected to different Meraki's. Scores are the same.