Intel 1650s/Wi-Fi 6 AX201 cannot connect to 802.11AX networks

Bug #1845138 reported by You-Sheng Yang on 2019-09-24
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
Unassigned
linux-oem-osp1 (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
You-Sheng Yang

Bug Description

[SRU Justification]

[Impact]
When trying to associate with an 802.11ax Wi-Fi AP on platforms with
Intel AX1650s/AX1650i, iwlwifi gives a firmware error about command in
SYN CMD STA_HE_CTXT_CMD and hardware resets.

[Fix]
AX1650s/AX1650i firmware expects passed command struct to include
multiple bssid support when associating with 802.11ax APs, and the
implementation has been landed to v5.2 as:

  commit d14ae796f849: iwlwifi: mvm: support HE context cmd API change

This commit, along with its prerequisites in kernel mac80211/cfg80211
framework are neccesary to complete 802.11ax AP associations.

[Test Case]
Tested on AX1650s/AX1650i, as well as 9462/9560, to associate with
AX/N/AC/BG open/wpa AP.

[Regression Risk]
Medium. These patches introduces new features to mac80211/cfg80211
framework but are only enabled when IEEE80211_HW_SUPPORTS_MULTI_BSSID
and/or IEEE80211_HW_SUPPORTS_ONLY_HE_MULTI_BSSID are set. There is also
refactoring to information element access for cfg80211.

For the firmware part, this should only be enabled when firmware blobs
has explicitly declared IWL_UCODE_TLV_API_MBSSID_HE capability. And when
this capability is set, like fw for AX1650s/AX1650i, changes here are
necessary to make an association to 802.11ax Wi-Fi AP successfully.

================ original description ================

Upon trying to connect to AX networks, iwlwifi gives following error messages and hardware reset:

[ 119.519216] wlp0s20f3: associate with 04:d4:c4:4f:7a:f0 (try 1/3)
[ 119.544110] wlp0s20f3: RX AssocResp from 04:d4:c4:4f:7a:f0 (capab=0x401 status=0 aid=1)
[ 119.545345] iwlwifi 0000:00:14.3: Got NSS = 4 - trimming to 2
[ 119.744715] iwlwifi 0000:00:14.3: Microcode SW error detected. Restarting 0x0.
[ 119.744864] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 119.744867] iwlwifi 0000:00:14.3: Status: 0x00000100, count: 6
[ 119.744870] iwlwifi 0000:00:14.3: Loaded firmware version: 48.13675109.0
[ 119.744873] iwlwifi 0000:00:14.3: 0x00004460 | ADVANCED_SYSASSERT
[ 119.744875] iwlwifi 0000:00:14.3: 0x008022F3 | trm_hw_status0
[ 119.744877] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[ 119.744878] iwlwifi 0000:00:14.3: 0x004CA458 | branchlink2
[ 119.744880] iwlwifi 0000:00:14.3: 0x004B5438 | interruptlink1
[ 119.744882] iwlwifi 0000:00:14.3: 0x004B5438 | interruptlink2
[ 119.744884] iwlwifi 0000:00:14.3: 0x000006D4 | data1
[ 119.744886] iwlwifi 0000:00:14.3: 0x000006D4 | data2
[ 119.744887] iwlwifi 0000:00:14.3: 0xDEADBEEF | data3
[ 119.744889] iwlwifi 0000:00:14.3: 0x04C03323 | beacon time
[ 119.744891] iwlwifi 0000:00:14.3: 0xCCD054DB | tsf low
[ 119.744893] iwlwifi 0000:00:14.3: 0x0000086B | tsf hi
[ 119.744894] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[ 119.744896] iwlwifi 0000:00:14.3: 0x06AD2957 | time gp2
[ 119.744898] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[ 119.744899] iwlwifi 0000:00:14.3: 0x00000030 | uCode version major
[ 119.744901] iwlwifi 0000:00:14.3: 0x13675109 | uCode version minor
[ 119.744903] iwlwifi 0000:00:14.3: 0x00000332 | hw version
[ 119.744905] iwlwifi 0000:00:14.3: 0x18C89008 | board version
[ 119.744906] iwlwifi 0000:00:14.3: 0x802AFC04 | hcmd
[ 119.744908] iwlwifi 0000:00:14.3: 0x66F60400 | isr0
[ 119.744910] iwlwifi 0000:00:14.3: 0x61004000 | isr1
[ 119.744911] iwlwifi 0000:00:14.3: 0x18F00002 | isr2
[ 119.744913] iwlwifi 0000:00:14.3: 0x04C1FFDD | isr3
[ 119.744915] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[ 119.744916] iwlwifi 0000:00:14.3: 0x0201001C | last cmd Id
[ 119.744918] iwlwifi 0000:00:14.3: 0x00016D64 | wait_event
[ 119.744920] iwlwifi 0000:00:14.3: 0x00000080 | l2p_control
[ 119.744922] iwlwifi 0000:00:14.3: 0x00001C20 | l2p_duration
[ 119.744923] iwlwifi 0000:00:14.3: 0x0000003F | l2p_mhvalid
[ 119.744925] iwlwifi 0000:00:14.3: 0x000000CE | l2p_addr_match
[ 119.744927] iwlwifi 0000:00:14.3: 0x0000000B | lmpm_pmg_sel
[ 119.744928] iwlwifi 0000:00:14.3: 0x00000000 | timestamp
[ 119.744930] iwlwifi 0000:00:14.3: 0x00009074 | flow_handler
[ 119.744987] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 119.744989] iwlwifi 0000:00:14.3: Status: 0x00000100, count: 7
[ 119.744991] iwlwifi 0000:00:14.3: 0x20000034 | NMI_INTERRUPT_WDG
[ 119.744993] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[ 119.744995] iwlwifi 0000:00:14.3: 0xC008D49C | umac branchlink2
[ 119.744997] iwlwifi 0000:00:14.3: 0x8048F20C | umac interruptlink1
[ 119.744998] iwlwifi 0000:00:14.3: 0xC00869FC | umac interruptlink2
[ 119.745000] iwlwifi 0000:00:14.3: 0x00000004 | umac data1
[ 119.745001] iwlwifi 0000:00:14.3: 0xC00869FC | umac data2
[ 119.745003] iwlwifi 0000:00:14.3: 0x00000000 | umac data3
[ 119.745005] iwlwifi 0000:00:14.3: 0x00000030 | umac major
[ 119.745006] iwlwifi 0000:00:14.3: 0x13675109 | umac minor
[ 119.745008] iwlwifi 0000:00:14.3: 0x06AD2954 | frame pointer
[ 119.745010] iwlwifi 0000:00:14.3: 0xC0885E24 | stack pointer
[ 119.745012] iwlwifi 0000:00:14.3: 0x00B00507 | last host cmd
[ 119.745013] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[ 119.745165] ieee80211 phy0: Hardware restart was requested
[ 119.745274] iwlwifi 0000:00:14.3: FW error in SYNC CMD STA_HE_CTXT_CMD

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-oem-osp1 5.0.0.1023.24
ProcVersionSignature: Ubuntu 5.0.0-1023.25-oem-osp1 5.0.21
Uname: Linux 5.0.0-1023-oem-osp1 x86_64
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Tue Sep 24 02:16:39 2019
DistributionChannelDescriptor:
 # This is the distribution channel descriptor for the OEM CDs
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-somerville-bionic-amd64-20190418-59+beaver-osp1-melisa+X18
InstallationDate: Installed on 2019-09-05 (19 days ago)
InstallationMedia: Ubuntu 18.04 "Bionic" - Build amd64 LIVE Binary 20190418-12:10
ProcEnviron:
 LANG=en_US.UTF-8
 TERM=xterm-256color
 SHELL=/bin/bash
 XDG_RUNTIME_DIR=<set>
 PATH=(custom, no user)
