zoukankan      html  css  js  c++  java
  • FS210(cortex-A8)移植MT7601无线WIFI模块

    准备:ubuntu 12.04

       板子内核:3.0.2

       交叉编译器:arm-cortex_a8-linux-gnueabi-gcc

        所需资源下载:https://pan.baidu.com/s/1yWAX7xLEzH9JS1egyOSkmA

    参考:https://blog.csdn.net/u013267687/article/details/45559739

          https://blog.csdn.net/colouring/article/details/43449719

       https://zhidao.baidu.com/question/1669769373712396867.html

       https://blog.csdn.net/hktkfly6/article/details/52496933

       https://blog.csdn.net/forest_fire/article/details/79141650

    一、无线网卡移植   

    1、创建WIFI目录

    2、将ralink7601放入WIFI目录,并解压进入。

    3、修改Makefile

      a、打开SMDK(49行,支持三星)

      b、修改板载内核的相对路径。(相对于当前Makefile)

      c、修改源代码文件。

         修改 include/rtmp_def.h 默认设备节点的定义,修改”ra” 为”wlan”;

      d、修改/os/linux/config.mk,使其支持 WPA_Supplicant。修改 26 行和 31 行为’y’;

      e、修改common/cmm_data_usb.c(控制台输出)。

      控制控制台上 RtmpUSBNullFrameKickOut - Send NULL Frame @ Mbps...的重复打印,影响命令输入。

     4、编译源码

      make clean

      make –j2  //2核编译

    编译完成后会在/tftpboot 下生成驱动模块文件mt7601Usta.ko

    将该ko文件复制到根文件系统下。

     5、将驱动目录下的RT2870STA.dat复制到根文件系统下/etc/Wireless/RT2870STA/ 。若没有则创建目录。

    二、wpa_supplicant移植。

      准备:openssl-0.9.8e.tar.gz  、 wpa_supplicant-0.7.2.tar.gz 

        1、openssl移植

      a、解压上述两个文件,将wpa_supplicant-0.7.2/patches/openssl-0.9.8e-tls-extensions.patch文件复制到openssl-0.9.8e文件夹下,在openssl-0.9.8e文件夹下执行以下命令。

      $:patch -p< openssl-0.9.8e-tls-extensions.patch       //这里是数字1

      b、配置编译安装

      $ mkdir /home/linux/WIFI/openssl   (路径自选) 

      $ ./Configure linux-elf-arm -DL_ENDIAN linux:'arm-cortex_a8-linux-gnueabi-gcc' shared --prefix=/home/linux/WIFI/openssl

      (//路径选上面自己新建的路径,交叉工具链也要选择自己的。)

      $ make

      $ make install

        2、wpa_supplicant移植

      a、在/wpa_supplicant-0.7.2/wpa_supplicant目录下。

      修改交叉编译工具链CC= arm-cortex_a8-linux-gnueabi-gcc

      //同时删除#ifndef CC 和 #endif 否则在make的时候会出错

      b、添加

      修改

      c、编译

      $ cp deconfig  .config

      $ make

      编译后将生产的wpa_supplicant和wpa_cli拷贝到根文件系统的bin目录下作为命令使用。

      三、移植wireless-tools

      准备:wireless_tools.29.tar.gz

       1、修改Makefile

      修改CC、AR、RANLIB

      2、编译

      $ make 

      将生成的可执行文件(颜色默认为绿色,蓝色为目录)复制到根文件系统下的bin/下。
      将libiw.so.29拷贝到根文件系统/lib目录下。

      四、 WIFI模块测试

      1、在根文件系统中添加/etc/resolv.conf,  //域名解析

      

      2、在根文件系统(/source/rootfs/)中添加/etc/wpa_supplicant.conf

     

      3、在根文件系统下创建目录: /var/run/wpa_supplicant

         4、启动开发版。

      # insmod mt7601Usta.ko        //安装驱动程序,注意要到自己的路径下安装

      # ifconfig wlan0 up            //开启无线网卡 

      # wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0    //连接无线网络

      # udhcpc -i wlan0

      指定选择一个ip地址

      # ifconfig wlan0 192.168.43.8              (ip为上一步出现的ip)

      # route  add  default  gw  192.168.43.1 配置网关 

      此处网关若为未配置,可能出现 “ping: sendto: Network is unreachable” 错误。

      # route         输入route查看网管是否设置

      如图为新设网关。

      # ping -c 4 119.75.217.56     检验是否ping通,指定4个数据包。

      此处若为写【-c 4】则会出现一直发送数据包停不下来。

     至此大功告成,打完收工。

    注:设置开机连接wifi。

      $ vim Wifi       //创建shell

      内容如下。路径自定义。

    insmod lib/modules/myDriver/mt7601Usta.ko
    ifconfig wlan0 up
    wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
    udhcpc -i wlan0
    ifconfig wlan0 192.168.43.8
    route  add  default  gw  192.168.43.1
    wpa_cli status
    ping -c 4 119.75.217.56
    

      $ chmod 777 Wifi  //修改权限  

    在根文件系统下/etc/init.d/rcS中启动该shell。

    收工。

  • 相关阅读:
    Qt QListWidgetItem的添加与删除
    Qt QListWidget中实现每个单元项显示文字在上图片在下
    Qt QListWiget的Item的icon大小设置
    Qt 控制Widget窗体大小方法
    装饰模式(Decorator)C++实现
    C++ 结构型模式
    Qt 创建一个excel文件(通过save as 方法)
    深度学习之 YOLO v1,v2,v3详解
    Qt excel 操作使用说明
    “云钉一体”背后,阿里云希望改变什么?
  • 原文地址:https://www.cnblogs.com/BANLOONG/p/9819618.html
Copyright © 2011-2022 走看看