Difference between revisions of "Template:Linux-Create-WiFiAP/zh"
From FriendlyELEC WiKi
(updated by API) |
(updated by API) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
===设置WiFi热点=== | ===设置WiFi热点=== | ||
====支持的开发板与系统==== | ====支持的开发板与系统==== | ||
− | + | 写本指南时,测试过以下开发板及系统,虽然不是完整的列表,但理论上只要无线模块型号相同,本指南应该也适用:<br /> | |
− | NanoPi M4<br /> | + | =====RK3399===== |
− | NanoPC T4<br /> | + | * NanoPi M4 (无线模块:AP6356S)<br /> |
+ | * NanoPi M4B (无线模块:AP6256)<br /> | ||
+ | * NanoPC T4 (无线模块:AP6356S)<br /> | ||
+ | =====S5P4418/S5P6818===== | ||
+ | * NanoPC T3 (无线模块:AP6212)<br /> | ||
+ | * NanoPC T2 (无线模块:AP6212)<br /> | ||
+ | =====全志H3/H5===== | ||
+ | * NanoPi-M1-Plus (无线模块:AP6212)<br /> | ||
+ | =====操作系统===== | ||
支持以下Linux系统:<br /> | 支持以下Linux系统:<br /> | ||
− | FriendlyCore<br /> | + | * FriendlyCore Focal (20.04)<br /> |
− | FriendlyDesktop<br /> | + | * FriendlyCore Bionic (18.04)<br /> |
+ | * FriendlyCore Xenial (16.04)<br /> | ||
+ | * FriendlyDesktop (18.04)<br /> | ||
====安装工具==== | ====安装工具==== | ||
− | + | 执行以下命令安装必要的软件包:<br /> | |
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo apt-get update | ||
+ | sudo apt-get install -y git bash util-linux procps hostapd iproute2 iw wireless-tools haveged dnsmasq iptables | ||
+ | </syntaxhighlight> | ||
+ | 如果你使用的是精简版的固件(比如FriendlyCore-Lite),还建议安装network-manager,否则需要手动去开启无线接口,因为默认它会处于down状态:<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo apt-get -y install network-manager | ||
+ | </syntaxhighlight> | ||
+ | 安装create_ap工具:<br /> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git clone https://github.com/friendlyarm/create_ap.git | git clone https://github.com/friendlyarm/create_ap.git | ||
cd create_ap | cd create_ap | ||
make install | make install | ||
+ | </syntaxhighlight> | ||
+ | 确否wlan接口处于up状态:<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo ifconfig wlan0 up | ||
</syntaxhighlight> | </syntaxhighlight> | ||
====设置WiFi热点==== | ====设置WiFi热点==== | ||
+ | Note: 在下面的描述中,无线热点的名称是从 /etc/friendlyelec-release 文件中获取的开发板的型号,12345678是热点的密码,请根据需要进行更改。<br /> | ||
=====桥接模式===== | =====桥接模式===== | ||
连接到此AP的设备,会与eth0处于同一网段 (设备由eth0所连接的路由器分配ip地址,如果路由器开启了dhcp的话): | 连接到此AP的设备,会与eth0处于同一网段 (设备由eth0所连接的路由器分配ip地址,如果路由器开启了dhcp的话): | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" --driver nl80211 -w 2 -m bridge wlan0 eth0 | + | . /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 | sudo create_ap --config /etc/create_ap.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ===== | + | =====路由模式===== |
连接到此AP的设备,与eth0处于不同的子网 (设备由开发板端运行的dhcp server分配ip地址): | 连接到此AP的设备,与eth0处于不同的子网 (设备由开发板端运行的dhcp server分配ip地址): | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" --driver nl80211 -w 2 wlan0 eth0 | + | . /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 | sudo create_ap --config /etc/create_ap.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ===== | + | =====路由模式 (设备之间隔离)===== |
− | + | 与路由模式大致相同,但区别是连接到此AP的设备,相互之间无法访问: | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" --driver nl80211 -w 2 --isolate-clients wlan0 eth0 | + | . /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 | sudo create_ap --config /etc/create_ap.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ===== | + | <!-- |
+ | =====无线桥接:AP模式与STA模式共存 (此功能仅支持无线模式AP6356S)===== | ||
在此模式下,开发板可以连接到路由器,仍然可以创建热点被其他设备连接。 | 在此模式下,开发板可以连接到路由器,仍然可以创建热点被其他设备连接。 | ||
先创建一个虚拟接口 wlan1: | 先创建一个虚拟接口 wlan1: | ||
Line 39: | Line 73: | ||
sudo iw dev wlan0 interface add wlan1 type station | sudo iw dev wlan0 interface add wlan1 type station | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 连接到你的无线路由器(STA模式),记得将如下的MyHomeWiFi和12345678改成真实的热点名称与密码: | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo nmcli dev wifi connect "MyHomeWiFi" password "12345678" | sudo nmcli dev wifi connect "MyHomeWiFi" password "12345678" | ||
Line 45: | Line 79: | ||
创建WiFi热点(AP模式): | 创建WiFi热点(AP模式): | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" --driver nl80211 -w 2 wlan0 | + | . /etc/friendlyelec-release |
+ | sudo create_ap --country CN --ieee80211n --ht_capab "[DSSS_CK-40][HT20+]" \ | ||
+ | --driver nl80211 -w 2 wlan1 wlan0 ${BOARD_NAME} 12345678 --no-virt --no-haveged \ | ||
+ | --mkconfig /etc/create_ap.conf | ||
sudo create_ap --config /etc/create_ap.conf | sudo create_ap --config /etc/create_ap.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ==== | + | --> |
+ | ====设置开机自动启用WiFi热点==== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
systemctl enable create_ap | systemctl enable create_ap | ||
sudo reboot | sudo reboot | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 08:18, 3 September 2021
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 -y git bash util-linux procps hostapd iproute2 iw wireless-tools haveged dnsmasq iptables
如果你使用的是精简版的固件(比如FriendlyCore-Lite),还建议安装network-manager,否则需要手动去开启无线接口,因为默认它会处于down状态:
sudo apt-get -y install network-manager
安装create_ap工具:
git clone https://github.com/friendlyarm/create_ap.git cd create_ap make install
确否wlan接口处于up状态:
sudo ifconfig 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.4 设置开机自动启用WiFi热点
systemctl enable create_ap sudo reboot