SourcePackage: linux-meta-oem-osp1
UpgradeStatus: No upgrade log present (probably fresh install)

You-Sheng Yang (vicamo) wrote :
Changed in linux-meta-oem-osp1 (Ubuntu Bionic):
assignee: nobody → You-Sheng Yang (vicamo)
You-Sheng Yang (vicamo) wrote :

linux-image-oem-osp1 version 5.0.0-1023 is affected.

tags: added: oem-priority originate-from-1843019 somerville
You-Sheng Yang (vicamo) wrote :

linux-image-oem-osp1 version 5.0.0-1023 with backport-iwlwifi dkms version 8042 is not affected.

You-Sheng Yang (vicamo) wrote :

Mainline kernel v5.3.0 is not affected.

You-Sheng Yang (vicamo) wrote :

Upstream change https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d14ae796f8498933fb4437efe83f7b3423b1793f, along with changes for multiple BSSID support, are required to fix this bug.

You-Sheng Yang (vicamo) wrote :

To backport changes for **STA_HE_CTXT_CMD**:
* d14ae796f849: **iwlwifi: mvm: support HE context cmd API change**
  * 918cbf39ac00: **iwlwifi: mvm: support multiple BSSID**
    * 851ae31d3406: **cfg80211: add missing kernel-doc for multi-BSSID fields**
    * 040bda85b5df: **mac80211_hwsim: Declare support for Multi-BSSID**
    * bede8d299647: **cfg80211: fix memory leak of new_ie**
    * c17fe043a3b7: **cfg80211: fix the IE inheritance of extension IEs**
    * caf56338c22f: **mac80211: indicate support for multiple BSSID**
    * 78ac51f81532: **mac80211: support multi-bssid**
    * 0cd01efb0339: **cfg80211: save multi-bssid properties**
    * 7ece9c372b21: **cfg80211: make BSSID generation function inline**
    * 213ed579d38: **cfg80211: parse multi-bssid only if HW supports it**
    * 7011ba583f42: **cfg80211: Move Multiple BSS info to struct cfg80211_bss to be visible**
    * a3584f56de1c: **cfg80211: Properly track transmitting and non-transmitting BSS**
    * 1c8745f3ec6f: **cfg80211: use for_each_element() for multi-bssid parsing**
    * 0b8fb8235be8: **cfg80211: Parsing of Multiple BSSID information in scanning**
    * fcea7db50467: **mac80211: move the bss update from elements to an helper**
    * 9f308616b617: **nl80211: use for_each_element() in validate_ie_attr()**
    * 4abb52a46e73: **mac80211: pass bssids to elements parsing function**
    * 49a68e0d8889: **cfg80211: add various struct element finding helpers**
    * c17e28d1bcd3: **mac80211: use element iteration macro in parsing**
    * 0f3b07f027f87a: **cfg80211: add and use strongly typed element iteration macros**

