1. 程式人生 > >usb wifi移植終於搞定了

usb wifi移植終於搞定了

1.選的wifi晶片是rtl8188cus
2.選的開發包是0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
3.編譯8192cu.ko
4.編譯iwconfig工具
5.編譯wpa工具
6.移植到板上
1>首先核心要識別usb裝置,insmod 8192cu.ko,會有列印,注意看有沒有失敗或者usb裝置出錯
2>之前用linux2.6.22的確會出現insmod失敗,後來換成高版本核心,insmod成功
3>ifconifg wlan0 up ok
4>iwlist wlan0 scan ok
5>iwconifg wlan0 essid xxxxxx
6>iwconig wlan0 key s:xxx其實這一步是不需要的有了上面一步就可以連上網了,原因是,路由器必須設定成無密碼的形式,否則登入不上
7>eth0可以down也可以不down,我發現up也沒影響
8>接著ping 192.168.1.1路由,可以ping通
9>接著ping百度發現ping: sendto: Network is unreachable錯誤
10>route add default gw 192.168.1.1,再ping,正常,可以訪問百度
11>列印的時候會有socket和wext的錯誤,那些錯誤應該不是太重要,如果發現根本不能ping,有可能是路由器的設定問題,這個時候設定成無密碼就可以了
12>wpa連ap的時候執行pdf中的命令,注意conf檔案
network={
    ssid="xxxx"
    #key_mgmt=WPA-PSK
    key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
    proto=WPA
    #pairwise=TKIP
    pairwise=TKIP CCMP
    #group=TKIP
    group=CCMP TKIP WEP104 WEP40
    psk="xxxx" //............
}
原因不清楚,如果這樣就好了,用給的conf檔案貌似有問題
13>到底什麼原因造成的?
route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0






default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
只是用來ping外網,連不連上網無關


13>說明沒連上
WEXT: Failed to set bogus BSSID/SSID to disconnect
netlink: Operstate: linkmode=0, operstate=6
14>timeout或者出現disconnect都說明沒連上
15>最後連上的時候是這樣的wlan0: State: GROUP_HANDSHAKE -> COMPLETED,剛開始我沒有設密碼可以這樣子,設了密碼就不行了
怎麼解決 參考這個http://blog.csdn.net/ti_tantbx/article/details/7037741地址,記住一定要生成psk,我之前用密碼肯定不行
network={
        ssid="xxxx"
        key_mgmt=WPA-PSK
        proto=WPA
        pairwise=CCMP TKIP
        group=CCMP TKIP WEP104 WEP40
        psk="1234567890" //............
        #psk="xxxxx"
        psk=123642cc3f9e3edaeea5121c4841fddc031810c946b1fe2dc3be52b73ac84684
}
group剛開始只有CCMP,確實連不上,改成CCMP TKIP WEP104 WEP40,就可以連上了
16>wlan0: State: GROUP_HANDSHAKE -> COMPLETED 問題解決,可以訪問有密碼的路由了