我们在 raspberry pi 板上运行最新的 raspibian,并有一个用于 USB 外围设备的内核驱动程序,它在启动后通过使用 ssh 连接到硬件(它是一个无头系统)从外部添加(sudo insmod driverx.ko)。
问题如下: 如果设备上电时已经连接到系统,运行sudo insmod driverx.ko会导致终端卡住(无响应,Ctrl+C不起作用)。通过启动另一个 ssh 会话来运行 lsmod 表明该模块正在使用中,即使没有正在运行的代码会使用它。
如果我在系统启动后插入 USB 设备,则 sudo insmod driverx.ko 工作正常,(终端仍然处于活动状态)。随后运行 lsmod 会显示该模块已加载但未被任何人使用。然后我可以运行我的用户代码,一切都很好。运行我的用户代码 lsmod 显示内核模块正在使用中,用户数为 1。
在我们的系统中,USB 设备将始终插入。内核版本和驱动程序版本相同。
我可以填写更多详细信息,但不希望有偏见或使此查询不可读。请告知可能是什么问题。
感谢您的时间和帮助。