usb驱动问题,虚拟机运行成功,另一台机器上失败.

发布于 2022-10-15 04:32:00 字数 511 浏览 15 评论 0

小弟我目前正在做一个usb驱动相关的项目,首先在我的个人电脑上通过虚拟机VMWare安装了一个Fedora 14系统,
然后在这个环境下进行开发,编译,生成了一个mydrv.ko驱动模块文件,最后通过测试软件能成功的使用该驱动模块
和usb硬件设备进行通信.
  但是把该驱动复制到另外一台机器上,该电脑上也安装的是Fedora 14系统,不过只是最小化安装,
没有装开发环境,加载驱动成功,然后通过测试软件进行usb通信,一运行,驱动就报错,
具体的错误出现在主机往usb设备写数据, 调用 usb_submit_urb 函数时失败,返回的错误号是:-22.
  开发环境虚拟机的内核是: 2.6.35.6-45.fc14.i686.PAE mod_unload 686,安装了开发环境等。
另一台测试主机器的内核是:2.6.35.6-45.fc14.i686.mod_unload 686,只是最小化安装了linux,没有安装开发环境。
能否请各位兄弟帮忙看看问题出在哪里,谢谢了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

惯饮孤独 2022-10-22 04:32:00

我自己顶一下.

是伱的 2022-10-22 04:32:00

查找了一下资料,-22的错误号表示是: EINVAL,有三种可能性会引发该错误:
a) Invalid transfer type specified (or not supported)  
b) Invalid interrupt interval (0<n<256)  
c) More than one interrupt packet requested

樱花坊 2022-10-22 04:32:00

今天再测试了一下,在我的电脑上安装了Fedora14系统(不是虚拟机),是按照选择开发环境大项来安装的。
测试驱动,一切正常.这个的内核版本是:2.6.35.6-45.fc14.i686.PAE
然后,再使用另一块主板,也安装了Fedora14系统,不同之处在于,安装的时候,没有安装开发环境。
测试,现在的内核版本是:2.6.35.6-45.fc14.i686,不是PAE版本,PAE是抗展物理内存的意思.
有错误发生,依然会出现调用 usb_submit_urb 函数时失败,返回的错误号是:-22.
看来难道在带PAE版本的内核上编译的驱动模块在不是PAE版本的内核模块中会不正常?不知道我的这个推测有道理没有?烦请各位指点下。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文