Significant wifi speed increase with latest firmware

I was testing the wifi speed on my raspberry pi 400 but I was a bit worried when I saw only like 30Mbits/s in iperf3 using the wireless connection.

I saw discussions around updated firmware for the adapter so I added the firmware from firmware-nonfree/brcm at master · RPi-Distro/firmware-nonfree · GitHub to /usr/lib/firmware/updates/brcm.

Now I see that the adapter is properly using 80Mhz (limited to 40MHz before) bandwidth and I’m getting around 65Mbit/s in iperf3 now!

It might be worth to upgrade the firmware-raspberrypi package and also add brcmfmac43456-sdio.raspberrypi,400.txt and brcmfmac43456-sdio.raspberrypi,4-compute-module.txt symlinks to brcmfmac43456-sdio.txt.

1 Like

Thanks @popsulfr for pointing this out. I was not aware there was a couple of commits since I had built the package. I built and push new firmware-raspberrypi package to all branches.

I also have been wanting to change the …/firmware/updates/brcm directory to to something higher alphabetically because the …/linux-firmware packages installs some pi wifi firmware in …/firmware/brcm. While some have the same md5sum others do not. So I changed to have the firmware installed in …/firmware/bcm/brcm so it would get first look. I also added your suggested links and some more that the linux-firmware packages and some others to cover all bases.

I also changed the paths to match the new paths in the brcm-patchram-plus and pushed the new brcm-patchram-plus package to all branches.

firmware-raspberrypi

These are the new package versions and they should be both installed at the same time:

brcm-patchram-plus r3.bee0942-4
firmware-raspberrypi 6-1.5

After pacman -Sy firmware-raspberry updated to 6-1.5
My raspberry 400 wlan0 devices is gone after reboot.

Arf that’s no good. I’ll try to see the differences between my files and the official packages, for now here are the sha1 sums of my working setup:

/usr/lib/firmware/brcm:

