On 2021 Mar 29 (Mon) at 19:27:15 +0200 (+0200), Stefan Sperling wrote:
:This patch attempts to add support for receiving A-MSDUs to iwm(4).
:If you are using iwm(4) then please run with this patch and let me
:know if it causes regressions. Thanks!
:
:ACHTUNG: This patch breaks iwx(4)! Don't use it there! For this reason,
:the patch can neither be committed nor be put into snapshots!!!
:
:Our net80211 stack de-aggregates A-MSDUs in software. This works fine with
:iwm 7k and 8k devices. However, iwm 9k devices de-aggregate A-MSDUs in
:hardware and net80211 is currently unable to handle this.
:
:Our current iwm 9k code only works because long ago I disabled reception
:of A-MSDUs for all devices. Unfortunately, the only way to get A-MSDUs
:working on 9k hardware is to add a bunch of driver-specific code which
:handles de-aggregation. Otherwise, net80211 will drop frames which appear
:to arrive out of order, or appear as duplicates even though they were
:simply part of the same A-MSDU and thus share a sequence number.
:The driver can re-order frames correctly based on information provided
:by firmware. I'd rather implement this than letting these devices miss
:out on A-MSDUs because the Rx speed advantage can be significant, around
:80/90 Mbps (but this will very much depend on the AP).
:
:If these A-* acronyms don't make sense and you'd like to know more, here
:is a fairly good explanation: https://mrncciew.com/2013/04/11/a-mpdu-a-msdu/
:Note that we care about the nested case, which is also mentioned in this
:article but not explained in detail. It's simply an A-MSDU stashed inside
:an A-MPDU. If an AP can do 11AC, then it should support this.
:
:iwx(4) hardware has the same problem.
:If this patch works fine on iwm(4) then I can port the changes to iwx(4),
:do another round of testing, and eventually commit to both drivers at
:the same time.
:
:Some of the changes below are based on code from the Linux iwlwifi driver.
:I am not entirely happy with some of its style. But the code should be in
:good enough shape to be tested.
:

Been running this for about 24 hours on my x395, seems to be good.

Had only one stuck wifi when first trying it, but I was also stuck on a
2.4GHz channel and live in a dense apartment building.  Forcing it to
move to a 5GHz channel fixed it all up, and no problems since then.

  iwm0 at pci1 dev 0 function 0 "Intel Dual Band Wireless-AC 9260" rev 0x29, 
msix
  iwm0: hw rev 0x320, fw ver 34.3125811985.0, address 0c:dd:24:83:e1:40



-- 
Churchill's Commentary on Man:
        Man will occasionally stumble over the truth, but most of the
        time he will pick himself up and continue on.

Reply via email to