WiFi je řešena čipem RTL8192CU standardu IEEE 802.11bg a podporuje také standart 802.11n, tedy přenos rychlostí až 300Mbps. WiFi je připojena pomocí USB sběrnice, proto také má model R1 o jedno USB rozhraní méně než Banana Pi M1. V systému se hlásí takto:
Bus 003 Device 002: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
Pro připojení antény jsou na desce počítače dva konektory, které jsou stejné jako například o notebooků. Jedná se o konektory označované jako UFL nebo IPX. Po dokoupení vhodného pigtailu je možno připojit libovolnou vhodnou anténu.
Mód client
Po instalaci systému Bananian Linux WiFi funguje v módu client. Konfigurace se provádí opět v souboru /etc/network/interfaces
. Přidáním následujících řádků nastavíte WiFi rozhraní s šifrováním WPA a dynamickou konfigurací síťového rozhraní:
allow-hotplug wlan0 iface wlan0 inet dhcp wireless-mode managed wpa-ssid ssidname wpa-psk key
Použít lze samozřejmě i wpasupplicant
. Podrobný popis možností nastavení WiFi rozhraní je v dokumentaci Debianu.
Mód Access Point
Každé zařízení v módu klient se musí připojovat k nějakému centrálnímu prvku nazývanému Access point (AP). Proto je potřeba aspoň jedno zařízení s touto funkcí. A právě tuto funkci asi každý bude vyžadovat u centrálního síťového prvku jakým může být počítač Banana Pi R1.
Pro zprovoznění WiFi v módu AP bude potřeba kompilovat. Postup je velmi podobný, v případě stejného WiFi čipu úplně stejný, jako při zprovozňování WiFi AP na Raspberry Pi.
K WiFi čipu RTL8192CU existují dva moduly (ovladače) rtl8192cu a 8192cu. Příkazem lsmod|grep 8192
lze zjistit, který modul systém používá. Bananian Linux používá modul 8192cu.
Funkci WiFi v módu Access point zajistí program hostapd. Program lze sice doinstalovat příkazem apt-get install hostapd
, ale pro tento WiFi čip je verze v repositářích příliš stará.
Modul pro WiFi není třeba kompilovat, ten co je systému, je použitelný. Stačí zkompilovat program hostapd.
Pro kompilaci je potřeba doinstalovat několik balíčků příkazem:
apt-get install gcc make libstdc++6-4.7-dev
Je potřeba stáhnout archív se zdrojovými kódy pro Wi-Fi čip RTL8192CU ze stránek výrobce. Po rozbalení archivu programem unzip
se následujícím příkazem přesuňte do adresáře se zdrojovými daty programu hostapd
:
cd RTL8188C_8192C_USB_linux*/wpa_supplicant_hostapd-0.8_*/hostapd/
Příkazem make
spustíte kompilaci. Zkompilované programy hostapd
hostapd_cli
je potřeba zkopírovat do adresáře /usr/sbin/
příkazem:
cp hostapd hostapd_cli /usr/sbin/
Konfigurace je obvykle v souboru: /etc/hostapd/hostapd.conf
, aby ji tam program hledal je potřeba do souboru /etc/default/hostapd
přidat řádek, který uvádí cestu ke konfiguračnímu souboru:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Konfigurace pak může být například následující:
ctrl_interface=/var/run/hostapd #typ ovladare driver=rtl871xdrv #nazev sitoveho rozhrani interface=wlan0 #nazev bridge, pokud je pouzit #bridge=br0 hw_mode=g # povoleni IEEE 802.11n (HT) ieee80211n=1 #wme_enabled=0 wme_enabled=1 #ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40+] beacon_int=100 max_num_sta=8 wpa_group_rekey=86400 channel=4 ssid=bananapissid macaddr_acl=0 ## Shared Key Authentication ## auth_algs=1 #auth_algs=3 #ignore_broadcast_ssid=0 wpa=2 #wpa=1 #wpa_psk=heslo v hexa wpa_passphrase=heslo wpa_key_mgmt=WPA-PSK ##wpa_pairwise=CCMP wpa_pairwise=TKIP rsn_pairwise=CCMP
Jedná se o konfiguraci kde název sítě je nastaven na bananapissid s heslem heslo a šifrováním WPA2. WiFi vysílá na 4. kanálu. IEEE 802.11n je povoleno. Konfigurace je zatím bez bridge. Při ladění, kdy je potřeba sledovat informační výpis, je vhodné program hostapd spouštět ručně z konzole příkazem:
hostapd /etc/hostapd/hostapd.conf
Podrobné informace o konfiguraci hostapd je v dokumentaci.
WiFi v módu AP není silnou stránkou B-Pi-R1. Některá zařízení nemají problém se spojením. U jiných zařízení, po několikadenním běhu programu hostapd
, připojení funguje hůře. Tento problém se přestal objevovat pro nastavení automatického restartovaní programu hostapd
jednou denně.
Bridge
Další požadavkem síťaře bude provozovat WiFi a Ethernet na jedné podsíti. K tomu slouží bridge, který softwarově řeší spojení více rozhraní do jedné L2 sítě. Příkazem apt-get install bridge-utils
doinstalujete utility pro konfiguraci linuxového bridge. Konfiguraci a vytvoření bridge ze sítových rozhraní wlan0 a eth0.102 provede přidáním následujících řádků do souboru /etc/network/interfaces
:
auto br0 iface br0 inet static address 91.213.160.118 netmask 255.255.255.0 network 91.213.160.0 broadcast 91.213.160.255 gateway 91.213.160.1 bridge-ports eth0.102 wlan0
Ve stejném souboru pak zároveň musí mít síťová rozhraní wlan0 a eth0.102 nastavenu manuální konfiguraci:
auto eth0.102 iface eth0.102 inet manual auto wlan0 iface wlan0 inet manual
Na závěr je potřeba upravit konfiguraci programu hostapd
v souboru /etc/hostapd/hostapd.conf
. Přidáním/odkomentováním řádku:
bridge=br0
Samozřejmě pokud se mají připojeným zařízením automaticky přidělovat IP adresy, musí na dané síti samozřejmě poslouchat DHCP server.
Rozšíření síťových rozhraní
Další WiFi síťovou kartu lze připojit pomocí USB, je tedy pak možnost provozovat dvě WiFi sítě. Například jednu jako AP a jednu jako client pro připojení k internetu. Kdo má telefonní přípojku, tak by k Banana Pi mohl připojit DSL modem pro Turris – SMRT.
Takže i tam, kde je internetová přípojka přes WiFi nebo DSL, je možno pomocí počítače Banana Pi R1 nahradit současné síťové prvky a přitom získají i další výhody…
Firewall
Na každém počítači připojeném do sítě by měl být firewallu aspoň s minimálním nastavením. Na Linuxu lze použít na nejnižší úrovni iptables. Konfigurace bude závislá na konkrétní konfiguraci hlavně Ethernet switche a provozovaných službách.
Závěr
Nyní je k radosti čtenářům počítač Banana Pi R1 plně funkční. Dle konkrétních potřeb, lze konfiguraci jednotlivých síťových rozhraní přizpůsobit, zkombinovat a dosáhnout tak i specifických potřeb. Velká konfigurovatelnost dává také možnost měnit funkčnost zařízení v případě změny síťové topologie bez potřeby kupovat jiné zařízení. Díky Linuxu a možnosti aktualizace systému nebude problém s nasazením IPv6.
Konkrétní funkcionalitu zajišťují jednotlivé programy/služby. Čtenáři jistě v diskusi sdělí svoje představy co plánují na Banana Pi (R1) provozovat. Já nastíním co je možno na počítači provozovat v dalším článku a shrnu zbylé zajímavé informace.