Wi-Fi
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
Setting up Wi-Fi in Linux
The setting up 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 up 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 # Substitute the name of the interface WLANINTERFACE=wlan1 # Substitute the address of the router or server on the Internet, access to which will be checked 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
- Make the file executable by running the command
chmod +x /root/wifi_autoconnect.sh
- Schedule the script to run every minute. For this:
- Install cron:
apt-get install cron
- In the end of the
/etc/crontab
file add line* * * * * root /root/wifi_autoconnect.sh # be sure to add an empty line at the end of the file
- Install cron:
Limits
- Wi-Fi in Wiren Board 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 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 changing the encryption settings, channel width, etc.