Wi-Fi Linux驱动移植

软硬件平台如下:

开发板:FL2440, Linux内核版本-2.6.12

宿主机:ASUS PC, redhat 9.0

网卡:雷凌Ralink rt3070 v1.0

驱动源码:2009_0525_RT3070_Linux_STA_v2.1.1.0

交叉编译器:arm-linux-gcc 3.4.1

1、雷凌官网下载源码。

2、解压驱动源码。

#tar jxvf 2009_0525_RT3070_Linux_STA_v2.1.1.0.bz2

3、/usr/src/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux中的config.mk文件需要修改如下:

#cd /os/linux/

#vi config.mk

HAS_WPA_SUPPLICANT=y

#endif // WPA_SUPPLICANT_SUPPORT //

#ifdef NATIVE_WPA_SUPPLICANT_SUPPORT

# Support Native WpaSupplicant for Network Maganger

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

4、去掉os/linux/config.mk中的-Wpointer-sign标志,可能是编译器不支持

5、linux内核的makefile需要修改:export KBUILD_BUILDHOST := $(SUBARCH)

ARCH?= arm

CROSS_COMPILE?=/usr/src/local/arm/3.4.1/bin/arm-linux-

中CROSS_COMPILE?=/usr/src/local/arm/3.4.1/bin/arm-linux-

改为:

CROSS_COMPILE?=/usr/src/usr/local/arm/3.4.1/bin/arm-linux-

6、/usr/src/2009_0525_RT3070_Linux_STA_v2.1.1.0中的Makefile中所要修改如下:

#PLATFORM: Target platform

PLATFORM = PC目标平台选择PC

ifeq ($(PLATFORM),PC)

# Linux 2.6

LINUX_SRC = /usr/src/linux-2.6.12内核源所在位置

# Linux 2.4 Change to your local setting

#LINUX_SRC = /usr/src/linux-2.4

LINUX_SRC_MODULE=/lib/modules/$(shelluname-r)/kernel/drivers/net/wireless/

CROSS_COMPILE= /usr/src/usr/local/arm/3.4.1/bin/arm-linux-交叉编译器所在的位置

Endif

7、make。

#cd 2009_0525_RT3070_Linux_STA_v2.1.1.0

#make通过,在2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/os/linux目录下生成了rt3070sta.ko,也就是RT3070的驱动了

8、把驱动和相关文件拷到板子上相应目录下,注意这里对RT2870STA.dat要用dos2unix先转一下。

#dos2unix RT2870STA/RT2870STA.dat

把RT2870STA.dat拷贝到/etc/Wireless/RT2870STA目录下

#chmod +x /etc/Wireless/RT2870STA/RT2870STA.dat

把rt2870.bin usb固件拷贝到/lib/firmware此路径有严格要求

#cp common/rt2870.bin /lib/firmware/

把rt3070sta.ko拷贝到目标系统的 /usr/目录下

#cp rt3070sta.ko /usr/

9、挂载驱动:insmod /usr/rt3070sta.ko

显示rtusb init --->

=== pAd = c4b01000, size =$465920 ===

usbcore: registered new driver rt2870

加载成功

#ifconfig -a

eth0Link encap:EthernetHWaddr 00:12:34:56:80:49

inet addr:172.20.182.92Bcast:172.20.255.255Mask:255.255.0.0

UP BROADCAST MULTICASTMTU:1500Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errorw:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B)TX bytes:0 (0.0 B)

Interrupt:51 Base address:0x8300

loLink encap:Local Loopback

LOOPBACKMTU:16436Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:0 (0.0 B)TX bytes:0 (0.0 B)

ra0Link encap:EthernetHWaddr 00:00:00:00:00:00

BROADCAST MULTICASTMTU:1500Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 ,0.0 B)TX bytes:0 (0.0 B)

可以查看到ra0设备的存在

启动无线:

#ifconfig ra0 up

显示

-->RTUSBVenderReset

Key1Str is Invalid key length(0) or Type(0)

Key2Str is Invalid key length(0) or Type(0)

Key3Str is Invalid key length(0) or Type(0)

Key4Str is Invalid key length(0) or Type(0)

1. Phy Mode = 9

2. Phy Mode = 9

