RTL8188CU在bb black上的移植---fwqlzz love is for ever

来源:互联网 发布:php wsdl 编辑:程序博客网 时间:2024/04/28 01:48

下载http://pan.baidu.com/s/1c27EdZa


在makefile下添加CONFIG_PLATFORM_ARM_AM335X = y


;然后是去修改编译工具。内核路径。


ifeq ($(CONFIG_PLATFORM_ARM_AM335X), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-linux-gnueabihf-
KVER  := 3.2.0
KSRC := /home/raymon/work/linux-3.2.0
endif


将生成的.ko 下载到 bbb


开启wlan0
root@ok335x:/# ifconfig wlan0 up


在WPA下,需要安装4个开发工具

下载wireless_tools.29.tar.gz(支持wep),这个网上都能下到的,修改makefile 

## Compiler to use (modify this for cross compile).
CC = arm-linux-gnueabihf-gcc
## Other tools you need to modify for cross compile (static lib only).
AR = arm-linux-gnueabihf-ar
RANLIB = arm-linux-gnueabihf-ranlib

make 编译。会生成iwpriv,iwconfig,iwlist,iwspy,copy这些文件到开发板/sbin 目录下。同时copy同目录下的libiw。so。29到开发板/lib 目录下


下载libnl-1.1.4.tar.gz

tar xzf libnl-1.1.4.tar.gz 
cd libnl-1.1.4/
CC=/home/raymon/work/linux-devkit/bin/arm-linux-gnueabihf-gcc ./configure --prefix=$PWD/_install --host=arm-linux-gnueabihf
make
make install
之后将生成的库文件和头文件复制到交叉编译路径:
cp -rf _install/* /home/raymon/work//linux-devkit/arm-arago-linux-gnueabi/usr/


 下载openssl-0.9.8e.tar.gzwireless_tools.29.tar.gz。

将wpa_supplicant中的补丁拷贝到openssl中 
        # cp wpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/
        #cd openssl-0.9.8e
        #mkdir /usr/local/ssl
        #vim Makefile
                CC= arm-linux-gnueabihf-gcc
                AR= arm-linux-gnueabihf-ar $(ARFLAGS) r
                RANLIB= arm-linux-gnueabihf-ranlib
                INSTALLTOP=/usr/local/ssl
                OPENSSLDIR=/usr/local/ssl
        #make 
        #make install

在/usr/local/ssl目录下安装了ssl库
 #ls /usr/local/ssl #bin  certs  include  lib  man  misc  openssl.cnf  private


下载wpa_supplicant-2.3.tar.gz (openssl用到0.7.3提供的补丁)

进入wpa_supplicant-0.7.3.tar.gz解压生成的wpa_supplicant-0.7.3/wpa_supplicant目录中:
        #cp defconfig        .config
        #vim .config
                CC=arm-linux-gnueabihf-gcc  -L/usr/local/ssl/lib/
          #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
CFLAGS += -I/usr/local/ssl/include
#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
LIBS += -L/usr/local/ssl/lib
        #make

经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。


配置wpa_supplicant
在板子根目录nfsroot/etc中修改wpa_supplicant.conf文件


文件内容如下
ctrl_interface=/var/run/wpa_supplicant


network={
                ssid="RIMMS"     //填写无线网络的的用户名
                key_mgmt=WPA-PSK
                proto=WPA
                pairwise=TKIP
                group=TKIP
                psk="1234567890" //填写密码
}
注意要与你的无线路由中的设置对应。


测试
insmod 8192cu.ko
ifconfig wlan0 up
iwconfig wlan0 essid  RIMMS
wpa_passphrase RIMMS 1234567890 >> /etc/wpa_supplicant.conf


之后wpa_supplicant.conf中会添加以下内容,然后把最后面的经过加密的密码修改到上面去,再把下面的内容删掉!
network={
      ssid="RIMMS"
      #psk="1234567890"
      psk=4b2bc7cbb3710e9ea43f09e8d57e8bdb3b2a2127af44960d73216c3612f6baba
}
如:
network={
                ssid="RIMMS"     //填写无线网络的的用户名
                key_mgmt=WPA-PSK
                proto=WPA
                pairwise=TKIP
                group=TKIP
                psk=4b2bc7cbb3710e9ea43f09e8d57e8bdb3b2a2127af44960d73216c3612f6baba                
                #psk="1234567890" //填写密码
}


连接AP

wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B

 
root@ok335x:/# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
[ 1915.278393] [rtw_wx_set_pmkid] IW_PMKSA_FLUSH!
[ 1915.284305] _rtw_pwr_wakeup call ips_leave....
[ 1915.290031] ==>ips_leave cnts:1
[ 1915.293567] ===>  rtw_ips_pwr_up..............
[ 1915.298205] ===> ips_netdrv_open.........
[ 1915.306835]  ===> FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC
[ 1915.313417] FirmwareDownload92C accquire FW from embedded image
[ 1915.319589] fw_ver=v88, fw_subver=2, sig=0x88c0
[ 1915.341760] fw download ok!
[ 1915.344674] Set RF Chip ID to RF_6052 and RF type to 1T1R.
[ 1915.653335] IQK:Start!!!
[ 1915.660272] Path A Rx IQK fail!!
[ 1915.665524] Path A Rx IQK fail!!
[ 1915.668889] Path A IQK Only  Tx Success!!
[ 1915.677194] Path A IQK Success!!
[ 1915.685679] Path A Rx IQK fail!!
[ 1915.690525] Path A Rx IQK fail!!
[ 1915.693907] Path A IQK Only  Tx Success!!
[ 1915.699705] IQK: final_candidate is 0
[ 1915.703543] IQK: RegE94=fe RegE9C=c RegEA4=0 RegEAC=0 RegEB4=0 RegEBC=0 RegEC4=0 RegECC=0
[ 1915.703553]  Path A IQ Calibration Success !
[ 1915.717584] _PHY_PathAFillIQKMatrix only Tx OK
[ 1915.832066] pdmpriv->TxPowerTrackControl = 1
[ 1915.837867] rtl8192cu_hal_init in 530ms
[ 1915.863220] <===  rtw_ips_pwr_up.............. in 570ms
[ 1915.868762] ==> ips_leave.....LED(0x00028080)...
[ 1915.873599] set_mode = IW_MODE_INFRA
[ 1915.877792] hw_var_set_opmode()-4234 mode = 2
ioctl[SIOCSIWAP]: Operation not permitted
[ 1915.911347] [rtw_wx_set_pmkid] IW_PMKSA_FLUSH!
root@ok335x:/# [ 1917.433405] survey done event(3b) band:0 for wlan0
[ 1917.441661] wpa_set_auth_algs, AUTH_ALG_OPEN_SYSTEM
[ 1917.446773] set_mode = IW_MODE_INFRA
[ 1917.451242] 
[ 1917.451248]  wpa_ie(length:24):
[ 1917.456067] 0xdd 0x16 0x00 0x50 0xf2 0x01 0x01 0x00 
[ 1917.461267] 0x00 0x50 0xf2 0x02 0x01 0x00 0x00 0x50 
[ 1917.466445] 0xf2 0x04 0x01 0x00 0x00 0x50 0xf2 0x02 
[ 1917.471657] hw_var_set_opmode()-4234 mode = 2
[ 1917.476951] SetHwReg8192CU, 5130, RCR= 700060ca 
[ 1917.481995] =>rtw_wx_set_essid
[ 1917.485179] ssid=RIMMS, len=5
[ 1917.488283] Set SSID under fw_state=0x00000008
[ 1917.492950] [by_bssid:0][assoc_ssid:RIMMS][to_roaming:0] new candidate: RIMMS(94:0c:6d:35:7f:a2, ch6) rssi:-55
[ 1917.503409] rtw_select_and_join_from_scanned_queue: candidate: RIMMS(94:0c:6d:35:7f:a2, ch:6)
[ 1917.512366] link to Artheros AP
[ 1917.515702] <=rtw_wx_set_essid, ret 0
[ 1917.520176] Set BSSID under fw_state=0x00000088
[ 1917.525313] start_join_set_ch_bw: ch=6, bwmode=0, ch_offset=0
[ 1917.615110] link to Artheros AP
[ 1917.622448] OnAuthClient
[ 1917.625114] network.SupportedRates[0]=82
[ 1917.629205] network.SupportedRates[1]=84
[ 1917.633313] network.SupportedRates[2]=8B
[ 1917.637397] network.SupportedRates[3]=96
[ 1917.641489] network.SupportedRates[4]=0C
[ 1917.645584] network.SupportedRates[5]=18
[ 1917.649667] network.SupportedRates[6]=30
[ 1917.653760] network.SupportedRates[7]=48
[ 1917.657846] network.SupportedRates[8]=12
[ 1917.661937] network.SupportedRates[9]=24
[ 1917.666020] network.SupportedRates[10]=60
[ 1917.670196] network.SupportedRates[11]=6C
[ 1917.674380] bssrate_len = 12
[ 1917.682493] OnAssocRsp
[ 1917.684986] report_join_res(17)
[ 1917.688260] rtw_joinbss_update_network
[ 1917.692208] rtw_joinbss_update_stainfo
[ 1917.696537] HW_VAR_BASIC_RATE: BrateCfg(0x15d)
[ 1917.702663] HTOnAssocRsp
[ 1917.707273] update raid entry, mask=0x40000fff, arg=0x80
[ 1917.713794] rtl8192c_set_FwJoinBssReport_cmd mstatus(1)
[ 1917.719709] SetFwRsvdPagePkt
[ 1917.722801] Set RSVD page location to Fw.
[ 1917.727448] =>mlmeext_joinbss_event_callback
[ 1918.843410] rtw_tkip_decrypt(wlan0) no_gkey_bc_cnt:4, no_gkey_mc_cnt:0
[ 1919.170731] 
[ 1919.170745]  ~~~~stastakey:unicastkey
[ 1919.865938] rtw_tkip_decrypt(wlan0) no_gkey_bc_cnt:3, no_gkey_mc_cnt:0
[ 1920.161530]  ~~~~set sta key:groupkey
[ 1920.165359] ==> rtw_set_key algorithm(2),keyid(1),key_mask(0)
[ 1920.172590] SetHwReg8192CU, 5126, RCR= 700060ce 
[ 1920.873300] rtl8192c_dm_RF_Saving(): RF_Save
[ 1921.194270]  ~~~~set sta key:groupkey
[ 1921.198106] ==> rtw_set_key algorithm(2),keyid(1),key_mask(0)
[ 1921.205636] SetHwReg8192CU, 5126, RCR= 700060ce 
[ 1921.211459]  ~~~~set sta key:groupkey
[ 1921.215299] ==> rtw_set_key algorithm(2),keyid(2),key_mask(0)
[ 1921.222379] SetHwReg8192CU, 5126, RCR= 700060ce 
[ 1926.870961] rtw_set_ps_mode(): Enter 802.11 power save mode...
[ 1926.877546] rtl8192c_dm_RF_Saving(): RF_Normal
[ 1926.882200] rtl8192c_set_FwPwrMode_cmd(): Mode = 1, SmartPS = 2
[ 1952.229781]  ~~~~set sta key:groupkey
[ 1952.233677] ==> rtw_set_key algorithm(2),keyid(1),key_mask(0)
[ 1952.241038] SetHwReg8192CU, 5126, RCR= 700760ce 
[ 1952.246280] rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..
[ 1952.253708] rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0
[ 1952.872544] rtl8192c_dm_RF_Saving(): RF_Save
[ 1954.870942] rtw_set_ps_mode(): Enter 802.11 power save mode...
[ 1954.877492] rtl8192c_dm_RF_Saving(): RF_Normal
[ 1954.882150] rtl8192c_set_FwPwrMode_cmd(): Mode = 1, SmartPS = 2
 

在执行udhcpc -i wlan0 可以顺利获取ip

root@ok335x:/# udhcpc -i wlan0

udhcpc (v1.20.2) started
Sending discover...
[ 2055.533798] rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..
[ 2055.542992] rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0
Sending select for 192.168.1.213...
Lease of 192.168.1.213 obtained, lease time 7200
RTNETLINK answers: File exists
/etc/udhcpc.d/50default: Adding DNS 8.8.8.8
/etc/udhcpc.d/50default: Adding DNS 61.233.9.9
root@ok335x:/# [ 2056.872881] rtl8192c_dm_RF_Saving(): RF_Save
[ 2058.870972] rtw_set_ps_mode(): Enter 802.11 power save mode...
[ 2058.877519] rtl8192c_dm_RF_Saving(): RF_Normal
[ 2058.882180] rtl8192c_set_FwPwrMode_cmd(): Mode = 1, SmartPS = 2
[ 2060.870975] rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..
[ 2060.877948] rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0
[ 2060.902333] rtl8192c_dm_RF_Saving(): RF_Save
0 0
原创粉丝点击