转载自: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. 理解dropout

    理解dropout 注意:图片都在github上放着,如果刷不开的话,可以考虑FQ. 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/490 ...

  2. VC-基础-WebBrowser控件中弹出新网页窗口

    用webbrowser控件浏览网页时,常弹出新的网页窗口,若不做任何控制的话,会在默认浏览器(一般是IE)中打开,这样就在新的窗口打开了,原程序就很难控制了,且存在webbrowser控件和IE的se ...

  3. (转)国内外优秀的Web前端工程师

    1. 国内外优秀的Web前端工程师 寻找Github.微博.知乎等技术社区上比较活跃.影响力大的圈内大神,供大家膜拜! 视野所限,未必全面,欢迎大家推荐.自荐. 排名不分先后,序号只为标记方便. 提供 ...

  4. 安装mysql提示This application requires .NET framework 4.0.

    问题描述:安装MySQL社区版时遇到This application requires .NET framework 4.0. 解决方法:在http://search.microsoft.com/zh ...

  5. session在C#一般处理程序的调用方式

    在C#中有一个一般处理程序,可以快速地进行一些逻辑运算等功能,但在这个页面上,不能直接选择使用session进行页面间的值的传递,如何使得页面可以使用session呢 在页面开头写上 using Sy ...

  6. Harbor HA部署-使用Ceph RADOS后端

    1. 前言 Harbor 1.4.0版本开始提供了HA部署方式,和非HA的主要区别就是把有状态的服务分离出来,使用外部集群,而不是运行在本地的容器上.而无状态的服务则可以部署在多个节点上,通过配置上层 ...

  7. TypeError: cannot perform reduce with flexible type

    想要解决这个错误,最好先明白numpy数据类型的dtype转换 生成一个浮点数组 a=np.random.random(4) 输出 a array([0.0945377,0.52199916,0.62 ...

  8. loj2074 「JSOI2016」灯塔

    loj 题面错的--去bzoj上看吧qwq 观察到 \(\sqrt{|i-j|}\) 的取值只有 \(\sqrt{n}\) 级别个,然后就很显然了,rmq. #include <iostream ...

  9. laravel5.2总结--文件上传

    1 配置 文件系统的配置文件在 config/filesystems.php 文件中,此处我们新建一个uploads本地磁盘空间用于存储上传的文件,具体配置项及说明如下: <?php retur ...

  10. Asp.net页面生命周期详解任我行(1)-小试牛刀,编写页面代码

    前言 很久很久以前,还是我在学校的时候,我就看了传智里面视频,学习了一下Asp.net页面生命周期,当时看的时候,因为内功不够深厚,看起来很吃力,现在回头温习了一下,还是有点收获的,于是想用博客记录一 ...