. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Projekt WiFi rádia III - Hacking routeru Asus WL-520GU
9. července 2010 - 8:30 | Pandatron | Projekt WiFi rádia III - Hacking routeru Asus WL-520GU | Komentářů: 8  

Projekt WiFi rádia III - Hacking routeru Asus WL-520GU

Třetí pokračování sériálu projektu levného, open source internetového rádia. Pokud jste tak ještě neučinili, podívejte se na první a druhý díl, pro získání základních informací o projektu.

V minulém díle jsme rozhodli o použití bezdrátového routeru Asus WL-520GU, jako levné a snadno dostupné embedded platformy pro stavbu WiFi rozhlasového přijímače. Od té doby jsem získal nějaké podrobnější specifikace k tomuto, přímo úžasnému, levnému routeru. Jeho základem je výkonný procesor Broadcom BCM5354, doplněný o 4 MB programové flash a 16 MB SRAM. Je pravda, že dnes existuje celá řada ještě výkonnější zařízení, disponujících rovněž USB portem, podporou pro Linux a samozřejmě i s integrovaným WiFi rozhraním. Nicméně, zařízení WL-520GU je schopné zajistit naprosto vše, co potřebujeme ke stavbě internetového přijímače a navíc je dostupný za velice nízkou cenu (například na Aukru nebo jiných inzertních servech je dostupný od cca. 500 Kč). I to je samozřejmě jeden z rozhodujících faktorů, ale více o dostupných platformách a jejich cenách již bylo pojednáno v předchozím díle.


Obr. 1: Zjednodušené blokové zapojení obvodu BCM5354G

Chceme-li však tento router použít ve funkci výkonného embedded systému, budeme na něm muset provést několik úprav. V první řadě musíme smazat továrně dodávaný firmware. Jak se rychle ukazuje, tento, stejně jako většina dalších routerů, má základní firmware vytvořen s použitím Linux architektury. Nicméně, jelikož zařízení bylo navrženo tak, aby zajišťovalo směrování datových toků a nic jiného, nezahrnuje integrovaný firmware příliš širokou sadu funkcí (a jistě ani nebylo plánováno využití zákazníkem). Naštěstí existuje hned několik open-source linuxových distribucí, které jsou volně k dispozici a které tento router podporují. Navíc i včetně mnou oblíbené distribuce - OpenWrt. Kromě toho firma Asus umožňuje, díky použité koncepci, poměrně snadnou výměnu stávajícího firmware za naši verzi. Jednoduchým vytvořením vlastní Linux distribuce je tak do projektu možné zahrnout všechny potřebné programy, ovladače a utility, neboť je k dispozici celkem 4 MB flash, což pro podobné účely bohatě stačí.


Obr. 2: Blokový diagram systému BCM5354G

Upozornění:
Než se pustíme do "hackingu" routeru, existuje ještě pár věcí, které je třeba zmínit:

  • Od tohoto bodu dále je již případná záruka na zboží neplatná. Navíc ani nepřemýšlejte o zaslání upraveného routeru zpět na adresu výrobce pro zajištění servisu. Nejen že by se nahrání nového firmware bránili, navíc by však mohl v budoucnosti podniknout takové kroky, které by podobné modifikace znemožnili. V případě, že budete chtít do routeru nahrát zpět původní firmware, můžete tak učinit sami, jeho stažením z webu výrobce a opakováním postupu jako při následujícím hackingu.
  • Hrozí nevratné poškození routeru. Pokud si nejste jisti, že zvládnete provést reflash firmware, nebo se bojíte, že páječkou poškodíte elektronické součástky, nepouštějte se do toho. Pokud opravdu použijete například špatné piny, můžete si velice snadno poškodit nejen router, ale i celý počítač, i když při pečlivé práci a znalosti elektronických součástek je to prakticky vyloučené. Přesto, pokud si svou prací poškodíte router, počítač, nebo vám vznikne jiná škoda, autor článku ani správce webu nemají za tyto škody žádnou odpovědnost. Vše provádíte pouze na vlastní riziko.

Následující tutoriál předpokládá, že již máte k dispozici uvedený router. Případně je možné ověřit jeho správnou funkci použitím standardní konfigurace a připojením k lokálnímu AP. Tím se provede kontrola bezdrátového spojení a vnitřního webového serveru. Přikládaná uživatelská příručka může v tuto chvíli rovněž pomoci, ale je zbytečné používat dodané CD - pro pokročilé/manuální nastavení.

