BPI-R2 openwrt kmod-mt6625l Driver and compile and send it to me

Driver IPK who has it, or a good person to help me compile a wifi driver package. The openwrt I installed does not recognize the wifi card. I wish I needed a kmod-mt6625l

Driver is kernel-specific,you have to compile together with your kernel. You can look at my repo how i have done it

How do I include the MT6625l driver when I compile the OpenWRT?

Search the commit(s) in my repo related to wifi driver for your kernel version and put them as patch in the openwrt sourcetree

In 4.14 and 4.19 driver needs to be builtin.in 5.4 it should be compilable as module.

Please explain more detailed, sorry but I’m new to this. I was just able to get LeXa2’s OpenWRT 18.06.2 working. Which are the files that I need? And what is the OpenWRT sourcetree?

For 4.19 you need these patches:

https://github.com/frank-w/BPI-R2-4.14/commits/4.19-main/drivers/misc/mediatek

And this: https://github.com/frank-w/BPI-R2-4.14/commit/83ffbaceffed1cd47a6f67fb20e39737dfb2d01a

just open the commits and add .patch to addess to get patchfile. These need to be applied to kernelsource you download from lexa2s repo. There is a patches-4.19 folder in targets/…/mt7623/ here you’ll find other patches for r2

then add wifi-driver to your config and compile

Seems like lexa2s openwrt only has 4.14 kernel so you need patches for 4.14 from my repo and add them to patches-4.14 folder

https://github.com/lexa2/openwrt/tree/openwrt-18.06-bpir2/target/linux/mediatek

As 4.14 has some later patches of wifi-driver you should use driver-folder at last state…

https://github.com/frank-w/BPI-R2-4.14/commits/4.14-main/drivers/misc/mediatek

The merge commit contains changes also outside of driver folder…

Do I have to compile your files and then add them to the folder patches-4.14 of lexa2 repo? If so how do I compile them since the make file doesnt have any commands? Or just copy and paste the files? And how do I add the driver when I do the “make menuconfig” when building the image?

Copy the patchfile(s) to the patches-4.14.

These options are needed including bluetooth (if you want bluetooth):

But openwrt uses another defconfig…imho in same path as patches folder

you should leave the patch for defconfig, becuase it is my own, not existing in your/lexas repo…instead add options from this to your config

I still don’t understand, maybe it’s a dumb question, but the patch files in your repo should have *.patch file extension like all the other files in lexa2’s patches-4.14 folder? Because I can’t find any file with *.patch extension in your folder. Or I just have to copy and paste all the content of your folder directly to patches-4.14 folder?

I tried pasting the content of your folder in to patches-4.14 and added the config you told me but got an error compiling: https://pastebin.com/qfxP7ud8 Looks like I did something wrong in the config.

You should open the commits from my repo and add “.patch” to the address in your browser…this way you can download the commits as patch-files which you can put in your openwrt patches-4.14 folder

edit, ok you need to remove “#diff…” from url before adding “.patch”

have done it and removed (hopefully all) references to defconfig https://drive.google.com/open?id=1sBrm9A6at1zvhFl2LZvy_EmQNbVeKC8c

but i don’t know on which step patches are applied because you will need them applied on defconfig-step…have not done much with openwrt…seems like they are applied when compiling the first time

Thank you for the patch files! I tried again to build but got an error wifi1 patch. https://pastebin.com/rHDkPnT0

hmm, it says nothing what the real problem is…only that genetlink.h is being patched…

but in my repo this is mainline patched by wifi1.patch: https://github.com/frank-w/BPI-R2-4.14/commits/4.14-main/include/uapi/linux/genetlink.h

maybe any backported patch from openwrt is conflicting my one

maybe you have better luck with this (also stripped from my commit): https://github.com/abbradar/openwrt/blob/a40db71ea6e5f4b635a8a643668bc16fe3da68e2/target/linux/mediatek/patches-4.14/0232-merge-mt6625l-wifi-driver.patch instead of wifi1*.patch

maybe this helps https://github.com/abbradar/mt6625l-wlan-gen2 but i don’t know how to integrate it…

i did not get till this point…

/bin/bash: line 0: cd: /media/data_fast/bpi/openwrt_lexa2/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.3.0_musl_eabi/gcc-7.3.0: No such file or directory

had a disk full and moved repo-folder to larger hdd…but also after make clean i have the old path there…made “make toolchain/clean”…hope this fixes my problem

Still getting same error at the same point. Were you able to build it with the patch after moving it to larger hdd?

same error…but don’t know whats wrong…

Could kernel versions be the problem? I was just seeing that Lexa2’s OpenWRT has 4.14.95 and on your repo you got 4.14.158

the patch for include/uapi/linux/genetlink.h seems to be already in…just remove it from file (beginning with diff)…removed it now pmic_wrap.h failes…

ahhh…problem is before…

Hunk #1 succeeded at 79 (offset 22 lines).
Hunk #2 succeeded at 519 with fuzz 1 (offset 68 lines).
Hunk #3 FAILED at 502.
Hunk #4 succeeded at 604 with fuzz 2 (offset 59 lines).
1 out of 4 hunks FAILED -- saving rejects to file arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts.rej

Yeah same error with pmic_wrap.h

Hunk #1 succeeded at 3263 (offset 2 lines). patching file include/net/genetlink.h patching file include/soc/mediatek/pmic_wrap.h Hunk #2 FAILED at 46. 1 out of 2 hunks FAILED -- saving rejects to file include/soc/mediatek/pmic_wrap.h.rej

let patchfile how it is…problem is that dts is not same as mainline…don’t know why…after leds there is memory-node not spi-node as in my dts anything modifies file to be no more compatible…

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts?h=v4.14.123#n465

dts itself is wrong because there are 2 memory-nodes, top one is added with 0064.patch

mt7530-node is added with target/linux/mediatek/patches-4.14/0064-dts.patch.

so we need to delete second memory-node, put the regulators in separate patch and apply them with the actual dts…but i don’t know how to do it with openwrt-patchsystem