/etc/modules 中的模块在启动时未加载

/etc/modules 中的模块在启动时未加载

我试图确保ch34x.ko每次启动设备时都会加载驱动程序模块,以便它正确识别并安装我正在使用的 USB 到串行转换器。

当我通过驱动程序手动安装模块时,insmod ch34x.ko显示为lsmod | grep ch,当我通过串行转换器拔下并重新插入时,可以dmesg正确识别它并将其附加到/dev/ttyUSB0

接下来,我将内核对象复制到/lib/modules/ \uname -r`/kernel/drives` 并将“ch34x”添加到 /etc/modules 的底部并重新启动。但是,重新启动后 lsmod 不会显示该模块,并且转换器无法识别。

我环顾四周,我能找到的所有建议是将模块名称放入 /etc/modules (或我也尝试过的 /etc/modules-load.d )。

该设备是运行 Linux 4 Tegra 4.9 的 Nvidia Jetson Nano。不过这个操作系统是基于 Ubuntu 18.04 的。我在 L4T 中找不到任何针对此问题的建议,因此我认为这是一个 ubuntu 问题。

sudo modprobe ch34x重新启动后运行会产生

modprobe: FATAL: Module ch34x not found in directory /lib/module/4.9.140-tegra

我还尝试将 ch34x.ko 添加到上述目录而不是 ./kernel/drivers (来自上述路径),并且收到相同的错误。

相关内容