【问题标题】:Linux Device Driver not loaded automatically using udev未使用 udev 自动加载 Linux 设备驱动程序
【发布时间】:2014-10-21 04:52:33
【问题描述】:

我正在寻找一种在启动时自动加载我的 linux 设备驱动程序的方法。为此,我创建了一个 udev 规则文件:

KERNEL=="k1", SUBSYSTEM=="subx", SYMLINK+="sym_subx", ATTRS{vendor}=="0x14ab", ATTRS{device}=="0xe001", MODE="0660", GROUP="xyz"

我先手动安装了驱动,然后重启了udev。在此之后,我第一次卸载并安装了驱动程序。我可以看到驱动程序已正确安装以及正在创建的符号链接。

现在当我重新启动机器时,我希望驱动程序在启动时自动加载,但事实并非如此。这里可能缺少什么?在某些 .conf 文件(modprobe.conf 或任何其他文件)中我需要做任何条目吗?我应该把我的 module.ko 文件放在哪里?

我怀疑缺少一些小东西。任何帮助将不胜感激。

问候, 萨潘

【问题讨论】:

  • 你是怎么“手动安装驱动”的?
  • 检查/etc/modules/etc/modules.confman modules.

标签: linux-kernel linux-device-driver udev


【解决方案1】:

我终于可以自己做。自动加载驱动的步骤如下:

  1. 将 module.ko 放入 /lib/modules/$(uname -r)/kernel/drivers/ - 第一次可能需要创建“module”目录
  2. 编写 Udev 规则
  3. % sudo depmod -a 这将更新驱动程序的依赖项
  4. 检查 /lib/modules/$(uname -r)/modules.dep 文件并搜索 modules.ko 。它应该列出对其他模块的依赖项(如果有)
  5. % sudo /sbin/reboot 或 sudo udevadm 触发器

它适用于我的 Linux SLES11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 2017-07-29
    • 2013-04-13
    相关资源
    最近更新 更多