转载自:http://blog.sina.com.cn/s/blog_546ced060101cmru.html

   

移植wifi无线网卡到mini2440上全过程 前段时间移植了U-boot和linux2.6.27.9到mini2440上,最近有点空,手头有一个usb接口的zd1211b芯片的wifi无线网卡(PSP和NDSL玩家都知道的神卡),于是决定进行wifi无线网卡在嵌入式中的移植。要在内核中加入此无线网卡的驱动。我是在我移植的linux2.6.27.9内核上移植的。关于内核移植,请看我的这篇文章。http://blog.chinaunix.net/u2/75270/showart.php?id=1796658 
新版的linux2.6.27.9已自带zd1211b的驱动。此驱动在rat-linux-2.6.27.9/drivers/net/wireless/zd1211rw/中。要让此驱动生效,得修改内核配置。
选中 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/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                             
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                             
48 Mb/s; 54 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

嵌入式wifi iwconfig编译的更多相关文章

  1. linux下使用无线网卡的命令行方法(wifi,iwconfig)

    原文地址:linux下使用无线网卡的命令行方法(wifi,iwconfig) 作者:andyhzw (1)首先关闭开发板的有线网卡 [root@FriendlyARM /]# ifconfig eth ...

  2. [转]嵌入式SQC文件编译

      Src Url:http://blog.csdn.net/cws1214/article/details/12996351   A.预编译部分  1.预编译DB2篇 1.1 什么是DB2预编译 在 ...

  3. 嵌入式 Linux下编译并使用curl静态库

    #x86 ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disa ...

  4. [转][linux][centos]嵌入式 Linux下编译并使用curl静态库

    #x86 ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disa ...

  5. 附录三 嵌入式C程序的编译与调试

    课程回顾 C语言库的特性和发展 C语言库的常用库函数 标准库函数的特色应用 git@github.com:Kevin-Dfg/Data-Structures-and-Algorithm-Analysi ...

  6. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  7. Redpine的Lite-Fi解决方案获Wi-Fi CERTIFIED认证

    应用微电路公司(AMCC)和Redpine Signals日前共同宣布,已合作开发出新一代基于Power Architecture的嵌入式Wi-Fi连接性解决方案,目前双方已经在AMCC的PowerP ...

  8. 交叉编译问题记录-嵌入式环境下 GDB 的使用方法

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10693247.html 本文以嵌入式 Linux 环境下的 gdb 使用为例,记录交叉编 ...

  9. centos6.5安装无线网卡驱动并配置wifi

    1.驱动下载地址: RTL8188无线网卡驱动下载 链接:https://pan.baidu.com/s/1ms-EbQCDxa76jPhYUPmr9Q 密码:r2vu 2.安装步骤: [root@c ...

随机推荐

  1. opensuse 系统启动自动加载模块

    在/etc/modules-load.d目录下面加入想要自动加载的模块,例如自动加载raw模块 创建raw.conf文件,在文件中写入raw. 重启系统就可以了. 手动加载模块方法: modprobe ...

  2. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  3. 解决使用Application Loader上传ipa提示“上传appstore失败”

    试了好多次使用Application Loader上传ipa,一直提示上传失败,用其他mac电脑却可以,那就是环境有问题,笔者试过重装xcode,都无法解决问题, 查看日志类似是jdk版本问题,换了所 ...

  4. django项目实现第三方github登录

    OAuth(开放授权 Open Authorization)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容 ...

  5. 【jenkins】jenkins服务器与svn服务器时间不一致出现的问题

    问题描述: svn提交了一次更新包,到了jenkins提交更新的时候,第一次代码没有生效,然后重新提交了一次,第二次才生效. 问题排查: 1.首先第一反应比对了下两次更新的包文件是否一致,然后发现大小 ...

  6. 如何禁止js缓存?

    <html> <head> <script type="text/javascript"> document.write("<s ...

  7. pycharm配置Git托管

    利用Pycharm和github管理代码转载https://www.cnblogs.com/feixuelove1009/p/5955332.html git教程--廖雪峰git教程  转载https ...

  8. python3 包的发布

    发布流程大概如下 1. 首先需要有一个python包,就是一个文件夹,但是此文件夹下面有__init__.py文件,里面内容是 现在要发布包TestMsg,这就是一个python包.在同级目录下新建s ...

  9. [Bzoj2588]Count on a tree(主席树+LCA)

    Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...

  10. POJ3436------ACM Computer Factory

    题目链接 ACM Computer Factory Description As you know, all the computers used for ACM contests must be i ...