在Orange Pi Zero LTS的Armbian中编译Xradio驱动遇问题求助
Armbian下Xradio驱动编译及Network Manager崩溃问题解决方案
编译驱动提示内核Makefile不存在的修复
- 确认驱动编译时指定的
KERNELDIR路径为已完成编译的内核源码目录,而非仅下载未编译的源码包。Armbian编译内核后,完整的Makefile和配置文件通常在/usr/src/linux-headers-$(uname -r)或编译输出路径下。 - 手动修改驱动Makefile中的内核路径:
KERNELDIR ?= /usr/src/linux-headers-$(uname -r) - 若未安装内核headers,通过Armbian自带工具安装匹配版本:
依次选择sudo armbian-configSoftware -> Headers -> Install matching headers完成安装。
Legacy内核下Network Manager崩溃的处理
- 先禁用Network Manager对无线接口的管理,验证驱动本身是否正常:
随后用sudo nmcli device set wlan0 managed noiw系列命令手动配置连接,如能正常联网,说明驱动功能正常,问题出在与Network Manager的兼容性上。 - 对比当前使用的orangepi非legacy内核源码与预装驱动的适配补丁,将预装驱动中针对Armbian的适配代码移植到当前内核中,重新编译内核及驱动。
- 编译驱动时关闭可能引发冲突的调试或冗余功能,修改驱动Makefile:
具体宏定义需参考驱动源码中的注释调整。EXTRA_CFLAGS += -DCONFIG_XRADIO_SKIP_NM_CHECK
替代方案
- 提取设备预装的Xradio驱动
.ko文件,尝试直接加载到当前内核:
若出现版本不兼容,用sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/xradio.komodinfo xradio.ko查看预装驱动的内核版本,对比当前内核的CONFIG_*参数,调整驱动编译选项后重新编译。
内容的提问来源于stack exchange,提问作者Joshua Strutton
相关产品推荐
相关产品推荐

