FritzBox 4040 - How to change ath10k firmware?

Dear all,
Just installed a new FritzBox 4040 following this thread:

Thanks a lot for the instructions as well as the ..eva.bin firmware and scripts !
However, in the system log I also get tons of the
"kern.warn kernel: [87771.917049] ath10k_ahb a000000.wifi".
Do I have to care about or should I change the ath10k firware ?
If I should change, how can I do that, can I do it via command line via ssh (I have downloaded the recommended ath10k file) ?
Thanks and cheers Blinton

Sadly, the "kern.warn" message got clipped. There's no way of telling what's going on there. If it's the " Invalid VHT mcs 15 peer stats " message you can manually update the firmware to this one:

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ath10k/QCA4019/hw1.0/firmware-5.bin?id=d43f3ce5923ae18bd04b8dc0bac28a5d2daf669b

This is the 3.5.3-00053 version. There's a newer 3.5.3-00057 on github (Not as easy to get without ca-bundle / ca-certificates) and there's 3.6.0-00140 in the linux-firmware repository too (Can break 5GHz due to missing driver changes)

(Make sure to download the binary / (plain) version and not the html text). and move it to "/lib/firmware/ath10k/QCA4019/hw1.0/" on the router to replace the "firmware-5.bin" file there.

Maybe run something like this on the ssh terminal or serial console of your FB4040:

# wget -O - "http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/ath10k/QCA4019/hw1.0/firmware-5.bin?id=d43f3ce5923ae18bd04b8dc0bac28a5d2daf669b" > /lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin
# wifi down; rmmod ath10k_pci; modprobe ath10k_pci; wifi up

Sadly, it's no longer easily to install the latest ath10k-firmware-ipq4019 package from the snapshot releases, since they are no longer being built and uploaded... and the ath10k-firmware-ipq4019-ct packages do not ship with the correct board files for the FB4040 (yet).

Thanks a lot chunkeey for your help !
I could download the file via wget on ubuntu into firware-5.bin and save it via scp to the destination on the router, as well as perform all commands via ssh on the router, restarted and the router works !
Hmm, I'm very concerned now about the fact, that the ath10k-firmware-ipq4019 for FB4040 is no longer being built and uploaded with the correct board files ?!
My hope was that more powerful routers (ipq40xx,ipq806x,...) are going to get a good OpenWRT support, how can we estimate the trend ?
My personal problem...I bought this router for travel (openvpn split tunnels, travelmate), as it has enough aes-ni power and is comfy to pack in the bag... and maybe not supported in future...?
Once again, thanks a lot chunkeey !
cheers blinton

Hi, there is a pull request also for 18.06 branch

I hope it is included in 18.06.2

1 Like

Hi craz,
This is great news, thanks for the information. I also hope it will be in 18.06.2 :slight_smile:
Just realized, when I reset to defaults I need to replace again the firmware-5.bin.
cheers blinton.

Yes, the latest -master/snapshot releases come with ath10k-firmware-ipq4019-ct . This firmware is a project of @greearb and his own company: Candela Technologies .
And unlike QCA you can get support through his github project page:

Currently his firmware is packaged with an older board-2.bin that does not support the FB4040, RT-AC58U, NBG6617 and MR33 yet... However a patch has been posted to the ML to fix this: https://patchwork.ozlabs.org/patch/987956/

If you think that the Qualcomm Firmwares do a better job, you can of course still built the ath10k-firmware-ipq4019 manually and roll your own releases. (I think you can also select them in the imagebuilder package, so you don't need to compile the whole thing ).

The FB4040 is a IPQ4018?! :confused:

But I don't think the Qualcomm ARM devices are as popular as the MIPS AR71XX. If you look around in the forum, you see that most people (users and devs) pick up and use MediaTek devices. (It's a free market!)

For openwrt targets, the support usually hinges on whenever somebody can be bothered to update and test the kernel patches for every new stable kernel release. And currently, this doesn't seem to be not a problem for the IPQ40XX.

As for AES-NI: The IPQ4018 has a quad-core ARM V7 Cortex-A7, it does not have any specialized aes crypto instruction (The ARM V8 Cortex-A53 do!). Instead, there is a
dedicated AES hardware-accelerator. Hence, it depends on how well the accelerator is supported in the application. For LUKS (disk encryption) the hardware-accelerator is probably giving better results than any crypto ISA. Whereas for applications like OpenVPN, it could be a wash or even deleterious. Do you have some numbers?

A little secret: OpenWRT and Youtube have a similar algorithm :smile: :wink:
So: "Don't forget to smash like, subscribe and comment on his PR":

Hi chunkeey,
Thanks a lot for the good news and your and greearb's contributions :slight_smile: :slight_smile: :slight_smile: !!!
Openvpn numbers

  • For the avm 4040 (ipq401x) with openvpn aes-128-cbc, sha256 hmac I got 30 MBits/s down-/upload speed, as wireless repeater (2.4GHz client -> 5GHz AP).
  • For the youhua wr1200js (mediatek mt7621at) with openvpn aes-128-cbc, sha256 hmac (identical server as for avm) I got 20 Mbits/s down-/upload speed, as wireless repeater. Unfortunately the mt7603 2.4GHz has trouble with old Broadcom wifi driver, which is my hypothesis. I used a Broadcom based router with Tomato (kernel 2.6.xx?) as AP to connect to with my wr1200js -> download dropped to 0.5 MBit/s. I used the same router with dd-wrt (assuming more modern Broadcom wifi driver) and everything worked correctly, i.e. expected speeds, with openvpn as written above.
    Definitely I will subscribe and comment ! Thanks again !
    cheers Blinton
1 Like