天嵌E9平台下进行USB Wifi模块RT3070驱动的移植
因为项目工作须要,要在天嵌E9平台下实现wifi的点对点,点对多点的传输。
Wifi 模块芯片:雷凌3070芯片
嵌入式平台:E9(ARM)
交叉编译环境:arm-none-linux-gnueabi
1 首先下载了wifi模块的驱动 2011_0719_RT3070_RT3370_RT5370_RT5372_RT2070_Linux_STA_V2.5.0.3_DPO
2 对驱动进行交叉编译
a 打开驱动文件解压后的文件,假设须要WPA等功能,可打开./os/linux/config.mk进行编。假设不须要直接进入b步
b 打开驱动文件根文件夹下的Makefile进行改动。首先CHIPSET 改为3070
然后对交叉编译环境进行配置。默认的PLATFORM = PC。我们对PC那块代码进行修改,修改后例如以下
ifeq ($(PLATFORM),PC)
# Linux 2.6
LINUX_SRC = /opt/E9_CD/Linux/linux_E9_3.0.35_for_Linux
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
LINUX_SRC_MODULE = /opt/E9_CD/Linux/linux_E9_3.0.35_for_Linux/drivers/net/wireless/
CROSS_COMPILE = /opt/Embedsky/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-none-linux-gnueabi-
endif
保存后进行sudo make
当中 linux_E9_3.0.35为linux内核的源代码所在文件夹
3 编译成功后将根文件夹下的RT2870STA.dat和./os/linux/文件夹下的rt30870.sta.ko拷贝进板子中
mkdir –p /etc/Wireless/RT2870STA/ cp RT2870STA.dat / etc/Wireless/RT2870STA/ cp rt3070sta.ko /usr
4 载入驱动
insmod /usr/rt3070sta.ko
5 然后能够通过ifconfig -a 能够看到系统已经正确识别网卡。名称为ra0
6 启动网卡 ifconfig ra0 up 看到有数据输出。成功移植
---------------------------------------------------------------------------------------------------------------------------------------------------
可能遇到的问题:
1 rtmp_chip.c:470:error: implicit declaration of function 'RT33xx_Init'
解决:凝视掉chips文件夹下rtmp_chip.c中第470行的RT33xx_Init(pAd)
2 insmod的时候出问题
解决:一般这里的问题都是板子内核版本号与交叉编译时所用的内核版本号不一致导致,能够uname -a查看板子内核版本号,modinfo rt3070sta.ko查看生成的驱动版本号号,看是否一致。我遇到这个问题攻克了一上午。发现版本号号一个armv5一个armv7,最后是先对linux源代码进行了编译(设置交叉编译环境后,执行所带的build.sh),再编译wifi模块解决的。编译内核的时候。注意设置交叉编译环境。
相关博文推荐:
1 http://blog.chinaunix.net/uid-28599023-id-3483821.html
天嵌E9平台下进行USB Wifi模块RT3070驱动的移植的更多相关文章
- 在orangepi-PC, ubuntu mini下使用usb wifi(rtl8188cu/rtl8192cu)
本文章针对orangepi-pc下的ubuntu,分两部分,分别介绍在ubuntu14.04(trusty)mini下使用usb无线网卡的方式,以及怎样在ubuntu15.10(wily)mini下正 ...
- wifi 模块RTL8188以及mt7601u 移植测试
kernel version:4.4.12 kernel make menuconfig // make menuconfig [*] Networking support ---> Netwo ...
- windows下ch340 usb转串口芯片的驱动从哪里下载?
答: 请点击此处下载
- WIFI驱动的移植 realtek 8188
一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为例到官网下载相应的驱动, 解压后可以 ...
- 《网蜂A8实战演练》——8.Linux USB 主机控制器和设备驱动
USB 的全称是 Universal Serial Bus,顾名思义:通用串行总线. 提到总线,联想一下,在你心目中总线总是用来干嘛的?还记得 I2C 总线? I2C 总线上挂有二条信号线,一条是 S ...
- Android wifi驱动的移植 realtek 8188
Android wifi驱动的移植 一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为 ...
- 第一次 刷 WiFi 模块esp8266 感谢创客阿正
在正哥指导下 第一次 刷 WiFi 模块 少走了 不少弯路 套件里的 两块 机智云 ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等 用助手 返回 ...
- 【手把手教你树莓派3 (二)】 启动wifi模块
概述 树莓派3内置了wifi和蓝牙模块,我们不用像以前的版本那样,再去购买一个外接的模块练到raspberry上. 当我们第一次启动了树莓派的时候,必然使用了网线,但是之后的每一次使用,我们当然更希望 ...
- X86平台下嵌入式linux触摸屏解决方案(usb触摸屏控制器+完美校准方案+触摸屏QTE开发环境搭建)
一直在用X86平台,真心不想用WINCE和XPE,一些大的硬件供应商都不提供linux平台下的技术支持,比如研华的3343PC104系列的板子... 开发的问题如下: 1 USB控制器目前只有台湾和竹 ...
随机推荐
- C++基础学习笔记----第七课(面向对象的基本概念)
主要讲面向对象的基本概念和一些概念,以及实现简单的面向对象C++程序. 类和对象 基本概念 类和对象是面向对象中的两个基本概念,类是指一类事物,是一个抽象的概念.对象是指某一个类的实体,是一个具体存在 ...
- vim 操作指令2
VIM命令大全 光标控制命令 命令 光标移动 h 向左移一个字符 j 向下移一行 k 向上移一行 l 向右移一个字符 G 移到文件的最后一行 w 移到下一个字的开头 W 移到下一个字的开头,忽略标点符 ...
- 结构体的序列和还原(使用Move方法)
// 定义结构体 typeTmyRec= recordname:string[10];password:string[10];end; function RawToBytes(const AValue ...
- Android系统权限和root权限大全
tyle="margin:20px 0px 0px; font-size:14.285714149475098px; line-height:26px; font-family:Arial; ...
- 2.4.1-Java语言基础(常量)
2.4.1 常量 常量表示不能改变的数值. Java中常量的分类: 1,整数常量.全部整数 2,小数常量.全部小数 3,布尔型常量.较为特有,仅仅有两个数值.true false. 4,字符常量.将一 ...
- KNN算法理解
一.算法概述 1.kNN算法又称为k近邻分类(k-nearest neighbor classification)算法. 最简单平庸的分类器或许是那种死记硬背式的分类器,记住全部的训练数据,对于新的数 ...
- cct,web技术
基本信息 全国计算机等级考试二级教程——Web程序设计(2016年版)作 者:教育部考试中心 编出 版 社:高等教育出版社出版时间:20115-12-1 ISBN:9787040442991版 ...
- 线程同步辅助类——Exchanger
下面是java6中文API对Exchanger的解释: 能够在对中对元素进行配对和交换的线程的同步点.每一个线程将条目上的某个方法呈现给 exchange 方法.与伙伴线程进行匹配,而且在返回时接收其 ...
- android百度地图打包混淆 用不了No such file or directory (2) com.baidu.mapapi.BMapManager.init(Unknown Source)
调用了百度地图地图开发包是baidumapapi_v2_1_1.jar,定位SDK版本是locSDK_3.3.jar 调试的时候能运行!可是打包签名后就运行不了! baidu google 了好久! ...
- 引用类中的enum
引用类中的enum 引用类中的enum,需要加类的域class_name::value_in_enum_name 点击(此处)折叠或打开 #include <stdio.h> #inclu ...