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

Bug #1845138 reported by You-Sheng Yang
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
linux-oem-osp1 (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
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)

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

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

tags: added: oem-priority originate-from-1843019 somerville
Revision history for this message
You-Sheng Yang (vicamo) wrote :

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

Revision history for this message
You-Sheng Yang (vicamo) wrote :

Mainline kernel v5.3.0 is not affected.

Revision history for this message
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.

Revision history for this message
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**

Revision history for this message
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)
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
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)
tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
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)
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.