本人因为实验的需要,需要在嵌入式linux环境下添加wifi功能,通过在网上调研,选择基于rtl8188cu控制芯片的水星NW150UM无线USB网卡,现简单记录下配置过程。
1.下载最新的rtl8188cu的linux驱动:
下载页面 : ftp://WebUser:AxPL9s3k@58.211.24.153/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