9

I'm replacing my laptop with a new machine that has a "Meteor Lake" processor.

I initially connected that machine to its predecessor by Ethernet to have the maximum speed for file transfers. While doing do I noticed that the Wi-Fi link on the new machine would connect at only 26 Mbps while the link on the other was around 580 Mbps (the two machines being side by side).

But before I could worry about this I saw the new machine connected at a much higher speed. So I thought the problem fixed. But after a reboot the machine reconnected to the Wi-Fi at 26 Mbps. To see how bad things were I did a speed test with a web site... and got 340 Mbps! Looking at the Wi-Fi link speed I noticed it had jumped to 390 Mbps. And I can reproduce this at will. The initial connection is always at 26 Mbps but any serious use of the network bumps the speed.

So is this some kind of adaptive scheme, perhaps to save energy?

Running a Lenovo P1 Gen7 with Ubuntu 24.04

Spiff
  • 110,156
xenoid
  • 10,597

2 Answers2

16

Nearly all Wi-Fi implementations since 802.11g use dynamic rate selection based on various criteria – it's necessary as link conditions change as soon as someone walks past you and absorbs some of the signal, etc.

For example, at the most basic level, the NIC would periodically probe the link quality by switching to a higher rate (and using the retransmission counter to decide whether to stick with the new mode or not); search for Minstrel algorithm for a widely used example.

The access point also does the same when transmitting to each station, so the rate is often asymmetric in both directions.

Modern Wi-Fi connections likely do much more, with dynamic channel width selection (e.g. if the AP offers "80 MHz" that's really four 20 MHz wide channels combined and a device may stick to using just the base 20 MHz mode or it may use the full 80 MHz mode) – take a look at an "MCS index" table – and other things which I have no idea about. (I've heard that 802.11ax has something called 'puncturing' which is an even more dynamic extension of the aforementioned channel width selection.)

grawity
  • 501,077
8

Wi-Fi hardware designs have always auto-selected the best PHY rate (physical signaling rate) for the circumstances for every transmission.

That means it can change from one packet to the next, and it also means that the rate your AP (wireless router) used when transmitting the most recent packet to your laptop is often different than the rate your laptop used when transmitting its most recent packet to the AP; that is, there is no guarantee that your "from the AP" PHY rate is the same as your "to the AP" PHY rate. The set of possible rates that can be used between the two devices is determined when the the laptop associates to the AP, but either device can, unilaterally and without prior notice, pick any rate from that set for any given transmission it is about to perform.

The standards do not specify an algorithm for rate selection. It is left as an implementation detail. While some of us could give anecdotes about the proprietary implementation details for product with which we are familiar, I am not aware of any source of reliable empirical data that could tell us what is "usually" done.

Optimizing throughput is typically the biggest factor in the rate selection algorithms as one might expect, but designs almost always factor in power savings as well.

Note that since the PHY rate can fluctuate from packet to packet and from one direction to the other, there is no clear notion of the "current link speed":

  • Is it the PHY rate of the last packet the laptop transmitted?
  • Is it the PHY rate of the last packet the laptop received?
  • Is it an average of those two?
  • Is it an average of the last n packets in one or both directions?
  • Or maybe it should just report the maximum PHY rate from the set that was determined at association?

There's no solid definition, so it's unclear exactly what a given chipset or OS might be reporting if it claims to report a "current link speed" somewhere. I would say "check your product documentation", but most vendors don't bother to document things in that much detail.

Also note that multicast/broadcast packets transmitted by the AP are often transmitted at a much lower PHY rate than unicast packets. So depending on how your implementation calculates some notion of "current link speed", it might look really low if the last packet you received—or if many of the last n packets you received—from the AP were multicasts or broadcasts, as might be the case if the link was mostly idle.

That's about all that can be reliably stated without inside knowledge of the proprietary implementation details of the Wi-Fi implementations in your AP and laptop.

Spiff
  • 110,156