e8f24c1761bd03ea2838cbc828dd14a11ce9ac34  BCM-0a5c-6410.hcd
e8f24c1761bd03ea2838cbc828dd14a11ce9ac34  BCM-0bb4-0306.hcd
accff0d116b05b7b0e717e1864a1a16dd182b560  bcm4329-fullmac-4.bin
a61a67fa86dd854125345c302e6e71d1b4e41234  bcm43xx-0.fw
05d55699245d08ed179d949340b48ab2d9239d68  bcm43xx_hdr-0.fw
5a18dc4771b6e194e8cfefff29d6556d552fcd88  brcmfmac43143-sdio.bin
7eb3dd776a257051d9ab2d871a0674b5450a9c3a  brcmfmac43143.bin
4c0cf578d1d08abf172cfc30e9b17744453ab080  brcmfmac43236b.bin
e015f615add055f03eea96318d52cdcdf74addfc  brcmfmac43241b0-sdio.bin
f8b11c5c09e19075a844564ded669adbab77cfb7  brcmfmac43241b4-sdio.bin
6317e51ff9aac5fb0b8b1a74aed529a4208695c4  brcmfmac43241b5-sdio.bin
a2f74668aeb696ed1a609d7ee30a527b65c3f314  brcmfmac43242a.bin
a76bfb755e759cdc71d6b0ab54172f19e7521860  brcmfmac4329-sdio.bin
b0040080257defb447ce900b0b356d68019e6f79  brcmfmac4330-sdio.Prowise-PT301.txt
233fee66a076f5ed2ce51d9bdcc7ddb685376b18  brcmfmac4330-sdio.bin
8f3899b6b710fd6546a94a34b87438547484195a  brcmfmac4334-sdio.bin
b5ebbec3053d783d3d27d24e3562b190d674a68a  brcmfmac43340-sdio.bin
da2075bf22c1bebe9ac9db2aef600190b3252b30  brcmfmac43340-sdio.meegopad-t08.txt
5872629e8c489ecb91f5cfbe02df98d82ff708c9  brcmfmac43340-sdio.pov-tab-p1006w-data.txt
85399d9ad30b093768039decbc32d3fc71e0ceae  brcmfmac4335-sdio.bin
e4901407e63b813e9adda2102ea847169ff9a62d  brcmfmac43362-sdio.bin
618cc9bcfa407345c651e5159b71c8278b70f3d9  brcmfmac43362-sdio.cubietech,cubietruck.txt
618cc9bcfa407345c651e5159b71c8278b70f3d9  brcmfmac43362-sdio.lemaker,bananapro.txt
7bbda6dfbf7cd63eb50a393aaf1feba54c5556e8  brcmfmac4339-sdio.bin
cea12d4f21c5be28c2ba4ddf78cef96da7d0d7c6  brcmfmac43430-sdio.AP6212.txt
6ef0396f92148968a9122a149cca4b89aa06cb0e  brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
a24da8f6c868edfb9513c7879b0d3556d06cf083  brcmfmac43430-sdio.MUR1DX.txt
704f0e036b6b436dbfb58960d7a19075d2c80096  brcmfmac43430-sdio.bin
dcb8bdcac0e898fb0237d9051646ee5c3aef34b1  brcmfmac43430-sdio.raspberrypi,3-model-b.txt
0daa0387d65a1c55c71f5bc957158bfdea69634d  brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt
60e89f156e5330b3b6dcb461482e4fc011126528  brcmfmac43430a0-sdio.bin
2396fcb9f3f694a272a188555dfb2e4ab7cfc6cb  brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
8e99b71517d1e0daaf983ac13d7fe0d173557d91  brcmfmac43455-sdio.MINIX-NEO Z83-4.txt
b609f0ff85f62258081876f60bf70879db34237d  brcmfmac43455-sdio.bin
ad49ba6005a3e29f20339c444a25340bb57e1125  brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
ad49ba6005a3e29f20339c444a25340bb57e1125  brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
8bbb55be2f06a4da3012c918607fb5d6b9353e66  brcmfmac43455-sdio.raspberrypi,4-model-b.txt
bdf3e60b95433d977e051ddd77756847e197631d  brcmfmac4350-pcie.bin
d5716f198225036973acc8d02bf381db484694e3  brcmfmac4350c2-pcie.bin
8e19ce59ee4c35cfb124291002eded59c2056c4d  brcmfmac4354-sdio.bin
09cf2121d2f447cb58ef3a77373b4f71ac991225  brcmfmac4356-pcie.bin
e2d2c994a842c12852cee8408013d72eaf4e1854  brcmfmac4356-pcie.gpd-win-pocket.txt
3d0f7004edfea081568e9f568371e300005fc214  brcmfmac4356-sdio.bin
93e7cc3f58f866fcb9f05a87adcb370a6e45cc37  brcmfmac43569.bin
3ecd35f21356e5d9f2c5a3777cd57a881c8c7594  brcmfmac43570-pcie.bin
8cbadf7a30fad0899482eec4a067ada24fbf6305  brcmfmac4358-pcie.bin
405aa0d8b9dd4dbca86639802f5592e94b795995  brcmfmac43602-pcie.ap.bin
f88cfa6a3b86e055d76679b1f645886b3d42af4e  brcmfmac43602-pcie.bin
687dd59b594f2ab606f9025f4479946e06537b3d  brcmfmac4366b-pcie.bin
60812f1472ef6737ac2ef072632b0cc6fddb2d02  brcmfmac4366c-pcie.bin
1a8a6b7799472c861f32384738d104c1a010f82f  brcmfmac4371-pcie.bin
e08a84b9a9965c1ca42bebc9e6f9402fdfbbba14  brcmfmac4373-sdio.bin
b43046476f88946702908cfd22ad73238da01737  brcmfmac4373.bin

/usr/lib/firmware/updates/brcm:

