hostapd编译安装:
解压源码包:
tar zxvf hostapd-2.0.tar.gz
cd hostapd-2.0/hostapd/
cp defconfig .config
修改配置文件:
vim .config
加一行:
CONFIG_LIBNL32=y
修改Makefile
vim Makefile
将
ifdef
CC=gcc
endif
改成
CC=arm-linux-gcc
make
make DESTDIR=$PWD/tmp install
cd ./tmp/usr/local/bin/
cp * /mnt/rootfs/bin
创建WIFI秘钥配置文件:
vim /etc/hostapd.conf
配置文件内容:
①OPEN方式:
ctrl_interface=/var/run/hostapd
# 将wlan0改为实际网络接口名
interface=wlan0
driver=nl80211
ssid=TestSoftAP
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
②WEP方式:
ctrl_interface=/var/run/hostapd
# 将wlan0改为实际网络接口名
interface=wlan0
driver=nl80211
ssid=TestSoftAP
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=2
ignore_broadcast_ssid=0
wep_key0="yigong13zijie"
wep_default_key=0
③WPA方式:
ctrl_interface=/var/run/hostapd
# 将wlan0改为实际网络接口名
interface=wlan0
driver=nl80211
ssid=TestSoftAP
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
工具使用
hostapd xxx.conf
运行程序,如果需要指定pid文件,可以使用-P /run/hostapd.pid
,后台运行则增加-B
由于我使用的SDIO借口模块不支持AP功能,所以在启动hostapd的时候会出现错误,无法继续试验:
查看wireless.kernel.org证实了我这个猜想:
最简单的直接操作命令:
hostapd -B /etc/hostapd.conf
hostapd -d -B /etc/hostapd.conf 可以查看详细的调试信息
可以通过hostapd_cli进行命令行交互,查看hostapd服务的状态,类似于wpa_cli(两者都在.conf文件中指定了ctrl_interface=/var/run/xxx)
sudo hostapd_cli
set ssid Test
set wpa_passphrase 12345678
disable
enable