Reducing multiplexing latencies still further in wifi

Cake does no marking of any kind. However cake will sort CS7, which according to the diffserv fan-fiction (well the IETF originated diffserv, so maybe author-fiction) was traditionally used to mark important network control traffic, into its highest priority tin if it encounters such packets.

CS7 is mapped to AC_VO by OpenWrt's new DSCP-to-WMM mappings.

Yes, I stand corrected. My bad. I had to go back and recheck the code; the last time was a long time ago. I saw that ARP packets get treated and classified in the tins as CS7 (0x38).

1 Like



Oops, I'm such a nerd. That made me laugh. Oh, well, back to business. :slight_smile:

Pretty happy still, same scenario, busy wireless network:

I wish I could get closer to that... here's a couple of tests from my lowly ath10 C7/A7 AP's, trying to do better with my laptop's probably lowlier Intel embedded card:

Test setup:
1Gb/35mbit DOCSIS cable - x86 router box w Cake SQM 850Mb/35Mb - C7 or A7 AP's on below OWT versions - Win 10 Laptop with Intel AC 3168

Indicated wifi speed:
433.3Mbit/s, 80MHz, VHT-MCS 9, VHT-Nss 1, short GI,  up and down

C7 22.03.0

A7 22.03.0-rc6

Sorry, don't know how to insert screenshots.

-I don't seem to see connect rates higher than the above, no matter how close I get. The laptop is 4-5' away from both routers. Probably a limit of the card? I see higher (but almost never 833mbit) on a USB adapter on a farther away desktop, also never see much above 200mbit. Limit of the C7/A7's?

-The latency is higher, as you see. Sometimes the upload approaches 0ms, but the download is usually 15-20ms, when it's good, and never much below that. This is pretty good.

I had also been chasing an apparently consistent speed difference between 22-03.0-rc6 and the release version, with the release version slower, which prompted me to comment here. Annoyingly, it vanished on this new test setup at close range. I thought that would be more interesting/disturbing to you all here, but don't have an example handy.

Typical observed speeds were above 200mbit for -rc6, and about 150mbit for the release version.

Anyway, have been enjoying the serious work getting hammered out, and if I could help from the cheap seats here, I'd be happy to contribute.

Your bandwidth in Waveform is in line with a WiFi connection of 433.3 Mbps, wonder why only that connection speed, even when you get closer to the AP. Did you try upgrading laptop WiFi card drivers?

Upload latency is low because the limit is not your wireless network, but your ISP upload bandwidth. CAKE is doing a fine job keeping your latency low, as expected.

May I ask what drivers you run in your ath10k A7/C7? Are they the -ct ones?

Both run the same: ath10k-firmware-qca988x-ct 2020-11-08-1
The board firmware is also the same version between the two releases. I thought there was an update in there, bewteen the -rc6 and final, but it seems not. The other ath10k firmware is the same as well.

You may try the non -ct version; someone else found that -ct version was causing speed issues in his router.

Update: if you plan to run more tests, it looks like the wireless is your bottleneck. Might be good to install netserver and irtt in your x86 box and run flent rrul_be and flent tcp_ndown / tcp_nup tests against it.

Might give that a try at some point. I've seen a lot of people trying a lot of things...
I've been also trying to find optimal settings for the wifi cards, there's always a lot of setting there, and occasionally they seem to influence things. Of course, different cards, different sets of commands...

Best speeds on my C7's has never been above 280mbit or so, with other client adapters, though I have seen people say they have gotten in the 400mbit's.

On the latency side, I used to see down in the single digits on the 2.4ghz radio (ath9k) but not currently. Haven't tried to investigate yet if that's local hardware differences, or something changed in recent OWT versions.

OTGH, on 5ghz and ath10k, I used to see latency in the 30's, so its nice to see it down to 14-15ms on the download...

Update: I would like to "graduate" to some real tests... maybe with a little handholding I could. Kinda been holding back thinking I need to get enough pieces together to have separate test servers and clients off from my router, etc, but maybe with my more powerful x86 box, I could do something useful as is... and learn stuff along the way.

433 at MCS indicates single stream connection with 80MHz, maybe the laptop only has a single antenna, or the spatial arrangement is such that multi stream does not work. So you ether try 160 MHz (only recommended if all sides can do this and you

only have few other APs in your WiFi surround).

Sorry, have been busy for a few days.

Hmm.. have never seen 160mhz show up as a choice on C7/A7's... Don't think I'd want to use it, in a home, city neighborhood situation like I am. Would be like using 40mhz on 2.4ghz.

The desktop, has a TP-Link T4U USB adapter. Think the T4U is a 2x2 radio... The desktop and T4U is where I currently have been seeing the 200mbit thruput on 433.3mb/S rate. This is currently about 20-25' away and thru a wall or two.

The two overall issues of note with me are, an apparently higher latency than your stunning Waveform example, and my apparent (but elusive) 200mbit to 150mbit thruput difference between the two routers on different OWT versions. Assuming that wasn't outside influence.

I would like to get into some better testing. Any suggestions for a Linux distro easily managed on a thumb drive, to alternate boot my Win PC's?

Ubuntu should be good enough for some testing, and you can run it from a stick. Or something small like Puppy Linux? It might be worth a try if you have the time.

Heh, heard abt Puppy 5yrs ago, thereabouts... Looks good, assuming it can provide all the drivers needed on whatever HW I end up putting together.

Have to see if a small, thumbdrive Flent testbench disk is in my future...

Care to rattle off a list ofwhich things I need to gather together?

Sure thing.

  • flent
  • netserver
  • irtt
  • iperf3
  • iperf2