内核版本: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。
移植TP-LINK TL-WN721N 驱动到micro2440(by liukun321咕唧咕唧)相关推荐
- 小白 uBuntu20.04 2 安装TP Link TL-WDN5200 无线网卡驱动 亲测有效
小白 uBuntu20.04 2 安装TP Link TL-WDN5200 无线网卡驱动 首先我先说一下,其实网上很多都是有用的,只是安装步骤不是很详细罢了,我这个只做参考,希望能帮到你. 我朋友问我 ...
- ubuntu20 安装TP Link TL-WDN5200无线网卡驱动
sudo apt update sudo apt install build-essential git dkms git clone https://github.com/brektrou/rtl8 ...
- TP LINK TL SG3452 CONSOLE 超级终端查管理IP命令
参考命令手册:https://service.tp-link.com.cn/download/20191/TL-SG3452P%20V1.0%E5%91%BD%E4%BB%A4%E8%A1%8C%E6 ...
- Android4.1.1_r1系统移植------TP移植篇
原址 学有所得,得有共享,这才是进步之道. 最近天天加班,很多博文写了一半觉得不完善,只好忍痛丢进了草稿箱. 不管其他的,今天得讲讲移植TP的东西: 注:此处TP移植讲解以移植适应&q ...
- android的wifi网卡移植详细过程已经通用驱动的问题
这里有一篇详细的教程,看完还有一个问题 就是android的wifi驱动移植,如果有wifi网卡的驱动代码,是一定需要对android系统本身的代码修改重写编译吗?就是说,有无可能不改变android ...
- i.MX6ULL裸机篇(二)NXP官方SDK移植之踩坑 网口驱动
MX6ULL官方SDK移植之踩坑 网口驱动 一.引言 NXP MX6ULL 网口移植其实主要修改底层驱动程序,LWIP协议通用,一般不用修改,这里主要和大家分享在Linux环境下移植修改网口驱动程序. ...
- linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx
linux内核移植步骤添加dm9000网卡驱动(设备树).docx LINUX内核移植步骤2015年05月13日星期三上午1105往设备树中添加网卡驱动1.选平台,指定交叉编译工具链1.在MAKEFI ...
- 【路由器】TP Link TL-WR702N 迷你路由器为何无法进入管理后台
TL-WR702N是TP Link在很多年前发布的一个迷你型的便携路由器,最近要搬家,我从箱子底翻出了这个小乖乖,年代有些久远,当初的账户密码全都忘到了九霄云外,无奈之下reset重新设置,但是却遇到 ...
- TP Link WN726N ubuntu18安装成功
TP Link 的无线网卡确实在Ubuntu上不好使用, 这个大哥亲测了无数坑:https://blog.csdn.net/zhanghm1995/article/details/105334832 ...
- V370 Intel WiFi Link 1000 BGN驱动如何正确安装
V370 Intel WiFi Link 1000 BGN驱动如何正确安装 刚买的杨天V370笔记本,自带WIN7 Basic系统开始可以使用Intel WiFi Link 1000 BGN上网,换W ...
最新文章
- Android 使用OpenCV的三种方式(Android Studio)
- nextcloud 中文乱码解决方案
- SpringMVC-方法四种类型返回值总结,你用过几种?
- vscode编辑python_VSCode+Python开发环境
- php检查在线用户,php – 检查用户是否在线laravel
- mysql 取最后一次登陆,获得最后一次插入mysql的id | 学步园
- $ajax不能识别,JQuery/JS Ajax功能无法识别
- SAP License:生产订单结算时候的几个差异
- Google 投资了京东
- 使用VC获取字符串的长度
- 【WPF】鼠标穿透窗口(类似于桌面歌词那样子)
- Axure RP 9.0 中继器增删改查实现[原型图]
- 机器学习中Bias(偏差)和Variance(方差)
- saved_model_cli查看SavedModel
- 读《我怎样设计飞机》
- 活跃在全球顶级会议的阿里新生代白帽:能挖漏洞会做焊工
- echarts 北京公交线路-线路效应
- 我想和这个世界说说2
- 如何查看/修改Linux时区和时间
- 浅谈汽车轮胎匹配视觉防错检测应用
热门文章
- PTA 网红点打卡攻略 c++详解
- 4-Javaweb学习-embed 标签
- 如何解决LSTM循环神经网络中的超长序列问题
- conflux开发NFT智能合约(ERC721 工厂合约 可升级合约)
- 让nginx支持php和path_info
- bootstrap支付宝充值html,jQuery+Bootstrap手机端支付宝金额充值表单页面代码
- centos8修改网卡名称成eth0
- Linux之C语言中如何抛出异常或将异常写入日志文件中
- Linux下通过修改网卡驱动的参数调整Intel网卡的性能zz
- 一个简单留言板ajax应用的启示备忘录