您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> TI专栏 >> TI DaVinci >> OMAP3x >> 正文
  OMAP下移植USB wifi小结           ★★★ 【字体:
OMAP下移植USB wifi小结
作者:casey_ch…    文章来源:casey_chen    点击数:    更新时间:2014-4-29    

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

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

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

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    OMAP-L138 FlashAndBootUti…
    CCS下的C和汇编的混合编程
    OMAPL138问题
    简单的在OMAP3530上运行Open…
    Linux下USB从(USB gadget) 驱…
    使用DirecetFB支持Qt4.7.0
    交叉编译alsa音频库并移植到…
    在angstrom中修改开机画面(…
    通过OMAP3530的spi操作ads78…
    IQmath library在Davinci/Om…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2