本人因為實驗的需要,需要在嵌入式linux環境下添加wifi功能,通過在網上調研,選擇基於rtl8188cu控制芯片的水星NW150UM無線USB網卡,現簡單記錄下配置過程。
1.下載最新的rtl8188cu的linux驅動:
下載頁面 : ftp://WebUser:[email protected]/cn/wlan/RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
2.解壓縮下載的文件,把驅動文件rtl8192_8188CU_linux_xxx.tar.gz(xxx是版本號)添加到要編譯的內核樹裡面去
(1)假定你的內核位置為/root/linux-kernel,解壓縮驅動文件,並且把解壓縮後的驅動文件夾名改為rtl8192cu。
(2)把改好名字的驅動文件夾rtl8192cu復制到/root/linux-kernel/drivers/net/wireless/下。
(3)修改/root/linux-kernel/drivers/net/wireless/下的Makefile和Kconfig文件,在Makefile添加obj -$(CONFIG_RTL8192CU) += rtl8192cu/,在Kconfig下添加 source "drivers/net/wireless/rtl8192cu/Kconfig"。
(4)make menuconfig 配置內核,在Device Drivers/Network device support/Wireless LAN下選中8192cu,編譯內核。
(5)如果遇見error: 'struct net_device' has no member named 'wireless_handlers'錯誤時,請看這一步的操作。
查閱資料後發現是內核在編譯的時候CONFIG_WIRELESS_EXT這個選項沒有選擇,選擇該選項後重新編譯內核鏡像或者模塊即可修正該錯誤。
3.在命令行下配置無線網卡:
(1)iwconfig 查看當前的無線網卡設備,假設你的無線網卡設備為wlan1
(2)設置無線網卡的AP信息
添加AP賬號名,AP登陸密碼 iwconfig essid "AP-Name" key 1234-5678-90ab(密碼每四個一組,中間用破折號隔開)
(3)啟動無線網卡
ifconfig wlan1 up
(4)設置無線網卡的IP地址
如果你的無線網卡的IP地址是靜態設置的 ifconfig wlan1 192.168.1.2 netmask 255.255.255.0
如果你的無線網卡的IP地址是動態獲取的 dhclient wlan1 或者 dhcpcd wlan1 動態獲取無線網卡的IP