参数:

Linux内核版本:linux3.11.10

开发板型号:mini2440,256M

1.编译

1.1查看usb adapter的型号

将usb wifi插到PC的linux下,使用lsusb命令查看其信息。我的是Bus 002 Device 005: ID 0bda:8176 Realtek Semiconductor Corp.

表明是Realtek

1.2修改内核源码配置

make menuconfig

Device Drivers  --->

[*] Network device support  --->

[*]Wireless LAN  ---> 

[M]Realtek rtlwifi family of devices  --->

<M>   Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter

然后编译内核

1.3编译驱动程序

去网站:http://www.realtek.com/downloads/downloadsView.aspx?Langid=3&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192CU

下载驱动,解压,修改Makefile

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_S3C2K4 = y              //修改芯片架构
CONFIG_POWER_SAVING                     =       n     //去掉节能模式

ifeq ($(CONFIG_PLATFORM_ARM_S3C2K4), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-linux-
KVER  := 3.11.10
KSRC := 你的linux源码路径

然后make,编译时报错:error: implicit declaration of function 'create_proc_entry'  ../os_dep/linux/os_intfs.o]错误 1

原因是3.11.10的内核里面的“create_proc_entry“已经过时,尝试修改../os_dep/linux/os_intfs.c文件但未果,在网上搜到一个改好的os_intfs.c文件,替换掉原来的文件编译测试,可以使用

代码网址如下:https://raw.github.com/raspberrypi/linux/rpi-3.10.y/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c

2.使用驱动

2.1优化

编译之后的8192cu.ko文件可能比较大,有大概7M,原因是里面包含了大量的调试信息,所以使用arm-linux-strip -S

8192cu.ko去掉调试信息,之后大小就变为了700多k

2.2下载和使用

使用minicom或是其他方法将该驱动下载到开发板

下载进去后使用insmod就可以加载了,加载成功后,使用命令iwconfig来查看一般名为wlan0


参考网址:http://m.blog.csdn.net/blog/dragon101788/8658374,这篇文章较为详细地介绍了移植的过程,可以作为移植usb wifi 驱动的参考,谢谢作者

Logo

更多推荐