本文转载至: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=
iwpriv wlan0 set SSID="CMCC-WEIHUA" iwpriv wlan0 connStatus

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

1)没有dhcp自动获取IP。

2)iwpriv没有配置正确

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

4412 使用小度wifi的更多相关文章

  1. 将小度WiFi改造为无线网卡(小度WiFi能够接收WiFi信号)

    安装官方的小度WiFi的驱动器,只能让它当做无线信号的发射装置,但是我想通过小度WiFi让我的台式电脑能都接收无线信号,于是经过一番折腾终于成功了.我的是win7. 小度WiFi无法接受无线信号,不能 ...

  2. 在Raspberry上使用小度WIFI

    小度WIFI价格便宜量又足,我一真用它!做个广告先! 它使用联发科MT7601的芯片,质量不错,就是Raspberry下不能直接支持. 首先下载驱动 http://www.mediatek.com/_ ...

  3. 小度wifi在window server2008R2系统下创建不了

    小度wifi在window server2008R2系统下创建的时候会一直显示正在创建,然后又消失的情况.这是因为win server 2008下默认的无线lan服务没开启 解决方法: 在“服务管理器 ...

  4. arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)

    前段时间移植过RT3070.RT5370 http://blog.csdn.net/ofaith12345/article/details/24138399 发现各种arm移植都大同小异,所以就不要纠 ...

  5. 小度WiFi

    这个东西真不错,详情查看: http://wifi.baidu.com 是在京东上抢购的,但是那次抢购体验做得很次:首先,只能预约一种颜色;其次,第一天抢购了,第2天就不能抢购了;第三,等抢购完了,如 ...

  6. 小度Wifi_设置

    PS:现在我用的小度Wifi驱动的 安装程序的版本为:“XiaoduWiFi140923_M_3.0.9.rar”(保存于“百度云 OsSkill --> 软件安装包 > 小度Wifi__ ...

  7. Linux Mint 17 + 小米WIFI创建手机热点

    转载:http://www.pppei.net/blog/post/690 亲测可行! 我的系统是linux mint 17.1 64位,所用wifi位小米WIFI. 以下是原文: 此方法在linux ...

  8. 常见 wifi热点的linux 驱动

    小度Wifi.360Wifi Windows.linux驱动 小度wifi什么的就是一个无线网卡,当然可以自由使用,然官方却说不支持无限网卡功能… 现提供Windows平台和linux平台的驱动安装方 ...

  9. Google账户_GooglePlay_关联

    PS:这过程叫一个折腾...穷逼的无奈啊... 1. 1.1. 网上搜到说,安装 google play & google框架服务,手机需要root,没去证实这个事情... 用了之前的 And ...

随机推荐

  1. mysql.connector.errors.ProgrammingError: 1698 (28000): Access denied for user 'root'@'localhost'

    排错,首先在sql编辑工具 通过测试连接,查看一下自己的密码是否正确 : 由此可见,是自己的密码错误,输入正确的密码后 在这里把密码修改为正确之后程序运行正常 #初始化数据库连接 engine = c ...

  2. H3C CAS 介绍 & 基本概念

    目录 目录 基本概念 H3C CAS 中的虚拟机 虚拟机中的虚拟设备 虚拟 CPU 的 3 种工作模式 虚拟网卡的 3 种类型 虚拟磁盘的三种类型 虚拟机辅助工具 CAS Tools 虚拟机外的虚拟设 ...

  3. Delphi中Tlist实例

    http://blog.163.com/jiandande3218@126/blog/static/74728469201132721428194/ Delphi中Tlist实例 2011-04-27 ...

  4. WPF属性之理解附加属性

    附加属性,顾名思义,和被附加的控件没有依赖关系,只是强行给目标控件挂上一个“属性值”,以便于操作之.就好比,你在学校是学生,那么就要听老师的管教,在公司是下属,就要服从老板的命令一样. 我们常见的附加 ...

  5. centos下Linux C语言MD5的使用

    在Linux C变成中用到MD5加密会使用到openssl库,下面给出的是一个简单的小Demo: #include <stdio.h> #include <openssl/md5.h ...

  6. [已解决]报错: warning: LF will be replaced by CRLF in lib/anime.min.js

    git config --global core.autocrlf false

  7. JAVA模拟Spring实现IoC过程(附源码)

    前言:本人大四学生,第一次写博客,如果有写得不好的地方,请大家多多指正 一.IoC(Inversion of Control)反转控制 传统开发都是需要对象就new,但这样做有几个问题: 效率低下,创 ...

  8. Notepad++添加插件Funtion List 支持PHP

    插件下载地址:functionlist插件 配置方法:关闭notepad++; functionlist.dll拷贝到 安装目录/plugins目录下; 下载php.bmp 地址:https://gi ...

  9. 【JMeter4.0】一、JAVA环境-JDK1.10安装与配置

    环境变量的作用: 它是操作系统用来指定运行环境的一些参数.比如临时文件夹位置和系统文件夹位置等.当你运行某些程序时,除了在当前文件夹中寻找外,还会到这些环境变量中去查找,比如“Path”就是一个变量, ...

  10. AJAX 获取Servlet文件路径

    下面均不行: xmlRes.open("get","edu/hust/ajax/TestServlet",true); xmlRes.open("ge ...