dont use the sinovoip version, this will fail if u do a ./scripts/feeds call. either check it out and built it as it is, or use the official openwrt repo and use ./scripts/feeds script. and i highly recommend you to do the later, use the openwrt repo (master/main branch), because the sinovoip version is lacking support of many things (e.g. thermal stuff etc.)
The BPI-R4-MT76-OPENWRT-V21.02 is very hard to compile (like all other repos done in BPI-SINOVOIP are very difficult to build) and it require more internal access for MediaTek resources.
Mediatek feed provides some features that are not available in OpenWRT (probably because of the license) and also provide some patches that are not backported yet (or maybe they are not needed) to main OpenWRT project.
thanks @danpawlik but i still have this error (used bpi repo which failed, added your repo as remote and cherry-picked your commit):
build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7988/backports-6.5/net/mac80211/iface.c:942:3: error: 'const struct net_device_ops' has no member named 'ndo_fill_forward_path'; did you mean 'ndo_fill_metadata_dst'?
.ndo_fill_forward_path = ieee80211_netdev_fill_forward_path,
^~~~~~~~~~~~~~~~~~~~~
ndo_fill_metadata_dst
build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7988/backports-6.5/net/mac80211/iface.c:942:27: error: initialization of 'bool (*)(const struct net_device *, int)' {aka '_Bool (*)(const struct net_device *, int)'} from incompatible pointer type 'int (*)(struct net_device_path_ctx *, struct net_device_path *)' [-Werror=incompatible-pointer-types]
.ndo_fill_forward_path = ieee80211_netdev_fill_forward_path,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7988/backports-6.5/net/mac80211/iface.c:942:27: note: (near initialization for 'ieee80211_dataif_8023_ops.ndo_has_offload_stats')
cc1: some warnings being treated as errors
Are you still trying to compile the mt76 on bpi’s repo? What do you want done and I can just build it for you with your needed options. If you want to send me your address I can send you a flash drive with a live environment and the image already there and buildable, if it will help development.
I could also build you a working environment with the mt76 bpi repo there and working. I can then use dd to create you a working live image. From there you can flash it to a flash drive and direct grub to boot it.
No,i applied their patches to a mt76 branch for easier following code and added the firmware loading to mainline code. At least the message timeouts are gone now,but i see only 2 phys and get a trace when i try to enable the interfaces
You use ubuntu18 for building? You could upload the original image built from source so i can verify the card works as expected and shows 3 phys
Maybe you can create docker-image which allows building?
A docker image uses https://www.docker.com or https://podman.io to run containerized operating systems on top of your host OS. Similar to a VM, but without the overhead of virtualizing the whole machine.
It allows to keep a well-defined state in a container, without having to change things on your host OS. Useful for building kernel images when you need an older ubuntu version. Or when you want to build U-Boot/OpenWrt on Windows.
Then you also don’t necessarily need a build server, but can instead use the container image in GitHub workflows or locally on your machine.
Interesting. I use a build server because I have two servers at my home. One is for data backup/VPN/media streaming and the other is for building. It builds faster than my laptop. It has 48GB running at 8000mhz and a 14900K. My laptop would take an hour to build an image. That being said I’ll try to make a Docker image. I’ve made many VMs so this shouldn’t be hard.