Wi-Fi Old/en: различия между версиями
FuzzyBot (обсуждение | вклад) м (FuzzyBot переименовал страницу Wi-Fi/en в Wi-Fi Old/en без оставления перенаправления: Часть переводимой страницы Wi-Fi.) |
(Новая страница: «For example, the controller is connected to a router with the ''192.168.0.1'' address via the ''wlan1'' interface. Then: # in <code>/root</code> folder create scr…») |
||
(не показано 20 промежуточных версий 2 участников) | |||
Строка 3: | Строка 3: | ||
* hotspot mode (enabled by default); | * hotspot mode (enabled by default); | ||
* client mode; | * client mode; | ||
* simultaneous operation in both modes (only in some versions of the controller; see below for details). | * simultaneous operation in both modes(only in some versions of the controller; see below for details). | ||
Строка 9: | Строка 9: | ||
# [[File:connectors-sma-rpsma.jpg|thumb|right|300 px|Wi-Fi (RP-SMA) and GSM (SMA) terminals comparasion]] Connect antenna to the Wi-Fi connector. | # [[File:connectors-sma-rpsma.jpg|thumb|right|300 px|Wi-Fi (RP-SMA) and GSM (SMA) terminals comparasion]] Connect antenna to the Wi-Fi connector. | ||
#: The Wiren Board Wi-Fi is available at a distance of no more than one meter without the antenna.To get a standart Wi-Fi radius of operation, you need to connect antenna to the appropriate connector of the controller. If the controller is in the closet (especially in a metal one) or a separate room, it is better to use a remote antenna. | #: The Wiren Board Wi-Fi is available at a distance of no more than one meter without the antenna.To get a standart Wi-Fi radius of operation, you need to connect antenna to the appropriate connector of the controller. If the controller is in the closet(especially in a metal one) or a separate room, it is better to use a remote antenna. | ||
#: The antenna has standart Wi-Fi connector: RP-SMA (differs from SMA-connector for GSM antennas)[https://en.wikipedia.org/wiki/SMA_connector#Reverse_polarity_SMA RP-SMA] | #: The antenna has standart Wi-Fi connector: RP-SMA (differs from SMA-connector for GSM antennas)[https://en.wikipedia.org/wiki/SMA_connector#Reverse_polarity_SMA RP-SMA] | ||
# Wiren Board controller's WI-Fi works in hotspot mode by default: | # Wiren Board controller's WI-Fi works in hotspot mode by default: | ||
Строка 16: | Строка 16: | ||
#* adress of the controller in the created network: ''192.168.42.1'' | #* adress of the controller in the created network: ''192.168.42.1'' | ||
== | == \Wi-Fi configuration in Linux == | ||
The | The configuration is usually proceed in a standart way for Linux Debian: via file <code>/etc/network/interfaces</code>. The following are brief instructions for common tasks on Linux Debian, there is a detailed documentation on the Linux site. [https://wiki.debian.org/ru/NetworkConfiguration detailed documentation]. | ||
=== Setting | === Setting in a hotspot mode === | ||
Access point mode is enabled by default. Operation in the access point mode is provided by the '''[https://wireless.wiki.kernel.org/en/users/documentation/hostapd hostapd]''' daemon. | Access point mode is enabled by default. Operation in the access point mode is provided by the '''[https://wireless.wiki.kernel.org/en/users/documentation/hostapd hostapd]''' daemon. | ||
Строка 38: | Строка 38: | ||
rsn_pairwise=TKIP CCMP | rsn_pairwise=TKIP CCMP | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# Edit <code>/etc/network/interfaces</code>: | # Edit<code>/etc/network/interfaces</code>: | ||
#* uncomment and edit the lines(or add them, if there were none) related to the hotspot settings: <syntaxhighlight lang="bash"> | #* uncomment and edit the lines(or add them, if there were none) related to the hotspot settings: <syntaxhighlight lang="bash"> | ||
iface wlan0 inet static | iface wlan0 inet static | ||
Строка 50: | Строка 50: | ||
# wpa-psk {password} | # wpa-psk {password} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Execute the command | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
/etc/init.d/hostapd restart | /etc/init.d/hostapd restart | ||
Строка 56: | Строка 56: | ||
=== | === Setup in client mode === | ||
# Disable hotspot mode. | # Disable hotspot mode. | ||
#: To do this, in the <code>/etc/default/hostapd</code> file, comment out the line ( | #: To do this, in the <code>/etc/default/hostapd</code> file, comment out the line (that is, add the '''#''' sign to the beginning of the line) <syntaxhighlight lang="bash">#DAEMON_CONF="/etc/hostapd.conf"</syntaxhighlight> | ||
# Edit <code>/etc/network/interfaces</code>: | # Edit <code>/etc/network/interfaces</code>: | ||
#* comment out the lines related to the setting in access point mode: <syntaxhighlight lang="bash"> | #* comment out the lines related to the setting in access point mode: <syntaxhighlight lang="bash"> | ||
Строка 80: | Строка 80: | ||
=== Setting up in hotspot and client mode simultaneously === | === Setting up in hotspot and client mode simultaneously === | ||
The mode of simultaneous operation of the Wi-Fi module in both the hotspot mode and the client mode is called ''Concurrent Mode'' or ''STA+SoftAP'', and is not supported by all Wi-Fi modules. It also does not work on all versions of the Wiren Board controllers. We've found out that it works out of the box on Wiren Board controllers with Realtek 8723BU chip and Linux kernel 4.1.15. To check that, run the following commands: | The mode of simultaneous operation of the Wi-Fi module in both the hotspot mode and the client mode is called ''Concurrent Mode'' or ''STA+SoftAP'',and is not supported by all Wi-Fi modules. It also does not work on all versions of the Wiren Board controllers. We've found out that it works out of the box on Wiren Board controllers with Realtek 8723BU chip and Linux kernel 4.1.15. To check that, run the following commands: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
uname -a | uname -a | ||
Строка 90: | Строка 90: | ||
If conditions are met: | If conditions are met: | ||
# | # Execute the command | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
iwconfig | iwconfig | ||
Строка 172: | Строка 172: | ||
#!/bin/bash | #!/bin/bash | ||
# | # Подставьте имя интерфейса | ||
WLANINTERFACE=wlan1 | WLANINTERFACE=wlan1 | ||
# | # Подставьте адрес роутера или сервера в интернете, доступ к которому будет проверяться | ||
SERVER=192.168.0.1 | SERVER=192.168.0.1 | ||
Строка 188: | Строка 188: | ||
fi | fi | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Сделайте файл исполняемым, выполнив команду <syntaxhighlight lang="bash"> | ||
chmod +x /root/wifi_autoconnect.sh | chmod +x /root/wifi_autoconnect.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Запланируйте выполнение скрипта каждую минуту. Для этого: | ||
## | ## Установите ''cron'': <syntaxhighlight lang="bash"> | ||
apt-get install cron | apt-get install cron | ||
</syntaxhighlight> | </syntaxhighlight> | ||
## | ## Добавьте в конец файла <code>/etc/crontab</code> строку<syntaxhighlight lang="bash"> | ||
* * * * * root /root/wifi_autoconnect.sh | * * * * * root /root/wifi_autoconnect.sh | ||
# | # обязательно добавьте пустую строку в конец файла | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Ограничения == | ||
#Wi-Fi | # Wi-Fi в Wiren Board в режиме точки доступа работает относительно медленно. Скорости вполне хватит для работы с веб-интерфейсом, но не стоит использовать Wiren Board в качестве замены роутера. | ||
# | # В очень редких случаях возможна несовместимость адаптера Wi-Fi в Wiren Board с некоторыми другими устройствами Wi-Fi. Это общая проблема реализаций Wi-Fi на чипсетах разных производителей. Если вы столкнулись с необъяснимыми проблемами при работе, рекомендуем поменять настройки шифрования, ширины канала и т.п. |
Версия 17:28, 23 апреля 2019
The Wi-Fi function in the Wiren Board controller can be configured to operate in one of two or three modes:
- hotspot mode (enabled by default);
- client mode;
- simultaneous operation in both modes(only in some versions of the controller; see below for details).
First Wi-Fi connection
- Connect antenna to the Wi-Fi connector.
- The Wiren Board Wi-Fi is available at a distance of no more than one meter without the antenna.To get a standart Wi-Fi radius of operation, you need to connect antenna to the appropriate connector of the controller. If the controller is in the closet(especially in a metal one) or a separate room, it is better to use a remote antenna.
- The antenna has standart Wi-Fi connector: RP-SMA (differs from SMA-connector for GSM antennas)RP-SMA
- Wiren Board controller's WI-Fi works in hotspot mode by default:
- hotspot name: WirenBoard...
- password: none
- adress of the controller in the created network: 192.168.42.1
\Wi-Fi configuration in Linux
The configuration is usually proceed in a standart way for Linux Debian: via file /etc/network/interfaces
. The following are brief instructions for common tasks on Linux Debian, there is a detailed documentation on the Linux site. detailed documentation.
Setting in a hotspot mode
Access point mode is enabled by default. Operation in the access point mode is provided by the hostapd daemon.
Configuration process:
- Enable access point mode. For this:
- open file
/etc/default/hostapd
and uncomment the string(e.g.,remove the # at the beginning of the string)DAEMON_CONF="/etc/hostapd.conf"
- edit the
/etc/hostapd.conf
file like in the example:interface=wlan0 #driver=nl80211 # this line should stay commented ssid=WirenBoard # you can substitute WirenBoard with a different name for the hotspot channel=1 wpa=2 wpa_passphrase=your_password # replace your_password with your own password wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP rsn_pairwise=TKIP CCMP
- open file
- Edit
/etc/network/interfaces
:- uncomment and edit the lines(or add them, if there were none) related to the hotspot settings:
iface wlan0 inet static address 192.168.42.1 # here 192.168.42.1 - is the address where the Wiren Board controller will be located in the new network; you can specify a different address netmask 255.255.255.0
- comment out the lines related to the operating in client mode:
#auto wlan0 #iface wlan0 inet dhcp # wpa-ssid {ssid} # wpa-psk {password}
- uncomment and edit the lines(or add them, if there were none) related to the hotspot settings:
- Execute the command
/etc/init.d/hostapd restart
Setup in client mode
- Disable hotspot mode.
- To do this, in the
/etc/default/hostapd
file, comment out the line (that is, add the # sign to the beginning of the line)#DAEMON_CONF="/etc/hostapd.conf"
- To do this, in the
- Edit
/etc/network/interfaces
:- comment out the lines related to the setting in access point mode:
#iface wlan0 inet static # address 192.168.42.1 # netmask 255.255.255.0
- uncomment and edit the lines (or add them if there were none):
auto wlan0 iface wlan0 inet dhcp wpa-ssid {ssid} # replace {ssid} with the name of the hotspot wpa-psk {password} # replace {password} with your own password
- comment out the lines related to the setting in access point mode:
- To apply the changes, run the following commands
ifdown wlan0
ifup wlan0
Setting up in hotspot and client mode simultaneously
The mode of simultaneous operation of the Wi-Fi module in both the hotspot mode and the client mode is called Concurrent Mode or STA+SoftAP,and is not supported by all Wi-Fi modules. It also does not work on all versions of the Wiren Board controllers. We've found out that it works out of the box on Wiren Board controllers with Realtek 8723BU chip and Linux kernel 4.1.15. To check that, run the following commands:
uname -a
lsmod | grep 8723bu
If the conditions are not met, you may still be able to configure Concurrent Mode on your Wiren Board. As a starting point, use the instructions(rus only).
The mode of simultaneous operation of the Wi-Fi module in both the hotspot mode and the client mode is called Concurrent Mode or STA+SoftAP, and is not supported by all Wi-Fi modules. It also does not work on all versions of the Wiren Board. We have found out that it works out of the box on Wiren Board with Realtek 8723BU chip and Linux kernel 4.1.15. To check that, run the following commands:
If conditions are met:
- Execute the command
iwconfig
- Its output should show two Wi-Fi interfaces: wlan0 и wlan1.
- Use the previous two instructions to configure the client mode and the hotspot mode connection, but use different interfaces. For example, leave wlan0 for the hotspot and make the client on wlan1. The corresponding part of /etc/network/interfaces should look like this:
# Wireless interfaces auto wlan1 iface wlan1 inet dhcp wpa-ssid {ssid} # replace {ssid} with the hotspot name wpa-psk {password} # replace {password} with your own password auto wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0
Universal Wi-Fi settings file
Below is the text of the file, which shows the settings for connecting to networks with different encryption settings. The file is borrowed from here.
####################
#; start of wireless bits
#; this command stays for all configs
auto wlan0
###################
#; comments indicated by #;
#; commands indicated by #
#; remove the # to enable the command
####################
#; if using static IP then....#
#iface wlan0 inet static
# address UR_IP
#gateway UR_ROUTER_IP
#netmask 255.255.255.0
##################
#; otherwise use dhcp #
#iface wlan0 inet dhcp
###################
#; OPEN wireless config #
#wireless-essid UR_ESSID
#wireless-mode managed
###################
#; WEP wireless config #
#wireless-essid UR_ESSID
#wireless-key UR_KEY
#; end of WEP config
########################
#; WPA and WPA2 wireless config #
#; all command config lines above HERE to be #'ed except the entry auto wlan0
########################
wpa-driver wext
wpa-ssid UR_ESSID
#; wpa-ap-scan is 1 for visible and 2 for hidden hubs
wpa-ap-scan 1
#; wpa-proto is WPA for WPA1 (aka WPA) or RSN for WPA2
wpa-proto WPA
#; wpa-pairwise and wpa-group is TKIP for WPA1 or CCMP for WPA2
wpa-pairwise TKIP
wpa-group TKIP
wpa-key-mgmt WPA-PSK
#; use "wpa_passphrase UR_ESSID UR_KEY" to generate UR_HEX_KEY
#; enter the result below
wpa-psk UR_HEX_KEY
##########################
# end of wireless bits
Automatic reconnection in case of connection problems
The method is borrowed from here(ru): [1]
For example, the controller is connected to a router with the 192.168.0.1 address via the wlan1 interface. Then:
- in
/root
folder create scriptwifi_autoconnect.sh
as in the example below:#!/bin/bash # Подставьте имя интерфейса WLANINTERFACE=wlan1 # Подставьте адрес роутера или сервера в интернете, доступ к которому будет проверяться SERVER=192.168.0.1 # Only send two pings, sending output to /dev/null ping -I ${WLANINTERFACE} -c2 ${SERVER} > /dev/null # If the return code from ping ($?) is not 0 (meaning there was an error) if [ $? != 0 ] then # Restart the wireless interface ifdown --force ${WLANINTERFACE} ifup ${WLANINTERFACE} fi
- Сделайте файл исполняемым, выполнив команду
chmod +x /root/wifi_autoconnect.sh
- Запланируйте выполнение скрипта каждую минуту. Для этого:
- Установите cron:
apt-get install cron
- Добавьте в конец файла
/etc/crontab
строку* * * * * root /root/wifi_autoconnect.sh # обязательно добавьте пустую строку в конец файла
- Установите cron:
Ограничения
- Wi-Fi в Wiren Board в режиме точки доступа работает относительно медленно. Скорости вполне хватит для работы с веб-интерфейсом, но не стоит использовать Wiren Board в качестве замены роутера.
- В очень редких случаях возможна несовместимость адаптера Wi-Fi в Wiren Board с некоторыми другими устройствами Wi-Fi. Это общая проблема реализаций Wi-Fi на чипсетах разных производителей. Если вы столкнулись с необъяснимыми проблемами при работе, рекомендуем поменять настройки шифрования, ширины канала и т.п.