Public bug reported:

Hello, I use Ubuntu 20.04.2 LTS.

The kernel was recently updated to 5.11

5.11.0-25-generic #27~20.04.1-Ubuntu SMP Tue Jul 13 17:41:23 UTC 2021
x86_64 x86_64 x86_64 GNU/Linux

Since then the ath10k_core driver for my QCA9984 card is broken and only
loads ~3 firmware versions from the 3.9.0.2 branch

https://github.com/kvalo/ath10k-firmware/tree/master/QCA9984/hw1.0/3.9.0.2

The firmware versions 70 / 86 / 91 are functional (but these firmware
versions are already 2 years old)

Responsible for this is the defective patch "ath10k: add target IRAM
recovery feature support"

https://git.launchpad.net/~ubuntu-
kernel/ubuntu/+source/linux/+git/focal/commit/?h=hwe-5.11&id=9af7c32ceca85da27867dd863697d2aafc80a3f8

If I understand the patch correctly then the driver tries to load
firmware with the feature "iram recovery" into the memory of the host
(for recvovery purposes).

If this fails, the firmware is discarded and the network controller
remains unusable.

Of course, this is not a desirable behavior for optional firmware
features.


dmesg:

[    3.074952] ath: loading out-of-tree module taints kernel.
[    3.090522] ath: module verification failed: signature and/or required key 
missing - tainting kernel
[    3.110879] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 
reset_mode 0
[    3.178741] ath10k_pci 0000:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 
reset_mode 0
[    3.229944] ath10k_pci 0000:03:00.0: qca9984/qca9994 hw1.0 target 0x01000000 
chip_id 0x00000000 sub 168c:cafe
[    3.229948] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 
0 testmode 0
[    3.230274] ath10k_pci 0000:03:00.0: firmware ver 10.4-3.9.0.2-00149 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 5f41acd7
[    3.291329] ath10k_pci 0000:04:00.0: qca9984/qca9994 hw1.0 target 0x01000000 
chip_id 0x00000000 sub 168c:cafe
[    3.291333] ath10k_pci 0000:04:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 
0 testmode 0
[    3.291678] ath10k_pci 0000:04:00.0: firmware ver 10.4-3.9.0.2-00149 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 5f41acd7
[    4.463156] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id 0:1 crc32 
85498734
[    4.520649] ath10k_pci 0000:04:00.0: board_file api 2 bmi_id 0:2 crc32 
85498734
[    7.047910] ath10k_pci 0000:03:00.0: failed to copy target iram contents: -12
[    7.103260] ath10k_pci 0000:03:00.0: could not init core (-12)
[    7.103267] ath10k_pci 0000:03:00.0: could not probe fw (-12)
[    7.108570] ath10k_pci 0000:04:00.0: failed to copy target iram contents: -12
[    7.163247] ath10k_pci 0000:04:00.0: could not init core (-12)
[    7.163268] ath10k_pci 0000:04:00.0: could not probe fw (-12)


In the ath10k mailing list I found a second patch which makes it possible to 
load the latest firmware on the card again.

https://www.mail-archive.com/ath10k@lists.infradead.org/msg13655.html

I have tested the patch and it works.

dmesg:

[18245.610112] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 
reset_mode 0
[18245.674800] ath10k_pci 0000:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 
reset_mode 0
[18245.731606] ath10k_pci 0000:03:00.0: qca9984/qca9994 hw1.0 target 0x01000000 
chip_id 0x00000000 sub 168c:cafe
[18245.731620] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 
0 testmode 0
[18245.733172] ath10k_pci 0000:03:00.0: firmware ver 10.4-3.9.0.2-00152 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 723f9771
[18245.790380] ath10k_pci 0000:04:00.0: qca9984/qca9994 hw1.0 target 0x01000000 
chip_id 0x00000000 sub 168c:cafe
[18245.790383] ath10k_pci 0000:04:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 
0 testmode 0
[18245.790703] ath10k_pci 0000:04:00.0: firmware ver 10.4-3.9.0.2-00152 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 723f9771
[18246.963760] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id 0:1 crc32 
85498734
[18247.019699] ath10k_pci 0000:04:00.0: board_file api 2 bmi_id 0:2 crc32 
85498734
[18249.514054] ath10k_pci 0000:03:00.0: No hardware memory
[18249.514057] ath10k_pci 0000:03:00.0: failed to copy target iram contents: -12
[18249.570423] ath10k_pci 0000:04:00.0: No hardware memory
[18249.570426] ath10k_pci 0000:04:00.0: failed to copy target iram contents: -12
[18249.620637] ath10k_pci 0000:03:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp 
max-sta 512 raw 0 hwcrypto 1
[18249.678035] ath10k_pci 0000:04:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp 
max-sta 512 raw 0 hwcrypto 1 

Please include this patch in Ubuntu so that we can load current firmware
versions on our QCA9984 cards again.

additional reference:

https://lists.infradead.org/pipermail/ath10k/2021-May/012626.html


best regards

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: ath10k

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1939937

Title:
  ath10k: "add target IRAM recovery feature support" breaks QCA9984
  Firmware load capability

Status in linux package in Ubuntu:
  New