e8f24c1761bd03ea2838cbc828dd14a11ce9ac34  BCM-0bb4-0306.hcd
27a2e1d5fd5c8f29225c6b9cd3486bae7111271f  BCM43430A1.hcd
e6883cd27b9a5316f760f9d959b9c0937269b0e5  BCM4345C0.hcd
b98f2b9d5c46c3bb8ede6c57e41c7a9938037d78  BCM4345C5.hcd
a61a67fa86dd854125345c302e6e71d1b4e41234  bcm43xx-0.fw
05d55699245d08ed179d949340b48ab2d9239d68  bcm43xx_hdr-0.fw
5a18dc4771b6e194e8cfefff29d6556d552fcd88  brcmfmac43143-sdio.bin
7eb3dd776a257051d9ab2d871a0674b5450a9c3a  brcmfmac43143.bin
4c0cf578d1d08abf172cfc30e9b17744453ab080  brcmfmac43236b.bin
e015f615add055f03eea96318d52cdcdf74addfc  brcmfmac43241b0-sdio.bin
f8b11c5c09e19075a844564ded669adbab77cfb7  brcmfmac43241b4-sdio.bin
6317e51ff9aac5fb0b8b1a74aed529a4208695c4  brcmfmac43241b5-sdio.bin
a2f74668aeb696ed1a609d7ee30a527b65c3f314  brcmfmac43242a.bin
a76bfb755e759cdc71d6b0ab54172f19e7521860  brcmfmac4329-sdio.bin
b0040080257defb447ce900b0b356d68019e6f79  brcmfmac4330-sdio.Prowise-PT301.txt
233fee66a076f5ed2ce51d9bdcc7ddb685376b18  brcmfmac4330-sdio.bin
8f3899b6b710fd6546a94a34b87438547484195a  brcmfmac4334-sdio.bin
b5ebbec3053d783d3d27d24e3562b190d674a68a  brcmfmac43340-sdio.bin
da2075bf22c1bebe9ac9db2aef600190b3252b30  brcmfmac43340-sdio.meegopad-t08.txt
85399d9ad30b093768039decbc32d3fc71e0ceae  brcmfmac4335-sdio.bin
e4901407e63b813e9adda2102ea847169ff9a62d  brcmfmac43362-sdio.bin
618cc9bcfa407345c651e5159b71c8278b70f3d9  brcmfmac43362-sdio.cubietech,cubietruck.txt
618cc9bcfa407345c651e5159b71c8278b70f3d9  brcmfmac43362-sdio.lemaker,bananapro.txt
7bbda6dfbf7cd63eb50a393aaf1feba54c5556e8  brcmfmac4339-sdio.bin
cea12d4f21c5be28c2ba4ddf78cef96da7d0d7c6  brcmfmac43430-sdio.AP6212.txt
6ef0396f92148968a9122a149cca4b89aa06cb0e  brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
a24da8f6c868edfb9513c7879b0d3556d06cf083  brcmfmac43430-sdio.MUR1DX.txt
b0956bd392fee5179b514434ed585f815a14e7d5  brcmfmac43430-sdio.bin
dcb8bdcac0e898fb0237d9051646ee5c3aef34b1  brcmfmac43430-sdio.raspberrypi-rpi.txt
69321eaccb2bf30544195dd6f997178221b10b39  brcmfmac43430-sdio.txt
0daa0387d65a1c55c71f5bc957158bfdea69634d  brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt
60e89f156e5330b3b6dcb461482e4fc011126528  brcmfmac43430a0-sdio.bin
2396fcb9f3f694a272a188555dfb2e4ab7cfc6cb  brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
319e9f681440830edec6ba6d1700a22ac75b8e94  brcmfmac43436-sdio.bin
4399e40368cf418bea069580070784bc39180199  brcmfmac43436-sdio.clm_blob
e9e067010cea87d7bd286ab863a55cf549a6bcac  brcmfmac43436-sdio.txt
35c9f9133cada8f1cde397bc6744aafe8bf758b5  brcmfmac43455-sdio.bin
0faafcdcadc5e0a9bb3e86dbb119356e7c3f448e  brcmfmac43455-sdio.clm_blob
e1db6a597d00a2e8cf608af82dfaeca07f29c5af  brcmfmac43455-sdio.txt
b1f9554e2b748aa22ca75830facb42f79d583f73  brcmfmac43456-sdio.bin
0faafcdcadc5e0a9bb3e86dbb119356e7c3f448e  brcmfmac43456-sdio.clm_blob
20cc0cb05d088f7b3a4cd70faa7a46c2ef46503a  brcmfmac43456-sdio.raspberrypi,4-compute-module.txt
20cc0cb05d088f7b3a4cd70faa7a46c2ef46503a  brcmfmac43456-sdio.raspberrypi,400.txt
20cc0cb05d088f7b3a4cd70faa7a46c2ef46503a  brcmfmac43456-sdio.txt
bdf3e60b95433d977e051ddd77756847e197631d  brcmfmac4350-pcie.bin
d5716f198225036973acc8d02bf381db484694e3  brcmfmac4350c2-pcie.bin
8e19ce59ee4c35cfb124291002eded59c2056c4d  brcmfmac4354-sdio.bin
09cf2121d2f447cb58ef3a77373b4f71ac991225  brcmfmac4356-pcie.bin
e2d2c994a842c12852cee8408013d72eaf4e1854  brcmfmac4356-pcie.gpd-win-pocket.txt
3d0f7004edfea081568e9f568371e300005fc214  brcmfmac4356-sdio.bin
93e7cc3f58f866fcb9f05a87adcb370a6e45cc37  brcmfmac43569.bin
3ecd35f21356e5d9f2c5a3777cd57a881c8c7594  brcmfmac43570-pcie.bin
8cbadf7a30fad0899482eec4a067ada24fbf6305  brcmfmac4358-pcie.bin
405aa0d8b9dd4dbca86639802f5592e94b795995  brcmfmac43602-pcie.ap.bin
f88cfa6a3b86e055d76679b1f645886b3d42af4e  brcmfmac43602-pcie.bin
687dd59b594f2ab606f9025f4479946e06537b3d  brcmfmac4366b-pcie.bin
60812f1472ef6737ac2ef072632b0cc6fddb2d02  brcmfmac4366c-pcie.bin
1a8a6b7799472c861f32384738d104c1a010f82f  brcmfmac4371-pcie.bin
e08a84b9a9965c1ca42bebc9e6f9402fdfbbba14  brcmfmac4373-sdio.bin
b43046476f88946702908cfd22ad73238da01737  brcmfmac4373.bin

