AP6181 是一款低功耗的 Wifi 模块支持 802.b/g/n 可工作在 AP 模式(master)模式和 STA 模式(client),本文将介绍如何在 linux 下配置这两种模式。

AP 模式

配置 AP 模式需要用到一下软件:

  • hostapd: 使无线网卡切换到 master 模式,模拟 AP(路由器)功能,作为 AP 的认证服务器,负责控制管理 station(带无线网卡的 PC、手机、平板电脑等)的接入和认证。
  • dnsmasq: 是一个轻量级的 DNS 和 DPHCP 服务器,可以为接入到 AP 的 station 分配 IP 地址
  • libnl: 是 netlink socket 相关的 API,提供内核到用户空间 IPC 通讯机制,hostapd 需要使用到 libnl,需要在编译之前编译好 libnl
  • openssl: 实现 SSL 和 TLS 协议,hostapd 需要用到 openssl,需要在编译之前准备好

1. 交叉编译 libmnl

1
2
3
4
5
6
7
8
wget http://www.infradead.org/~tgr/libnl/files/libnl-3.2.24.tar.gz
tar -xzf libnl-3.2.24.tar.gz
cd libnl-3.2.24
./configure --host=arm-linux-gnueabi --prefix=/usr/arm-linux-gnueabi
make
make install
cd include
make install

执行成功之后,交叉编译的 libnl 将安装在 –prefix 制定的目录中

2. 交叉编译 openssl

1
2
3
4
5
6
7
8
wget https://www.openssl.org/source/openssl-1.0.1h.tar.gz
tar -xzf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
./Configure linux-generic32 --prefix=/usr/arm-linux-gnueabi
make
make install

3. 交叉编译 hostapd

  1. 首先到 https://w1.fi/hostapd/ 下载 hostadp 最新源码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
wget https://w1.fi/releases/hostapd-2.8.tar.gz
```

2. 解压源码进入 `hostapd` 目录,复制并修改配置文件

```shell
tar -xzf hostapd-2.2.tar.gz
cd hostapd-2.2/hostapd
cp defconfig .config
vim .config 添加以下内容

CFLAGS += -I/home/amaork/workspace/collect/workspace/hostapd-2.8/libnl-arm/include/libnl3
CFLAGS += -I/home/amaork/workspace/collect/workspace/hostapd-2.8/openssl-arm/include
LIBS += -L/home/amaork/workspace/collect/workspace/hostapd-2.8/libnl-arm/lib
LIBS += -L/home/amaork/workspace/collect/workspace/hostapd-2.8/openssl-arm/lib
LDFLAGS +=-ldl
CC=arm-none-linux-gnueabi-gcc
  1. 编译并安装