ARM开发板加载Realtek-8188CUS USB无线网卡(二)

平台参数:
内核: Linux 3.6
文件系统:Busybox-1.20.2
硬件参数:S3C2416

三、工具准备、知识准备

曾经一个山民说过,磨刀不误砍柴工。捣鼓WiFi,,那么WiFi相关的知识总要了解些吧,比如该无线网络的标准、涉及到的名词、加密术语等等,这些在附录里面提及。

现在要说的是,调试无线网卡需要的几个工具。

所有需要的工具都在源码包里,即wireless_tools/wireless_tools.30.rtl.tar.gz。解压之,修改Makefile:

## Compiler to use (modify this for cross compile).
#CC = gcc
CC = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc
## Other tools you need to modify for cross compile (static lib only).
#AR = ar
AR = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-ar
#RANLIB = ranlib
RANLIB = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-ranlib

编译即可,然后把它们传到文件系统里:ifrename、iwconfig、iwevent、iwgetid、iwlist、iwpriv、iwspy

每个工具怎么用,可以先稍稍了解下,完了在详细记载。

四、调试

关键时刻来了,也是奇迹再现的时分!

1、执行ifconfig命令,并没有出现无线网卡对应的节点,那么我们UP一下

/sbin/ifconfig wlan0 up

为什么是wlan0,你可以问问自己为什么有线连接是eth0。

为了方便,这句也加到启动脚本里。

之后看到:

wlan0     Link encap:Ethernet  HWaddr 6C:E8:73:C7:6F:92
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric: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)

网络环境已经准备好了,接下来就需要在PUSH一下。你不是没东风吗,我给你。

2、搜索我们身边的可用WiFi网络

[[email protected] /]# iwlist wlan0 scan

iwlist会把存在的网络全部罗列出来,剪切部分出来:

          Cell 09 - Address: F0:29:29:A9:CE:B0
                    ESSID:"BDXT"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Encryption key:off
                    Bit Rates:144 Mb/s
                    Quality:20  Signal level:0  Noise level:0
          Cell 10 - Address: F0:29:29:A9:CE:B1
                    ESSID:"BDXT-GUEST"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Encryption key:on
                    Bit Rates:144 Mb/s
                    Extra:wpa_ie=dd1c0050f20101000050f20202000050f2020050f20401000050f2020000
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : TKIP CCMP
                        Authentication Suites (1) : PSK
                    Extra:rsn_ie=30180100000fac020200000fac02000fac040100000fac022800
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : TKIP CCMP
                        Authentication Suites (1) : PSK
                    Quality:68  Signal level:0  Noise level:0
          Cell 11 - Address: F0:29:29:A9:CE:B3
                    ESSID:"XXJSB"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Encryption key:on
                    Bit Rates:144 Mb/s
                    Extra:wpa_ie=dd1c0050f20101000050f20202000050f2020050f20401000050f2010000
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : TKIP CCMP
                        Authentication Suites (1) : 802.1x
                    Extra:rsn_ie=30180100000fac020200000fac02000fac040100000fac012800
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : TKIP CCMP
                        Authentication Suites (1) : 802.1x
                    Quality:0  Signal level:0  Noise level:0

其中,ESSID是Wifi的名字,我们使用名为”BDXT“的测试,它不需要密码,Cell 09: ESSID:"BDXT"

3、连接到Wifi网络

[[email protected] /]# iwconfig wlan0 essid BDXT

然后执行iwconfig wlan0查看连接情况,出现ESSID:"BDXT"即说明我们已经连接到名为”BDXT“的网络

[[email protected] /]# iwconfig wlan0
wlan0     IEEE 802.11bgn  ESSID:"BDXT"  Nickname:"<[email protected]>"
          Mode:Managed  Frequency:2.412 GHz  Access Point: F0:29:29:A9:CA:60
          Bit Rate:72.2 Mb/s   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=97/100  Signal level=53/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