NVM is Efuse and its size$=2d[2d0-2fc]

3. Phy Mode = 9

RTMPSetPhyMode: channel is out of range, use first channel=1

MCS Set = ff 00 00 00 01

<==== rt28xx_init, Status=0

0x1300 = 00064300

启动成功!

下一步需要移植wireless tools进行联网和配置。

移植环境:

主机操作系统:redhat 9.0

目标系统:FL2440内核linux-2.6.28

交叉编译器:arm-linux-gcc 3.4.1

wireless_tools版本:wireless_tools.29.tar.bz2

1.下载wireless_tools.29.tar.gz

2.解压:#tar zxvf wireless_tools.29.tar.gz

3.修改makefile

PREFIX = /home/leo/wirelesstoolsout

CC = /usr/src/usr/local/arm/3.4.1/bin/arm-linux-gcc

AR = /usr/src/usr/local/arm/3.4.1/bin/arm-linux-ar

RANLIB = /usr/src/usr/local/arm/3.4.1/bin/arm-linux-ranlib

4.交叉编译:

#cd wireless_tools.29

#make

#make install

5.复制文件到ARM开发板

拷贝libiw.so.29文件到目标系统/lib/

拷贝用到的几个程序到目标系统的/bin/目录下就可以了

iwpriv、iwconfig、iwlist, iwevent, iwspy

至此wireless_tools移植完成

6.设置ip地址及子网掩码:

# ifconfig ra0 172.31.13.229 netmask 255.255.254.0

7.扫描无线网络

# iwlist ra0 scan

===>rt_ioctl_giwscan. 14(14) BSS returned, data->length = 1526

ra0Scan completed :

Cell 01 - Address: 00:23:89:08:02:10

Protocol:802.11b/g

ESSID:"IMUST"

Mode:Managed

Channel:1

Quality:42/100Signal level:-73 dBmNoise level:-115 dBm

Encryption key:off

Bit Rates:18 Mb/s

Cell 02 - Address: 00:23:89:DC:35:B0

Protocol:802.11b/g

ESSID:"IMUST"

Mode:Managed

Channel:1

Quality:42/100Signal level:-73 dBmNoise level:-115 dBm

Encryption key:off

Bit Rates:18 Mb/s

Cell 03 - Address: 00:23:89:DC:38:90

Protocol:802.11b/g

ESSID:"IMUST"

Mode:Managed

Ghannel:1

Quality:89/100Signal level:-55 dBmNoise level:-115 dBm

Encryption key:off

Bit Rates:18 Mb/s

(显示以上信息说明模块已经正常工作,内蒙古科技大学的无线网络服务区别号为IMUST,该接入点没有加密。)

8.设置ESSID

# iwconfig ra0 ESSID IMUST

至此成功接入校园的无线网络!

小结:无限网卡的主要做用就是寻找wifi热点并与目标热点进行物理连接。从而为数据的传输建好了一个通路。由于墙壁的阻挡,所以有信号衰减的问题,在传输监控视频图像时有些延迟。因为学校的无线网络是开放式的,所以不需要对网卡进行WPA加密。

