Wi-Fi Old/en: различия между версиями
FuzzyBot (обсуждение | вклад) м (FuzzyBot переименовал страницу Wi-Fi/en в Wi-Fi Old/en без оставления перенаправления: Часть переводимой страницы Wi-Fi.) |
(Новая страница: «=== Setting up in hotspot and client mode simultaneously ===») |
||
(не показано 28 промежуточных версий 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 === | ||
Режим одновременной работы модуля Wi-Fi и в режиме точки доступа, и в режиме клиента, называется ''Concurrent Mode'' или ''STA+SoftAP'', и поддерживается не всеми Wi-Fi модулями. Также он работает не на всех версиях Wiren Board. Проверено, что он работает из коробки на Wiren Board с чипом Realtek 8723BU и ядром Linux 4.1.15. Чтобы проверить, выполняются ли эти условия, выполните команды: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
uname -a | uname -a | ||
lsmod | grep 8723bu | lsmod | grep 8723bu | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'' | ''Если условия не выполнены, возможно, на вашем Wiren Board всё равно можно настроить Concurrent Mode. В качестве отправной точки используйте [http://randomstuffidosometimes.blogspot.ru/2016/03/rtl8192cu-and-rtl8188cus-in-station-and.html инструкцию].'' | ||
Если условия выполнены: | |||
# | # Выполните команду | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
iwconfig | iwconfig | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#: | #:В её выводе должны быть показаны два интерфейса Wi-Fi: ''wlan0'' и ''wlan1''. | ||
# | # Настройте по двум предыдущим инструкциям подключение в режиме клиента и подключение в режиме точки доступа, но используйте для них разные интерфейсы. Например, оставьте ''wlan0'' для точки доступа, а клиента сделайте на ''wlan1''. Соответствующая часть файла ''/etc/network/interfaces'' должна выглядеть так: | ||
#: <syntaxhighlight lang="bash"> | #: <syntaxhighlight lang="bash"> | ||
# Wireless interfaces | # Wireless interfaces | ||
auto wlan1 | auto wlan1 | ||
iface wlan1 inet dhcp | iface wlan1 inet dhcp | ||
wpa-ssid {ssid} # | wpa-ssid {ssid} # вместо {ssid} подставьте имя точки доступа | ||
wpa-psk {password} # | wpa-psk {password} # вместо {password} подставьте пароль | ||
auto wlan0 | auto wlan0 | ||
Строка 110: | Строка 108: | ||
=== | === Универcальный файл настроек Wi-Fi === | ||
Ниже дан текст файла, в котором показаны настройки для подключения к сетям с разными параметрами шифрования. Файл позаимствован [https://www.raspberrypi.org/forums/viewtopic.php?t=7592 здесь]. | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#################### | #################### | ||
Строка 164: | Строка 162: | ||
=== | === Автоматическое переподключение при проблемах с соединением === | ||
Способ заимствован здесь: [http://alexba.in/blog/2015/01/14/automatically-reconnecting-wifi-on-a-raspberrypi/] | |||
Допустим, контроллер подключён к роутеру с адресом ''192.168.0.1'' через интерфейс ''wlan1''. Тогда: | |||
# | # Создайте в папке <code>/root</code> скрипт <code>wifi_autoconnect.sh</code> с содержанием: <syntaxhighlight lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
# | # Подставьте имя интерфейса | ||
WLANINTERFACE=wlan1 | WLANINTERFACE=wlan1 | ||
# | # Подставьте адрес роутера или сервера в интернете, доступ к которому будет проверяться | ||
SERVER=192.168.0.1 | SERVER=192.168.0.1 | ||
Строка 188: | Строка 186: | ||
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 на чипсетах разных производителей. Если вы столкнулись с необъяснимыми проблемами при работе, рекомендуем поменять настройки шифрования, ширины канала и т.п. |
Версия 16:55, 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
Режим одновременной работы модуля Wi-Fi и в режиме точки доступа, и в режиме клиента, называется Concurrent Mode или STA+SoftAP, и поддерживается не всеми Wi-Fi модулями. Также он работает не на всех версиях Wiren Board. Проверено, что он работает из коробки на Wiren Board с чипом Realtek 8723BU и ядром Linux 4.1.15. Чтобы проверить, выполняются ли эти условия, выполните команды:
uname -a
lsmod | grep 8723bu
Если условия не выполнены, возможно, на вашем Wiren Board всё равно можно настроить Concurrent Mode. В качестве отправной точки используйте инструкцию.
Если условия выполнены:
- Выполните команду
iwconfig
- В её выводе должны быть показаны два интерфейса Wi-Fi: wlan0 и wlan1.
- Настройте по двум предыдущим инструкциям подключение в режиме клиента и подключение в режиме точки доступа, но используйте для них разные интерфейсы. Например, оставьте wlan0 для точки доступа, а клиента сделайте на wlan1. Соответствующая часть файла /etc/network/interfaces должна выглядеть так:
# Wireless interfaces auto wlan1 iface wlan1 inet dhcp wpa-ssid {ssid} # вместо {ssid} подставьте имя точки доступа wpa-psk {password} # вместо {password} подставьте пароль auto wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0
Универcальный файл настроек Wi-Fi
Ниже дан текст файла, в котором показаны настройки для подключения к сетям с разными параметрами шифрования. Файл позаимствован здесь.
####################
#; 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
Автоматическое переподключение при проблемах с соединением
Способ заимствован здесь: [1]
Допустим, контроллер подключён к роутеру с адресом 192.168.0.1 через интерфейс wlan1. Тогда:
- Создайте в папке
/root
скриптwifi_autoconnect.sh
с содержанием:#!/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 на чипсетах разных производителей. Если вы столкнулись с необъяснимыми проблемами при работе, рекомендуем поменять настройки шифрования, ширины канала и т.п.