linux内核版本:6.1.11
在加载cfg80211.ko文件时出现报错
# insmod cfg80211.ko
[ 5156.615292] cfg80211: Unknown symbol rfkill_unregister (err -2)
[ 5156.622312] cfg80211: Unknown symbol rfkill_blocked (err -2)
[ 5156.628952] cfg80211: Unknown symbol rfkill_destroy (err -2)
[ 5156.635679] cfg80211: Unknown symbol rfkill_resume_polling (err -2)
[ 5156.643082] cfg80211: Unknown symbol rfkill_alloc (err -2)
[ 5156.649571] cfg80211: Unknown symbol rfkill_set_hw_state_reason (err -2)
[ 5156.657319] cfg80211: Unknown symbol rfkill_register (err -2)
[ 5156.703799] cfg80211: Unknown symbol rfkill_unregister (err -2)
[ 5156.710808] cfg80211: Unknown symbol rfkill_blocked (err -2)
[ 5156.717445] cfg80211: Unknown symbol rfkill_destroy (err -2)
[ 5156.724209] cfg80211: Unknown symbol rfkill_resume_polling (err -2)
[ 5156.731811] cfg80211: Unknown symbol rfkill_alloc (err -2)
[ 5156.738398] cfg80211: Unknown symbol rfkill_set_hw_state_reason (err -2)
[ 5156.746515] cfg80211: Unknown symbol rfkill_register (err -2)
insmod: can't insert 'cfg80211.ko': unknown symbol in module, or unknown paramet er
试过很多方式还是出现这样的报错,最后就想着直接加载进内核算了
y他
然后发现居然缺少配置,那就加上配置看看
看着报错的内容和RFKILL有关,那多半就是这个没配置好
RFKILL [=m]
:要求RFKILL
选项编译为模块。这表示模块依赖于将RFKILL
编译为内核模块。!RFKILL [=m]
:要求RFKILL
选项未被设置为模块。这表示模块依赖于将RFKILL
编译为内核的一部分,而不是单独的模块。综上所述,该模块的编译依赖关系如下:
- 需要启用网络子系统和无线子系统。
- 对于RFKill选项,可以是编译为内核模块,也可以是编译为内核的一部分(非模块)
也给编译进内核,然后cfg80211就可以编译进内核
烧录进开发板,查看内核信息
成功加载,只是没找到regulatory.db文件,问题不大,再看看识别到加载到内核的网卡没有
成功加载识别