omap下移植usb wifi小结

原创 2013年12月06日 09:44:11

终于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 网关,好吧,终于得到回应了,虽然延迟貌似不小,不过终归是通了好吧!!

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

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

omap3530上移植AMT 6000 系列USB型触摸屏+tslib

一、omap3530上移植AMT 6000系列USB型驱动         这个移植主要是在内核usb型触摸屏驱动的框架上添加AMT 6000系列的触摸屏,这个修改应该不只对omap3530有效。具体...

和菜鸟一起学android4.0.3源码之USB wifi移植心得

一天又过去了,台风也走了有些时候了。想了想,自己还是冲动了一把,不该发那个邮件的,既然发了,也不后悔了。知道了所有也未必不是一件好事。恩,剩下的就好好做自己要做的事情吧。对于usb wifi,老早就在...

嵌入式Linux USB WIFI驱动的移植

硬件平台:飞思卡尔MX258开发板操作系统:Linux2.6.31WIFI:    RT2860 USB WIFI模组交叉编译环境:gcc version 4.1.2调试步骤:第一步:测试USBHOS...
  • armeasy
  • armeasy
  • 2011年03月16日 09:02
  • 25782

嵌入式Linux USB WIFI驱动的移植

http://blog.csdn.net/armeasy/article/details/6252389

android 平台USB wifi驱动移植及使用 SDIOwifi

android 平台USB wifi驱动移植及使用 SDIOwifi 博主链接http://blog.csdn.net/wh_19910525/article/details/73898...

USB_WIFI移植(realtek_8192cu)

对于移植USB的WIFI模块来讲,相对于要简单很多。特别是我们现在要移植的这款realtek_8192已将做好了傻瓜式的步骤文档,只需要你懂一点点wifi的流程或他的工作调用。 作为没有接触过and...

OK6410+RTL8192 USB WiFi移植

手上有一块OK6410的板子,有一个水星的usb WiFi mw300,查了一下是RTL8192的驱动,OK6410接线到路由器挂载NFS有点麻烦,想把这个驱动移植的OK6410上,通过WiFi实现N...

USB WIFI 腾达811M无线网卡 -RT5370移植

自己挖的坑,哭着也要填平!!! 软件环境:虚拟机ubuntu12.04 硬件环境:腾达811M无线网卡    OK6410:   512m  sdram  2g  nandflash   运行官方...

移植usb wifi 驱动

porting wifi主要分为两个部分,源码的修改 和 配置文件的修改,其中配置文件的修改包括 源码 未编译时 配置文件的修改 和 源码编译后 的配置文件修改,下面就这两部分分析: andro...

嵌入式Linux 三星s5pv210 USB WIFI驱动的移植

硬件平台:三星5pv210开发板 操作系统:Linux3.0.8 WIFI:    rt5370 USB WIFI模组 交叉编译环境:arm-none-linux-gnueabi-gcc  4.5.1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:omap下移植usb wifi小结
举报原因:
原因补充:

(最多只允许输入30个字)