Difference between revisions of "Template:Linux-Create-WiFiAP/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
 
(updated by API)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
===Docker的安装与使用===
+
===设置WiFi热点===
====安装Docker====
+
====支持的开发板与系统====
使用以下命令安装:<br />
+
写本指南时,测试过以下开发板及系统,虽然不是完整的列表,但理论上只要无线模块型号相同,本指南应该也适用:<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">
wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/containerd.io_1.2.4-1_arm64.deb
+
sudo apt-get update
wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/docker-ce-cli_18.09.3~3-0~ubuntu-bionic_arm64.deb
+
sudo apt-get install -y git bash util-linux procps hostapd iproute2 iw wireless-tools haveged dnsmasq iptables
wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/docker-ce_18.09.3~3-0~ubuntu-bionic_arm64.deb
+
sudo dpkg -i containerd.io_1.2.4-1_arm64.deb
+
sudo dpkg -i docker-ce-cli_18.09.3~3-0~ubuntu-bionic_arm64.deb
+
sudo dpkg -i docker-ce_18.09.3~3-0~ubuntu-bionic_arm64.deb
+
 
</syntaxhighlight>
 
</syntaxhighlight>
====验证Docker的安装====
+
如果你使用的是精简版的固件(比如FriendlyCore-Lite),还建议安装network-manager,否则需要手动去开启无线接口,因为默认它会处于down状态:<br />
用Docker创建并运行一个debian镜像:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
git clone https://github.com/friendlyarm/debian-jessie-arm-docker
+
sudo apt-get -y install network-manager
cd debian-jessie-arm-docker
+
</syntaxhighlight>
./rebuild-image.sh
+
安装create_ap工具:<br />
./run.sh
+
<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

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