嵌入式linux无线网卡的使用
from:http://blog.csdn.net/sparksalmon/article/details/8445287
最近一直在开发机顶盒上的无线功能,把这一段的经验记录下来,以后还有需要的时候。
硬件、驱动和系统
- USB无线网卡:ralink3070
- 驱动:ralink3070的驱动源代码
- 操作系统:linux
内核模块和工具
- 内核模块:源码编译的内核模块rt5370sta.ko
- 工具:iwconfig,iwpriv,iwlist
使用时首先加载内核模块
insmod /root/modules/rt5370sta.ko
激活无线网卡(会加载无线的默认配置文件 /etc/Wireless/RT2870STA/RT2870STA.dat,相关设置可参考资料1)
ifconfig ra0 up
无线扫描结果与无线设置
无线热点扫描
iwlist ra0 scan
无线热点信息查看与设置
iwpriv ra0 set
iwpriv ra0 show
查看无线连接状态
iwpriv ra0 connStatus
使用iwpriv设置好无线参数,如果能连接上无线,使用iwconfig就能看到刚才所连接无线的essid。
下面主要说明一下无线扫描结果与无线连接设置之间的关系
1. 认证方式:开放或者共享,密码:无
Cell 03 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=94/100 Signal level=-53 dBm Noise level=-92 dBmEncryption key: offBit Rates:54 Mb/s
iwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WEPAUTOiwpriv ra0 set EncrypType=NONEiwpriv ra0 set SSID="wlan_test"
2. 认证方式:开放或者共享,密码:有,加密方式:WEP
Cell 03 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=94/100 Signal level=-53 dBm Noise level=-92 dBmEncryption key: onBit Rates:54 Mb/s
iwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WEPAUTOiwpriv ra0 set EncrypType=WEPiwpriv ra0 set SSID="wlan_test"
3. 认证方式:WPAPSK,加密方式:TKIP
Cell 03 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=100/100 Signal level=-17 dBm Noise level=-92 dBmEncryption key: onBit Rates:54 Mb/sIE: WPA Version 1Group Cipher : TKIPPairwise Ciphers (1) : TKIPAuthentication Suites (1) : PSK
iwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WPAPSKiwpriv ra0 set EncrypType=TKIPiwpriv ra0 set SSID="wlan_test"iwpriv ra0 set WPAPSK="12345678"
4. 认证方式:WPAPSK,加密方式:AES
Cell 03 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=100/100 Signal level=-15 dBm Noise level=-92 dBmEncryption key: onBit Rates:54 Mb/sIE: WPA Version 1Group Cipher : CCMPPairwise Ciphers (1) : CCMPAuthentication Suites (1) : PSK
iwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WPAPSKiwpriv ra0 set EncrypType=AESiwpriv ra0 set SSID="wlan_test"iwpriv ra0 set WPAPSK="12345678"
5. 认证方式:WPA2PSK,加密方式:TKIP
Cell 03 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=100/100 Signal level=-17 dBm Noise level=-92 dBmEncryption key: onBit Rates:54 Mb/sIE: IEEE 802.11i/WPA2 Version 1Group Cipher : TKIPPairwise Ciphers (1) : TKIPAuthentication Suites (1) : PSKPreauthentication Supported
iwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WPA2PSKiwpriv ra0 set EncrypType=TKIPiwpriv ra0 set SSID="wlan_test"iwpriv ra0 set WPAPSK="12345678"
6. 认证方式:WPA2PSK,加密方式:AES
Cell 03 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=100/100 Signal level=-17 dBm Noise level=-92 dBmEncryption key: onBit Rates:54 Mb/sIE: IEEE 802.11i/WPA2 Version 1Group Cipher : CCMPPairwise Ciphers (1) : CCMPAuthentication Suites (1) : PSKPreauthentication Supported
iwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WPA2PSKiwpriv ra0 set EncrypType=AESiwpriv ra0 set SSID="wlan_test"iwpriv ra0 set WPAPSK="12345678"
7. 认证方式:自动(WPAPSK/WPA2PSK),加密方式:自动(AES或TKIP)
Cell 04 - Address: 00:21:27:80:88:00Protocol:802.11b/gESSID:"wlan_test"Mode:ManagedFrequency:2.437 GHz (Channel 6)Quality=100/100 Signal level=-47 dBm Noise level=-92 dBmEncryption key: onBit Rates:54 Mb/sIE: WPA Version 1Group Cipher : TKIPPairwise Ciphers (2) : TKIP CCMPAuthentication Suites (1) : PSKIE: IEEE 802.11i/WPA2 Version 1Group Cipher : TKIPPairwise Ciphers (2) : TKIP CCMPAuthentication Suites (1) : PSKPreauthentication Supported
注意事项
1. 无线热点之间切换的问题
如果已经连接上一个无线热点,切换到另一个时,直接通过iwpriv设置,新无线不会生效。
我通过调用iwconfig ra0 essid off解决了这个问题,不知道是否合适,有待进一步的查找资料和验证。
2. 路由的问题
开机设置了有线连接的默认路由,当无线连接后,也设置了一个默认路由
两个默认的路由网段一样时,会导致不插网线,但连上无线时,ping不通无线路由器。
删除之前的默认路由,或者关闭eth0能解决问题,但还是要注意无线网卡和有线网卡共同工作时可能会出现问题。
参考资料
嵌入式linux无线网卡的使用的更多相关文章
- 嵌入式Linux利用Wifi搭建无线服务器(物联网实践之无线网关)
在 http://www.cnblogs.com/heat-man/p/4564539.html中,在嵌入式Linux开发板上我们从最底层实现了一个智能家居的远程控制系统,然而采取的是用网线连接到交换 ...
- 嵌入式Linux学习方法——给那些彷徨者(上)
要想学好嵌入式Linux,首先要解决两个重要问题: 1. 学什么? 2. 怎么学? 首先解决第一个问题. 嵌入式Linux的系统架构包括软件和硬件两个部分,如下图: 再来看看一个成熟的嵌入式产品的开发 ...
- 为什么要有uboot?带你全面分析嵌入式linux系统启动过程中uboot的作用
1.为什么要有uboot 1.1.计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统.典型的计算机系统有:PC机(台式机+笔记本).嵌入式设备(手机.平板电脑.游戏机).单片机(家用 ...
- 嵌入式 Linux下永久生效环境变量bashrc
嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到 ...
- 制作自己的嵌入式Linux电脑_转
制作自己的嵌入式Linux电脑 http://os.51cto.com/art/201409/450334.htm 原文链接:http://blog.jobbole.com/75414/ 包含器件选择 ...
- 用Windows+VirtualBox搭建嵌入式Linux开发环境
Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...
- 嵌入式Linux的调试技术
本节我们研究嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试.刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过p ...
- 嵌入式linux应用程序移植方法总结
嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
随机推荐
- 1513:二进制中1的个数 @jobdu
题目1513:二进制中1的个数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1341 解决:455 题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 输入: ...
- 【面试虐菜】—— MongoDB知识整理
为什么我们要使用MongoDB? 特点: 高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支 ...
- 自己写的一个Js小插件
这是效果图.上面一个过滤标签.下面弹出框,选择日,周,月.我的用途主要是报表查询的时候根据这3种类型来查询数据用的. 这里分享下代码. Js代码 (function ($) { $.extend($. ...
- Dreamweaver中清除php代码中多余空行的方法
使用DW自带的搜索功能,利用正则表达式 使用正则表达式搜索:\r\n\s*\r\n即可搜到代码中的空行,再用回车符\n替换即可消除代码中的多余空行
- 安装Rational Rose启动报错:无法启动此程序,由于计算机中丢失 suite objects.dll。
执行Rational Rose的时候假设出现这种错误,先检查环境变量有没有common的地址,假设没有直接配上就OK:配置例如以下:D:\Program Files\Rational\Common; ...
- Web版的各种聊天工具
直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,非常方便.在此将时汇总 便于大家查找 节约大 ...
- Python重写C语言程序100例--Part1
''' [程序1] 题目:有1.2.3.4个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成全部的排列后再去 掉不满足条件 ...
- hdu2565java
放大的X Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio ...
- java与.net比较学习系列开发环境和常用调试技巧常用操作快捷键
调试 F5 F11 调试运行 CTRL+F5 暂无 非调试运行 F6 不适用 编译整个解决方案 SHIFT+F6 不适用 编译当前选择的工程 SHIFT+F5 CTRL ...
- textarea限制字符数
html代码: <div class="remark_edit J_Remark_Edit"> <div class="tip-body"&g ...