wb_editors
14 355
правок
(Новая страница: «== \Wi-Fi configuration in Linux ==») |
FuzzyBot (обсуждение | вклад) м (FuzzyBot переименовал страницу Wi-Fi/en в Wi-Fi Old/en без оставления перенаправления: Часть переводимой страницы Wi-Fi.) |
||
(не показано 35 промежуточных версий 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'' | ||
== | == Setting up Wi-Fi in Linux == | ||
The setting up 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 up 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. | |||
Configuration process: | |||
# | # Enable access point mode. For this: | ||
#* | #* open file <code>/etc/default/hostapd</code> and uncomment the string(e.g.,remove the # at the beginning of the string)<syntaxhighlight lang="bash">DAEMON_CONF="/etc/hostapd.conf"</syntaxhighlight> | ||
#* | #* edit the <code>/etc/hostapd.conf</code> file like in the example:<syntaxhighlight lang="bash"> | ||
interface=wlan0 | interface=wlan0 | ||
#driver=nl80211 # | #driver=nl80211 # this line should stay commented | ||
ssid=WirenBoard # | ssid=WirenBoard # you can substitute WirenBoard with a different name for the hotspot | ||
channel=1 | channel=1 | ||
wpa=2 | wpa=2 | ||
wpa_passphrase=your_password # | wpa_passphrase=your_password # replace your_password with your own password | ||
wpa_key_mgmt=WPA-PSK | wpa_key_mgmt=WPA-PSK | ||
wpa_pairwise=TKIP CCMP | wpa_pairwise=TKIP CCMP | ||
rsn_pairwise=TKIP CCMP | rsn_pairwise=TKIP CCMP | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # 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"> | ||
iface wlan0 inet static | iface wlan0 inet static | ||
address 192.168.42.1 # | 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 | netmask 255.255.255.0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#* | #* comment out the lines related to the operating in client mode:<syntaxhighlight lang="bash"> | ||
#auto wlan0 | #auto wlan0 | ||
#iface wlan0 inet dhcp | #iface wlan0 inet dhcp | ||
Строка 50: | Строка 50: | ||
# wpa-psk {password} | # wpa-psk {password} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Run the command | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
/etc/init.d/hostapd restart | /etc/init.d/hostapd restart | ||
Строка 56: | Строка 56: | ||
=== | === Setting up in client mode === | ||
# | # Disable hotspot mode. | ||
#: | #: To do this, in the <code>/etc/default/hostapd</code> file, comment out the line (e.g., add the '''#''' sign at the beginning of the line) <syntaxhighlight lang="bash">#DAEMON_CONF="/etc/hostapd.conf"</syntaxhighlight> | ||
# | # Edit <code>/etc/network/interfaces</code>: | ||
#* | #* comment out the lines related to the setting in access point mode: <syntaxhighlight lang="bash"> | ||
#iface wlan0 inet static | #iface wlan0 inet static | ||
# address 192.168.42.1 | # address 192.168.42.1 | ||
# netmask 255.255.255.0 | # netmask 255.255.255.0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#* | #* uncomment and edit the lines (or add them if there were none): <syntaxhighlight lang="bash"> | ||
auto wlan0 | auto wlan0 | ||
iface wlan0 inet dhcp | iface wlan0 inet dhcp | ||
wpa-ssid {ssid} # | wpa-ssid {ssid} # replace {ssid} with the name of the hotspot | ||
wpa-psk {password} # | wpa-psk {password} # replace {password} with your own password | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # To apply the changes, run the following commands | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ifdown wlan0 | ifdown wlan0 | ||
Строка 78: | Строка 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 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: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
uname -a | uname -a | ||
lsmod | grep 8723bu | lsmod | grep 8723bu | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'' | ''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 [http://randomstuffidosometimes.blogspot.ru/2016/03/rtl8192cu-and-rtl8188cus-in-station-and.html 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: | |||
# Run command | |||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
iwconfig | iwconfig | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#: | #: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: | ||
#: <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} # replace {ssid} with the hotspot name | ||
wpa-psk {password} # | wpa-psk {password} # replace {password} with your own password | ||
auto wlan0 | auto wlan0 | ||
Строка 108: | Строка 110: | ||
=== | === 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 [https://www.raspberrypi.org/forums/viewtopic.php?t=7592 from here]. | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#################### | #################### | ||
Строка 162: | Строка 164: | ||
=== | === Automatic reconnection in case of connection problems === | ||
The method is borrowed from here(ru): [http://alexba.in/blog/2015/01/14/automatically-reconnecting-wifi-on-a-raspberrypi/] | |||
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 script <code>wifi_autoconnect.sh</code> as in the example below: <syntaxhighlight lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
# | # Substitute the name of the interface | ||
WLANINTERFACE=wlan1 | WLANINTERFACE=wlan1 | ||
# | # Substitute the address of the router or server on the Internet, access to which will be checked | ||
SERVER=192.168.0.1 | SERVER=192.168.0.1 | ||
Строка 186: | Строка 188: | ||
fi | fi | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Make file executable by running the command <syntaxhighlight lang="bash"> | ||
chmod +x /root/wifi_autoconnect.sh | chmod +x /root/wifi_autoconnect.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Schedule the script to run every minute. For this: | ||
## | ## Install ''cron'': <syntaxhighlight lang="bash"> | ||
apt-get install cron | apt-get install cron | ||
</syntaxhighlight> | </syntaxhighlight> | ||
## | ## In the end of the<code>/etc/crontab</code> file add line<syntaxhighlight lang="bash"> | ||
* * * * * root /root/wifi_autoconnect.sh | * * * * * root /root/wifi_autoconnect.sh | ||
# | # be sure to add an empty line at the end of the file | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Limits == | ||
# Wi-Fi | #Wi-Fi in Wiren Board controllers in hotspot mode is relatively slow. The speed is enough to work with the web interface, but do not use the Wiren Board as a replacement for a standart router. | ||
# | # In very rare cases, the Wi-Fi adapter on the Wiren Board controllers may not be compatible with some other Wi-Fi devices. This is a common problem of Wi-Fi implementations on chipsets from different manufacturers. If you encounter unexplained problems, we recommend to change the encryption settings, channel width, etc. |