. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Projekt WiFi rádia IV - Instalace OpenWrt
23. července 2010 - 8:00 | Pandatron | Projekt WiFi rádia IV - Instalace OpenWrt | Komentářů: 5  

Projekt WiFi rádia IV - Instalace OpenWrt

V dalším díle seriálu o konstrukci levného a open source internetového přijímače, se nyní zaměříme na instalaci a konfiguraci OpenWRT operačního systému. Cílem bude připojení routeru do sítě WiFi a dostupnost internetových služeb.

V tomto okamžiku by jste měli mít bezdrátový router Asus WL-520GU nainstalovaný a to včetně sériového portu, doplněného o libovolný terminálový software na straně PC. Pokud ne, vraťte se do předchozích dílů.

Co je OpenWrt?

Podle openwrt.org:

  • OpenWrt je prezentován jako distribuce Linuxu pro embedded zařízení.

V našem případě nahrazuje OpenWrt standardní firmware v WL-520GU moderní, open-source Linux distribucí, která si klade za cíl dosažení vysokého výkonu a flexibility. To je pro nás důležité, neboť převod bezdrátového směrovače na rozhlasový přijímače s rozhraním Wifi, jak chceme naše zařízení použít, nemá s primární funkcí zařízení nic společného. Kromě základního jádra operačního systému Linux, jsou k dispozici i ovladače pro bezdrátové sítě a všechny základní funkce, obsažené v síťové bráně. Samozřejmostí je i schopnost instalace širokého spektra rozšiřujících modulů a funkcí.

Instalace:

Pro úspěšnou instalaci OpenWrt na WL-520GU je potřeba několik věcí:

  • V první řadě je to samozřejmě bezdrátový router Asus WL-520GU, upravený tak, aby umožnil přístup na vnitřní sériový port (viz. předchozí díl)
  • 3,3V USB-sériový konvertor, například typu FTDI-232-3V3
  • Krátký ethernetový kabel (křížený kabel není podmínkou)
  • Stolní nebo přenosný počítač s dostupným USB a Ethernet portem
  • Terminálový program, jako je ZTerm nebo Hyperterminál
  • Klient TFTP, který je (překvapivě) součástí většiny operačních systémů, nebo je možné stáhnout řadu freeware aplikací. Já budu používat ten z OS X.
  • WiFi síť s přiměřeně jednoduchým zabezpečením, například pomocí MAC adresy (tj. bez WEP, WPA)

Pokud si chcete vytvořit vlastní OpenWrt image s volitelnými balíčky, budete rovněž potřebovat:

  • Počítač na kterém běží Debian nebo podobný operační systém rodiny Linux, případně, pokud jste opravdu ambiciózní, Mac OS X. Samozřejmě je množné provézt kompilaci OpenWrt na OS X, avšak zde je několik problémů, které brání snadnému postupu. Především je to skutečnost, že OS X ve výchozím nastavení nepoužívá case-sensitive souborový systém.

Poznámka: Jak již bylo uvedeno dříve, pokud z nějakého důvodu budete chtít do routeru dostat původní firmware, můžete si ho snadno stáhnout z webových stránek společnosti Asus (do vyhledávání zadejte WL-520GU) a ten do routeru stejným způsobem nahrát.

Získání požadované kompilace OpenWrt:

Zde existují dva způsoby, jak je toho možné dosáhnout:

Navštivte stránky OpenWrt Wiki a přečtěte si návod na instalaci. Postupujte podle následujících pokynů kompilace Kamikaze (Kamikaze je současná OpenWrt distribuce). Stáhněte si zdrojové kódy podle jejich sub-verze (svn) a zkompilujte je. Tato metoda vyžaduje alespoň částečnou znalost práce s Linuxem, ale pokud máte možnost zkompilovat si vlastní jádro, neměl by být pro vás žádný problém sestavit kompletní OpenWrt. Předně budete muset odkazovat na madplay, mpc a mpd (stejně jako jakékoliv jiné doplňky, které budete chtít použít) a to před spuštěním kompilace pomocí skriptů nebo jednotlivých instrukcí. Zde je posloupnost příkazů, které jsem použil já a které se mohou samozřejmě od vašeho případu mírně lišit:

  svn co https://svn.openwrt.org/openwrt/trunk/ ~/kamikaze
  cd ~/kamikaze
  ./scripts/feeds update -a
  ./scripts/feeds install madplay mpc mpd
  make prereq