Přístup k internímu sériovému portu:

Instalace OpenWrt je jednodušší, pokud si zajistíme snadný přístup k vnitřnímu sériovému portu routeru. Integrovaný sériový port umožňuje zobrazení Linux konzolového výpisu a stavových zpráv, stejně jako přístup, podobný příkazové řádce. Sériový port se bude hodit rovněž i později, kdy budeme chtít přidat uživatelské rozhraní rádia.

Budete potřebovat:

  • Stolní nebo přenosný počítač s volným USB portem a dostupným Ethernetovým portem RJ45.
  • Funkční ASUS WL-520GU bezdrátový router (R1.02)
  • Jednořadou pinovou lištu a dutinky s roztečí 2,54 mm.
  • FTDI 232 - 3V3 USB / sériový převodník (běžně dostupný kolem 500 Kč), nebo nějaký jiný způsob připojení 3,3 V úrovňového sériového portu k PC
  • No a samozřejmě základní elektronickou výbavu, jako je pracovní stůl s dostatkem světla, mikropáječku s regulovatelnou teplotou hrotu, odsávačku a kleště. Časopis >Servo Magazine nedávno uspořádal soutěž, kdo dokáže navrhnout nejlepší pracovní stůl pro elektroniky s cenou do 100 USD (cca. 2000 Kč). Publikované výsledky by mohly být zajímavé především pro začínající elektroniky. Pokud nemáte dobré zkušenosti s pájením, požádejte někoho jiného, kdo vám s touto částí projektu pomůže.

Krok 1 - Otevření routeru

Vyjměte napájecí kabel a anténu (jejím odšroubováním). Otočte router a podívejte se na jeho zadní stranu. Měli by jste vidět něco takového:


Obr. 3: Zadní strana routeru

Krabičku routeru drží pohromadě čtyři šrouby, dva jsou přitom skryté pod gumovými nožičkami. Ty jsou bohužel přilepeny opravdu dobře, ale při použití nehtu nebo nožíku nakonec vždy povolí. Odstraňte tedy všechny čtyři šrouby a schovejte si je. Poté by již měl jít horní kryt sejmout snadno, bez větších problémů.

Na následujícím obrázku je zachycen otevřený router:


Obr. 4: Router po sejmutí horního víka

Krok 2 - Zpřístupnění sériového portu

Jemným tahem nahoru a směrem k vám (ethernetové porty jsou na odvrácené straně) vyjměte desku s elektronikou opatrně z plastové krabičky.

Natočte desku tak, aby logo ASUS (uvedené na fotografii níže) bylo z vašeho pohledu na pravé straně. Poblíž něho uvidíte 4-pinový header konektor, určený pro přístup k internímu sériovému portu routeru. Je pravděpodobné, že konektor není osazený a na desce jsou tak jen nezapájené čtyři prokovy, umístěně v jedné řadě za sebou.

V tom případě budete muset pravděpodobně použít páječku a odsávačku k odstranění cínové výplně tak, aby zde mohl být zapájen konektor. Vyšší výkon páječky pomůže s odstraněním pájky (minimálně alespoň 60W například typ Weller WTCPT ). Krajní pin je totiž přímo spojen s měděnou plochou, tvořící na desce umělou zem. Ta však při práci dobře odvádí teplo pryč od prokovu a práci komplikuje. Po chvilce nahřívání je však možné veškerou pájku bez větších problémů odsát, případně i s použitím libovolné odsávací licny.

Po vytvoření průchozích prokovů je již možné zaletovat sem čtyři piny jednořadé lišty. Výsledek by měl vypadat přibližně takto:


Obr. 5: Zaletovaný 4-pinový header sériového portu

Význam pinů z obr. 5 je zleva doprava:

GND - TX - RX - 3,3V

Krok 3 - Připojení k PC

