I’m trying to build my assembly from the master branch, because… I need kernel 6.6.50. After the first attempt, the firmware works, but there is no wifi support at all. Now I went into wireless drivers and found that the standard for BPI R4 is mt 7996-firmware, and I understand that to work you need support for MT7995AV+MT7976CN+MT7977IAN, but they are not in the list of drivers. How to add BE14 support? P.S. I’m a newbie, so I’ll ask you to explain it in simpler terms
You need only the mt7996 driver, the testing firmware and a patch to load the testing firmware.
I built strictly according to the instructions from this site (d7d5c7502b6c24795309e259d44158e99feccb9a - openwrt/feeds/mtk-openwrt-feeds - Gitiles), is this not enough? I’m new to Linux and this business in general.
I understand you are talking about this patch? (firmware: mt76: add testing firmware for mt7996 2-3-3 variant · frank-w/BPI-Router-Linux@67a12d7 · GitHub) ? How to patch it? And after the patch, do you need to select these patched files in menuconfig?
The firmware must be placed in rootfs (maybe after boot) i only added into my kernel tree. I mean the other patch that loads it into the mt76 driver…this needs to be changed to use the right paths as openwrt uses standalone mt76 and not (like me) the one shipped with kernel. There are some repos (like from @danpawlik) which already changed it to be openwrt compatible.
Btw. If you use the SDK there was a 6.6 part which looks having also be14 support
But have not tested…i guess it misses some more parts as patches are much less than for 5.4
SDK is mediatek feeds? I’m trying to build a firmware from the master branch to have kernel 6.6.50. What is the correct way to do with danpavlik repository? Download and just run make? Or do I need to add feeds as in the instructions I posted?
afaik you can clone and use it as is
should be this branch: GitHub - danpawlik/openwrt at be14
but imho it uses firmware from SDK which was not working in my tests on mainline-code for be14, if you have same issue try replace it with testing-firmware files from my repo
@danpawlik please correct me if i’m wrong
I tried the ready-made firmware from the danpawlik repository, it works, but I can’t install the packages I need due to errors in the inappropriate kernel, kernel 6.6.6.50~129 is required
root@OpenWrt:~# opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ipset curl ip6tables-mod-nat gzip grep git-http
Installing iptables-mod-extra (1.8.8-r2) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/iptables-mod-extra_1.8.8-r2_aarch64_cortex-a53.ipk
Installing iptables-mod-nfqueue (1.8.8-r2) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/iptables-mod-nfqueue_1.8.8-r2_aarch64_cortex-a53.ipk
Installing iptables-mod-filter (1.8.8-r2) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/iptables-mod-filter_1.8.8-r2_aarch64_cortex-a53.ipk
Installing iptables-mod-ipopt (1.8.8-r2) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/iptables-mod-ipopt_1.8.8-r2_aarch64_cortex-a53.ipk
Installing iptables-mod-conntrack-extra (1.8.8-r2) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/iptables-mod-conntrack-extra_1.8.8-r2_aarch64_cortex-a53.ipk
Installing ipset (7.21-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/ipset_7.21-r1_aarch64_cortex-a53.ipk
Package curl (8.10.0-r1) installed in root is up to date.
Installing ip6tables-mod-nat (1.8.8-r2) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/ip6tables-mod-nat_1.8.8-r2_aarch64_cortex-a53.ipk
Package gzip (1.13-r1) installed in root is up to date.
Package grep (3.11-r1) installed in root is up to date.
Package git-http (2.45.2-r1) installed in root is up to date.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-extra
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-extra found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-extra:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package iptables-mod-extra.
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-nfnetlink-queue
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-nfnetlink-queue found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-nfqueue
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-nfqueue found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-nfqueue:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package iptables-mod-nfqueue.
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-lib-textsearch
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-lib-textsearch found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-conntrack
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-conntrack found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-filter
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-filter found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-filter:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package iptables-mod-filter.
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-ipopt
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-ipopt found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-ipopt:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package iptables-mod-ipopt.
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-nf-conncount
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-nf-conncount found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-conntrack-extra
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-conntrack-extra found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-conntrack-extra:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package iptables-mod-conntrack-extra.
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-ipset
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-ipset found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for ipset:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package ipset.
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-nf-nat6
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-nf-nat6 found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-nat
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-nat found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-nf-ipt6
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-nf-ipt6 found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ip6tables
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ip6tables found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1) for kmod-ipt-nat6
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-ipt-nat6 found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for ip6tables-mod-nat:
* kernel (= 6.6.50~129ccc9ecf700e21ecff22394a05f2be-r1)
* opkg_install_cmd: Cannot install package ip6tables-mod-nat.
Replace? How to do this? Should I download these bin files and where should I put them? Tell me the exact path
@frank-w exactly - it should be enough. @Marazm you need to include the kmods into the image or install desired packages directly in the image (it will include dependency) . Unfortunately you can not install later kmods, even when you mark them as modules (they will exist in packages dir)
I collected the firmware from the danpawlik repository, wifi still doesn’t work
Which part does not work? Did you switch 12V świtch?
Yes, it is switched, and on the assembly from frank-w wifi works fine, I have a problem with my own assemblies. I was told that to support be14 I need to download patches from the frank-w repository, as I understand it, we are talking about these bin files, and where to put them and in what mount it should be done, and after adding it, you need to write something so that this patch appears in make menuconfig with a driver?
no… add those files in $OPENWRT/files and they will be added to your build.
oli@DESKTOP-RA0V02P:~/openwrt$ cat files/lib/firmware/mediatek/mt7996/mt7996_
mt7996_dsp.bin mt7996_rom_patch_233.bin mt7996_wm_233.bin
mt7996_eeprom_233.bin mt7996_wa_233.bin
add the patch to support loading those files in
oli@DESKTOP-RA0V02P:~/openwrt$ ls package/kernel/mt76/patches/
0001-wifi-mt76-mt7996-support-mt7996-2-3-3-variant.patch
when you do a make now, it will apply that patch to your binary files that will end in the image. The files in $OPENWRT/files will be added to your image too on the rootfs.
Does this “make now” just need to be written and press Enter? Or do you need some kind of path to the patch?
Should I just put these bin files and the patch along the path that you wrote? But I don’t see the required folders
You need to make a “files” directory in that directory you have listed. After that his instructions should make sense.
Should I put these files and the patch in the root of the “files” folder or exactly in the path that oli wrote?
I mean I need to put it in openwrt/files or openwrt/files/lib/firmware/mediatek/mt7996/ ?
And put the patch in package/kernel/mt76/patches/ or also in the root?
FW in files/lib/firmware/mediatek/mt7996/
Patch in package/kernel/mt76/patches/