insmod myvivi.ko失败

insmod: ERROR: could not insert module myvivi.ko: Invalid parameters
找不到原因

在2440上实验吗?

  1. 在Ubuntu上先编译出内核,这个内核要放到板子上去
  2. 在Ubuntu上编译驱动,驱动的Makefile里内核目录必须指定为步骤1的内核目录
    你的问题,就在于:板子使用的内核,跟Ubuntu里编译出来的内核不一致

不是在板子上,就是从零写一个虚拟摄像头vivid驱动那节课,不是只在虚拟机上跑的嘛韦老师

时间久远,我都忘记了。
是在Ubuntu上运行,
你使用的是Ubuntu 9.04吗?这个驱动是使用2.4的内核。
如果你使用比较新的内核,估计就会有问题。
但是你的问题在于:insmod不成功,那么先排除问题吧
这样做:
你只保留入口函数、出口函数,这2个函数也写为空函数,其他代码都删掉。
看看这个空白的驱动能否按照成功。

把编译过程、insmod过程截图,贴出来

我用这个方法排除过了,只留入口出口函数可以insmod成功,加上别的就不行了,但是别的我也是照着韦老师给的例程写的。我用的ubuntu16,linux4.15的内核。


04_virtual_driver_ok.7z (5.1 KB)
那就是video_register_device函数内部实现边了,
你使用我上传的源码。
我们现在出了新的驱动大全,使用4.x的内核

还有一个问题就是,myuvc.ko驱动没起效,insmod成功了,但检测不出usb摄像头,用课程源码也不行,想可能时device或者driver没匹配上?但没找到问题在哪,麻烦韦老师了
image