Pokud se vám kompilace nezdaří, budete potřebovat nainstalovat některé z volitelných linuxových nástrojů, jako jsou gawk, bison nebo gcc. Na distribuci Debian jsem k tomuto použil příkaz:

  apt-get install gawk bison gcc

Jakmile budete mít všechny potřebné nástroje nainstalované, můžete provézt konfiguraci:

  make menuconfig

Budete muset nastavit následující možnosti:

  » Target System (Broadcom BCM947xx/953xx [2.4])
  » Target Profile (Generic, Broadcom WiFi (default))
  » Select all packages by default
  » Image configuration —>
     » Base system (Added 12/18/08 to support part six)
        » busybox (press enter to open hidden menu)
           » Configuration
              » Coreutils
                 » stty
     » Kernel modules
        » Sound support
           » kmod-sound-core
        » USB support
           » kmod-usb-core
           » kmod-usb-ohci
           » kmod-usb-audio
     » Sound
        » mpd
        » mpc
        » madplay

Na závěr proveďte uložení konfigurace a spusťte:

  make world

Tato operace bude trvat poměrně dlouho. Pokud se kompilace nezdaří, budete vyzváni k nápravě chyb a opětovnému spuštění

  make world V=99

Případně tedy vyřešte vzniklé problémy, které se zobrazují jako chybové zprávy. V případě potřeby je dobrým místem pomoci OpenWrt fórum, ovšem nejprve zkuste váš problém vyhledat, aby se zabránilo pokládání otázek, které jsou již dávno zodpovězeny.

Pokud vše proběhlo správně, měli by jste mít výsledné soubory v adresáři kamikaze/bin. Včetně OpenWrt-brcm-2.4-squashfs.trx, což je hlavní obraz vaší distribuce a několika dalších obrazových souborů v adresáři bin/packages/mipsel.

Druhou možností je stáhnout si již hotovou kompilaci. V tom případe jsem vše udělal za vás.

Zde je odkaz ke stažení mé kompilace OpenWrt-brcm-2.4-squashfs.trx image.

Doplňky, které musíte mít, aby jste později dokázal router správně nakonfigurovat, jsou dostupné zde.

Instalace OpenWrt do routeru:

Připojte váš FTDI kabel (nebo jiný 3,3 V TTL převodník) do sériového portu routeru, který jste si přidali ve třetí části seriálu. Dále spusťte svůj oblíbený terminálový program a připojte se k routeru s nastavením 115200 baud, 8N1.

Připojte port LAN1 routeru k počítači pomocí krátkého ethernetového kabelu. Po resetu je router napevno nastaven na IP 192.168.1.1, takže vy si musíte na počítači nastavit podobnou adresu a masku sítě. Tedy například 192.168.1.2 a masku 255.255.255.0. V případě potíží nastavte i bránu na 192.168.1.1. V případě, že vše provádíte na síti, nejprve si zkontrolujte, zda uvedené hosnoty nemá jiné zařízení v síti a případně ho vypněte nebo odpojte. V mém případě to znamenalo vypnutí internetového routeru v době, kdy byl připojen tento Asus a nakonec jsem mou síť překonfiguroval do rozsahu 192.168.24.x, ale to je již mimo rozsah tohoto článku.

