Banana Pi R1: konfigurace WiFi a vytvoření bridge

6. 5. 2015
Doba čtení: 5 minut

Sdílet

Počítač Banana Pi R1 má již v základní výbavě WiFi, která tak rozšiřuje možnosti použití počítače a zároveň přidává další kombinace konfigurace síťových zařízení. WiFi může být provozována jak v módu klient tak módu AP. Po zprovoznění a konfiguraci WiFi AP je možno vytvořit bridge z WiFi a Ethernet rozhraní.

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.

ict ve školství 24

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.

Autor článku

Josef Jebavý je profesí linuxový admin a vývojář softwaru, ale zabývá se i hardwarem a elektronikou. Mimo dílnu a počítačové pracoviště se obvykle věnuje sportu.