此时网络是不能用的,IP、GW、NETMASK都没有呢!

4、配置网络

a、手动配置

查询”BDXT“的网络使用的网段和网关,如下配置:

[[email protected] /]# ifconfig wlan0 10.209.0.83
[[email protected] /]# ifcofnig
wlan0     Link encap:Ethernet  HWaddr 6C:E8:73:C7:6F:92
          inet addr:10.209.0.83  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:41 errors:0 dropped:44 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7634 (7.4 KiB)  TX bytes:0 (0.0 B)

添加网关,ping下外网IP:

[[email protected] /]# route add default gw 10.209.0.1
[[email protected] /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.209.0.1      0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 wlan0
[[email protected] /]# ping 114.242.203.140
PING 114.242.203.140 (114.242.203.140): 56 data bytes
64 bytes from 114.242.203.140: seq=0 ttl=63 time=15.100 ms
64 bytes from 114.242.203.140: seq=1 ttl=63 time=4.644 ms
64 bytes from 114.242.203.140: seq=2 ttl=63 time=6.732 ms
64 bytes from 114.242.203.140: seq=3 ttl=63 time=10.670 ms
64 bytes from 114.242.203.140: seq=4 ttl=63 time=7.753 ms
64 bytes from 114.242.203.140: seq=5 ttl=63 time=7.774 ms
64 bytes from 114.242.203.140: seq=6 ttl=63 time=7.763 ms
64 bytes from 114.242.203.140: seq=7 ttl=63 time=7.785 ms

ping域名的话,需要在/etc/resolv.conf添加DNS服务器:

cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 202.96.128.86

试下baidu.com:

[[email protected] /]# ping www.baidu.com
PING www.baidu.com (220.181.111.188): 56 data bytes
64 bytes from 220.181.111.188: seq=0 ttl=56 time=7.406 ms
64 bytes from 220.181.111.188: seq=1 ttl=56 time=15.358 ms
64 bytes from 220.181.111.188: seq=2 ttl=56 time=7.254 ms
64 bytes from 220.181.111.188: seq=3 ttl=56 time=11.262 ms
64 bytes from 220.181.111.188: seq=4 ttl=56 time=13.297 ms
64 bytes from 220.181.111.188: seq=5 ttl=56 time=12.235 ms
64 bytes from 220.181.111.188: seq=6 ttl=56 time=7.273 ms
64 bytes from 220.181.111.188: seq=7 ttl=56 time=7.298 ms
64 bytes from 220.181.111.188: seq=8 ttl=56 time=10.413 ms

b、动态分配IP

这需要我们在配置busybox的时候,启用它的DHCP功能,这样,在文件系统中就会有一个命令:

udhcpc

该命令默认是配置eth0网络,配置我们的wlan0的话需要带-i选项:

udhcpc -i wlan0

关于该命令,参见Busybox附带文档,该命令需要 /usr/share/udhcpc/default.script 脚本存在。

五、暂时打住

这种连接是不安全的,没有采用任何加密措施,更好的联网方式在document/wpa_cli_with_wpa_supplicant.pdf有说明。

PS:WiFi名词解释

WiFi基本名词
AP:无线接入点,即无线路由器。
信道:不同的传输频率点。
P2P:点对点无线网模式。
WiFi是由AP(Access Point)和无线网卡组成的无线网络。AP称为网络桥接器或接入点,它是当作传统的有线局域网络与无线局域网络之间的桥梁,因此任何一台装有无线网卡的PC均可透过AP去分享有线局域网络甚至广域网络的资源,其工作原理相当于一个内置无线发射器的HUB或者是路由,而无线网卡则是负责接收由AP所发射信号的CLIENT端设备。

WiFi在IEEE中的定义是 802.11,802.11a/b/g/n其实是802.11通用标准的补充协议:
1、802.11a,1999年,物理层补充(54Mbit/s,5GHz频道);
2、802.11b,1999年,物理层补充(11Mbit/s,2.4GHz频道);
3、802.11g,物理层补充(54Mbit/s,2.4GHz频道);
4、802.11i,2004年,无线网络的安全方面的补充。(与安全有关与网速改进无关);
5、802.11n,导入多重输入输出(MIMO)和40Mbit信道宽度(HT40)技术,基本上是802.11a/g的延伸版。

无线认证相关名词有:WEP、WPA、WPA2、WPA/WPA2 MIXEDMODE、WPA-PSK、WPA2-PSK、WPS
信息加密的相关名词有:AES、TKIP、AES-CCMP
名词解释:
WEP(Wired Equivalent Privacy):有线等效加密 WEP使用一个静态的密钥来加密所有的通信,已证明易被攻击。
WPA(Wi-Fi Protected Access):WPA 实现了802.11i标准的大部分,是在802.11i完备之前替代 WEP 的过渡方案。
WPA2(Wi-Fi Protected Access 2):WPA2完整的实现了802.11i标准,但不能用在某些旧的网卡上。
WPA/WPA2 MIXEDMODE(WPA/WPA2共混模式):主要为了使仅支持WPA的老网卡和WPA/WPA2都支持的新网卡都能够同时连接到访问点而开发的。当家里无线设备种类很多 且新旧都有时,可以选用共混模式。
WPA-PSK(Wi-Fi Protected Access pre-sharedkey):对应于WPA认证
WPA2-PSK(Wi-Fi Protected Access 2pre-shared key):对应于WPA2认证
WPA/WPA-PSK,WPA2/WPA2-PSK的区别::
使用WPA和WPA2认证时需要一台Radius(Remote Authentication Dial In UserService)服务器的配合,对大企业而言是非常安全的。
使用WPA-PSK/WPA2-PSK认证时,只需要一个共有的key就可以了,8位以上(可以理解为密码),不需要验证服务器,对中小企业及机场等公共场合非常的方便。
WPS( Wi-Fi Protected Setup )不是金山办公软件,2007年初才发布的认证,目的是可以更简单方式来设定无线网络装置,并且保证有一定的安全性。

信息加密相关词汇:
AES(Advanced Encryption Standard):高级加密标准 对称密钥加密中最流行的算法之一,也是目前最成熟的。
TKIP(Temporal Key Integrity Protocol):暂时密钥集成协议TKIP是包裹在已有WEP密码外围的一层"外壳"。他解决了WEP的密钥过短和重放攻击(replay attacks)
AES-CCMP(Counter Mode with Cipher Block Chaining Message Authentication CodeProtocol)计数器模式密码块链接消息认证码协议,CCMP是一个协议,它是使用了AES算法又加了一些东西,AES仅是算法,CCMP是加密的协议。
 
时间: 2024-10-05 04:19:26

ARM开发板加载Realtek-8188CUS USB无线网卡(二)的相关文章

ARM开发板加载Realtek-8188CUS USB无线网卡(一)

平台参数: 内核: Linux 3.6 文件系统:Busybox-1.20.2 硬件参数:S3C2416 在ARM-Linux支持并自动挂载U盘中已经验证好,USB接口是完全正常的,所以不用担心硬件上的故障. 一.引子 BZ使用的是"迅捷"(FAST)的一个USB接口无线网卡,型号FAST FW150US,关于这个网卡的故事... 实物如图: 通过Linux的lsusb命令可以查看它内部使用的是Realtek 8188CUS芯片: 二.正式开场 1.首先在Realtek官网下载对应的驱

嵌入式开发板丨ARM开发板 学习必备资料- 迅为电子

摘要: ARM开发板 迅为三星Exynos嵌入式开发平台超强GPS模块 iTOP-Exynos4412开发板采用 Exynos4412的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Camera.3G等模组,支持 HDMI1.4(1080P/60Hz)显示,客户可以直接从开发平台

20150502 调试分析之 使用gdb远程调试ARM开发板

20150502 调试分析之 使用gdb远程调试ARM开发板 2015-05-02 Lover雪儿 今天我们要学习的是使用gdb和gdbserver来远程调试开发板程序. 下面是本人的一些具体步骤: 下载gdb-7.9.tar.gz地址: http://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz 安装gdb tar -jxvf gdb-7.9.tar.bz2 ./configure -target=arm-none-linux-gnueabi --prefix=/hom

嵌入式开发板 iTOP-4412开发板 初学ARM开发板首选!提供技术支持!

摘要: ARM开发板 迅为三星Exynos嵌入式开发平台超强GPS模块 iTOP-Exynos4412开发板采用 Exynos4412的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Camera.3G等模组,支持 HDMI1.4(1080P/60Hz)显示,客户可以直接从开发平台

迅为震撼推出iTOP-4412精英版|Cortex-A9开发板|ARM开发板|嵌入式开发板

最强四核Cortex-A9开发板迅为iTOP-4412精英版震撼推出,仅售560元 业内公认最强四核 藐视一切挑战 ●四核CPU  ●四核GPU  ●双通道内存  ●HKMG技术  ●超级性能  ●至佳稳定  ●供货周期长 Exynos 4412处理器成功应用于三星GALAXY S3,联想K860,魅族MX2等热门产品当中,并取得巨大成功.出色的功耗控制以及超强的性能一直为业内称道, 超过5000万片的出货量,足以证明其稳定性与可用性.已成为三星官方重点推广的处理器之一,并承诺长期供货. 超强的

arm 开发板模拟器

现在有的工控嵌入式,跑的都是 x86 的架构,arm 有的还用着不放心.大型主机,也是 x86 和 power 架构的. arm 只有小型设备或者低功耗方向才需要. 其实,基础知识最重要. arm 开发板是用来干活的,学习在没有真的去针对 arm 的时候,你买 arm 开发板只能用来玩,比如自己弄个触摸屏外加硬盘,装进一个盒子.当初去玩时候的 MP4 机.或者做个 arm 架构的 BT 专用机.简单的入门学习,找个模拟器就行了. 如果非要找开发板,建议弄个龙芯的开发板,万一你混一个高级龙芯系统开

ARM开发板程序设计

1.安装uboot到开发板 2.JLINK软件安装 3.JLINK连接 4.JLINK连接测试 ARM汇编程序结构 RVDS CODEWARRIOR:形成一个可运行的软件 AXD:调试器 1.AXD安装配置 2.AXD调试汇编程序 工作模式: 1.用户模式 2.快速中断模式 3.外部中断模式 4.管理模式 5.数据访问终止模式 6.系统模式 7.未定义指令终止模式 切换: 1.软件认为修改 2.外部中断或异常,被动改变 工作模式: 1.用户模式 2.特权模式 或 1.异常模式 2.用户模式或系统

linux嵌入式开发新方法:阿里云+arm开发板

我们学习arm-linux开发常常需要在自己的电脑上安装虚拟机,虚拟机运行linux操作系统,对于一些没有或者不能安装虚拟机的电脑就不能进行arm-linux开发. 但现在我介绍一种新的方法,使用阿里云计算. 准备: 1.阿里云Linux操作系统 2.arm 开发板 3.window上需要的软件:putty.tftp. 步骤: 1.申请阿里云计算服务器,我选的ubuntu,1核,512内存,100M宽带(流量计费方式). 2.配置linux的nfs服务,创建根目录下forlinux文件夹为NFS

ARM开发板挂载U盘

ARM开发板运行Linux系统后,插入U盘,通过串口打印系统识别到U盘如下: 系统识别U盘盘符为sda4 那么需要挂载后才能操作U盘:挂载命令 mount -t vfat /dev/sda4 /mnt 如下: [email protected]:~# mount -t vfat /dev/sda4 /mnt 查看是否挂载成功命令:df -h [email protected]:~# df -h 如下看到mnt目录挂载成功: 可以看到/mnt 目录已成功挂载.