Dumb AP: plugging in a 100Base eth device limits wifi to 100Mbps internet speed

EDIT: please see post #16


I have a main router and a wifi access point, both with openwrt 22.03.5.

  • The max throughput between the main router and wifi access point is 558 Mbps as measured by iperf3 within openwrt.
  • The ethtool output for the involved devices reports the Speed is setup to 1000Mbps full duplex.
  • The internet speed from a computer connected over ethernet to the main router reports 940Mpbs as measured by fast.com and speedtest.net.
  • The iperf3 test between a wifi device connected to the access point, and a computer connected to the main router reports 330 Mbps.

I'm puzzled why that same wifi device when testing using fast.com or speedtest.net. I would expect the wifi device to give around 330Mbps at least, as it is within the 940Mbps max throughput, and what I get when crossing the wifi access point and the main router to another local computer.

There is a throttling limiting the speed to 100Mbps going on but I can't find out where it is. The mpstat 1 command shows no cpu bottlenecking in the access point or in the main router.

The <100Mpbs I'm getting is a test done with fast.com and speedtest.net on a smartphone and on a laptop connected via wireless to the access point.

What could it be?

the AP isn't an AP, but a router ?

The AP is a router converted to a AP. The details of what I did is in here: Converting a Wifi router to an access point/switch

What is the wifi standard and what is the MCS of the connection?

The actual throughput will be about half of the raw on-air bitrate from the MCS.

Both tests from the laptop and the smartphone, are 802.11 ac/n 5Ghz. I can't tell whether it is ac or n.
The bitrate as reported in Luci, for instance, for the smartphone, is 866.6 Mbit/s.

When I test the throughput from the wifi smartphone or the wifi laptop, to another wired computer within the same subnet, I get 330Mbps pretty consistently with iperf3. The wired computer being connected to the main router. The internet test from the wifi devices is also very consistent, giving ~94Mpbs down and ~104Mbps up.

What is MCS? The throughput per-se, as tested within the subnet crossing the AP and the main router, it is ~330Mbps. It is the traffic to the internet that it is weird. The internet test from all wired computers is 940Mpbs.

Just for the sake of testing, I ran all tests using ipv6 as well to make sure it wasn't it. IPv4 and IPv6 they both show the same behavior for local subnet crossing ap/main router testing, and internet crossing ap/main routering testing, and internet crossing main router testing.

I have also tested stopping the firewall in the AP (which is not doing anything because it is targetting wan and wn6 which no longer exist).

mk24 is referencing (just as it's seen on your wireless page) - how to describe each connection, it's modulation, rate, etc. This is the chart for 802.11ac (or WiFi 5).

See: https://en.wikipedia.org/wiki/IEEE_802.11ac-2013#Data_rates_and_speed

Example:
screen528

So I assume it's the Netgear?

Yes, it is the netgear. Before I turned it into a dumb ap, I recall getting the 300-400Mbps throughput. I have a back up copy of the previous configuration. I could roll it back but I really wanted to have it as an AP with all devices in the same subnet.

BTW, I also tested stopping the firewall in the AP just in case, but no difference.

Are you able to provide a screenshot of the MCS?

Yes,
image

It goes up and down, ... earlier when I mentioned it it was showing 866Mbit/s.

I was doubting it was the quality of the signal the problem because I get the 100Mbps consistently even close to the router, ... and also, I get consistently between 300-400Mbps when I test with iperf3 between the wifi device and a wired computer within the same subnet. I would expect that local test crossing the wifi AP -> main router -> wired computer to show also the <100Mbps, at least some times.

Is it still possible that the signal quality affects wifi ap <-> main router <-> internet, but not wifi ap <-> main router <-> local wired devices?

It almost looks like some sort of intentional QoS classification and limitations going on somewhere along the ways by some service.

Can you show the one of the device in question, like I showed you?

1 Like

What cat lan cable do you use for connection between router?
If you are using below cat 5e, then you will only get 100Mbps speed.

Make sure you're using minumum cat 5e or use Cat 6 for all LAN cable.

The test I did between routers directly gives me over 500Mbps. The negotiated speed between them at the ethernet level is 1000Mbps.

OK, I figured out something that can lead to the solution.

On the wifi AP, there is also a ooma device connected to one of the ethernet ports. The ooma device is a 100Mbps ethernet connection as reported by openwrt. As soon as I disconnected the Ooma, I was able to get consistently between 300-400Mbps to the internet in the wifi devices.

So, in summary, it seems like if the 100Mbps in the Ooma device was forcing the openwrt bridge to 100Mbps traffic, but only affecting traffic with IPs that were not in the same subnet (towards the Internet). Traffic within the same subnet, crossing the wifi ap into the main router to wired computers was giving a good throughput > 300Mbps.

I don't understand why such behavior.

This is the output of ip link. I wonder if it has to do with the queuing discipline setup.

ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether da:89:ff:08:10:d2 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 16:23:82:9d:7e:44 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff
5: lan1@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff
6: lan2@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff
7: lan3@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff
8: lan4@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff
9: wan@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 78:d2:94:0e:04:c2 brd ff:ff:ff:ff:ff:ff
10: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff
11: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether 78:d2:94:0e:04:c0 brd ff:ff:ff:ff:ff:ff
12: wlan2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether 78:d2:94:0e:04:bf brd ff:ff:ff:ff:ff:ff
15: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 78:d2:94:0e:04:c1 brd ff:ff:ff:ff:ff:ff

This is the ip link output of my main router:

ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 64:62:66:21:cb:eb brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 1000
    link/ether 64:62:66:21:cb:ec brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 1000
    link/ether 64:62:66:21:cb:ed brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 1000
    link/ether 64:62:66:21:cb:ee brd ff:ff:ff:ff:ff:ff
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 64:62:66:21:cb:ec brd ff:ff:ff:ff:ff:ff

All ethX devices have a qdisc set, and it is mq.

However, in the wifi ap, the lan1-4 do not have any qdisc, but eth2 has one.

You can check LAN speed on br-lan interface

Or go to Network -> Switch

Thank you @alphamatic for the feedback, but that’s not the problem. Please see my previous posts.
I have updated the title of this thread to clarify the issue I am seeing at this point.

1 Like

I'm starting to think there is a bug in the switch driver. This should not be happening. That 100BASE device shouldn't be downgrading the entire bridge speed to 100Mbps even for the wifi devices.