mt7921e: Failed to start WM firmware

Bug #1954300 reported by You-Sheng Yang
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
OEM Priority Project
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
High
You-Sheng Yang
Impish
Fix Released
High
You-Sheng Yang
Jammy
Fix Released
High
You-Sheng Yang
linux-firmware (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
High
You-Sheng Yang
Impish
Fix Released
High
You-Sheng Yang
Jammy
Fix Released
Undecided
Unassigned
linux-oem-5.13 (Ubuntu)
Focal
Fix Released
High
You-Sheng Yang
linux-oem-5.14 (Ubuntu)
Focal
Fix Released
High
You-Sheng Yang

Bug Description

[SRU Justification]

[Impact]

MT7921 might fail at device probe at boot:

mt7921e 0000:03:00.0: WM Firmware Version: ____010000, Build Time: 20211014150922
IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0: link becomes ready
mt7921e 0000:03:00.0: Message 80000002 (seq 9) timeout
mt7921e 0000:03:00.0: Failed to start WM firmware
mt7921e: probe of 0000:03:00.0 failed with error -110

[Fix]

Kernel fixes:
* 995d948cf2e4 ("Bluetooth: btusb: Return error code when getting patch status
  failed")
* 00c0ee9850b7 ("Bluetooth: btusb: Handle download_firmware failure cases")

And firmware:
* 948cad200e94 ("linux-firmware: update frimware for mediatek bluetooth chip
  (MT7921)")

[Test Case]

Run checkbox reboot stress tests to try trigger this issue:

  $ checkbox-cli run com.canonical.certification::stress/reboot

[Where problems could occur]

This imports fixes requiring both kernel driver and proprietary firmware
updates, the firmware part might cause instability or so.

========== original bug report ==========

Oct 25 22:40:10 u kernel: [ 6.194102] mt7921e 0000:03:00.0: WM Firmware Version: ____010000, Build Time: 20211014150922
Oct 25 22:40:11 u kernel: [ 7.948458] rfkill: input handler disabled
Oct 25 22:40:12 u kernel: [ 9.012741] r8169 0000:02:00.0 enp2s0: Link is Up - 1Gbps/Full - flow control rx/tx
Oct 25 22:40:12 u kernel: [ 9.012766] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0: link becomes ready
Oct 25 22:40:13 u kernel: [ 9.174471] usb 1-2.4: device descriptor read/64, error -110
Oct 25 22:40:13 u kernel: [ 9.250459] mt7921e 0000:03:00.0: Message 80000002 (seq 9) timeout
Oct 25 22:40:13 u kernel: [ 9.250470] mt7921e 0000:03:00.0: Failed to start WM firmware
Oct 25 22:40:13 u kernel: [ 9.250596] mt7921e: probe of 0000:03:00.0 failed with error -110

This takes following fixes to resolve completely:
* kernel patch:
  * https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=995d948cf2e45834275f07afc1c9881a9902e73c
  * https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=00c0ee9850b7b0cb7c40b8daba806ae2245e59d4
* firmware:
  * https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=948cad200e94d82d339207f8ac7b10f932bd627a

CVE References

You-Sheng Yang (vicamo)
tags: added: oem-priority originate-from-1948772 somerville
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1954300

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
You-Sheng Yang (vicamo)
Changed in linux-firmware (Ubuntu):
status: New → Fix Released
Changed in linux-firmware (Ubuntu Focal):
status: New → In Progress
importance: Undecided → High
assignee: nobody → You-Sheng Yang (vicamo)
You-Sheng Yang (vicamo)
Changed in linux (Ubuntu Focal):
status: New → Invalid
Changed in linux-oem-5.14 (Ubuntu):
status: New → Invalid
Changed in linux-oem-5.14 (Ubuntu Focal):
status: New → In Progress
importance: Undecided → High
assignee: nobody → You-Sheng Yang (vicamo)
Changed in linux-firmware (Ubuntu Impish):
assignee: nobody → You-Sheng Yang (vicamo)
status: New → Confirmed
Changed in linux (Ubuntu Impish):
assignee: nobody → You-Sheng Yang (vicamo)
importance: Undecided → High
status: New → Confirmed
Changed in linux (Ubuntu Jammy):
assignee: nobody → You-Sheng Yang (vicamo)
importance: Undecided → High
status: Incomplete → Confirmed
Changed in linux-oem-5.14 (Ubuntu Impish):
status: New → Invalid
Changed in linux-oem-5.13 (Ubuntu Focal):
status: New → Confirmed
Changed in linux-oem-5.13 (Ubuntu Impish):
status: New → Invalid
Changed in linux-oem-5.13 (Ubuntu Jammy):
status: New → Invalid
Revision history for this message
You-Sheng Yang (vicamo) wrote :

MT7921 support begins since 5.13, and the kernel driver fixes are currently in bluetooth-next and are not yet landed to Jammy.

Revision history for this message
You-Sheng Yang (vicamo) wrote (last edit ):
description: updated
Revision history for this message
You-Sheng Yang (vicamo) wrote :

While the two kernel patches cannot be cleanly backported, I pushed version 5.14.0-9010.10+staging.34 to https://launchpad.net/~canonical-hwe-team/+archive/ubuntu/intermediate-kernel that includes them. Need verification because mainline MTK bluetooth driver has changed a lot, and there might be other prerequisite fixes to be discovered.

Firmware part is being SRUed and is included in version 1.187.23+staging.37 from https://launchpad.net/~canonical-hwe-team/+archive/ubuntu/linux-firmware-staging at the same time.

Andy Chi (andch)
tags: added: originate-from-1947976
You-Sheng Yang (vicamo)
tags: added: originate-from-1946071
Revision history for this message
You-Sheng Yang (vicamo) wrote :

pushed also version 5.13.0-9020.24+staging.26 for oem-5.13.

Revision history for this message
You-Sheng Yang (vicamo) wrote (last edit ):
Changed in linux-oem-5.13 (Ubuntu Focal):
assignee: nobody → You-Sheng Yang (vicamo)
importance: Undecided → High
status: Confirmed → In Progress
Changed in linux (Ubuntu Impish):
status: Confirmed → In Progress
Changed in linux (Ubuntu Jammy):
status: Confirmed → In Progress
You-Sheng Yang (vicamo)
Changed in linux-firmware (Ubuntu Impish):
status: Confirmed → In Progress
importance: Undecided → High
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.14 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-5.14/5.14.0-1011.11 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-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

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-focal
Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote (last edit ):

Test on WMVD5-DVT2-A1, BIOS 0.4.7.

steps:

1. run the kernel in live session during the mt7921 bt/wifi firmware is not available
2. install ubuntu
3. Wi-Fi/BT works well after installation

The log while firmware is not available is attached.

tags: added: verification-done-focal
removed: verification-needed-focal
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.13 (Ubuntu Focal):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Impish):
status: In Progress → Fix Committed
Juerg Haefliger (juergh)
Changed in linux-firmware (Ubuntu Focal):
status: In Progress → Fix Committed
Juerg Haefliger (juergh)
Changed in linux-firmware (Ubuntu Impish):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.14 - 5.14.0-1011.11

---------------
linux-oem-5.14 (5.14.0-1011.11) focal; urgency=medium

  * focal/linux-oem-5.14: 5.14.0-1011.11 -proposed tracker
    (LP: #1954691)

  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- update from kernel-versions (main/2021.11.08)

  * s2idle suspend failure: amd_pmc AMDI0005:00: SMU response timed out
    (LP: #1954633)
    - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops

  * Fix power button wakeup with shared IRQs on AMD platforms (LP: #1953540)
    - ACPI: Add stubs for wakeup handler functions
    - pinctrl: amd: Fix wakeups when IRQ is shared with SCI

  * alsa/hda: the microphone can't be detected on a couple of lenovo machines
    (LP: #1954612)
    - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform

  * mt7921e: Failed to start WM firmware (LP: #1954300)
    - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases
    - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed

  * Fix cpufreq: cpufreq_online: Failed to initialize policy for cpu: 0 (-19)
    (LP: #1954617)
    - ACPI: CPPC: Introduce cppc_get_nominal_perf()
    - ACPI: CPPC: Add NULL pointer check to cppc_get_perf()
    - cpufreq: intel_pstate: hybrid: Rework HWP calibration

  * Add support for NVIDIA EC backlight (LP: #1953286)
    - platform/x86: Add driver for ACPI WMAA EC-based backlight control
    - platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c
    - platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight
    - [Config] NVIDIA_WMI_EC_BACKLIGHT=m

  * Let VMD follow host bridge PCIe settings (LP: #1954611)
    - SAUCE: PCI: vmd: Honor ACPI _OSC on PCIe features

 -- Timo Aaltonen <email address hidden> Mon, 13 Dec 2021 19:41:56 +0200

Changed in linux-oem-5.14 (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello You-Sheng, or anyone else affected,

Accepted linux-firmware into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.187.24 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.13 - 5.13.0-1022.26

---------------
linux-oem-5.13 (5.13.0-1022.26) focal; urgency=medium

  * focal/linux-oem-5.13: 5.13.0-1022.26 -proposed tracker (LP: #1954685)

  * Packaging resync (LP: #1786013)
    - [Packaging] resync update-dkms-versions helper
    - debian/dkms-versions -- update from kernel-versions (main/2021.11.08)

  * mt7921e: Failed to start WM firmware (LP: #1954300)
    - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases
    - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed

  * s2idle suspend failure: amd_pmc AMDI0005:00: SMU response timed out
    (LP: #1954633)
    - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops

 -- Timo Aaltonen <email address hidden> Tue, 14 Dec 2021 08:19:59 +0200

Changed in linux-oem-5.13 (Ubuntu Focal):
status: Fix Committed → Fix Released
Mathew Hodson (mhodson)
no longer affects: linux-oem-5.13 (Ubuntu Impish)
no longer affects: linux-oem-5.13 (Ubuntu Jammy)
no longer affects: linux-oem-5.13 (Ubuntu)
no longer affects: linux-oem-5.14 (Ubuntu Impish)
no longer affects: linux-oem-5.14 (Ubuntu Jammy)
no longer affects: linux-oem-5.14 (Ubuntu)
no longer affects: linux (Ubuntu Focal)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.187.24

---------------
linux-firmware (1.187.24) focal; urgency=medium

  * amdgpu: add UVD firmware for SI asics (LP: #1953249)
  * linux-firmware: update frimware for mediatek bluetooth chip (MT7921) (LP: #1954300)

 -- Juerg Haefliger <email address hidden> Thu, 16 Dec 2021 16:01:58 +0100

Changed in linux-firmware (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Update Released

The verification of the Stable Release Update for linux-firmware has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux/5.13.0-24.24 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-impish' to 'verification-done-impish'. If the problem still exists, change the tag 'verification-needed-impish' to 'verification-failed-impish'.

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-impish
You-Sheng Yang (vicamo)
tags: added: verification-done-impish
removed: verification-needed-impish
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 5.15.0-17.17

---------------
linux (5.15.0-17.17) jammy; urgency=medium

  * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809)

 -- Andrea Righi <email address hidden> Thu, 13 Jan 2022 17:11:21 +0100

Changed in linux (Ubuntu Jammy):
status: In Progress → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello You-Sheng, or anyone else affected,

Accepted linux-firmware into impish-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.201.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-impish to verification-done-impish. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-impish. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (74.6 KiB)

This bug was fixed in the package linux - 5.13.0-28.31

---------------
linux (5.13.0-28.31) impish; urgency=medium

  * amd_sfh: Null pointer dereference on early device init causes early panic
    and fails to boot (LP: #1956519)
    - HID: amd_sfh: Fix potential NULL pointer dereference

  * impish: ddebs build take too long and times out (LP: #1957810)
    - [Packaging] enforce xz compression for ddebs

  * audio mute/ mic mute are not working on a HP machine (LP: #1955691)
    - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook

  * rtw88_8821ce causes freeze (LP: #1927808)
    - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE

  * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table
    (LP: #1955686)
    - ALSA: hda: intel-sdw-acpi: harden detection of controller
    - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2

  * icmp_redirect from selftests fails on F/kvm (unary operator expected)
    (LP: #1938964)
    - selftests: icmp_redirect: pass xfail=0 to log_test()

  * Impish update: upstream stable patchset 2021-12-17 (LP: #1955180)
    - arm64: zynqmp: Do not duplicate flash partition label property
    - arm64: zynqmp: Fix serial compatible string
    - ARM: dts: sunxi: Fix OPPs node name
    - arm64: dts: allwinner: h5: Fix GPU thermal zone node name
    - arm64: dts: allwinner: a100: Fix thermal zone node name
    - staging: wfx: ensure IRQ is ready before enabling it
    - ARM: dts: NSP: Fix mpcore, mmc node names
    - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
    - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro
    - arm64: dts: hisilicon: fix arm,sp805 compatible string
    - RDMA/bnxt_re: Check if the vlan is valid before reporting
    - bus: ti-sysc: Add quirk handling for reinit on context lost
    - bus: ti-sysc: Use context lost quirk for otg
    - usb: musb: tusb6010: check return value after calling
      platform_get_resource()
    - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read
    - ARM: dts: ux500: Skomer regulator fixes
    - staging: rtl8723bs: remove possible deadlock when disconnect (v2)
    - ARM: BCM53016: Specify switch ports for Meraki MR32
    - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency
    - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property
    - arm64: dts: freescale: fix arm,sp805 compatible string
    - ASoC: SOF: Intel: hda-dai: fix potential locking issue
    - clk: imx: imx6ul: Move csi_sel mux to correct base register
    - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect
    - scsi: advansys: Fix kernel pointer leak
    - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336
      codec
    - firmware_loader: fix pre-allocated buf built-in firmware use
    - ARM: dts: omap: fix gpmc,mux-add-data type
    - usb: host: ohci-tmio: check return value after calling
      platform_get_resource()
    - ARM: dts: ls1021a: move thermal-zones node out of soc/
    - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash
    - ALSA: ISA: not for M68K
    - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc
    - MIPS: sni:...

Changed in linux (Ubuntu Impish):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote :

The verification-done-impish tag was added before linux-firmware was actually available in Impish so I am switching the tag back to verification-needed-impish.

tags: added: verification-needed-impish
removed: verification-done-impish
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Hey You-Sheng Yang @vicamo,

Friendly poke :) Could you please verify linux-firmware in impish-proposed?

This verification seems to block the linux-firmware SRU on impish, and that blocks a larger SRU on focal.

Thanks!

Revision history for this message
Andy Chi (andch) wrote :

Test on Troy-MTE-DVT, BIOS 1.0.0

steps:

1. Install ubuntu impish
2. Enable proposed channel
3. Wi-Fi/BT works well after installation

tags: added: verification-done-impish
removed: verification-needed-impish
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.201.4

---------------
linux-firmware (1.201.4) impish; urgency=medium

  * mt7921e: Failed to start WM firmware (LP: #1954300)
    - linux-firmware: update frimware for mediatek bluetooth chip (MT7921)
  * mt7921e 0000:02:00.0: PM: failed to resume async: error -110 (LP: #1958286)
    - linux-firmware: update frimware for mediatek bluetooth chip (MT7921)
    - linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
    - linux-firmware: update firmware for MT7921 WiFi device
    - linux-firmware: update firmware for MT7921 WiFi device
    - linux-firmware: update firmware for mediatek bluetooth chip(MT7921)

 -- Juerg Haefliger <email address hidden> Fri, 28 Jan 2022 11:12:51 +0100

Changed in linux-firmware (Ubuntu Impish):
status: Fix Committed → Fix Released
Timo Aaltonen (tjaalton)
Changed in oem-priority:
status: New → Fix Released
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.