内核模块插入问题



我们在树莓pi板上运行最新的rasibian,并有一个USB外围设备的内核驱动程序,该驱动程序在启动后通过使用ssh连接到硬件(这是一个无头系统)从外部添加(sudo insmod driverx.ko)。

问题如下:如果设备在通电时已经连接到系统,那么运行sudo insmod driver.ko会导致终端卡住(没有响应,Ctrl+C不起作用)。通过启动另一个ssh会话来运行lsmod表明该模块正在使用中,即使没有运行的代码会使用它

如果我在系统启动后插入USB设备,那么sudo insmod driver.ko工作正常,(终端仍然处于活动状态)。随后运行lsmod会显示该模块已加载,但未被任何人使用。然后我可以运行我的用户代码,一切都很好。在运行我的用户代码lsmod时,显示内核模块正在使用,用户数量为1。

在我们的系统中,USB设备将始终插入。内核版本和驱动程序版本相同
我可以填写更多详细信息,但不希望有偏见或使此查询不可读。请告知可能的问题。

感谢您的时间和帮助。

可能是,设备在启动过程中已经连接到其他驱动程序中。如果是这种情况,则必须从启动驱动程序中删除特定设备的设备凭据。

插入驱动程序之前,请查看USB设备列表。

最新更新