Lenovo QCA9377 802.11ac Wireless Network Adapter [168c:0042] Subsystem [17aa:4035]: Broken firmware, no 802.11n support

Bug #1872128 reported by Reimar Döffinger
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux-firmware (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

/lib/firmware/ath10k/QCA9377/hw1.0/firmware_6.bin
Results in no support for 5GHz bands at all, speed limited to about 25 MBit/s
/lib/firmware/ath10k/QCA9377/hw1.0/firmware_5.bin
Seems to support 5GHz bands, but speed is still stuck at about 25 MBit/s

Downloading and installing as firmware_5.bin (and deleting firmware_6.bin):
https://github.com/kvalo/ath10k-firmware/blob/master/QCA9377/hw1.0/CNSS.TF.1.0/firmware-5.bin_CNSS.TF.1.0-00267-QCATFSWPZ-1?raw=true
speed easily reaches 250MBit/s

Firmware tip found on https://www.reddit.com/r/linuxmint/comments/fjkg4x/qualcomm_atheros_qca9377_5ghz_issue/

Router in use is Synology MR2200ac

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-firmware 1.187 [modified: lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin]
ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27
Uname: Linux 5.4.0-21-generic x86_64
ApportVersion: 2.20.11-0ubuntu26
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: KDE
Date: Fri Apr 10 21:07:20 2020
Dependencies:

InstallationDate: Installed on 2017-05-28 (1048 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
PackageArchitecture: all
SourcePackage: linux-firmware
UpgradeStatus: Upgraded to focal on 2020-04-04 (6 days ago)
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu50.3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: reimar 1653 F.... pulseaudio
                      reimar 1659 F.... pipewire-media-
 /dev/snd/seq: reimar 1652 F.... pipewire
CasperMD5CheckResult: skip
Dependencies:

DistroRelease: Ubuntu 20.10
InstallationDate: Installed on 2017-05-28 (1337 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
MachineType: LENOVO 80MX
Package: linux-firmware 1.190.3
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/@/boot/vmlinuz-5.8.0-40-generic root=UUID=6f186662-358a-46e3-8b78-e4fcb06f7401 ro rootflags=subvol=@ quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 5.8.0-40.45-generic 5.8.18
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-5.8.0-40-generic N/A
 linux-backports-modules-5.8.0-40-generic N/A
 linux-firmware 1.190.3
StagingDrivers: ashmem_linux
Tags: groovy staging
Uname: Linux 5.8.0-40-generic x86_64
UpgradeStatus: Upgraded to groovy on 2020-10-07 (109 days ago)
UserGroups: N/A
_MarkForUpload: True
dmi.bios.date: 06/29/2018
dmi.bios.release: 2.43
dmi.bios.vendor: LENOVO
dmi.bios.version: DCCN43WW(V2.12)
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: Lenovo E31-80
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40700 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Lenovo E31-80
dmi.ec.firmware.release: 2.43
dmi.modalias: dmi:bvnLENOVO:bvrDCCN43WW(V2.12):bd06/29/2018:br2.43:efr2.43:svnLENOVO:pn80MX:pvrLenovoE31-80:rvnLENOVO:rnLenovoE31-80:rvrSDK0J40700WIN:cvnLENOVO:ct10:cvrLenovoE31-80:
dmi.product.family: IDEAPAD
dmi.product.name: 80MX
dmi.product.sku: LENOVO_MT_80MX_BU_idea_FM_Lenovo E31-80
dmi.product.version: Lenovo E31-80
dmi.sys.vendor: LENOVO

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-firmware (Ubuntu):
status: New → Confirmed
You-Sheng Yang (vicamo)
tags: added: hwe-networking-wifi
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Long time ago but if someone can comment some more information about the affected hardware, it will be very helpful.

For the reporter, please run:

  $ sudo ln -s source_linux.py /usr/share/apport/package-hooks/source_linux-firmware.py
  $ sudo apport-collect 1872128

For others:

  $ for id in $(lspci|grep 'Network controller' | awk '{print $1}'); do sudo lspci -vvnn -s $id; done

Changed in linux-firmware (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected groovy staging
description: updated
Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : CRDA.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : IwConfig.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : Lspci.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : Lspci-vt.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : Lsusb.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : Lsusb-t.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : Lsusb-v.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : PaInfo.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : ProcModules.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : RfKill.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : UdevDb.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : WifiSyslog.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : acpidump.txt

apport information

Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote : Re: Broken QCA9377 firmware, no 802.11n support

The ln command errored out because the symlink was already there and pointing to the right file.
I hope that means you got the right info despite that command not working.
I can also confirm that the issue still exists.
Also I am a software developer, so if there's any more advanced "magic" that would help you, feel free to ask and see if I'll manage to do it :)

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

@Reimar, thanks. Yes, I need the PCIID information so that I can try to find some affected model and have a test/report to ODM. I'm not sure how QC manage their firmware API version, but rollback to API-5 while API-6 is available doesn't seem a right solution but a hacky (and yet working) trick.

summary: - Broken QCA9377 firmware, no 802.11n support
+ Lenovo QCA9377 802.11ac Wireless Network Adapter [168c:0042] Subsystem
+ [17aa:4035]: Broken firmware, no 802.11n support
Revision history for this message
Reimar Döffinger (reimar-doeffinger) wrote :

From the summary change it seem you found the PCIID already, but just in case:
lspci:
02:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 30)
lspci -n:
02:00.0 0280: 168c:0042 (rev 30)

The only other possibly interesting info I saw to identify the hardware is a chip_id in the dmesg:
[ 5.314975] ath10k_pci 0000:02:00.0: qca9377 hw1.0 target 0x05020000 chip_id 0x003820ff sub 17aa:4035

You-Sheng Yang (vicamo)
Changed in linux-firmware (Ubuntu):
status: Incomplete → Confirmed
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.