rt3070网卡 linux驱动,Linux下的WIFI驱动RT3070的编译移植相关推荐

  1. ac9260网卡linux,#Linux# 在OpenSUSE下安装9260AC驱动

    9260AC是目前性价比非常高的无线驱动模块,支持千兆,蓝牙5.0等等,ngff版价格也只是70块左右,主要用于笔记本上,但是通过PCIE接口转换也可以用在一般台式机的主板上,微魔最近也在自己的台式机 ...

  2. 磊科wifi linux驱动下载,磊科随身WiFi驱动

    随着随身wifi产品的火热,各大无线网卡厂商都开始推出了自家的随身wifi产品,这款磊科随身WiFi驱动是磊科官方发布的随身wifi最新驱动,推荐入手这款产品的用户下载使用. 磊科随身wifi: 磊科 ...

  3. linux移植wifi板载驱,基于arm\Linux平台USB无线网卡的wifi驱动移植

    arm平台是三星2440,Linux内核是2.6.24,威盛VNT6656的USB无线网卡:开发平台是Fedora10,内核是2.6.27.遭遇的问题主要有如下几个: 一.驱动程序的版本不对 开始在网 ...

  4. Linux 设备树下的 platform 驱动实验基于正点原子IMX6ULL开发板

    1 设备树下的 platform 驱动简介 platform 驱动框架分为总线.设备和驱动,其中总线不需要我们这些驱动程序员去管理,这个是 Linux 内核提供的,我们在编写驱动的时候只要关注于设备和 ...

  5. Linux 设备树下的 platform 驱动示例

    1.简介 基于总线.设备和驱动这样的驱动框架,Linux 内核提出来 platform 这个虚拟总线,相应的也有 platform 设备和 platform 驱动. Linux 总线设备和驱动模式 2 ...

  6. Linux(RedHat9.0)下Alsa声卡驱动的安装

    自从装来RedHat9.0就没有听到过声音,也不知道安装了多少次声卡驱动,每种都试验过,都没有成功过,今天终于安装成功,需要的朋友可以参考一下. 首先查看一下,系统声音是否打开,有些朋友电脑没有声音, ...

  7. linux小米随身wifi驱动下载,小米随身wifi驱动官方下载

    小米随身wifi功能介绍 插上.连接.上网 创建WiFi就这么简单,插上电脑或笔记本后,启动小米随身WiFi,你的手机.平板就能连上WiFi. 告别网线 将随身WiFi变身为无线网卡,无法连接无线的台 ...

  8. usrp运行完整linux,Ubuntu系统下USRP硬件驱动(UHD)的编译与安装

    在Ubuntu系统下USRP硬件驱动(UHD)安装最简单的方式就是直接从Ettus Research官方提供的PPA源安装,不过本文介绍的是如何从源代码进行编译与安装. 1.从PPA源安装只需要下面三 ...

  9. android音量加减驱动,android下调试声卡驱动之概述

    在Android中音频系统使用的是ALSA系统架构.ASoC--ALSA System on Chip .是建立在标准ALSA驱动层上,为了更好地支持 嵌入式处理器和移动设备中的音频Codec的一套软 ...

  10. pe中怎么卸载服务器系统更新,如何删除驱动,pe下删除系统驱动工具

    在Windows10系统中有那么一个文件夹DriverStore,位于C:\Windows\System32\DriverStore,很多用户会发现这个文件夹体积很大,而且越用越大,这是由于Windo ...

最新文章

  1. python新手之一环境安装
  2. 剑指offer:二叉树的镜像
  3. python图片的比例缩放、剪裁和下采样
  4. python 定义数组
  5. Java隐含对象实验报告,JSP隐含对象response实现文件下载
  6. 取代cookie的网站追踪技术:”帆布指纹识别”初探
  7. Springboot整合zookeeper
  8. c++可达矩阵_测试分析人员必备知识—需求管理和可追溯性矩阵
  9. 不懂函数式?用mobx来写react应用吧
  10. 方舟服务器端口协议,《方舟:生存进化》正版开服端口映射教程及后台命令一览...
  11. Android进程框架:线程通信的桥梁Handler
  12. RPM 打包技术与典型 SPEC 文件分析
  13. linux下安装百度云音乐,linux 安装网易云音乐
  14. 华为云CDN+芒果TV,是如何做出“云”榜样?
  15. 打开计算机页面闪,电脑打开网页闪烁几大原因及解决
  16. Word排版之页眉页脚设置
  17. 数据库 -- 基础操作(二)
  18. SpringBoot集成权限认证框架(Sa-Token)
  19. 262Echarts - 3D 路径图(Flights on Geo3D)
  20. 不登录系统运行服务器,服务器开机不登录可以远程吗

热门文章

  1. 在我的订单中,点击去付款查看每个订单详情
  2. Pillow(PIL)入门教程(非常详细)
  3. python pillow库画图_Pillow画图
  4. php乘法表颜色渐变图片,用标准标签库写的九九乘法表(带渐变颜色)
  5. 企业财务报表分析有什么用,方法有哪些
  6. mysql 复制方式_MySQL数据库复制表的几种方式讲解
  7. 福禄克网络VERSIV(威测)电缆认证系统实现ROI更大化
  8. testlink批量执行用例
  9. 微软也招 Java!
  10. JavaScript代码模拟鼠标自动点击事件