转载自: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. python剑指offer剪绳子

    题目 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少 ...

  2. WPF 修改数据后更新UI

    ObservableCollection<T> 只有项添加或删除才会更新UI 要想属性发生变动后立刻更新到UI,必须继承 INotifyPropertyChanged 接口,示例如下 pu ...

  3. window下部署yapi

    YApi 是一个可本地部署的.打通前后端及QA的.可视化的接口管理平台. 环境要求 nodejs(尽量最新版本) mongodb(尽量最新版本) 1.安装node https://www.runoob ...

  4. SAP事件 Event Flow(转载)

    1 报表过程事件 报表过程事件是在报表运行过程中由系统自动控制,按照一定次序被触发的事件,其目的是从数据库中选择数据并整理,准备进行列表输出.这些事件从报表程序启动开始就被系统顺序触发,现分述如下: ...

  5. mysql优化之explain各参数详解:

    explain简介 explain命令可以获取Mysql如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的顺序.当我们想知道这个表操作是索引查询还是全表扫描时,我们就可 ...

  6. 精致的系统监控工具-netdata

    今天在网上瞎逛,偶然发现一款监控工具:netdata,感到一惊,监控工具竟然可以这么漂亮! 简单了解一下,这款工具还算比较新,监控系统运行状态的功能非常强大,除了监控cpu,网卡,磁盘,内存,进程等等 ...

  7. JZOJ 3509. 【NOIP2013模拟11.5B组】倒霉的小C

    3509. [NOIP2013模拟11.5B组]倒霉的小C(beats) (File IO): input:beats.in output:beats.out Time Limits: 1000 ms ...

  8. JZOJ 4269. 【NOIP2015模拟10.27】挑竹签

    4269. [NOIP2015模拟10.27]挑竹签 (File IO): input:mikado.in output:mikado.out Time Limits: 1000 ms  Memory ...

  9. 指针的操作 p*++

    int x, y, *px = &x, *py = &y; y = *px + ; //表示把x的内容加5并赋给y,*px+5相当于(*px)+5 y = ++*px; //px的内容 ...

  10. 1 django

    1.MVC 大部分开发语言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 m表示model,主要用于对数据库层的封装 v ...