zoukankan      html  css  js  c++  java
  • 4412 使用小度wifi

    本文转载至:https://blog.csdn.net/robertsong2004/article/details/42985223

    作者:刘老师,华清远见嵌入式学院讲师。

    FS_4412可以同链接USB-Wifi模块实现无线上网功能,本章节主要描述了如何在FS_4412开发板上移植USB-Wifi模块的驱动和相关的WPA加密工具。

    1.获取RT2780驱动

    我们采用的USB-Wifi模块使用的是RT2780芯片,相关的驱动源码在Cortex-A9移植部分Wifi目录下的USB-Wifi_driver。或者从官方自行下载,进入网址http://www.mediatek.com/en/downloads/下载所需的驱动

    将USB-Wifi_driver拷贝到工作目录中。

    解压驱动源码包

    tar -jxvf USB-Wifi_driver.bz2

    解压完后可以看到目录DPO_MT7601U_LinuxSTA_3.0.0.4_20130913

    2. 移植RT2780驱动

    2.1 修改Makefile

    2.1.1修改DPO_MT7601U_LinuxSTA_3.0.0.4_20130913目录下的Makefile

    viMakefile
            修改49行中的
            #PLATFORM = SMDK
            为
            PLATFORM = SMDK

    改前如下图所示

    改后如下图所示:

    2.1.2在275行,修改linux源码目录和交叉工具链

    275 ifeq ($(PLATFORM),SMDK) 
            276 LINUX_SRC = /home/bhushan/itcenter/may28/linux-2.6-samsung
            277 CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
            278 endif

    改为

    275 ifeq ($(PLATFORM),SMDK)
            276LINUX_SRC = /home/linux/work/4412/linux-3.0-fs4412_V3
            277 CROSS_COMPILE = arm-cortex_a8-linux-gnueabi-
            278 endif

    修改前如图:

    修改后如图:

    2.1.3修改include/rtmp_def.h文件中第1604行

    将上图中1604行和1605行中的ra改成wlan

    改完如下图所示:

    2.1.4查看os/linux/config.mk文件

    确保config.mk文件中WPA_SUPPLICANT配置如下图所示。

    3编译源码

    DPO_MT7601U_LinuxSTA_3.0.0.4_20130913目录下执行以下命令编译源码

    make clean
            make -j2

    编译成功后如下图所示

    其中生成的mt7601Usta.ko文件即是我们所需要的驱动程序

    /home/linux/work/4412/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/mt7601Usta.ko拷贝我们的根文件系统中(开发板的根文件系统)。

    4.拷贝所需的数据文件RT2870STA.dat

    开发板的根文件系统中创建目录/etc/Wireless/RT2870STA/ (注意,此目录为开发板的根文件系统)

    mkdiretc/Wireless/RT2870STA/ -p

    将源码目录中的RT2870STA.dat(如下图所示)拷贝到刚才创建的etc/Wireless/RT2870STA/目录中

    5.测试

    请确保以上几步已经完成

    5.1插上USB-Wifi模块

    将USB-Wifi模块插到开发板的USB接口上,可以在端口上看到如下打印信息

     

    然后输入在开发板中输入lsusb

    然后在驱动源码中修改 vim common/rtusb_dev_id.c

    找到line 42,添加刚才的ID,其实全加上也可以,一般就这几种ID

    /* module table */
    USB_DEVICE_ID rtusb_dev_id[] = {
    #ifdef RT6570
        {USB_DEVICE(0x148f,0x6570)}, /* Ralink 6570 */
    #endif /* RT6570 */
        {USB_DEVICE(0x148f, 0x7650)}, /* MT7650 */
    #ifdef MT7601U
        {USB_DEVICE(0x148f,0x6370)}, /* Ralink 6370 */
        {USB_DEVICE(0x148f,0x7601)}, /* MT 6370 */
        {USB_DEVICE(0x2955,0x1001)}, /* XiaoDu Wifi */
    #endif /* MT7601U */
        { }/* Terminating entry */
    };
    • 编译make -j2
    • 然后在os/linux/mt7601Usta.ko存在了内核模块,用来加载
    • 然后启动wlan0:ifconfig wlan0 up
    • 解决debug输出问题,修改全局变量ULONG RTDebugLevel = RT_DEBUG_ERROR; 或者取消DBG宏定义

    移植wiconfig后,使用的命令

        iwpriv wlan0 set NetworkType=Infra
        iwpriv wlan0 set AuthMode=WPA2PSK
        iwpriv wlan0 set EncrypType=TKIP
        iwpriv wlan0 set SSID="CMCC-WEIHUA"
        iwpriv wlan0 set WPAPSK=1112223334
        iwpriv wlan0 set SSID="CMCC-WEIHUA"
    
        iwpriv wlan0 connStatus

     发现连上就断,不知道为什么。我自己思考的原因可能为:

    1)没有dhcp自动获取IP。

    2)iwpriv没有配置正确

    3)驱动部分没有正常工作

  • 相关阅读:
    mysql 5.7.3.0-m13安装教程
    angular的$http.post()提交数据到Java后台接收不到参数值问题的解决方法
    samentic 在IE9 不支持 transition 的解决方案
    Html
    html
    ng-style 的坑
    js 和 jq 控制 checkbox
    highchart访问一次后台服务返回多张图表数据
    highchart 动态刷新(可用于制作股票时时走势)
    c# 实现 java 的 System.currentTimeMillis() 值
  • 原文地址:https://www.cnblogs.com/ch122633/p/9668356.html
Copyright © 2011-2022 走看看