移植TP-LINK TL-WN721N 驱动到micro2440(by liukun321咕唧咕唧)

news/2024/11/15 21:36:19/

内核版本:linux-3.1.4

 

 我先把 无线网卡(TP-LINK  TL-WN721N)插到了我的PC上 

用 lsusb 命令打印无线网卡ID
:Bus 001 Device 003: ID 148f:5370 Ralink Technology, Corp. 
照着这个ID百度搜一下你的无线网卡的芯片组,我的是 rt2870 。
但是直接百度“TP-LINK  TL-WN721N芯片组”得到的答案是AR9271芯片组,这显然是不正确的,就因为这个,困扰了很久,加载AR9271芯片组的驱动,网卡根本没反应。

PS :要正常使用无线网卡,还要正确配置。linux下的配置工具是wireless-tools,可以在这里下载到它的最新版。http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
下载后,将源代码解压。再修改其中的makefile文件,将其中的编译器改为交叉工具链里的编译器
CC = gcc
AR = ar
RANLIB = ranlib
改为
CC = arm-linux-gcc
AR = arm-linux-ar
RANLIB = arm-linux-ranlib
再执行make,编译完成后,将生成的iwconfig,iwlist文件拷贝到开发板的根文件系统中的/bin目录下,将libiw.so.29拷贝到/lib目录下。

1.内核配置,3.1.4的内核已经支持rt2870
需按如下步骤配置内核
[*] Networking support  --->    -*-   Wireless  --->  <*>   Generic IEEE 802.11 Networking Stack(mac80211)          
Default rate control algorithm (Minstrel)  --->           
[*]   Enable mac80211 mesh networking (pre-802.11s) support 