Stiskněte a držte tlačítko Restore na zadní straně routeru a zároveň připojte napájecí kabel. Toto tlačítko je mírně zapuštěné a má černou barvu (předpokládám, že nyní pracujete s routerem bez plastového rytu.


Obr. 1: Tlačítko Restorem na WL-520GU

Tlačítko Restore držte tak dlouho, doku Power LED nezačne blikat rychlostí zhruba jednou za sekundu. Poté tlačítko pusťte. V připojeném terminálu by jste nyní měli vidět zaváděcí zprávy a poté:

  Reading :: TFTP Server.
  Failed.: Timeout occured
  Reading :: TFTP Server.
  Failed.: Timeout occured

a tak dále (zprávy se budou neustále opakovat).

Nyní je čas přenést náš .TRX soubor do routeru. Následující pokyny jsou pro OS X. Návod pro jiné operační systémy naleznete zde.

  cd ~/kamikaze/bin
  tftp
  trace
  timeout 1
  mode binary
  connect 192.168.1.1
  put openwrt-brcm-2.4-squashfs.trx

V konzoly by jste měli vidět (přesné hodnoty se mohou samozřejmě lišit):

  Reading :: TFTP Server.
  TFTP_BLKLEN!!
  break!! last block!!
  Done. 1918724 bytes read
  Download of 0x1d4704 bytes completed
  Write kernel and filesystem binary to FLASH (0xbfc20000)
  Programming...
  copysize=1918724, amtcopy=1918724

Pokud tomu tak není, je velká pravděpodobnost, že váš počítač s routerem nekomunikuje. Nejspíše se jedná o problém s konfigurací v síťovém (ethernetovém) připojení, nebo je problém s datovým kabelem mezi PC a LAN na routeru.

Pokud vše funguje, počkejte pár minut (ničeho se nedotýkejte, odpojení routeru v tuto chvíli by z něho mohlo udělat bezcenný kus elektroniky - autor článku ani správce webu za případné problémy nenese samozřejmě žádnou odpovědnost a vše děláte pouze na vlastní zodpovědnost!). Nakonec by jste měli vidět zprávu podobnou této:

  done. 1918724 bytes written

Poté, co se tato zpráva zobrazí (obvykle celý proces přenosu dat trvá 3 - 5 minut), router odpojte od napájení, vyčkejte několik sekund a pak znovu jej znovu zapněte. V připojeném terminálovém okně by jste měli vidět zprávy z Linux zavaděče, než dojde k vytvoření JFFS souborového systému, může tento proces chvíli trvat. Jakmile router dokončí bootování, uvidíte několik zpráv, podobných těmto:

  mini_fo: using base directory: /
  mini_fo: using storage directory: /jffs

Stiskněte klávesu Enter a měli byste nyní vidět logo OpenWrt a příkazový řádek:

  BusyBox v1.11.2 (2008-10-02 20:59:06 PDT) built-in shell (ash)

  Enter 'help' for a list of built-in commands.

    _______                     ________        __

   |       |.-----.-----.-----.|  |  |  |.----.|  |_

   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|

   |_______||   __|_____|__|__||________||__|  |____|

            |__| W I R E L E S S   F R E E D O M

   KAMIKAZE (bleeding edge, r12831) -------------------

    * 10 oz Vodka       Shake well with ice and strain

    * 10 oz Triple sec  mixture into 10 shot glasses.

    * 10 oz lime juice  Salute!

   ---------------------------------------------------

  root@OpenWrt:/#

Gratuluji! Úspěšně jste nainstalovali systém OpenWrt!

Pro zajímavost je úplný záznam prvního spuštění k dispozici zde.

Konfigurace OpenWRT:

Na webu OpenWRT Wiki je spousta informací, týkajících se konfigurace Kamikaze. My však použijeme prakticky základní konfiguraci, dostupnou zde ke stažení. Chcete-li konfiguraci provézt ručně, budete moct pohodlně využít editoru vi (pokud ne, podívejte se na tento rychlý Referenční návod).

Ve svém terminálovém programu by jste měli být schopni zadat následující povely. Já jsem měl problém s použitím kurzorových kláves a se šipkami pohybovat v editoru, proto jsem si je nakonfiguroval na alternativní znaky (h = vlevo, l = vpravo, k = nahoru, j = dolů).

Předtím, než bude možné připojit router na WiFi síť, je potřeba modifikovat několik souborů:

  root@OpenWrt:~# vi /etc/config/wireless

Tím by mělo dojít k modifikaci tohoto souboru do následující podoby:

  config wifi-device  wl0
    option type     broadcom
    option channel  2  # the channel your wireless network is on

    # REMOVE THIS LINE TO ENABLE WIFI:
    # option disabled 1 (comment out or remove this line entirely)

  config wifi-iface
    option device   wl0
    option network	lan
    option mode     sta  # configures the router to connect to your network
    option ssid     MyNetwork # the SSID of your network
    option encryption wep  # the encryption mode of your network
    option key	XXXXXXXXXX  # add this line with your WEP key in place of X...X

Nyní je třeba upravit konfiguraci sítě a použít DHCP (to by mělo platit i ve vašem případě):

  root@OpenWrt:~# vi /etc/config/network

Sjeďte dolů a podívejte se na sekci nastavení LAN. Zde upravte konfiguraci tak, jak je uvedeno na následujících řádcích:

  #### LAN configuration
  config interface lan
    option type     bridge
    option ifname   "eth0.0"
    option proto    dhcp
    #option ipaddr   192.168.1.1
    #option netmask  255.255.255.0

A konečně, ověřte resolv.conf, zda je správně nastaven.

  root@OpenWrt:~# vi /etc/resolv.conf

Zde by jste měli vidět následující řádek (samozřejmě za předpokladu, že router dostane platnou adresu DNS serveru pomocí DHCP, pokud ne, můžete ji zde nastavit ručně):

  nameserver 127.0.0.1

Poté spusťte následující příkaz:

  root@OpenWrt:/# /etc/init.d/network restart

Po chvíli, pokud vše funguje správně, by mělo dojít k navázání spojení se sítí a vy by jste měli mít možnost provést test příkazem ping, na u vás dostupné servery.

  root@OpenWrt:/# ping www.google.com
  PING www.google.com (74.125.19.104): 56 data bytes
  64 bytes from 74.125.19.104: seq=0 ttl=240 time=20.113 ms

Tím je instalace systému i jeho konfigurace dokončena. V příštím díle provedeme instalaci některých doplňků a konečně již brzy budeme moct přehrát nějakou skladbu.

Odkazy & Download:
Domovská stránka autora
Building a Wifi Radio
Wifi Radio Discussion Forum

Asus WL-520GU
OpenWrt
FTDI 232 - 3V3







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (5):

Zobrazit starší 30 dnů (5)...

host
5. Dne 14. 05. 2012 v 01:08 zaslal host
Kompilace
Dobrý den, potřebuji si to zkompilovat, proto že chci na to použít jiný routr, u který ho se musí jinak nastavit ta paměť. Na stránce, odkud se to má stáhnout (svn...) je nijaká chyba 407, našel jsem něco co vypadá že je to ono https://dev.openwrt.org/browser a stáhl jsi ten trunk. Potom jsem nainstaloval všechny ty balíčky co jsou napsané v README.TXT i ty co jsou tu napsané a pokračoval jsem podle tohoto návodu.U těch skriptů mě to píše "bash: ./scripts/feeds: Operace zamítnuta" a to jsem to zkoušel jak root tak i normalně a u toho menuconfig mě to napíše "bash: make: příkaz nenalezen" a to jsem to taky skoušel jak root tak i normálně. Tohle jsem zkoušel na Debianu.


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PBTM s externí anténou
Modul s BTM-112 od firmy Rayson usnadňuje jeho použití a doplňuje modul o konektor pro připojení externí ziskové antény.
Skladem od 389 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007