Look into the ipq-wifi
Makefile. You need to add some lines in a couple of places.
I followed the instructions here:
# To add local files for testing:
# 1. create a new directory in the ipq-wifi package directory called "files".
# 2. place there the needed board files.
#
# To send a board file upstream:
# 1. create a pull request in https://github.com/openwrt/firmware_qca-wireless or
# send a patch to the mailing list adding the tag firmware/qca-wireless before
# the PATCH tag.
# 2. create a pull request in the main openwrt repository bumping the ipq-wifi
# package to the new version and adding the required lines to add the board file.
#
# Changes needed to the ipq-wifi Makefile:
# 1. Add board name to ALLWIFIBOARDS
# 2. Add $(eval $(call generate-ipq-wifi-package,<devicename>,<display name>))
#
# Board files should follow this name structure:
# board-<devicename>.<qca4019|qca9888|qca9889|qca9984|qca99x0|ipq8074>
file name is "board-tplink_eap620hd-v2.ipq6018.bin"
on complie should i be seeing the board-2.bin somewhere on the filesystem? (i am not)
2nd q:
Does this json have to match the error in dmesg path?
[ {
"board": [ {
"names": [
"bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=TP-Link-EAP620HD-v2"
],
"data": "squashfs-root/lib/firmware/IPQ6018/hw1.0/bdwlan.bin"
} ]
} ]
[ 11.488819] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255 from ath11k/IPQ6018/hw1.0/board-2.bin
^from that it looks like its expecting a folder path in "ath11k" ?
The JSON looks okay. The ipq-wifi
package uses package conflicts and Kconfig selections to drop the correct file as board-2.bin
.
What I suspect is happening is that the build picks the wrong board-2.bin file. Try a sha256sum
on board-2.bin
to make sure you got the correct one. You can also try hexdump -C
or strings
on the BDF to see which one was actually put in the rootfs.
For example:
# strings board-2.bin | head -n 3
QCA-ATH11K-BOARD
bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=TP-Link-EAP610-Outdoormmm
so on the rootfs/initramfs going with "find / -name *board-2.bin" doesnt return anything.
heres the strings on the file in path anyways:
strings package/firmware/ipq-wifi/files/board-tplink_eap620hd-v2.ipq6018.bin | head -n 3
QCA-ATH11K-BOARD
bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=TP-Link-EAP620HD-v2mm
LPTX\`dh
I mean the rootfs file:
# strings /lib/firmware/ath11k/IPQ6018/hw1.0/board-2.bin |head -n3
QCA-ATH11K-BOARD
bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=TP-Link-EAP610-Outdoormmm
LPTX\`dh
thats the issue - i cant see the board-2.bin anywhere on it.
root@OpenWrt:~# find / -name board-2.bin
root@OpenWrt:~# find / -name *.bin
root@OpenWrt:~# find / -name *.IPQ6018
i did find an open issue in github, perhaps could be source issue? I commented on there anyways if indeed related..
Is the package installed in the rootfs? Did you enable it in menuconfig?
# opkg list ipq-wifi*
ipq-wifi-tplink_eap610-outdoor - 2024.12.18~4b849214-r1
it appears not. Where would i see to add it in menuconfig? I briefly looked around the firmware submenu and did not see it there?
root@OpenWrt:~# apk list ipq-wifi*
WARNING: opening from cache https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq60xx/packages/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/video/packages.adb: No such file or directory
Also on boot this error is seen just wondering if this would need to be resolved before flashing the image after initramfs
Cannot parse config file '/etc/fw_env.config': No such file or directory
Failed to find NVMEM device
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
^it does continue after this msg
Look under Firmware -> ath10k Board-Specific Overrides --->
looks like it was selected in menuconfig after finding it. So i guess that means this package somehow never got install on the complie? hmm
Is the selection a module <M>
, or YES <*>
? Module won't make it into the initramfs IIRC.
It was a β*β
@Ansuel , @robimarko, we have another situation where an ipq-wifi-*
package is selected in Kconfig, but board-2.bin
is not put in the initramfs image. I am out of ideas. Do you have any suggestions?
I doubt this is possible if board-whatever.bin
is actually in the package source.
Looking at the discussion which suggests putting it into package/firmware/ipq-wifi/files/board-tplink_eap620hd-v2.ipq6018.bin
, well that wont work and this is why there is no board-2.bin
being installed.
Try creating package/firmware/ipq-wifi/src
and putting it there
still no luck it seems.
I created package/firmware/ipq-wifi/src/ and renamed board
file to board-2.bin and then compiled.
root@OpenWrt:~# find / -name board-2.bin
root@OpenWrt:~# ls -la /lib/firmware/
IPQ6018/ regulatory.db
root@OpenWrt:~# ls -la /lib/firmware/IPQ6018/
Notice.txt m3_fw.b02 q6_fw.b00 q6_fw.b03 q6_fw.b07 q6_fw.mdt
m3_fw.b00 m3_fw.flist q6_fw.b01 q6_fw.b04 q6_fw.b08
m3_fw.b01 m3_fw.mdt q6_fw.b02 q6_fw.b05 q6_fw.flist
root@OpenWrt:~# dmesg | grep wifi
[ 10.785344] ath11k c000000.wifi: ipq6018 hw1.0
[ 10.785380] ath11k c000000.wifi: FW memory mode: 0
[ 11.125205] ath11k c000000.wifi: qmi fail to get qcom,m3-dump-addr, ignore m3 dump mem req
[ 11.130632] ath11k c000000.wifi: chip_id 0x0 chip_family 0x4 board_id 0xff soc_id 0xffffffff
[ 11.138283] ath11k c000000.wifi: fw_version 0x25008f8e fw_build_timestamp 2024-03-01 03:54 fw_build_id WLAN.HK.2.5.0.1-03982-QCAHKSWPL_SILICONZ-3
[ 11.249328] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=TP-Link-EAP620HD-v2 from ath11k/IPQ6018/hw1.0/board-2.bin
[ 11.249395] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255 from ath11k/IPQ6018/hw1.0/board-2.bin
[ 11.263598] ath11k c000000.wifi: failed to fetch board data for bus=ahb,qmi-chip-id=0,qmi-board-id=255 from ath11k/IPQ6018/hw1.0/board-2.bin
[ 11.276073] ath11k c000000.wifi: failed to fetch board.bin from IPQ6018/hw1.0
[ 11.288677] ath11k c000000.wifi: qmi failed to fetch board file: -12
[ 11.295650] ath11k c000000.wifi: failed to load board data file: -12
No, do not rename it
gotcha, I seem to not be able to complie it now..
make[1]: *** [package/Makefile:183: /home/rspierz/Downloads/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/rspierz/Downloads/openwrt'
make: *** [/home/rspierz/Downloads/openwrt/include/toplevel.mk:233: world] Error 2
Compile with make -j1 V=s
and post the whole error