FTDI-232 3V3 USB sériový převodník poskytuje jednoduché řešení, pro získání 3,3V TTL úrovňového sériového portu na PC či notebooku. Pro spojení s konektorem na desce routeru je potřeba vytvořit si jednoduchou redukci na plochý konektor. Přesto že uvedený převodník obsahuje kompatibilní konektor, bohužel nesouhlasí pinout kabelu a konektoru routeru (viz datasheet převodníku). V tom případě jsou dvě možnosti:

  • S použitím malého šroubováku je možné vytáhnout piny s plastové krytky a zaměnit jejich pořadí. 3,3V pin nechte nezapojený! Pouze prohoďte piny TX / RX tak, že TX na routeru bude spojen s pinem RX na kabelu a opačně. Zároveň nezapomeňte propojit také zem. Nevýhodou tohoto řešení je nemožnost použití kabelu ke svému původnímu určení, tedy například ve spojení s deskou Boarduino, bez opětovného prohození pinů.
  • Druhou možností je vyrobit si jednoduchý adaptér pomocí malého kousku univerzální desky s plošnými spoji, jak je uvedeno níže (klikněte na obrázky pro větší verzi):


Obr. 6: Sériový adaptér pro bezdrátový router Asus

Zde je uvedeno schéma adaptéru:


Obr. 7: Schéma adaptéru k FTDI-232 3V3 USB konvertoru

Na následujícím obrázku je uveden router s připojeným sériovým adaptérem. Ještě jednou se případně ujistěte, že jsou všechny piny spojeny správně a 3,3 V piny jsou ponechány nezapojeny. Zem je vedena černým drátem a na mým adaptéru je označena černou tečkou, aby bylo možné kabel snadno připojit i příště.


Obr. 8: Router WL-520GU se sériovým kabelem

Krok 4 - Test připojení

Nyní připojte druhý konec adaptéru do PC (případně nainstalujte příslušné ovladače pro vytvoření virtuálního sériového portu) a spusťte svůj oblíbený terminálový program. Já rád používám Zterm na Mac nebo Hyperterminal na PC. Pomocí terminálového programu otevřete sériový port s odpovídajícím FTDI kabelem (něco jako usbserial-FTDQ23LB na Mac nebo COM3 na PC, přesné nastavení na vašem PC se samozřejmě může lišit). Portu nastavte standardních 115200 baud, 8N1.

Nyní k routeru připojte zpět anténu a následně i napájení. V terminálu by jste po malé chvilce měli vidět výpis operačního systému routeru, podobný tomuto (zde je pouze část):

Decompressing..........done

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)

Build Date: Thu Mar 6 10:05:04 CST 2008 (root@localhost.localdomain)

Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena

Initializing Devices.

Boot partition size = 131072(0x20000)

et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.130.31.0

Total memory: 16384 KBytes

CPU type 0x29029: 240MHz

...

Pokud se tak stalo, gratuluji vám, v tom případě pracuje vše jak má!

Uvedený výpis popisuje startovací úkony integrovaného Linuxového jádra, tedy firmware na routeru. Jejich součástí je spoustu informací o hardware, tedy samozřejmě kromě informací o operačním systému samotném a softwarových ovladačích. Pro zájemce zde uvádím kompletní boot log z mého routeru. Pokud počkáte pár minut, než router dokončí zavádění operačního systému, a stisknete klávesu Enter, měli by jste se dostat na příkazový řádek. Odtud si můžete prohlédnout další informace a vůbec si s firmwarem pohrát. Bohužel zde od výrobce není integrováno příliš zajímavých možností, tedy alespoň do doby, než provedete reflash routeru s OpenWrt.

V příštím, čtvrtém díle se zaměříme na instalaci OpenWrt a konečně i připojení routeru do bezdrátové sítě.
Na webových stránkách autora projektu je k dispozici Wifi Radio diskuzní fórum. Zde je možné k projektu pokládat své otázky a to přímo jeho autorovi, nebo se podělit o své zkušenosti s dalšími zájemci o stavbu.

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

Asus WL-520GU
Broadcom BCM5354
OpenWrt
FTDI 232 - 3V3







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

Komentáře (8):

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

host
8. Dne 02. 10. 2012 v 09:28 zaslal host
Wifi Router ASUS WL-520GC
Zeptám se na aukru ani na bazošu se slehla zem po tomto routeru všeci jste je vykoupily ale dnes jsem tam objevil tento dal by se taky použít? koukal jsem na popis vypadá to že ano


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:
PXC72 - Vývojový modul pro XC9572XL
Malý vývojový modul pro CPLD XC9572XL společnosti Xilinx. Na modulu je umístěn i regulátor, generátor hodin, tlačítko a čtyři LED.
Skladem od 398 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