EDIT:

$ diff -qrN /usr/lib/firmware/bcm/brcm /mnt/backups/firmware/updates/brcm
Files /usr/lib/firmware/bcm/brcm/BCM4345C0.hcd and /mnt/backups/firmware/updates/brcm/BCM4345C0.hcd differ
Files /usr/lib/firmware/bcm/brcm/brcmfmac43455-sdio.raspberrypi,3-compute-module.txt and /mnt/backups/firmware/updates/brcm/brcmfmac43455-sdio.raspberrypi,3-compute-module.txt differ
Files /usr/lib/firmware/bcm/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt and /mnt/backups/firmware/updates/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt differ
Files /usr/lib/firmware/bcm/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt and /mnt/backups/firmware/updates/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt differ

Is the path /usr/lib/firmware/bcm/brcm really correct ? It’s the first time I’ve seen this on any distro.

For /usr/lib/firmware/bcm/brcm/BCM4345C0.hcd it’s

 d46b46a9a704c3a966efa1eadb3f4d66619c71c8  /usr/lib/firmware/bcm/brcm/BCM4345C0.hcd

vs

e6883cd27b9a5316f760f9d959b9c0937269b0e5  /mnt/backups/firmware/updates/brcm/BCM4345C0.hcd

EDIT2: BCM4345C0.hcd shouldn’t be the problem anyway but d46b46a9a704c3a966efa1eadb3f4d66619c71c8 seems to be the latest version which is perfect.

EDIT3:

Dec 15 01:20:36 rpi400 kernel: brcmfmac: F1 signature read @0x18000000=0x15294345
Dec 15 01:20:36 rpi400 kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
Dec 15 01:20:36 rpi400 kernel: usbcore: registered new interface driver brcmfmac
Dec 15 01:20:36 rpi400 kernel: brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2
Dec 15 01:20:37 rpi400 kernel: brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
Dec 20 11:23:10 rpi400 brcm_patchram_plus[456]: file /lib/firmware/updates/brcm/BCM4345C5.hcd could not be opened, error 2

So can confirm that the path is sketchy.

Putting a symlink to /usr/lib/firmware/bcm/brcm makes it all work again:

$ sudo mkdir -p /usr/lib/firmware/updates
$ sudo ln -s ../bcm/brcm /usr/lib/firmware/updates/brcm

Hello everyone, I’m new to Manjaro and Pi 400, so I couldn’t understand how can I apply your solution. If I may, can you please give me a more info about steps I should take? Thank you.

This is a very old thread using temporary fix. The packages involved have been upgraded and in the repo.

I see. But I’ve serious 5G download speed issue: I’ve 100 mbps internet, but Pi 400 on 5G reaches only to 7 mbps (my moden is next to pi). I thought maybe this was the solution. What can I do?

Might be interference from something else. Things to try:

Move the wifi channel in the router to use something in the middle of it’s range
Move the 400 farther away from the monitor
Update router firmware if update is available
If using anything wireless eliminate it

Is this your situation?

https://hackaday.com/2019/11/28/raspberry-pi-4-hdmi-is-jamming-its-own-wifi/

Be aware that while your connection might be 100 Mbit/s, unless you have converted your Wifi speed yourself, it’s probably saying 7 MByte/s, which is plausible.
1 MByte is 8 MBit.
And Wifi speeds are unstable in general, so speed “testing” on Wifi is not feasable.

I think neither of these are related to my situation (my router is up to date, my monitor is 1920x1080, I don’t have any “wifi stop working” issue etc…). I use Speedtest for test my download speed.
Here are the results on the same circumstances I get from speedtest just now:

2.4G:

5G:

Do you have crda installed and your Regulatory Domain set for your country?

1 Like

Yes! That did the trick! After installing crda and set my country (TR) 5G download speed is 70 mbps! Thank you very much!