要让此驱动生效,得修改内核配置。
选中
networking support-->wireless-->Generic IEEE 802.11 Networking Stack (mac80211)
选中
device drivers-->netword device support-->wirelss lan-->ZyDAS ZD1211/ZD1211B USB-wireless support
重新编译内核。下载到板子中,重启。加入无线网卡。出现
usb 1-1: USB disconnect, address 2
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: reset full speed USB device using s3c2410-ohci and address 3
zd1211rw 1-1:1.0: phy1
表示无线网卡已被识别。使用cat /proc/net/wireless 命令,可以查看到系统中多了个wlan0网卡。此时,网卡还没工作。使用命
令ifconfig wlan0 up则出现firmware:requesting zd1211,然后没反应了,这是因为没有firmware的原因,从这里
http://downloads.sourceforge.net/zd1211/zd1211-firmware-1.4.tar.bz2?modtime=1191498990&big_mirror=0
下载到zd1211 firmware 1.4后,根据firmware的说明,将其中的zd1211_*文件拷贝到根文件系统/lib/firmware/zd1211目录中。这
里再执行ifconfig wlan0 up命令,则出现
firmware: requesting zd1211/zd1211b_ub
firmware: requesting zd1211/zd1211b_uphr
zd1211rw 1-1:1.0: firmware version 4725
zd1211rw 1-1:1.0: zd1211b chip 0ace:1215 v4810 full 00-02-72 AL2230_RF pa0 g--N
网卡硬件开始正常工作了。其中,0ace:1215是网卡的ID,可以用主机linux系统命令lsusb查看到。
但此时,网卡还没被正确配置,还不能正常使用。
要正常使用无线网卡,还要正确配置。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文件拷贝到rat-linux for mini2440的根文件系统中的/bin目录下,将
libiw.so.29拷贝到/lib目录下。
启动mini2440开发板,进入linux命令行后,执行ifconfig wlan0 up,启动无线网卡。再执行iwlist scanning,此命令可以搜索到
可用的无线网络接入点。我的无线接入点是一台无线路由器,ESSID是"rat-linux",执行此命令后就会下列输出
wlan0 Scan completed :
Cell 01 - Address: 00:19:C6:53:B9:CE
ESSID:"rat-linux"
Mode:Master
Channel:2
Frequency:2.417 GHz (Channel 2)
Quality=11/100 Signal level:66/100
Encryption key:on
Bit Rates:1 Mb/s2 Mb/s5.5 Mb/s11 Mb/s6 Mb/s
9 Mb/s12 Mb/s18 Mb/s24 Mb/s36 Mb/s
48 Mb/s54 Mb/s
Extra:tsf=000000056306469f
Extra: Last beacon: 1065ms ago
其中可以看到我的无线接入点是需要密码的。假设密码是123456。使用如下的命令设置密码。
iwconfig wlan0 key 123456
为了能接无线网,还要使用下面的命令设置ESSID
iwconfig wlan0 essid "rat-linux"
其它的参数可以都采用默认的,不用再设了。可以使用下面的命令加入无线网了。
iwconfig wlan0 ap auto
再执行iwconfig wlan0,就可以看到下面的信息。
wlan0 IEEE 802.11bg ESSID:"rat-linux"
Mode:Managed Frequency:2.417 GHz Access Point: 00:19:C6:53:B9:CE
Bit Rate=1 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:1234-56 Security mode:open
Power Management:off
Link Quality=100/100 Signal level:66/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
这就表示已接入无线网。
最后,为无线网卡指定IP地址。命令如下
ifconfig wlan0 192.168.1.30 netmask 255.255.255.0
我的开发主机和无线网卡处于同一网段,因此是可以相互PING通的。因此可以用从开发主机上PING无线网卡的IP地址的方法来确网
卡是否工作正常。从主机上执行ping 192.168.1.30,正常PING通。
至此,无线网卡安装全部完成。
最后,为了方便配置,可以将上述的配置命令写入linux脚本文件,以后,只要执行此脚本,即可完成上述步骤的配置。脚本文件内
容如下。
#! /bin/sh
ifconfig wlan0 up
iwconfig wlan0 key 123456
iwconfig wlan0 essid "rat-linux"
iwconfig wlan0 ap auto
ifconfig wlan0 192.168.1.30 netmask 255.255.255.0
单片机很少跑 *** 作系统,arm嵌入式系统如果不跑 *** 纵系统,当然用IAR,KEIL等等集成开发环境也可以编译出来程序,但是如果要跑 *** 作系统,目前主流的都是跑的基于linux内核的 *** 作系统。
既然使用的是基于linux的系统,那在linux下用交叉编译环境编译出程序就是自然而然的。就好像你要写一个windows下运行的程序,自然首选是在windows下开发。
搭建linux的编译环境很简单。即使是windows的系统,装个虚拟机,安装一下交叉编译环境,也就可以了。
搭建windows编译环境的方法基本都是先安装一个类linux环境的软件,比如cgwin,然后和linux下步骤基本相同,没多大区别。
你想用windows的环境,应该是对linux不熟悉吧。但是,学习linux是做嵌入式省不了的,是必须的。我也是这么一步一步走来的,推荐从单片机裸奔(无 *** 作系统)过渡到ARM linux的一本书《linux c 一站式学习》
首先,在你没搞清ARM,Linux的概念前,需要把这两个名词的概念搞清楚下.ARM:在你心里可以认为是一种处理器,其实ARM是个公司,也是个处理器的架构,也可以指芯片.我们暂时就当成一个硬件来看待
Linux:Linux是个开源的 *** 作系统,也就是类似你玩的电脑装的xp系统或者windows 7系统,Linux是开源的,也就是这个 *** 作系统是开放源代码的,任何人都可以拿过来修改...
因为ARM在移动电子,智能家电领域很得心应手,而且Linux是开源的,所以,就产生了在ARM芯片上搭载Linux为核心的 *** 作系统,比如android系统就是基于Linux开发出来的.
问:视频讲什么呢?
答:视频会教你Linux系统如何使用,ARM的处理器架构,以及怎么在基于ARM芯片的开发板移植各种软件
问:学完这个可以做什么?
答:能做的多了,你可以做很多嵌入式系统设备,比如手机,比如一些掌上设备,或者其他相关的电子设备以及系统开发
问:步骤?
答:先学习Linux,以及C语言编程,然后学习ARM处理器架构,然后学习ARM板子上的各种Linux系统移植开发
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)