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 -p1 < 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。

收工。
FS210(cortex-A8)移植MT7601无线WIFI模块的更多相关文章
- 嵌入式系统添加无线wifi模块
开发环境:fl2440开发板,linux3.0内核,交叉编译器路径/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-,无线网卡RT3070 平时开发板联 ...
- 「雕爷学编程」Arduino动手做(33)——ESP-01S无线WIFI模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 打开/关闭网卡无线WIFI模块
@echo off title ------(Please run as Administrators)Please select------ :begin echo ---------------- ...
- WIFI模块 RTL8188EUS Realtek
http://item.taobao.com/item.htm?spm=a230r.1.14.24.KnooKa&id=26119704895 W12 产品是一款采用国际先进台湾瑞昱Realt ...
- 「玩转树莓派」树莓派 3B+ 配置无线WiFi
前言 网线不方便还花钱,有自带的无线 WiFi 模块为啥不用. 网络模式 这里我们先介绍两种网络模式,WPA-Personal 与 WPA-Enterprise. WPA-Personal 大多数家庭 ...
- 天嵌E9平台下进行USB Wifi模块RT3070驱动的移植
因为项目工作须要,要在天嵌E9平台下实现wifi的点对点,点对多点的传输. Wifi 模块芯片:雷凌3070芯片 嵌入式平台:E9(ARM) 交叉编译环境:arm-none-linux-gnueabi ...
- 如何做好智能家居工业物联网串口转WiFi/4G/以太网无线AP方案的物联网WiFi模块选型
2020年一场突如其来的灾难袭来,各大经济市场在不同程度被按下了"暂停键".物联网控制作为新兴行业优势凸显出来,其无接触式的交互方式,远程控制,智能控制车间,给人民带来安全.智能的 ...
- 移植 wifi模块
本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中Wi ...
- wifi 模块RTL8188以及mt7601u 移植测试
kernel version:4.4.12 kernel make menuconfig // make menuconfig [*] Networking support ---> Netwo ...
随机推荐
- pep8 && pep20
pep8(部分,遇到问题再补充) 1.不建议使用tab键来空格,避免不必要的空格.操作符左右各加一个空格,函数默认参数使用的赋值符左右省略空格. 2.类和top-level函数定义之间空两行:类中的方 ...
- Unity之Application.runInBackground = true
默认是False, 设置 Application.runInBackground = true; 则 void OnApplicationPause(bool pause) 不再起作用
- Nginx搭建正向代理服务器
配置如下: server { listen 8888; #监听端口 location / { res ...
- 【centos】centos安装g++
gcc在Centos下的安装:使用的是以下语句:yum install gcc 以为安装g++,类似的应该使用:yum install g++ 可是提示:command is not found 查询 ...
- Aspose.Words三 创建表格
创建表格,实现合并行.和并列.表居中.表格水平和垂直居中.设置单元格边框颜色和样式. string templateFile = Server.MapPath("table_templ.do ...
- hbuilder header消失
hbuilder的header在google浏览器中调试能正常显示,但是发布到app安装到手机后headr不显示. <header class="mui-bar mui-bar-nav ...
- Task.WaitAll代替WaitHandle.WaitAll
Task.Waitall阻塞了当前线程直到全完.whenall开启个新监控线程去判读括号里的所有线程执行情况并立即返回,等都完成了就退出监控线程并返回监控数据. task.Result会等待异步方法返 ...
- 直接提交一个form表单后台返回一个新页面通过target属性可以放到iframe当中
问题描述: 我想提交一个form表单后台直接返回一个新页面,但是当前页面还不想被替换掉: 解决方案: 在页面中添加一个iframe将form表单的target属性设置为iframe的id这样的话返回的 ...
- log4net引用了Mysql.Data.dll,但是就是不能写到mysql数据库的解决办法
这两天遇到log4net写日志到mysql数据库中,有时候在A项目中可以,有时候B项目就有问题,有时候测试环境没问题,到正式部署环境又出问题,经过两天的煎熬,终于理清楚了其中的头绪. 1.配置现状 c ...
- 史上最全的MSSQL复习笔记
1.什么是SQL语句 SQL语言,结构化的查询语言(Structured Query Language),是关系数据库管理系统的标准语言.它是一种解释语言,写一句执行一句,不需要整体编译执行. 语法特 ...