Bug description:
  Hello, I use Ubuntu 20.04.2 LTS.

  The kernel was recently updated to 5.11

  5.11.0-25-generic #27~20.04.1-Ubuntu SMP Tue Jul 13 17:41:23 UTC 2021
  x86_64 x86_64 x86_64 GNU/Linux

  Since then the ath10k_core driver for my QCA9984 card is broken and
  only loads ~3 firmware versions from the 3.9.0.2 branch

  https://github.com/kvalo/ath10k-firmware/tree/master/QCA9984/hw1.0/3.9.0.2

  The firmware versions 70 / 86 / 91 are functional (but these firmware
  versions are already 2 years old)

  Responsible for this is the defective patch "ath10k: add target IRAM
  recovery feature support"

  https://git.launchpad.net/~ubuntu-
  
kernel/ubuntu/+source/linux/+git/focal/commit/?h=hwe-5.11&id=9af7c32ceca85da27867dd863697d2aafc80a3f8

  If I understand the patch correctly then the driver tries to load
  firmware with the feature "iram recovery" into the memory of the host
  (for recvovery purposes).

  If this fails, the firmware is discarded and the network controller
  remains unusable.

  Of course, this is not a desirable behavior for optional firmware
  features.

  
  dmesg:

  [    3.074952] ath: loading out-of-tree module taints kernel.
  [    3.090522] ath: module verification failed: signature and/or required key 
missing - tainting kernel
  [    3.110879] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 
0 reset_mode 0
  [    3.178741] ath10k_pci 0000:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 
0 reset_mode 0
  [    3.229944] ath10k_pci 0000:03:00.0: qca9984/qca9994 hw1.0 target 
0x01000000 chip_id 0x00000000 sub 168c:cafe
  [    3.229948] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 1 
dfs 0 testmode 0
  [    3.230274] ath10k_pci 0000:03:00.0: firmware ver 10.4-3.9.0.2-00149 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 5f41acd7
  [    3.291329] ath10k_pci 0000:04:00.0: qca9984/qca9994 hw1.0 target 
0x01000000 chip_id 0x00000000 sub 168c:cafe
  [    3.291333] ath10k_pci 0000:04:00.0: kconfig debug 0 debugfs 1 tracing 1 
dfs 0 testmode 0
  [    3.291678] ath10k_pci 0000:04:00.0: firmware ver 10.4-3.9.0.2-00149 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 5f41acd7
  [    4.463156] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id 0:1 crc32 
85498734
  [    4.520649] ath10k_pci 0000:04:00.0: board_file api 2 bmi_id 0:2 crc32 
85498734
  [    7.047910] ath10k_pci 0000:03:00.0: failed to copy target iram contents: 
-12
  [    7.103260] ath10k_pci 0000:03:00.0: could not init core (-12)
  [    7.103267] ath10k_pci 0000:03:00.0: could not probe fw (-12)
  [    7.108570] ath10k_pci 0000:04:00.0: failed to copy target iram contents: 
-12
  [    7.163247] ath10k_pci 0000:04:00.0: could not init core (-12)
  [    7.163268] ath10k_pci 0000:04:00.0: could not probe fw (-12)

  
  In the ath10k mailing list I found a second patch which makes it possible to 
load the latest firmware on the card again.

  https://www.mail-archive.com/ath10k@lists.infradead.org/msg13655.html

  I have tested the patch and it works.

  dmesg:

  [18245.610112] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 
0 reset_mode 0
  [18245.674800] ath10k_pci 0000:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 
0 reset_mode 0
  [18245.731606] ath10k_pci 0000:03:00.0: qca9984/qca9994 hw1.0 target 
0x01000000 chip_id 0x00000000 sub 168c:cafe
  [18245.731620] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 1 
dfs 0 testmode 0
  [18245.733172] ath10k_pci 0000:03:00.0: firmware ver 10.4-3.9.0.2-00152 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 723f9771
  [18245.790380] ath10k_pci 0000:04:00.0: qca9984/qca9994 hw1.0 target 
0x01000000 chip_id 0x00000000 sub 168c:cafe
  [18245.790383] ath10k_pci 0000:04:00.0: kconfig debug 0 debugfs 1 tracing 1 
dfs 0 testmode 0
  [18245.790703] ath10k_pci 0000:04:00.0: firmware ver 10.4-3.9.0.2-00152 api 5 
features 
no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery
 crc32 723f9771
  [18246.963760] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id 0:1 crc32 
85498734
  [18247.019699] ath10k_pci 0000:04:00.0: board_file api 2 bmi_id 0:2 crc32 
85498734
  [18249.514054] ath10k_pci 0000:03:00.0: No hardware memory
  [18249.514057] ath10k_pci 0000:03:00.0: failed to copy target iram contents: 
-12
  [18249.570423] ath10k_pci 0000:04:00.0: No hardware memory
  [18249.570426] ath10k_pci 0000:04:00.0: failed to copy target iram contents: 
-12
  [18249.620637] ath10k_pci 0000:03:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp 
max-sta 512 raw 0 hwcrypto 1
  [18249.678035] ath10k_pci 0000:04:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp 
max-sta 512 raw 0 hwcrypto 1 

  Please include this patch in Ubuntu so that we can load current
  firmware versions on our QCA9984 cards again.

  additional reference:

  https://lists.infradead.org/pipermail/ath10k/2021-May/012626.html

  
  best regards

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1939937/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to