Difference between revisions of "Template:Linux-Create-WiFiAP/zh"
From FriendlyELEC WiKi
(updated by API) |
(updated by API) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | === | + | ===设置WiFi热点=== |
− | ==== | + | ====支持的开发板与系统==== |
− | + | 写本指南时,测试过以下开发板及系统,虽然不是完整的列表,但理论上只要无线模块型号相同,本指南应该也适用:<br /> | |
+ | =====RK3399===== | ||
+ | * 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 /> | ||
+ | * FriendlyCore Focal (20.04)<br /> | ||
+ | * FriendlyCore Bionic (18.04)<br /> | ||
+ | * FriendlyCore Xenial (16.04)<br /> | ||
+ | * FriendlyDesktop (18.04)<br /> | ||
+ | ====安装工具==== | ||
+ | 执行以下命令安装必要的软件包:<br /> | ||
<syntaxhighlight lang="bash"> | <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 | |
− | + | ||
− | sudo | + | |
− | sudo | + | |
− | + | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 如果你使用的是精简版的固件(比如FriendlyCore-Lite),还建议安装network-manager,否则需要手动去开启无线接口,因为默认它会处于down状态:<br /> | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | git clone https://github.com/friendlyarm/ | + | sudo apt-get -y install network-manager |
− | + | </syntaxhighlight> | |
− | ./ | + | 安装create_ap工具:<br /> |
− | ./ | + | <syntaxhighlight lang="bash"> |
+ | git clone https://github.com/friendlyarm/create_ap.git | ||
+ | cd create_ap | ||
+ | make install | ||
+ | </syntaxhighlight> | ||
+ | 确否wlan接口处于up状态:<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo ifconfig wlan0 up | ||
+ | </syntaxhighlight> | ||
+ | ====设置WiFi热点==== | ||
+ | Note: 在下面的描述中,无线热点的名称是从 /etc/friendlyelec-release 文件中获取的开发板的型号,12345678是热点的密码,请根据需要进行更改。<br /> | ||
+ | =====桥接模式===== | ||
+ | 连接到此AP的设备,会与eth0处于同一网段 (设备由eth0所连接的路由器分配ip地址,如果路由器开启了dhcp的话): | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /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 | ||
+ | </syntaxhighlight> | ||
+ | =====路由模式===== | ||
+ | 连接到此AP的设备,与eth0处于不同的子网 (设备由开发板端运行的dhcp server分配ip地址): | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /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 | ||
+ | </syntaxhighlight> | ||
+ | =====路由模式 (设备之间隔离)===== | ||
+ | 与路由模式大致相同,但区别是连接到此AP的设备,相互之间无法访问: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /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 | ||
+ | </syntaxhighlight> | ||
+ | <!-- | ||
+ | =====无线桥接:AP模式与STA模式共存 (此功能仅支持无线模式AP6356S)===== | ||
+ | 在此模式下,开发板可以连接到路由器,仍然可以创建热点被其他设备连接。 | ||
+ | 先创建一个虚拟接口 wlan1: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo iw dev wlan0 interface add wlan1 type station | ||
+ | </syntaxhighlight> | ||
+ | 连接到你的无线路由器(STA模式),记得将如下的MyHomeWiFi和12345678改成真实的热点名称与密码: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo nmcli dev wifi connect "MyHomeWiFi" password "12345678" | ||
+ | </syntaxhighlight> | ||
+ | 创建WiFi热点(AP模式): | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /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 | ||
+ | </syntaxhighlight> | ||
+ | --> | ||
+ | ====设置开机自动启用WiFi热点==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | systemctl enable create_ap | ||
+ | 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