Device Drivers  --->[*] Network device support  --->[*]   Wireless LAN  ---><*>   Ralink driver support  ---><*>   Ralink rt27xx/rt28xx/rt30xx (USB) support                  │ │  
│ │    [*]     rt2800usb - Include support for rt33xx devices           │ │  
│ │    [*]     rt2800usb - Include support for rt35xx devices (EXPERIMEN│ │  
│ │    [*]     rt2800usb - Include support for rt53xx devices (EXPERIMEN│ │  
│ │    [*]     rt2800usb - Include support for unknown (USB) devices   

配置好如上选项,编译内核

2.把  Ralink  的驱动全选了 然后是下载固件

http://www.ralinktech.com/cn/04_support/support.php?sn=501 驱动源码,这个可以不下,内核有了,可以根据下面的链接,直接下载固件

http://www.ralinktech.com/cn/04_support/license.php?sn=5030  
,rt2870.bin固件,(我还存在一个疑问,这个bin文件,在X86和arm间是通用的?理论不通用,但我放到开发板实际上是可用的,不知为什么,希望高人点拨)
我把它 cp到根文件系统  /lib/firmwire/ 下

然后
[root@FriendlyARM /]# ifconfig  wlan0 up     启动无线网卡
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.
phy0 -> rt2x00lib_request_firmware: Info - Firmware detected - version: 0.22.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.


如果不下载相应固件rt2870.bin
ifconfig  wlan0 up
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.
phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
ifconfig: SIOCSIFFLAGS: No such file or directory

3.ifconfig  看一下 开发板上所有网络设备的信息 如果无线正确启动应该显示wlan0的信息

4.iwlist scanning   此命令可以搜索到可用的无线网络接入点  我的接入点"TENDA"
wlan0     Scan completed :
Cell 01 - Address: 00:B0:0C:38:29:C5
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=43/70  Signal level=-67 dBm  
Encryption key:on
ESSID:"TENDA"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000006551567914
Extra: Last beacon: 2350ms ago
IE: Unknown: 000554454E4441
IE: Unknown: 010482848B96
IE: Unknown: 030106
IE: Unknown: 0406000200000000
IE: Unknown: 2A0100
IE: Unknown: 32080C1218243048606C

5.iwconfig wlan0 key  ABCD123456  设置路由器登录密码 ,如果你的路由器启用了加密,则用这条指令实现登录密码设置

6.iwconfig wlan0 essid "TENDA"  给无线网卡配置接入点

7.iwconfig wlan0 ap auto 加入无线网
然后 #iwconfig wlan0 
wlan0     IEEE 802.11bgn  ESSID:"TENDA"  
Mode:Managed  Frequency:2.437 GHz  Access Point: 00:B0:0C:38:29:C5   
Bit Rate=1 Mb/s   Tx-Power=20 dBm   
Retry  long limit:7   RTS thr:off   Fragment thr:off
Encryption key:ABCD-1234-56
Power Management:on
Link Quality=45/70  Signal level=-65 dBm  
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0
可以看到路由信息,这样无线网卡就成功的连接到路由。
8.ifconfig wlan0 192.168.0.99 netmask 255.255.255.0  将开发板的IP地址配置成与主机同一网段

每次都逐条命令配置无线网卡确实麻烦,我们可以编写一个脚本来实现无线网卡的配置,以后只要执行此脚本,即可完成上述步骤的配置。脚本文件内容如下。
#! /bin/sh
ifconfig wlan0 up
iwconfig wlan0 key ABCD123456
iwconfig wlan0 essid "TENDA"
iwconfig wlan0 ap auto
ifconfig wlan0 192.168.0.99 netmask 255.255.255.0


下面你就可以在开发板和主机间互ping了
主机:
开发板:
然后可以再ifconfig 一下 看看wlan0 设备的信息变化


PS:如果遇到ifconfig  wlan0 up
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.
phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
ifconfig: SIOCSIFFLAGS: No such file or directory 

这个错误,而rt2870.bin已经在相应目录中了。执行cat /proc/sys/kernel/hotplug  看看是否显示/sbin/mdev,通常情况下,load firmware的动作是通过用户空间的hotplug handler,也就是/proc/sys/kernel/hotplug里设定的执行档,来完成。root_qtopia默认会在/etc/init.d/rcS里将/proc/sys/kernel/hotplug设定为/sbin/mdev,即busybox的mdev模块。它在收到来自内核的请求加载 rt2870 .bin这个firmware消息后,会从/lib/firmware目录下去找 rt2870 .bin,如果能找到就加载。
/etc/init.d/rcS  看看你的这个文件中有没有设置
echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
/bin/hotplug

然后就是确定配置busybox时,选了mdev,另外,firmware的加载依赖于sysfs, 确保你的文件系统在启动后在/sys目录挂载了sysfs。

http://www.ppmy.cn/news/284334.html

相关文章

nrf24l01+无线发送

经过dt的两天睡不好&#xff0c;玩不好的日子&#xff0c;终于把nrf24l01这个看着dt&#xff0c;做起来也dt的东西搞定了。幸亏有一点好的&#xff0c;就是资料还算是多的。看了两天的资料&#xff0c;调试了两天后终于在这个阳光明媚的下午实验成功。这两天可是一句dota都没有…

Nrf24l01无线模块

Nrf24l01无线模块 一&#xff0c;模块介绍 二&#xff0c;接口电路&#xff0c; 模块连接注意点&#xff1a; (1) VCC 脚接电压范围为 1.9V~3.6V 之间&#xff0c;不能在这个区间之外&#xff0c;超 过 3.6V 将会烧毁模块。推荐电压 3.3V 左右。 (2) 除电源 VCC 和接地端&…

L298N驱动电机+pwm

目录 一、L298N驱动电机 二、pwm波输出——电机转动 pwm参数 pwm参数计算 输出比较 pwm基本结构&#xff1a;运行控制 → 时基单元 →捕获/输出比较通道 时基单元 捕获/输出通道的输出 STM32F103c8t6定时器&#xff1a;TIM1、TIM2、TIM3、TIM4 基本定时器 通用定时器…

STM32 + 无线通信模块 NRF24L01 数据收发

NRF24L01的模块资料&#xff0c;网上已很详尽了&#xff0c;在这不再重复描述知识点了。 这篇文章的目的&#xff0c;旨在把主要知识点胶接起来&#xff0c;梳理成一套完整的步骤&#xff0c;使器件快速上手汇入工作使用。 将按操作顺序&#xff0c;拆分成7个步骤&#xff0c;…

NRF24L01 无线模块

NRF24L01 简介 NRF24L01 可以实现点对点或者是1&#xff08;收&#xff09;对6&#xff08;发&#xff09;的无线通信。NRF24L01 采样SPI通信&#xff0c;很方便连接MCU NRF24L01 无线模块&#xff0c;采用的芯片是 NRF24L01&#xff0c;该芯片的主要特点如下&#xff1a; 1&a…

中兴h118b改打印机服务器,TL-WR710N改打印机服务器 WR710硬改OpenWrt打印服务器

TL-WR710N改打印机服务器 WR710硬改OpenWrt打印服务器 时间&#xff1a;2020-12-07 00:30:25 / 来源&#xff1a;你好多多DIY / 作者&#xff1a;多多 2017年入行&#xff0c;转眼三年多了&#xff0c;这是2017年改装WR710的帖子。TL-WR710N能改打印机服务器吗&#xff1f;答案…

tlwn726n无线网卡Linux驱动,tlwn726n驱动下载

tl-wn726n无线网卡驱动是官方推出的tl-wn726n驱动程序&#xff0c;能够方便快捷的让用户对于自己设备的型号进行无线网卡安装&#xff1b;如果您购买了该产品一定要下载安装该驱动才可以使您的无线网卡正常使用。 tlwn726n无线网卡驱动安装常见问题&#xff1a; ※无线网卡驱动…

NRF24L01无线通信模块

1.NRF24L01无线模块定义 1.1概念 NRF24L01是一款新型单片射频收发器件&#xff0c;工作与2.4GHz~2.5GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块&#xff0c;并融合了增强型ShockBurst技术&#xff0c;其中输出功率和通信频道可通过程序进行配置…