一、无线模块:RTL8192cu
二、用到的软件包
1、 libnl-1.1.tar.gz
2、 openssl-0.9.8e.tar.gz
3、 wpa_supplicant_hostapd-0.8_rtw_20120803.zip
三、配置
1、移植libnl
1)解压libnl-1.1.4.tar.gz
2)进入解压后的目录,执行如下的命令
./configureCC=arm-arago-linux-gnueabi-gcc(对应修改交叉编译器) --prefix=安装目录--host=arm
3)make
4)make install
2、移植openssl
1)解压openssl-0.9.8e.tar.gz
2)进入解压后的目录,执行如下的命令
./configno-asm shared --prefix=安装目录
3)修改Makefile文件的CC= arm-arago-linux-gnueabi-gcc(对应修改交叉编译器)
4)make
5)make install
3、移植hostapd
1)解压wpa_supplicant_hostapd-0.8_rtw_20120803.zip
2)进入解压后的目录,在hostapd目录下执行如下的操作
cpdefconfig .config
vi.config
屏蔽掉此宏:#CONFIG_DRIVER_HOSTAP=y
手动添加宏CONFIG_DRIVER_RTW=y
注意:CONFIG_DRIVER_RTW这个宏要手动添加,源文件中没有,RTL8192cu无线模块使用的驱动不能用NL80211,否则编译完成后在运行hostapd的时候会提示如下的错误:
Could not open file /sys/class/net/wlan0/phy80211/name: Nosuch file or directory
nl80211driver initialization failed.
在.config文件的末尾添加编译hostapd用到的libnl和openssl链接库
CC=arm-arago-linux-gnueabi-gcc(对应修改交叉编译器)
CFLAGS+= -I/(编译libnl的安装目录)/include
LIBS += -L/(编译libnl的安装目录)/lib
CFLAGS += -I/(编译openssl的安装目录)/include
LIBS += -L/(编译openssl的安装目录)/lib
3)make
编译完成后会在hostapd目录下生成hostapd和hostapd_cli,将hostapd和配置文件拷贝到开发板即可运行。
注意:在运行hostapd的时候,hostapd.conf文件中driver要配置成driver=rtl871xdrv