关闭

omap下移植usb wifi小结

标签: usb wifi移植omap总结
594人阅读 评论(0) 收藏 举报
分类:

终于ping通了,虽然还有很多不明白的,但好歹也是迈出了第一步了,小结下。

用的omap的核心板,从其他人那里接手wifi驱动realtek公司的8192c的芯片,驱动包里面的资源很丰富,文档和源码一应俱全

从修改makefile文件开始 指定 arch 和crosscompil,交叉编译工具用的是已经打包好的bin文件,直接安装了,一路没遇到问题

然后在网上下载了个新的内核,当做交叉编译的环境了,结果可想而知,和目标板的内核不匹配,才晓得交叉编译的kernel环境要和目标板子的kernel一致,于是翻遍了附带的资料,找到了源码包,直接编译 wifi驱动模块了,出了n多问题,直觉告诉我,应该先将内核编译一下,这样驱动模块很多需要依赖的东西才会有,于是又把重心放到了kernel的编译上了。


之前没有编译过kernel,也没有人指点没办法,硬着头皮弄了。还是同样的,修改makefile,制定arch,和crosscompile,没多项直接make了,又除了n多错误,google,biadu了一通才知道需要针对目标板进行config,于是安装ncurses库,执行make menuconfig开始对这个一通配置,很多选项不知到是干什么的,不能随便改动,于是只是针对cpu选择了下,重新make了,又是一大堆的错误,有的吓人了,很多错误没办法都记录下来,记录几个自己印象深刻的了:

1、居然提示缺少了.c的文件,怎么可能,难道源码包不完整么,一查才发现源码包中有同一个文件的大小写不同的2个文件,很多文件都这样的,这在linux下是区分文件名的大小写的,但是windows下没有区分,我是在windows下解压了,然后copy到我的linux下的,所以很多文件覆盖了,好吧重新来过了


2、另一个存在的比较多的问题就是很多的宏缺少定义,这个问题困扰了我很久,缺少合适的工具,我是完全在ubuntu环境下来弄的,后面发现了kscope这个工具,蛮好用的,帮了我不少的忙,对于这类问题,多数是缺少头文件什么的,但是心里很奇怪,源码不肯能这么随意的,心中很纳闷,后面需要改的东西太多了,开始找原因,发现很多的宏定义是受到config配置的影响的,问题还是回到了配置那里,系统配置不清楚,没办法下手,几乎就放弃了,还是回到了附带的手册文档,在手册里面发现了存在相对应的config文件,心里骂自己看文档不认真,于是按照手册上说明的,一步一步来,kernel编译顺利通过,心里小高兴了下。


3、内核编译好了,接下来就是对wifi驱动进行重新编译了,编译是通过没有问题的,但是在insmod到目标板的时候提示 version magic不匹配了,刚开始不理解这个ersion magic是干什么的,一顿搜索,最终发现,这个玩意就是个标签而已,如果和目标字符串中的内容相差不是很远的话,比如没有架构版本不匹配等重大差别的话,是可以直接修改的,直接参照目标板需要的ersion magic修改对应的

include/linux/vermagic.h文件中的version magic直接写死了,就ok了

4、驱动模块编译了好,insmod没没有问题,开始对wifi进行测试,第二天重新加载内核模块,在测试过程中,开始出现至今很纳闷的问题

在对wifi网卡进行配置的过程中,偶尔会出现kernel挂死的现象

kernel panic - not syncing : fatal exception in interrupt

还有就是一大堆的内核信息,包括cpu状态,寄存器信息等等,瞬间头大了,偶还没到能调试内核的地步啊,无奈,这个情况只是偶然出现

猜测可能是驱动模块还是和内核不是完全兼容的问题,不过就前而言,这个问题似乎是我无能为例的,只能留做后面的来解决了!!


5、wifi驱动移植好后开始对wifi进行测试,

启动网卡

扫描access point

设置链接参数

手动设置ip

ping测试,funk,死命都不通

后面才发现原来wifi通信是经过加密的,哥还以为这个不用我们管了呢,不是驱动的事情么,原来不是

好吧,还需要wap_supplicant 等等什么的管理工具,这里顺便知道了openssl这个似乎是很有用,但是都被我忽略了的东西了

首先安装openssl这个库,然后安装wpa_supllicant等等无线链接管理工具

其中openssl是用来对密码进行加密的,哥还以为直接输入明文密码,会自动加密呢,可惜不是,需要我们自己动手ok了

把密码修改为经过openssl转换的秘文,重新配置了下,在链接

fuck还是不过,郁闷了,难道我网卡有问题,难道驱动有问题么……好吧,新手真的很痛苦,尤其是作为一个多疑的新手,瞬间感觉哪里都有问题!!

没办法还是一步步的找原因了,直觉告诉我,是不是网络配置有问问提呢,我的网卡能扫描到附近的热点,应该是没有问题的,说明网卡是工作正常的了,问题只能是出在了网络链接上,于是直接在google里面搜索wpa_supllican.conf哈哈,居然出来了个配置这个文件的example

http://manpages.ubuntu.com/manpages/hardy/en/man5/wpa_supplicant.conf.5.html按照里面的测试例子把所有的模式都包括进来(当相遇木有安全验证了什么的,这只是在测试的时候才这么用的,一般的正常使用是不能这么弄了啊,先不管看能不能连上再说)

ping 网关,好吧,终于得到回应了,虽然延迟貌似不小,不过终归是通了好吧!!

----------------------------------------------------------------------------------------------------------------

问题还是很多,刚起步确实不容易了,需要学习的东西很多,加油把!!!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:103241次
    • 积分:1551
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:38篇
    • 译文:0篇
    • 评论:24条
    最新评论