[OpenWrt-Devel] ath10k fails to load firmware in r46386 on ESR1750

Roman Yeryomin leroi.lists at gmail.com
Fri Jul 17 11:27:29 EDT 2015


On 17 July 2015 at 16:34, Christian Beier <cb at shoutrlabs.com> wrote:
>
> Hi list!
>
> On an EnGenius ESR1750 running current trunk (r46386), the ath10k driver fails
> to load the firmware blob - it did work in Barrier Breaker though. Here's the
> failing dmesg bits:
>
> ---snip---
> [   72.050000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
> [   72.060000] ath10k_pci 0000:00:00.0: pci irq legacy interrupts 0 irq_mode 0 reset_mode 0
> [   72.280000] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/cal-pci-0000:00:00.0.bin failed with error -2
> [   72.290000] ath10k_pci 0000:00:00.0: Falling back to user helper
> [   72.360000] firmware ath10k!cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
> [   72.460000] ath10k_pci 0000:00:00.0: otp calibration failed: 2
> [   72.470000] ath10k_pci 0000:00:00.0: failed to run otp: -22
> [   72.470000] ath10k_pci 0000:00:00.0: could not init core (-22)
> [   72.480000] ath10k_pci 0000:00:00.0: could not probe fw (-22)
> ---snap---
>
>
> Barrier Breaker dmesg instead:
> ---snip---
> [   12.440000] ath10k_pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x101fffff 64bit]
> [   12.450000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
> [   12.750000] ath10k: pci irq legacy irq_mode 0 reset_mode 0
> [   13.160000] ath10k: otp stream is empty, using board.bin contents
> [   14.120000] ath10k: qca988x hw2.0 (0x4100016c, 0x043202ff) fw 10.1.467.3-1 api 2 htt 2.1
> ---snap---
>
> Any hints on this?
>

Works fine for me on Archer c7 v2 with latest trunk (3.18 kernel):

[   11.930000] ath10k_pci 0000:01:00.0: Direct firmware load for
ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[   11.940000] ath10k_pci 0000:01:00.0: Falling back to user helper
[   13.280000] ath10k_pci 0000:01:00.0: qca988x hw2.0 (0x4100016c,
0x043202ff) fw 10.2.4.70-2 api 5 htt 2.1 wmi 5 cal file max_sta 128


but fails hardly on same trunk but 4.0 kernel:

[   11.000000] ath10k_pci 0000:01:00.0: Direct firmware load for
ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[   11.010000] ath10k_pci 0000:01:00.0: Falling back to user helper
[   11.280000] Unhandled kernel unaligned access[#1]:
[   11.280000] CPU: 0 PID: 314 Comm: kworker/u2:2 Not tainted 4.0.7 #1
[   11.280000] Workqueue: ath10k_wq ath10k_core_stop [ath10k_core]
[   11.280000] task: 878b4508 ti: 87b12000 task.ti: 87b12000
[   11.280000] $ 0   : 00000000 00000001 00000001 8dde212a
[   11.280000] $ 4   : 8dde212a 87170000 87170000 00001762
[   11.280000] $ 8   : 00000001 00007969 8700c700 00000000
[   11.280000] $12   : 00000000 00000001 00000000 06000000
[   11.280000] $16   : 87015360 00400000 00000000 87015dec
[   11.280000] $20   : 00000000 00000000 87804c10 87804c00
[   11.280000] $24   : 00000000 8007cdac
[   11.280000] $28   : 87b12000 87b13de8 00000088 8714f204
[   11.280000] Hi    : 00000009
[   11.280000] Lo    : 00000006
[   11.280000] epc   : 8714f238 ath10k_core_start+0x158/0x8c0 [ath10k_core]
[   11.280000]     Not tainted
[   11.280000] ra    : 8714f204 ath10k_core_start+0x124/0x8c0 [ath10k_core]
[   11.280000] Status: 1100fc03 KERNEL EXL IE
[   11.280000] Cause : 00800010
[   11.280000] BadVA : 00001766
[   11.280000] PrId  : 00019750 (MIPS 74Kc)
[   11.280000] Modules linked in: ath10k_pci(+) ath10k_core ath
mac80211 cfg80211 compat ledtrig_usbdev ip6t_REJECT nf_reject_ipv6
nf_log_ipv6 nf_log_common i
p6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables ipv6
arc4 crypto_blkcipher ehci_platform ehci_hcd gpio_button_hotplug
usbcore nls_base usb_com
mon
[   11.280000] Process kworker/u2:2 (pid: 314, threadinfo=87b12000,
task=878b4508, tls=00000000)
[   11.280000] Stack : 00009000 8704b54c 00000000 00000000 00000003
ffff00fe 00401c60 00000000
          004043d0 87015e74 87015360 00000000 87015dec 00000000
00000000 87150ad0
          878b4508 8009a3ec 87829928 8716f0e4 4100016c 878b4508
4100016c 00000007
          00000000 87b3b280 87015e74 87804c00 87022900 80092ea4
87b3b280 87804c00
          87b3b298 80313c24 00000001 80370000 87804c00 87b3b280
87804c00 87b3b298
          ...
[   11.280000] Call Trace:
[   11.280000] [<8714f238>] ath10k_core_start+0x158/0x8c0 [ath10k_core]
[   11.280000] [<87150ad0>] ath10k_core_stop+0x1fc/0xcbc [ath10k_core]
[   11.280000]
[   11.280000]
Code: 2ce2f001  10400016  3c068717 <8ce50004> 8ce60000  0dc53bb1
02002021  00408821  10400007
[   11.480000] ---[ end trace 984c21dee33226f1 ]---
[   11.490000] CPU 0 Unable to handle kernel paging request at virtual
address fffffff0, epc == 80097550, ra == 80093c3c


Reverting r46244 and r46245 (t.i. making it use board.bin again as in
BB in your test) fixes the issue.
Maybe ath10k is doing something wrong when doing request_firmware() or
maybe it's a kernel regression.

Anyway, I'm going to switch to 4.1 very soon, we'll see what happens there.


Regards,
Roman
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list