Fritzbox 7430 and wifi

Hello OpenWrt developer and community,

Many thanks for your continuous development of OpenWrt.

for a week I've been struggling to get wifi to work on the Fritzbox 7430.
unfortunately in vain.

it probably fails to load the firmware for the ath9k chipset.

[   12.904875] ifx_pcie_bios_map_irq port 0 dev 0000:01:00.0 slot 0 pin 1 
[   12.910190] ifx_pcie_bios_map_irq dev 0000:01:00.0 irq 144 assigned
[   12.916482] ath9k 0000:01:00.0: enabling device (0000 -> 0002)
[   12.924051] ath9k 0000:01:00.0: loading /lib/firmware/ath9k-eeprom-pci-0000:01:00.0.bin failed with error -22
[   12.932685] ath9k 0000:01:00.0: Direct firmware load for ath9k-eeprom-pci-0000:01:00.0.bin failed with error -22
[   12.942817] ath9k 0000:01:00.0: Falling back to sysfs fallback for: ath9k-eeprom-pci-0000:01:00.0.bin
[   12.947456] random: crng init done
[   13.297488] ath: phy0: Unable to load EEPROM file ath9k-eeprom-pci-0000:01:00.0.bin
[   13.303810] ath9k 0000:01:00.0: Failed to initialize device
[   13.309521] ath9k: probe of 0000:01:00.0 failed with error -22
[   13.317637] kmodloader: done loading kernel modules from /etc/modules.d/*
[   31.788041] USB0_VBUS: disabling

config wifi-device 'radio0'
	option type 'ath9k'
	option macaddr 'D4:E5:F4:12:23:34'
	list ht_capab 'SHORT-GI-40'
	list ht_capab 'DSSS_CCK-40'
	option txpower '27'
	option country 'DE'

config wifi-iface 'wifinet0'
	option device 'radio0'
	option ssid 'openwrt'
	option key 'qwertzui'
	option mode 'ap'
	option wds '1'
	option network 'lan inic0'
	option encryption 'psk'

I tried different snapshots, most recently with:

OpenWrt SNAPSHOT r15637-7d12f29ae1

If I compile with "mac80211", a wireless file is automatically generated.
I also get wifi configured so that it looks like wifi is working.
But an ssid is not visible.

Thank you for your help in advance.

Apparently the exraction of the wifi calibration from ART has failed, you'll probably have to debug this aspect further.

the firmware cannot be read because it is 0 bytes in size.

root@OpenWrt:~# ls -l /lib/firmware/
-rw-r--r--    1 root     root             0 Jan 29 08:08 ath9k-eeprom-pci-0000:01:00.0.bin
lrwxrwxrwx    1 root     root            43 Jan 29 08:08 lantiq-vrx200-a-to-b.bspatch -> xcpe_581816_580B11_to_579906_574402.bspatch
lrwxrwxrwx    1 root     root            22 Jan 29 08:08 lantiq-vrx200-a.bin -> xcpe_581816_580B11.bin
-rw-r--r--    1 root     root          3924 Jan 29 08:08 regulatory.db
-rw-r--r--    1 root     root          1920 Jan 29 08:08 xcpe_581816_580B11.LICENSE
-rw-r--r--    1 root     root        898952 Jan 29 08:08 xcpe_581816_580B11.bin
-rw-r--r--    1 root     root        253635 Jan 29 08:08 xcpe_581816_580B11_to_579906_574402.bspatch

the file is apparently not compiled.
it cannot be found in other versions either.

If you delete it, it should be regenerated on the next reboot - if that doesn't help, you will have to debug as hinted above.

It was actually because of the script you specified.

The parameter:

-s 0x1e000

must be changed to:

-s 0x1e800

so that the call of fritz_cal_extract should look like this.

/usr/bin/fritz_cal_extract -i 1 -s 0x1e800 -e 0x207 -l 4096 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")

The area in /dev/mtd0 from 0x1e000 is empty, which is why the firmware had 0 bytes.

The wifi-led is also lit now.

Thanks for the hint and the help

Please submit a patch or at least report a bug, so it can be fixed properly for everyone.

I have to take a closer look at the patch submit and the bug reports.
Patch management in particular is taken very seriously.
Especially since the wifi connection was not stable overnight.

I have changed the parameter -l 4096 to -l 4608 and test wifi for its stability.

The line now looks like this with me.

/usr/bin/fritz_cal_extract -i 1 -s 0x1e800 -e 0x207 -l 4608 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")

If wifi is stable i take care of patch management and bug reports

Hi,

were you able to track the issues down and compile a patch yet?

Hi,
I found this out rather with trial and error and looking at the data in the hex editor.
I don't think a patch is necessary, especially since my 7430 is running Fritz! OS again.
I was not satisfied with the wifi performace.

All that needs to be done is the "12-ath9k-eeprom" file in the

/etc/hotplug.d/firmware

be supplemented by one line.

look here:

https://pastebin.com/gAcL2KAU

because it's been three months now, I don't know what has changed in the development tree.
I wrote a bug report at the beginning of February but it was not found to be important.

Hello OpenWrt developer and community,

Thanks for your continous effort in devolping this software!

I'm also an owner of the FritzBox 7430. So far the Wifi is not working when using the latest stable releases.

Will there be any kind of solution in the near future!

Thank you for your help!

With best reagards

Matthias

In the sources, the change I suggested has been inserted without taking into account that there are apparently two versions of the FB 7430.

https://bugs.openwrt.org/index.php?do=details&task_id=3604

In the file "/etc/hotplug.d/firmware/12-ath9k-eeprom", replace this line again:

/usr/bin/fritz_cal_extract -i 1 -s 0x1e000 -e 0x207 -l 4096 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")

Heureka! It works!
So in total I had to change the file /etc/hotplug.d/firmware/12-ath9k-eeprom according toyour hint
into: /usr/bin/fritz_cal_extract -i 1 -s 0x1e800 -e 0x207 -l 5120 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader") by using vi
than I had to delete the file ath9k-eeprom-pci-0000:01:00.0.bin in ath9k-eeprom-pci-0000:01:00.0.bin by the rm-command and after reboot the Fritzbox generated the right file and it works now!

Thank you very much!

I've just pushed a fix for different caldata offsets to master. Can you give feedback whether you still see this issue or not?

Prebuilt images are not yet available, most likely they are uploaded in ~24 hours.

Dear blocktrron,

Yes I will do as you suggested!

But I'ma little new here and I'm not sure that I'm doing right.

Therefore I will go to (https://openwrt.org/downloads)
I will download under Development Snapshot builds
The path will be / snapshots / targets / lantiq / xrx200 /avm_fritz7430-squashfs-sysupgrade.bin

I will use the update feature of OpenWrt in the web-interface?!?

Sorry for asking maybe stupid questions!

With best reagards

Matthias

Dear blocktrron,

So I tried with the last posted release from „Sat Jan 15 15:47:07 2022“ as described above.
Result: During update through the web interface “LuCI” I got the warning that

Image check failed:

Tue Aug 31 22:25:45 UTC 2021 upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n). Tue Aug 31 22:25:45 UTC 2021 upgrade: Config cannot be migrated from swconfig to DSA Image check failed. 

Than I go for forced update with unchecking “Keep settings and retain the current configuration “
After update and reboot I can see that the web interface “LuCI” is not working properly. I always get a short line in my web browser about LuCI without login form and than it disappears after one second and the site is not reachable.
When I now connect through ssh and go to

cd /etc/hotplug.d/firmware
vi 12-ath9k-eeprom

I can see the following:

avm,fritz7430)                                                                                                                                                                  /usr/bin/fritz_cal_extract -i 1 -s 0x1e000 -e 0x207 -l 4096 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader") || \                                               /usr/bin/fritz_cal_extract -i 1 -s 0x1e800 -e 0x207 -l 4096 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")                                                    ;; 

Unfortunately this is not what helped to me earlier. I used:

change: /usr/bin/fritz_cal_extract -i 1 -s 0x1e800 -e 0x207 -l 5120 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")

Difference is -l 4096 vs. -l 5120

Unfortunately I do not understand what the difference means but I can say that -l 5120 works on my FB.

Anyhow in total I have to say that release is not working for me because I don’t have the web interface “luci”.

Sorry!

Snapshots do not come with LuCI pre-installed.

The original commit also used a block length of 4096 bytes. Is it possible you (or someone else who needs the offset 0x1e800) to share a dump of your urlader partition?

I've increased the allowed max size of the output data. Please test master and report if it is now fixed.

Snapshots should be ready by tomorrow afternoon.

I uploaded my anonymised urloader here:

https://ufile.io/f/5juih

after editing the urloader, it was 3 bytes larger than the original.

original : 262144 bytes
edited : 262147 bytes

i've installing OpenWrt SNAPSHOT, r18660-5bd926efa9, the wifi firmware with a size of 4096 was created immediately after booting.