Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-7395

iwlwifi has bad defaults for compatibility with real-world routers

    • Icon: Bug Bug
    • Resolution: Declined
    • Icon: Normal Normal
    • None
    • None
    • None

      I am spending the week in Texas working from an AirBNB, and I found that my normally reliable wireless connection on my ThinkPad P1 became very unreliable. I found a lot of these error messages in my dmesg:

       Aug 11 08:06:47 [kernel] [   12.378304] iwlwifi 0000:00:14.3: reached 10 old SN frames from ac:b3:13:80:3e:e0 on queue 3, stopping BA session on TID 0
      

      I tracked this issue down to this modification to the iwlwifi driver:

      https://patchwork.kernel.org/patch/11133131/

      To summarize, there are certain WiFi routers that use a feature called aggregation, and they do this in a buggy way and will send old frames to your linux WiFi card. This patch is a workaround to deal with this situation – it is designed to prevent the iwlwifi card from completely dying when this happens. However, while it may technically work, it really doesn't actually work in practice – when this warning appears in your dmesg, your wifi connection is effectively hosed for 1-2 minutes and will 'die' repeatedly as it keeps getting these messages.

      The true 'fix' is to add this to your kernel command-line via boot.conf:

      iwlwifi.11n_disable=4 

      This will totally disable RX aggregation on the Linux side (probably when iwlwifi negotiates the connection?) so it is not even active. And voila – dmesg warnings are gone and WiFi is now rock-solid.

      In my opinion, this setting should be the DEFAULT as I am primarily concerned with RELIABLE wiFi rather than having the absolute best performance. Esp. when connecting to WiFi that is NOT AT YOUR HOUSE where you do not have control over what you are connecting to. I don't think many Linux kernel driver developers work from AirBNB's or coffee shops.

       

            Unassigned Unassigned
            drobbins drobbins
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: