嵌入式Linux利用Rtl8192CU无线网卡实现开WIFI的开源软件移植方法

RTL8192CU驱动移植及内核配置:linux

1.驱动到realtek官网下载less

2.下载完解压到内核下的drivers/net/wireless目录,spa

3.在此目录下的Kconfig文件添加以下orm

4.source "drivers/net/wireless/rtl8192cu/Kconfig"dns

5.在此目录下的Makefile文件添加obj-$(CONFIG_RTL8192CU) += rtl8192cu/ssl

6.make menuconfig开发

7.选中进入Networking support    openssl

8.选中进入Wireless   it

9.选中cfg80211 - wireless configuration API   io

10.主菜单中进入Device Drivers

11.选中进入Network device support

12.选中进入Wireless LAN  

13.选中Realtek 8192C USB WiFi 

14.保存配置编译内核

15.make zImage

16.make modules

17.烧写linux启动完成以后,多了一个wlan0设备

 

Libnl-3.2.25移植:

1.下载最新版libnl-3.2.25

2.执行./configure --prefix=/usr/local/arm/libnl-3.2.25 host=arm-linux

3.make

4.suroot身份登陆,make install,将libnl库安装至/usr/local/arm/libnl-3.2.25路径下 

5./usr/local/arm/libnl-3.2.25/lib下全部文件拷贝至开发板的/lib目录下,确保hostapd在开发板上运行,可以正确找到libnl库的位置 

Openssl-1.0.1j移植:

opensslarm下的交叉编译静态连接库

1.下载最新版本openssl-1.0.1j

2../Configure linux-armv4 shared --prefix=/usr/local/openssl-1.0.1j

3.修改Makefile中相关项为arm-linux-系列

4.make

5. suroot身份登陆make install

 

opensslarm下的交叉编译动态连接库

1.下载最新版本openssl-1.0.1j

2../configure linux-armv4 no-asm shared --prefix=/usr/local/openssl-1.0.1j

3.修改Makefile中相关项为arm-linux-系列

4.make

5. suroot身份登陆make install

6./usr/local/arm/libnl-1.0.1j/lib下全部文件拷贝至开发板的/lib目录下,确保hostapd在开发板上运行,可以正确找到库的位置

注意: 

在项目的Makefile文件里头加入openssl的头文件和库文件的声明,此时须要注意引用库的顺序为:-lssl -lcrypto,若是为 -lcrypto -lssl就会编译错误。 

 

Hostapd-2.3移植:

1. 下载最新版本hostapd-2.3

2. 修改配置文件

cp defconfig .config;

gedit .config;

找到这一行:#CONFIG_DRIVER_NL80211=y,去掉注释,注释掉其余的CONFIG_DRIVER;

CONFIG_LIBNL32=y;

CFLAGS += -I/usr/local/arm/libnl-3.2.5/include/libnl3

LIBS += -L/usr/local/arm/libnl-3.2.5/lib/

CONFIG_TLS=openssl

CONFIG_TLSV12=y

CONFIG_IEEE80211N=y

其他默认

 

3. 修改Makefile文件以下

修改相关项为arm-linux-系列

4.hostpadhostapd_cli拷贝开发板/sbin

5.libnlopenssl的动态库拷贝到开发板/lib

6.开发板上执行/sbin/hostapd –v,输出版本信息,表示移植成功

 

Dnsmasq-2.72移植:

1.下载最新版本dnsmasq-2.72

2.修改Makefile CCarm-linux-gcc

3.make

4.dnsmasq拷贝到开发板/sbin