




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Wi-Fi Linux驱动移植第一步:拷贝源码(2011_0407_5700_5800_Linux_android_V_DPO)到linux PC系统中请修改Makefile中的ARM平台请选择PLATFORM=SMDK再在SMDK项中修改ifeq ($(PLATFORM),SMDK)LINUX_SRC = 替换为源码目录路径 如:/root/lsl/linux-CROSS_COMPILE = 替换为交差编译器目录路径 如:arm-linux-Endif再make 一下先第二步:编译后,我们需要三个文件,它们要放在我们的下位机的目录下的。把驱动和相关文件拷到板子上相应目录下,注意这里对RT2870STA.dat要用dos2unix先转一下。#dos2unix RT2870STA/RT2870STA.dat把RT2870STA.dat拷贝到/etc/Wireless/RT2870STA目录下#chmod +x /etc/Wireless/RT2870STA/RT2870STA.dat把rt2870.bin usb固件拷贝到/lib/firmware此路径有严格要求#cp common/rt2870.bin /lib/firmware/把rt3070sta.ko拷贝到目标系统的/lib/modules目录下#cp rt3070sta.ko /lib/modules上面涉及的目录是没有的,需要自己建立.第三步:这个时候就可以使用加载了# insmod /lib/modules/rt3070sta.ko rtusb init rt2870 -= pAd = c48e3000, size = 508592 =- RTMPAllocTxRxRingMemory, Status=0RTUSBVenderReset Error! The chip does not support 5G band 5!RTMPSetPhyMode: channel is out of range, use first channel=1 (Efuse for 3062/3562/3572) Size=0x2d 2d0-2fc 3. Phy Mode = 9MCS Set = ff 00 00 00 01rt_ioctl_giwscan. 7(7) BSS returned, data-length = 1203ra0 Scan completed : Cell 01 - Address: 8C:21:0A:38:5A:C2 Protocol:802.11b/g/n ESSID:abby Mode:Managed Frequency:2.412 GHz (Channel 1) Quality=78/100 Signal level=-59 dBm Noise level=-92 dBm Encryption key:on Bit Rates:54 Mb/s IE: WPA Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD0E0050F204104A0001101044000102 Cell 02 - Address: C8:3A:35:05:0C:70 Protocol:802.11b/g/n ESSID:Tenda_050C70 Mode:Managed Frequency:2.462 GHz (Channel 11) Quality=100/100 Signal level=-39 dBm Noise level=-92 dBm Encryption key:on Bit Rates:150 Mb/s IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : CCMP TKIP Authentication Suites (1) : PSK如上:ESSID项的值即为无线网络的名字,如上的“Tenda_050C70”等。如果值为空,说明在无线路由勾选了隐藏ESSID的选项。ESSID是很关键的,如果被隐藏了,也不是不能连接,而是需要破解,用到其他的工具,非常麻烦。至于如何破解,不是本文叙述的内容,有兴趣的朋友可以网上搜索。得到了网络的信息,接下来就是配置连接选项了。以连接 Tenda_050C70为例,我们看看具体的过程:# iwpriv ra0 set NetworkType=Infra 设置要连接的网络类型# iwpriv ra0 set AuthMode=WPA2PSK 设置要连接的无线网络的安全模式# iwpriv ra0 set EncrypType=TKIP 设置网络加密方式:(CCMP即为AES)# iwpriv ra0 set WPAPSK=12345679 设置连接时的密码:12345679为加密网络的密码连接该网络:有两种方式:# iwpriv ra0 set SSID=Tenda_050C70 用iwpriv命令# iwconfig ra0 essid Tenda_050C70 用iwconfig命令至此,如果密码正确,就可以连接上网络jxj_rd了。如果你不放心,可以用命令查看状态:iwpriv ra0 connStatus另一种查看网络是否连接方法:ifconfig ra0 0 netmask # ifconfiglo Link encap:Local Loopback inet addr: Mask: UP LOOPBACK RUNNING MTU:16436 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:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)ra0 Link encap:Ethernet HWaddr 00:E0:4C:D9:37:A0 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:1275298 (1.2 MiB) TX bytes:320200 (312.6 KiB) (这里有数据,)以上不知道是否已连接=关闭wifi无线连接# ifconfig ra0 down3G卡网络连接好后用ping查看网络是否连接如:# ping PING (25): 56 data bytes64 bytes from 25: seq=0 ttl=51 time=477.009 ms64 bytes from 25: seq=1 ttl=51 time=550.395 ms64 bytes from 25: seq=2 ttl=51 time=545.496 ms- ping statistics -14 packets transmitted, 14 packets received, 0% packet lossround-trip min/avg/max = 477.009/749.194/1620.576 ms以上数据说明已经连通wpa_supplicant 移植及 linux 命令行模式配置无线上网1.源码下载wpa_supplicant 源码下载地址 :http:/hostap.epitest.fi/releases/ 本人使用的是 wpa_supplicant-0.7.3.tar.gzopenssl 源码下载地址:/source/ 本人使用的是openssl-1.0.0j.tar.gz。2.openssl 交叉编译在服务器home目录下,创建连个文件wpa_source , wpa_install ,两个目录 mkdir wpa_source ,mkdir wpa_install .创建完成后,将两份源码上传到wpa_source目录中,分别解压 tar xvf xxx (源码名称)。解压完成后,进入openssl-1.0.0j文件中。执行命令:./config no-asm shared -prefix=/home/wpa_install说明:no-asm在交叉编译过程中不使用汇编代码代码加速编译过程。shared 生成动态链接库。-prefix指定生成lib include bin目录的路径,不修改此项则默认为OPENSSLDIR目录。我们将其安装在/home/wpa_install 目录下。*此处注意下,本人在编译openssl时,如果不加no-asm shared ,在后面make中会出错。修改Makefile 文件,具体修改如下,主要修改有几处:#mkdir /usr/local/ssl#vim MakefilePLATFORM=armINSTALLTOP=/usr/local/sslOPENSSLDIR=/usr/local/sslCC= /usr/local/arm/4.1.2/bin/arm-linux-gcc。AR = /usr/local/arm/4.1.2/bin/arm-linux-ar$(ARFLAGS) rRANLIB = /usr/local/arm/4.1.2/bin/arm-linux-ranlib修改的几处换成你使用的交叉编译工具即可。说明:我在我的路径后“$(ARFLAGS) r”才编译成功如: AR = /usr/local/arm/4.1.2/bin/arm-linux-ar$(ARFLAGS) r然后执行:make make install。编译成功后会生成2个文件 libssl.so.1.0.0 ; libcrypto.so.1.0.0 ,把这2个文件拷贝到目标板的 /lib/目录下, 执行指令:chmod +x libssl.so.1.0.0 libcrypto.so.1.0.0参考连接:/ti_tantbx/article/details/7037741/zqj6893/article/details/8778237三、编译wpa_supplicant进入wpa_supplicant-0.7.3.tar.gz解压生成的wpa_supplicant-0.7.3/wpa_supplicant目录中: #cp defconfig .config #vim .configCC=arm-linux-gcc -L/usr/local/ssl/lib/#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gccCFLAGS += -I/usr/local/ssl/include#CPPFLAGS += -I./src/include -I././src/router/openssl/includeLIBS += -L/usr/local/ssl/lib#make经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。4.在开发板实际使用。参考连接:/wanhl/p/3374443.html/content/12/0709/15/9424702_223192125.shtml/ti_tantbx/article/details/7037741此处我只说下wpa_supplicant 配置上网的用法。wpa_cli适合个人使用配置,wpa_supplicant 使用于后台操作型的配置。注:默认无线驱动已加载,此处略。(1)、在使用前,将wpa_supplicant , wpa_cli 复制的/ usr/sbin/目录下。 执行指令:chmod +x wpa_supplican wpa_cli 将libssl.so.1.0.0 ,libcrypto.so.1.0.0 复制到/lib/目录下(2)、在/var/run/目录下创建wpa_supplicant文件夹,mkdir /var/run/wpa_supplicant(3)、在/etc/下创建文件wpa_supplicant.conf.此处的wpa_supplicant.conf 文件内容有几种。# cat /etc/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicantctrl_interface_group=0network= /为:WPA-PSK TKIP 时设置 ssid=Tenda_050C70 key_mgmt=WPA-PSK proto=WPA pairwise= CCMP TKIP group= CCMP TKIP psk=12345679以上对应路由器设置为:network= /为:WPA2-PSK AES 时设置 ssid=Tenda_050C70 key_mgmt=WPA2-PSK proto=WPA pairwise= TKIP group= TKIP psk=12345679network= /为:无密码 ssid=Tenda_050C70 key_mgmt=NONE连接到无线路由=# wpa_supplicant -B -d -i ra0 -c /etc/wpa_supplicant.conf指令 注释:-B 是指后台运行,如果想查看连接信息,可以把B去掉。-i ra0 ,-i是接口名称,如果你的无线网卡不是ra0,(如wlan0),那么随之更改接口名称。-d ,指增加debug信息。-c , 后面跟wpa_supplicant配置文件的路径# wpa_supplicant -B -d -i ra0 -c /etc/wpa_supplicant.conf Initializing interface ra0 conf /etc/wpa_supplicant.conf driver default ctrl_interface N/A bridge N/AConfiguration file /etc/wpa_supplicant.conf - /etc/wpa_supplicant.confReading configuration file /etc/wpa_supplicant.confctrl_interface=/var/run/wpa_supplicantctrl_interface_group=0Priority group 0 id=0 ssid=Tenda_050C70Initializing interface (2) ra0SIOCGIWRANGE: WE(compiled)=22 WE(source)=14 enc_capa=0xf capabilities: key_mgmt 0xf enc 0xf flags 0x0WEXT: Operstate: linkmode=1, operstate=5Own MAC address: 00:e0:4c:d9:37:a0wpa_driver_wext_set_wpawpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0wpa_driver_wext_set_countermeasureswpa_driver_wext_set_drop_unencryptedRSN: flushing PMKID list in the driverSetting scan request: 0 sec 100000 usecEAPOL: SUPP_PAE entering state DISCONNECTEDEAPOL: KEY_RX entering state NO_KEY_RECEIVEEAPOL: SUPP_BE entering state INITIALIZEEAP: EAP entering state DISABLEDUsing existing control interface directory.ctrl_interface_group=0Added interface ra0Daemonize.rootFriendlyARM wpa_supplicant# =rt_ioctl_giwscan. 8(8) BSS returned, data-length = 1488=rt_ioctl_siwfreq:SIOCSIWFREQ(Channel=1)Rcv Wcid(1) AddBAReqStart Seq = 00000000RTMP_TimerListAdd: add timer obj c495ad2c!RTMP_TimerListAdd: add timer obj c4958f1c!获取IP地址=# udhcpc -i ra0udhcpc (v1.13.3) startedSending discover.Sending select for 04.Lease of 04 obtained, lease time 86400deleting routersroute: SIOCDELRT: No such processadding dns 25adding dns 1查询网络连接状态=rootFriendlyARM wpa_supplicant# wpa_cli -i ra0 statusbssid=c8:3a:35:05:0c:70ssid=Tenda_050C70id=0pairwise_cipher=CCMPgroup_cipher=CCMPkey_mgmt=WPA-PSKwpa_state=COMPLETEDip_address=04ping通网址:=rootFriendlyARM wpa_supplicant# ping PING (6): 56 data bytes64 bytes from 6: seq=0 ttl=128 time=44.698 ms64 bytes from 6: seq=1 ttl=128 time=44.624 msC- ping statistics -10 packets transmitted, 10 packets received, 0% packet lossround-trip min/avg/max = 42.453/43.147/44.698 ms重新连接网络# wpa_cli reconfigure=Selected interface ra0OKrootFriendlyARM wpa_supplicant# =rt_ioctl_giwscan. 6(6) BSS returned, data-length = 1085=rt_ioctl_siwfreq:SIOCSIWFREQ(Channel=1)=rt_ioctl_giwscan. 6(6) BSS returned, data-length = 1085Rcv Wcid(1) AddBAReqStart Seq = 00000000! (0) Cant allocate reordering mpdu blk查看是否连接上=# wpa_cli -i ra0 statusbssid=c8:3a:35:05:0c:70ssid=Tenda_050C70id=0pairwise_cipher=CCMPgroup_cipher=CCMPkey_mgmt=WPA-PSKwpa_state=COMPLETED / COMPLETED为已连接成功,否则失败ip_address=04扫描无线网络=# wpa_cli scan_resultSelected interface ra0bssid / frequency / signal level / flags / ssid(MAC地址 / 频率 / 信号水平 / 加密方式 / 名称)c8:3a:35:05:0c:70 2457 221 WPA-PSK-CCMP Tenda_050C708c:21:0a:38:5a:c2 2437 199 WPA-PSK-CCMPWPA2-PSK-CCMP abby1c:fa:68:40:46:d0 2462 189 WPA-PSK-CCMPWPA2-PSK-CCMP zhong qia8:15:4d:bd:07:76 2412 187 WPA-PSK-CCMPWPA2-PSK-CCMP TP-LINK_BD077638:83:45:5b:98:d4 2437 187 WPA-PSK-CCMPWPA2-PSK-CCMP TP-LINK_5B98D4c8:3a:35:20:0c:28 2457 187 WPA-PSK-CCMP leijun586.加密方式主要有:TKIP-对应TKIP ;AES-对应CCMP安全方式有4种: 无密码-对应ESSWEP-对应WEP/ESSWPA-PSK, -对应 WPA-PSKWPA2-PSK-对应 WPA2-PSK运行无线网络流程:=#insmod /lib/modules/rt3070sta.ko /加载WIFI模块驱动#wpa_supplicant -B -d -i ra0 -c /etc/wpa_supplicant.conf /上电只执行一次此指令连接到无线网络#udhcpc -i ra0 /获取IP#wpa_cli -i ra0 status /查询连接状态#ping /ping网址是否通#ifconfig ra0 down /断开无线网络连接#ifconfig ra0 down /再次断开连接#ifconfig ra0 up /连接到无线网络#udhcpc -i ra0 /获取IP#wpa_cli -i ra0 status /查询连接状态# wpa_cli scan_result /wpa_cli扫描wpa_cli -i ra0 terminateiwlist ra0 scan / iwlist扫描=错误处理:# ifconfig ra0 down-udhcpc: sendto: Network is down#wpa_cli -i ra0 terminate-Failed to connect to wpa_supplicant - wpa_ctrl_open: No such file or directoryCell 07 - Address: C8:3A:35:05:0C:70 Protocol:802.11b/g ESSID:Tenda_050C70 Mode:Managed Frequency:2.462 GHz (Channel 11) Quality=100/100 Signal level=-41 dBm Noise level=-92 dBm Encryption key:on Bit Rates:54 Mb/s IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : TKIP Authentication Suites (1) : PSK/ 以上路由设置 WIFI连接不了Cell 04 - Address: C8:3A:35:05:0C:70 Protocol:802.11b/g ESSID:Tenda_050C70 Mode:Managed Frequency:2.462 GHz (Channel 11) Quality=100/100 Signal level=-47 dBm Noise level=-92 dBm Encryption key:on Bit Rates:54 Mb/s IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : TKIP Authentication Suites (1) : PSK/ 以上路由设置 WIFI连接不了Cell 02 - Address: C8:3A:35:05:0C:70 Protocol:802.11b/g/n ESSID:Tenda_050C70 Mode:Managed Frequency:2.462 GHz (Channel 11) Quality=100/100 Signal level=-37 dBm Noise level=-92 dBm Encryption key:on Bit Rates:150 Mb/s IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : CCMP TKIP Authentication Suites (1) : PSKnetwork= ssid=Tenda_050C70 key_mgmt=WPA-PSK proto=WPA2 pairwise=TKIP CCMP group=TKIP CCMP psk=11111111Cell 02 - Address: C8:3A:35:05:0C:70 Protocol:802.11b/g/n ESSID:Tenda_050C70 Mode:Managed Frequency:2.462 GHz (Channel 11) Quality=100/100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酿酒技术考试题目及答案
- 薄膜材料与技术考试题及答案
- 辅警政治培训课件
- 邮储银行2025邢台市秋招笔试英语题专练及答案
- 建设银行2025昌吉回族自治州小语种岗笔试题及答案
- 工商银行2025张家界市秋招笔试综合模拟题库及答案
- 工商银行2025临夏回族自治州结构化面试15问及话术
- 工商银行2025秋招无领导模拟题角色攻略河南地区
- 建设银行2025盐城市小语种岗笔试题及答案
- 股权互换战略合作合同协议书范本7篇
- 体育行业智能赛事组织与运营服务方案
- 子公司独立经营规划方案
- 《国际贸易实务》课件第1章
- 感恩教育主题班会-《心怀感恩温暖前行》 课件
- 六年级书法学习课件
- 人教版初中语文文言文大全(原文)
- 利用新媒体平台传播创意文化-新媒体传播创意文化
- 劳动合同(模版)4篇
- 人教版小学一年级上册道德与法治教案全册
- 部编版人教2019-2020小学四年级道德与法治上册全册教案教学设计(道法教学案)
- 第10课《往事依依》公开课一等奖创新教学设计-1
评论
0/150
提交评论