Template:Linux-Create-WiFiAP/zh
From FriendlyELEC WiKi
Contents
1 设置WiFi热点
1.1 支持的开发板与系统
写本指南时,测试过以下开发板及系统,虽然不是完整的列表,但理论上只要无线模块型号相同,本指南应该也适用:
1.1.1 RK3399
- NanoPi M4 (无线模块:AP6356S)
- NanoPi M4B (无线模块:AP6256)
- NanoPC T4 (无线模块:AP6356S)
1.1.2 S5P4418/S5P6818
- NanoPC T3 (无线模块:AP6212)
- NanoPC T2 (无线模块:AP6212)
1.1.3 全志H3/H5
- NanoPi-M1-Plus (无线模块:AP6212)
1.1.4 操作系统
支持以下Linux系统:
- FriendlyCore Focal (20.04)
- FriendlyCore Bionic (18.04)
- FriendlyCore Xenial (16.04)
- FriendlyDesktop (18.04)
1.2 安装工具
执行以下命令安装必要的软件包:
sudo apt-get update sudo apt-get install hostapd git
如果你使用的是精简版的固件(比如FriendlyCore-Lite),还建议安装network-manager,否则需要手动去开启无线接口,因为默认它会处于down状态:
sudo apt-get install network-manager
安装create_ap工具:
git clone https://github.com/friendlyarm/create_ap.git cd create_ap make install
确否wlan接口处于up状态:
iwconfig wlan0 up
1.3 设置WiFi热点
Note: 在下面的描述中,无线热点的名称是从 /etc/friendlyelec-release 文件中获取的开发板的型号,12345678是热点的密码,请根据需要进行更改。
1.3.1 桥接模式
连接到此AP的设备,会与eth0处于同一网段 (设备由eth0所连接的路由器分配ip地址,如果路由器开启了dhcp的话):
. /etc/friendlyelec-release sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" \ --driver nl80211 -w 2 -m bridge wlan0 eth0 ${BOARD_NAME} 12345678 --no-virt \ --no-haveged --mkconfig /etc/create_ap.conf sudo create_ap --config /etc/create_ap.conf
1.3.2 路由模式
连接到此AP的设备,与eth0处于不同的子网 (设备由开发板端运行的dhcp server分配ip地址):
. /etc/friendlyelec-release sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" \ --driver nl80211 -w 2 wlan0 eth0 ${BOARD_NAME} 12345678 --no-virt --no-haveged \ --mkconfig /etc/create_ap.conf sudo create_ap --config /etc/create_ap.conf
1.3.3 路由模式 (设备之间隔离)
与路由模式大致相同,但区别是连接到此AP的设备,相互之间无法访问:
. /etc/friendlyelec-release sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" \ --driver nl80211 -w 2 --isolate-clients wlan0 eth0 ${BOARD_NAME} 12345678 \ --no-virt --no-haveged --mkconfig /etc/create_ap.conf sudo create_ap --config /etc/create_ap.conf
1.3.4 无线桥接:AP模式与STA模式共存 (此功能仅支持无线模式AP6356S)
在此模式下,开发板可以连接到路由器,仍然可以创建热点被其他设备连接。 先创建一个虚拟接口 wlan1:
sudo iw dev wlan0 interface add wlan1 type station
连接到无线路由(STA模式):
sudo nmcli dev wifi connect "MyHomeWiFi" password "12345678"
创建WiFi热点(AP模式):
. /etc/friendlyelec-release sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" \ --driver nl80211 -w 2 wlan0 wlan0 ${BOARD_NAME} 12345678 --no-haveged \ --mkconfig /etc/create_ap.conf sudo create_ap --config /etc/create_ap.conf
1.4 设置开机自动启用WiFi热点
systemctl enable create_ap sudo reboot