You-Sheng Yang (vicamo) wrote :
description: updated
Changed in linux-meta-oem-osp1 (Ubuntu Bionic):
status: New → In Progress
Changed in linux-oem-osp1 (Ubuntu Bionic):
assignee: nobody → You-Sheng Yang (vicamo)
no longer affects: linux-meta-oem-osp1 (Ubuntu)
no longer affects: linux-meta-oem-osp1 (Ubuntu Bionic)
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: New → In Progress
Timo Aaltonen (tjaalton) on 2019-10-02
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: In Progress → Fix Committed
Timo Aaltonen (tjaalton) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic
You-Sheng Yang (vicamo) on 2019-10-18
tags: added: verification-done-bionic
removed: verification-needed-bionic
Launchpad Janitor (janitor) wrote :
Download full text (26.0 KiB)

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1025.28

---------------
linux-oem-osp1 (5.0.0-1025.28) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1025.28 -proposed tracker
    (LP: #1846095)

  * Fix non-working Realtek USB ethernet after system resume (LP: #1847063)
    - r8152: remove extra action copying ethernet address
    - r8152: Refresh MAC address during USBDEVFS_RESET
    - r8152: Set macpassthru in reset_resume callback

  * drm/i915: Fix the issue of "azx_get_response timeout" for hdmi audio on ICL
    platforms (LP: #1847192)
    - SAUCE: drm/i915: Fix audio power up sequence for gen10+ display
    - SAUCE: drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms

  * [CML-U] Comet lake platform need ISH driver support (LP: #1843775)
    - HID: intel-ish-hid: Add Comet Lake PCI device ID

  * [CML] New device IDs for CML-U (LP: #1843774)
    - spi-nor: intel-spi: Add support for Intel Comet Lake SPI serial flash

  * Add new pci-id's for CML-S, ICL (LP: #1845317)
    - drm/i915/icl: Add missing device ID
    - drm/i915/cml: Add Missing PCI IDs

  * Thunderbolt support for ICL (LP: #1844680)
    - thunderbolt: Drop duplicated get_switch_at_route()
    - thunderbolt: Move LC specific functionality into a separate file
    - thunderbolt: Cache adapter specific capability offset into struct port
    - thunderbolt: Rename tunnel_pci to tunnel
    - thunderbolt: Generalize tunnel creation functionality
    - thunderbolt: Add functions for allocating and releasing HopIDs
    - thunderbolt: Assign remote for both ports in case of dual link
    - thunderbolt: Add helper function to iterate from one port to another
    - thunderbolt: Extend tunnel creation to more than 2 adjacent switches
    - thunderbolt: Correct path indices for PCIe tunnel
    - thunderbolt: Move NVM upgrade support flag to struct icm
    - thunderbolt: Use 32-bit writes when writing ring producer/consumer
    - thunderbolt: Do not fail adding switch if some port is not implemented
    - thunderbolt: Hide switch attributes that are not set
    - thunderbolt: Expose active parts of NVM even if upgrade is not supported
    - thunderbolt: Add support for Intel Ice Lake
    - ACPI / property: Add two new Thunderbolt property GUIDs to the list

  * Intel 1650s/Wi-Fi 6 AX201 cannot connect to 802.11AX networks (LP: #1845138)
    - cfg80211: add and use strongly typed element iteration macros
    - mac80211: use element iteration macro in parsing
    - cfg80211: add various struct element finding helpers
    - nl80211: use for_each_element() in validate_ie_attr()
    - mac80211: pass bssids to elements parsing function
    - mac80211: move the bss update from elements to an helper
    - cfg80211: Parsing of Multiple BSSID information in scanning
    - cfg80211: use for_each_element() for multi-bssid parsing
    - cfg80211: Properly track transmitting and non-transmitting BSS
    - cfg80211: Move Multiple BSS info to struct cfg80211_bss to be visible
    - cfg80211: parse multi-bssid only if HW supports it
    - cfg80211: make BSSID generation function inline
    - cfg80211: save multi-bssid properties
    - mac80211: support multi-bssid
    - ...

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Changed in linux-oem-osp1 (Ubuntu):
status: New → Fix Released
Timo Aaltonen (tjaalton) on 2019-10-22
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers