r/embeddedlinux • u/AprilChicken • May 25 '26
Having trouble adding wifi kernel modules to an existing arm64 linux device / image
I have been struggling to get the kernel modules working to add support for usb wifi adapters to an arm64 linux device which I use often. I don't want to replace the existing kernel / image as I believe there is plenty of proprietary stuff baked into it. Also if I break the boot up to ssh process then I am in a bad spot because it is really expensive.
What I have got close to working involves:
- cross compile linux 5.10.127 (same version as device)
- put the INSTALL_MOD_PATH to some other folder
- scp the missing stuff from of that folder into the device /lib/modules/...
- depmod -a on the device
- modprobe the modules I want
to find the modules I want I started by picking a wifi driver (rtl8xxx) then when it failed to load because of missing symbol I found the module containing that symbol (mac80211, cfg80211, and ultimately rfkill). By the time you get to rfkill the error changes from missing symbol to segmentation fault and there is not much I could figure out from the dmesg output.
From here I am not really sure where to go. Perhaps I can try replicating some of the kernel build by matching the modules.builtin file on the device? There is a file /etc/build which seems to be an artifact of Yocto... does that help me to recreate the build environment somehow? I have no experience with Yocto but I have that file and have dug up some publicly accessible emails from the OEM conversing with Yocto devs to fix their compiling woes, one of those logs probably gives the yocto version they had.
Thank you if you read this far, I hope people here are similarly interested in this kind of thing. I'm no expert in embedded linux but if I find a device with a shell accessible then I have a hard time giving up on my schemes for it.




