免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2540 | 回复: 4
打印 上一主题 下一主题

内核模块调用设备驱动问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-31 17:40 |只看该作者 |倒序浏览
http://baoqunmin.cublog.cn   最近在做Linux下PCI驱动程序,程序供freeswan调用,freeswan是静态编译到内核中的。所以驱动调用不涉及到用户态,
但是驱动的介绍都是在用户态下调用驱动程序的,我们也在实现了这个。看了很多帖子,写了个内核模块,在模块中使用了open,ioctl,
驱动程序能正确工作,但是一旦编译进内核,ping另一台电脑就死机。最后简化到只使用open打开设备,还是死机。
  无奈了,看网上说的内核中可以使用sys_open,我写了个模块测试了下,编译没有问题,加载时显示unresolved symbol sys_open
。模块无法加载。但是我直接在换成sys_open编译进内核,竟然可以打开设备,然后把其他的改为sys_xx,重新编译,ping又死机了。
在下是新手,望哪位高手能指点一下。非常感谢!

论坛徽章:
0
2 [报告]
发表于 2009-08-01 00:26 |只看该作者
可以 include 他的head file, 然后直接调用函数啊

论坛徽章:
0
3 [报告]
发表于 2009-08-01 10:10 |只看该作者
您的意思是在freeswan中直接include头文件,再调用此函数是吧,然后一起编译进内核,但是那样都open不了设备啊,
我想再提一个问题,能在动态加载模块中通过的,静态编译进内核一定可以用吗?还是有些区别?谢了!

论坛徽章:
0
4 [报告]
发表于 2009-08-04 22:31 |只看该作者
问题已解决,谢谢!

论坛徽章:
0
5 [报告]
发表于 2012-06-01 21:16 |只看该作者
怎么解决的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP