因为项目工作须要,要在天嵌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

2 http://www.linuxidc.com/Linux/2011-03/33483.htm

3 http://blog.csdn.net/zhuqing_739/article/details/6259686#

天嵌E9平台下进行USB Wifi模块RT3070驱动的移植的更多相关文章

  1. 在orangepi-PC, ubuntu mini下使用usb wifi(rtl8188cu/rtl8192cu)

    本文章针对orangepi-pc下的ubuntu,分两部分,分别介绍在ubuntu14.04(trusty)mini下使用usb无线网卡的方式,以及怎样在ubuntu15.10(wily)mini下正 ...

  2. wifi 模块RTL8188以及mt7601u 移植测试

    kernel version:4.4.12 kernel make menuconfig // make menuconfig [*] Networking support ---> Netwo ...

  3. windows下ch340 usb转串口芯片的驱动从哪里下载?

    答: 请点击此处下载

  4. WIFI驱动的移植 realtek 8188

    一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为例到官网下载相应的驱动, 解压后可以 ...

  5. 《网蜂A8实战演练》——8.Linux USB 主机控制器和设备驱动

    USB 的全称是 Universal Serial Bus,顾名思义:通用串行总线. 提到总线,联想一下,在你心目中总线总是用来干嘛的?还记得 I2C 总线? I2C 总线上挂有二条信号线,一条是 S ...

  6. Android wifi驱动的移植 realtek 8188

    Android wifi驱动的移植 一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为 ...

  7. 第一次 刷 WiFi 模块esp8266 感谢创客阿正

    在正哥指导下 第一次 刷 WiFi 模块  少走了 不少弯路 套件里的 两块 机智云  ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等  用助手 返回 ...

  8. 【手把手教你树莓派3 (二)】 启动wifi模块

    概述 树莓派3内置了wifi和蓝牙模块,我们不用像以前的版本那样,再去购买一个外接的模块练到raspberry上. 当我们第一次启动了树莓派的时候,必然使用了网线,但是之后的每一次使用,我们当然更希望 ...

  9. X86平台下嵌入式linux触摸屏解决方案(usb触摸屏控制器+完美校准方案+触摸屏QTE开发环境搭建)

    一直在用X86平台,真心不想用WINCE和XPE,一些大的硬件供应商都不提供linux平台下的技术支持,比如研华的3343PC104系列的板子... 开发的问题如下: 1 USB控制器目前只有台湾和竹 ...

随机推荐

  1. php 控制页面跳转

    <?php class UserAction extends Action{ public function index(){ echo "你好!"; $m=M('user' ...

  2. 在Qt中使用ActiveX控件

    Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QA ...

  3. Error: 17053 LogWriter: Operating system error 21(The device is not ready.)

    今天在Detach数据库的时候出现错误,运行DBCC CHECKDB从SQL Server error log中看到下面的信息: Error: 17053, Severity: 16, State: ...

  4. win32多线程程序设计笔记(第二章)

    第二章线程的第一次接触,主要讲了如何创建线程以及需要注意的几点. 一.创建线程 与调用函数的过程类似;线程只不过用CreateThread的API将函数封装起来,并产生一个与主程序同时执行的程序来调用 ...

  5. tsunami:一种基于UDP协议的高速传输

    一. 需求 近期在做数据库迁移.常常须要打包实例传输.传统scp感觉非常慢. 二. 软件信息 1. 软件主页:http://tsunami-udp.sf.net/ 2. 软件安装:直接源代码make ...

  6. mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys

    http.sys你可以用 mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys并且还是开源的,作者天天更新代码,非常勤奋,官方论坛提问,回答也快其实,稍微看看,就能玩的挺好的

  7. Referer反反盗链

    0x00 前言 最近用Python非常多,确实感受到了Python的强大与便利.但同时我并没有相见恨晚的感觉,相反我很庆幸自己没有太早接触到Python,而是基本按着C→C++→Java→Python ...

  8. boost 的函数式编程库 Phoenix入门学习

    这篇文章是我学习boost phoenix的总结. 序言 Phoenix是一个C++的函数式编程(function programming)库.Phoenix的函数式编程是构建在函数对象上的.因此,了 ...

  9. c++中虚函数和纯虚函数定义

    只有用virtual声明类的成员函数,使之成为虚函数,不能将类外的普通函数声明为虚函数.因为虚函数的作用是允许在派生类中对基类的虚函数重新定义.所以虚函数只能用于类的继承层次结构中. 一个成员函数被声 ...

  10. linux 下opensplice的简易安装

    http://www.prismtech.com/opensplice/opensplice-dds-community/software-downloads 下载对应我选择的是: OpenSplic ...