设为首页 收藏本站
查看: 1604|回复: 0

[经验分享] 基于TQ2440开发板的WiFi模块的使用经验总结

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-1 09:53:18 | 显示全部楼层 |阅读模式
一、软、硬件资源准备:
    内核版本:linux-2.6.30.4
  交叉编译器版本:4.3.3
  wpa_supplicant工具:wpa_supplicant-0.7.3.tar ; openssl-0.9.8e.tar
  
  开发板:TQ2440
  无线网卡芯片:RTL8192CU,(淘宝上35元购买了一个USB接口的无线网卡:http://item.taobao.com/item.htm?spm=a1z09.5.0.0.H6U4Yy&id=25936180156&_u=kk57vmr1977)
  无线网卡驱动:RTL8192CU_linux_v3.0.2164.20110715(购买无线网卡时带有一张光盘,这里使用的是此光盘配套的驱动,也可从官网下载;下载地址:http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192CU)
  
  
  二、无线网卡驱动移植:
    1、驱动在压缩包中的driver目录(也是一个压缩包),将其解压到/opt/EmbedSky/linux-2.6.30.4/drivers/net/wireless下
  2、将无线网卡驱动目录下Kconfig中的信息拷贝到上一级目录的Kconfig末尾
  3、修改/opt/EmbedSky/linux-2.6.30.4/drivers/net/wireless目录下的Makefile:
  在最后加上 obj-$(CONFIG_RTL8192CU) += rtl8188C_8192C/            (这个是驱动的相对路径,根据自己的实际情况修改rtl8188C_8192C为你自己的目录)
  4、 配置内核
  跳转到内核的目录 cd /opt/EmbedSky/linux-2.6.30.4
  执行 make menuconfig
  进入Device Drivers  --->
  
  • Network device support  --->
      Wireless LAN  --->
      将这一项打上信号:<*> Realtek 8192C USB WiFi
      保存
      5、make zImage
      
      
      三、wpa_supplicant工具移植:
        1、解压wpa_supplicant-0.7.3.tar 和 openssl-0.9.8e.tar
      2、编译openssl库
      # cp wpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/             (将wpa_supplicant中的补丁拷贝到openssl中)
      #cd openssl-0.9.8e
      #mkdir /usr/local/ssl
      #vim Makefile
      
         CC= arm-linux-gcc
      AR= arm-linux-ar $(ARFLAGS) r
      RANLIB= arm-linux-ranlib
      INSTALLTOP=/usr/local/ssl
      OPENSSLDIR=/usr/local/ssl
        #make
      #make install
      这样就在/usr/local/ssl目录下安装了ssl库
      #ls /usr/local/ssl
      #bin  certs  include  lib  man  misc  openssl.cnf  private
      后面编译wpa_supplicant要依赖openssl中的lib和include
      3、编译wpa_supplicant
      进入wpa_supplicant-0.7.3.tar.gz解压生成的wpa_supplicant-0.7.3/wpa_supplicant目录中:
      #cp defconfig        .config
      #vim .config
      
         CC=arm-linux-gcc  -L/usr/local/ssl/lib/
      #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
      CFLAGS += -I/usr/local/ssl/include
      #CPPFLAGS += -I../src/include -I../../src/router/openssl/include
      LIBS += -L/usr/local/ssl/lib
        #make
      经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
      4、将可执行工具wpa_supplicant拷贝到制作的根文件系统/bin目录下。
      
      
      四、开发板连接无线路由器:
        1、启用USB WiFi网卡:
      
         ifconfig wlan0 up
       DSC0000.png
      2、手动设置USB WiFi的IP:
      
         ifconfig wlan0 192.168.0.111 netmask 255.255.255.0
        3、在开发板的/etc目录中为连接创建配置脚本wpa_supplicant.conf,参考内容如下:
      
         ctrl_interface=/var/run/wpa_supplicant                               (手动在var目录下创建了目录run,但此目录为空)     
         network={      
              ssid=&quot;GygcYjs&quot;      
              psk=&quot;xxxxxxxx&quot;      
        }
        这里是针对wpa-psk加密方式的配置文件,且只对两个关键的选项ssid(要连接的无线路由器的ssid)、psk(要连接的无线路由器的连接密码)进行了配置。
      另外一种是wep加密方式,其配置文件有所不同(http://blog.iyunv.com/laotie1015/article/details/8529081给出了两种配置文件)。如何确定自己需要哪种类型的配置文件呢?可以参考如下图所示方式查看(将鼠标放在要连接的无线网络名称上就会有个弹出框):
    DSC0001.png
      4、使用wpa_supplicant启动连接:
      
         wpa_supplicant –Dwext –iwlan0 -c/etc/wpa_supplicant.conf -B
       DSC0002.png
      可以看出上面的输出结果中有一条“ioctl[SIOCSIWAP]: Operation not permitted”的错误信息,目前还没有找到是什么原因造成的。但是,现在已经成功连接到了我们实验室的无线路由器,从第5步可以看出。
      注:如果在运行此命令时出现:socket(PF_PACKET): Address family not supported by protocol
      原因:内核不支持RAW socket
      解决办法:编译内核时把CONFIG_PACKET选项打开
      具体操作:进入内核顶层目录,使用vim编辑器编辑.config文件,添加如下行:
      
         CONFIG_PACKET = y
        5、测试:
      
         ping 192.168.0.1
       DSC0003.png
      而且ping我自己的笔记本在本网段内的IP也是成功的:
    DSC0004.png
      
      
      参考:
        http://blog.iyunv.com/ti_tantbx/article/details/7037741
      http://blog.iyunv.com/laotie1015/article/details/8528899
      http://blog.iyunv.com/laotie1015/article/details/8529081
      http://blog.iyunv.com/duloveding/article/details/7483799

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-121196-1-1.html 上篇帖子: 同一wifi下,android 模拟器(genymotion) 连接 PC成功 心得 下篇帖子: ubuntu下破解wifi密码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表