gpt4 book ai didi

linux - af_packet.ko 应该自动加载吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:57 33 4
gpt4 key购买 nike

我在尝试让 wpa_supplicant 在运行自定义嵌入式 Linux 发行版的板上运行时遇到了问题。经过一些调试,原来是因为内核不支持域类型PF_PACKET:

drv->eapol_tx_sock = socket(PF_PACKET, SOCK_DGRAM, 0);

这是由 af_packet 模块支持的,预先加载它可以解决问题。我注意到它也有别名“pf-net-17”,如果通过别名从用户空间请求,内核似乎可以在运行时加载这个模块。我在另一个嵌入式 Linux 发行版中对此进行了测试,并且确实如此。它是在请求者被调用后加载的。

有谁知道为什么这个功能在第一个设置中不起作用?也许我错过了内核设置?

最佳答案

这基本上有两个原因为什么它在另一个系统上工作而不在你的板上工作:

  • PF_PACKET 被配置为在内核中构建或不作为模块构建。
  • af_packet 模块在运行时自动加载,作为对另一个模块的依赖或作为在启动时自动加载的模块

我建议您阅读此 document关于模块加载,非常简洁,但完整和精确。

解决问题的一种方法是确保为目标系统运行了 depmod,以便更新构建的模块依赖性,从而在启动时自动加载 af_packet 模块。

另一个要看的地方是udev ,这意味着 load modules根据内核检测到的设备。也许这在您的系统中也丢失/配置错误。

关于linux - af_packet.ko 应该自动加载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38731242/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com