使用WIFI网卡的AP功能

一、下载源码

下载hostpad源码:https://w1.fi/releases/hostapd-2.9.tar.gz

二、编译、安装

hostpad的交叉编译依赖libnl、openssl库,交叉编译libnl、openssl库的步骤见:

交叉编译libnl

交叉编译openssl

tar -xvf hostapd-2.9.tar.gz 
cd hostapd-2.9/
cd hostapd/
cp defconfig .config
export PKG_CONFIG_PATH=/root/wifi/libnl-3.2.23/build/lib/pkgconfig/:PKG_CONFIG_PATH
vim .config

添加如下几行:

CFLAGS += -I/root/wifi/openssl-OpenSSL_1_1_1b/build/include
CFLAGS += -I/root/wifi/libnl-3.2.23/build/include
LIBS += -L/root/wifi/openssl-OpenSSL_1_1_1b/build/lib
LIBS += -L/root/wifi/libnl-3.2.23/build/lib

编译:

make CC=arm-linux-gcc

在当前目录下会生成hostapd、hostapd_cli,把生成的hostapd 、hostapd_cli复制到开发板文件系统的/usr/bin目录下。

三、使用

hostapd的配置文件: WPA/WPA2

ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=S3C2440
channel=1

# 认证/加密方式
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=baiwenwang
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

把配置文件存为/etc/myhostapd.conf
启动 hostapd:

 hostapd -B /etc/myhostapd.conf

启动 dhcpd

修改配置文件/etc/dhcpd.conf,添加:

subnet 192.168.3.0 netmask 255.255.255.0 {                       
  range 192.168.3.10 192.168.3.100;     #hotspot连接的设备网段设为192.168.3.X,IP地址分配从10-100                         
  option domain-name-servers 192.168.0.1,8.8.8.8,8.8.4.4;  #192.168.0.1是路由器的WAN口网关,可以不用加上                      
  option routers 192.168.3.1;   #需要给wlan0分配的静态IP地址                                    
}    

创建空文件/var/db/dhcpd.leases:

> /var/db/dhcpd.leases

给wlan0分配一个静态IP地址:

ifconfig wlan0 192.168.3.1

启动dhcpd:

dhcpd -cf /etc/dhcpd.conf wlan0

四、测试

用手机连接上SSID为S3C2440的这个热点,查看手机热点分配到的IP地址,我这里是192.168.3.10(这个IP地址是开发板上的dhcpd自动分配的)。

用开发板ping手机拿到的IP地址:

 

posted @ 2020-05-17 22:45  闹闹爸爸  阅读(744)  评论(0编辑  收藏  举报