Obsah:

NLDWRTG rozšiřující deska ULTIMATE WRT54G: 8 kroků (s obrázky)
NLDWRTG rozšiřující deska ULTIMATE WRT54G: 8 kroků (s obrázky)

Video: NLDWRTG rozšiřující deska ULTIMATE WRT54G: 8 kroků (s obrázky)

Video: NLDWRTG rozšiřující deska ULTIMATE WRT54G: 8 kroků (s obrázky)
Video: [FULL ALBUM] - Run The Jewels - RTJ4 2024, Červenec
Anonim
NLDWRTG rozšiřující deska ULTIMATE WRT54G
NLDWRTG rozšiřující deska ULTIMATE WRT54G
NLDWRTG rozšiřující deska ULTIMATE WRT54G
NLDWRTG rozšiřující deska ULTIMATE WRT54G

Modifikuji směrovače WRT54G od roku 2006, ale do loňského roku jsem nikdy neměl čas pro ně navrhnout dedikovanou desku. Tento hardware je v době psaní stále jedním z nejvíce hacknutelných routerů wifi a zaslouží si zůstat naživu.

Krok 1: Stručný přehled řady Linksys WRT54G

Stručný přehled řady Linksys WRT54G
Stručný přehled řady Linksys WRT54G

en.wikipedia.org/wiki/Linksys_WRT54G_serie…

Na trhu je spousta různých verzí, pojďme se tedy podívat, které lze upravit:

-WRT54G 2.0/2.1/2.2 -> Přestože jsou možné všechny mody, velká stará základní deska zabírá veškerý prostor v případě, pokud upravíte tuto sérii, budete muset svůj obvod přesunout mimo krabici nebo vytvořit zcela nový kryt (srsly nestojí za námahu)

-WRT54G 4.0 Přepnuto na nový SoC -> Toto byla první deska, kde byla představena základní deska ve tvaru L, takže toto je první verze, kde můžete využít výhody mého štítu a vložit jej do pouzdra

-WRT54GL 1.0/1.1-> Společnost Linksys vydala v roce 2005 WRT54GL (nejprodávanější router všech dob) na podporu firmwaru třetích stran založeného na Linuxu poté, co byla původní řada WRT54G přepnuta z Linuxu na VxWorks, počínaje verzí 5. WRT54GL je technicky opětovné vydání verze 4 WRT54G. Tento model je KRÁLEM WRTG. Na trhu je spousta routerů z druhé ruky, takže pokud máte na výběr, jaký typ koupit, VŽDY si kupte WRT54GL.

-WRT54G 5.0 a vyšší -> Používá operační systém VxWorks a zmenšenou paměť Flash; není kompatibilní s většinou firmwaru třetích stran, přestože obslužný program „VxWorks killer“umožňuje načíst do této a budoucích verzí nějaký firmware od jiného výrobce. Linksys zde udělal špatný obrat a v podstatě zničil úplně dobrý produkt. Ačkoli je možné je upravit, prostor na routeru je tak malý (2 MB), že se vejde pouze do mikro firmwaru DD-WRT, který téměř nemůže dělat nic jiného než běžné funkce směrování (žádná VPN, žádné smbfs/cifs, žádný NFS, žádné mmc, žádné ext2). Podařilo se mi vytvořit jádra pro tuto sérii a vtěsnat 1-1 požadovaný modul na náklady na vyřazení ostatních. Nestojí to za váš čas a úsilí, NEKUPUJTE tyto směrovače.

S pozdější řadou WRT přešel například Linksys na architekturu ARM, WRT1200 AC má dvoujádrový procesor ARM 1,3 GHz. Mám však špatné zkušenosti s těmito routery i po vyzkoušení více verzí OpenWRT (nyní LEDE), které směrovače mohou náhodně zmrazit. Očekávám provozuschopnost více než 300 dní od unixových zařízení.

Krok 2: Rozšíření funkčnosti

Rozšíření funkčnosti
Rozšíření funkčnosti

Dobře, jaké hacky můžete s tímto routerem dělat:

1, Přidejte 2x sériové porty -> což se může hodit, pokud máte další servery na vzdáleném místě a chcete se k jejich biosu připojit přes sériovou linku nebo jiné routery, swtiches, které to umožňují

2, Přidejte 1 port USB1.0 -> lze použít k připojení tiskárny, externího pevného disku atd. (Tento režim jsem nikdy nedělal, takže nebude součástí psaní)

3, Přidejte externí SD kartu pro ukládání, to může rozšířit malou 16 MB flash paměť vašeho routeru na 16/32/…+GB. Neměl jsem problém s používáním těchto velikostí karet SD a také žádný problém s používáním zcela nových odolných karet CLASS 10. Pokud jste experimentovali s tím, jaké je omezení karet na modely WRTG, zanechte prosím komentář níže.

4, Přidejte arduino pro ovládání vašeho domova, relé, rcswitche

Přidání arduina v podstatě otevírá neomezené množství možností: ovládání robota, ovládání infračervených zařízení na dohled (televizory, videorekordéry, DVD, projektory, klimatizace), připojení spousty zařízení k levným bezdrátovým přepínačům 433 MHz, komunikace s dalšími arduiny, raspis, přidání Xbee atd. atd.

Ačkoli to vše lze provést pomocí Raspberry PI + Arduino a rozšíření, považuji router WRT54G za spolehlivější než raspis. Mám tyto směrovače v podobných konfiguracích s více než 1 rokem (!) Uptime, nemohl jsem říci totéž o raspisu, kde moje nejvyšší doba provozuschopnosti byla kolem 240 dní na raspi 1, pak se SD karta vzdala systému, ačkoli C Řídicí kód Arduino byl načten do paměti, takže jsem nemusel spěchat s výměnou, protože řídicí uzel byl stále dokonale funkční:))

Krok 3: Seznam hardwaru

Seznam hardwaru
Seznam hardwaru

Přikládám rozložení desky ve formátu SVG i EasyEda. Pokud chcete postavit projekt, budete potřebovat následující komponenty: 1x LM7805 Regulátor napětí

2x víčka pro vreg 1uF 10uF (10PCS elektrolytické kondenzátory 25V 35V 50V 1uF ~ 1000uF různé hodnoty a napětí)

1x 4pinový kabel od SDcar k desce (propojovací kabel 10 ks 2/3/4/5/6/7 pin Dupont kabel 20 cm pro Arduino)

2x reléová relé DIP051A7212D

1x zásuvka RS232 (20 ks 9kolíkový konektor D-Sub DB9 s konektorem PCB s pravým úhlem WT7n)

1x MAX 233 (10 ks Max233 Max233cpp Rs232 Rs-232 ovladač/přijímač Ic Nový X)

1 x 10kolíkový konektorový kabel (rozteč 5 mm, 2 mm rozteč, 2 x 5 pinů, 10 pinů, 10 vodičů, plochý plochý kabel IDC, délka 10 cm)

1x 10kolíková zásuvka (20 kusů 2,54 mm 2 x 5 pinů 10pinový přímý zástrčkový konektor konektoru PCC v konektoru PCB)

1 x konektor konektoru (10 ks 1*40 pinů samičí 2,54 mm rozbitný konektor konektoru z Arduino 2017)

1x SD karta (může být stará velká SD nebo nová microSD s převodníkem, do 32 GB by měla fungovat, nad tím jsem netestoval karty)

1x převodník 3v5v TTL (5x převodník logické úrovně 3,3V na 5V TTL obousměrný pro Arduino Raspberry pi)

1x optočlen 4n35

1x Čtečka zásuvkových modulů pro kartu SD pro čtení a zápis Arduino ARM MCU

1x Arduino Promicro (5 ks Leonardo Pro Micro ATmega32U4 16MHz 5V Nahradit ATmega328 Arduino Pro Mini)

1x moduly RX a TX je kupte jako kombinovaný balíček (5ks 433MHz RF vysílače a přijímače pro bezdrátové dálkové ovládání Arduino)

Krok 4: Návrh hardwaru

Hardware design
Hardware design
Hardware design
Hardware design
Hardware design
Hardware design

-Šrouby desky do hlavní černé spodní části desky

-MAX233 byl vybrán nad MAX232, takže pro PC nebudou vyžadovány žádné další krytky-> Sériový převodník WRTG -Všechny součásti jsou v 1 řádku, takže místo vrtání několika otvorů lze vpředu vyříznout jednoduchý obdélník, alternativně pěknou krycí desku (nebo zcela nový případ WRTG) by mohl být navržen s makerbot

-Arduino promicros micro USB zásuvka čelní panel pro externí programování.

-Na základě Arduino Promicro (arduino se napájí ze vstupu 12V routeru WRT54G (přes regulátor napětí) je napětí naprázdno adaptéru asi 16V!)

-Promicro má skutečné USB, ne sdílené odpadky, takže WRTG/dev/tts/1 lze připojit k hardwarovému UART společnosti Promicro

-Sériová komunikace prostřednictvím/dev/tts/0 mezi PC WRTG

-RF 433Mhz přijímač + vysílač (vysílač by mohl mít 12V pro vyšší dosah)

-Na přední panel lze přidat IR vysílač a přijímač

-Na přední panel lze přidat další LED diody (indikují Rx/Tx pro RF, IR, router/ardu komunikační indikátor)

Mohl jsem navrhnout desku s převodníkem mini buck, ale vzal jsem přístup lineárního regulátoru napětí, protože jsem to měl v ruce. Našel jsem v určitém bodě obvodu 5V, ale při poklepání na něj se router stal nepoužitelným (pravděpodobně nemohl poskytnout množství proudu, který potřebovala deska arduino), proto jsem šel s dalším přístupem vreg.

Převodník TTL 3v5v je tu, aby poskytoval správnou konverzi těkavých látek (používám promro model 5V arduino, který na hardwarovém portu UART používá 5V, proto je nutná konverze úrovně napětí). V minulosti jsem však upravil směrovače přidáním Arduino Nanos, Micros bez převaděče a neměl jsem problém, protože port TTY WRTG je tolerantní k 5V, ale to neznamená, že byste jej měli provozovat z tohoto napětí.

4n35 byl také představen, aby se zbavil šumu pocházejícího z externí strany počítače. V minulosti jsem tuto komponentu nepoužíval, ale může to být také proto, že notebook, který jsem použil během testů, byl vadný.

10kolíkový konektorový kabel se stará o většinu připojení, musíte však zajistit správnou instalaci zásuvek.

Jak je vidět na obrázku na sériovém portu

Pin 1: 3,3 V + Pin 2: 3,3 V

Pin 9: GND + Pin 10: GND <= Na opačné straně jsou NEGATIVNÍ připojení k levé straně konektoru na štítu NLDWRTG

Pro připojení vodičů mezi čtečkou SDCARD a WRTG postupujte takto:

www.jbprojects.net/articles/wrt54gl_mods/

Příslušné kolíky:

  • CS -> Bod 1
  • MOSI -> Bod 2
  • SCK -> Bod 5
  • MISO -> Bod 7

Krok 5: Omezení

Omezení
Omezení

CPU WRT54GL není nejsilnější (Broadcom BCM5352 @ 200 MHz), lze přetaktovat na 250Mhz (nedoporučuje se:)), takže nečekejte, že na něm spustíte SETI @ HOME. Směrovač má pouze rozhraní 100 Mbit/s a na rozdíl od toho, co najdete na mnoha místech, tento hardware *NEPODPORUJE sítě VLAN 802.1q *. Je to jen VLAN založený na jednoduchém portu, prosím nevkládejte WRTG do sítě přenášející VLAN, to neumí.

Obzvláště užitečnou aplikací je použití routeru jako klienta VPN pro připojení k centrálnímu umístění. Ačkoli je dokonale použitelný i pro server VPN, neočekávejte od něj velký výkon.

Zde jsou některé z mých výsledků s WRT54GL v1.1 s použitím OpenVPN jako klienta.

Maximální propustnost tunelu: 500 kbit/s až 50 kbit/s nahoru

Maximální výkon směrování bez VPN z WAN -> LAN 28 mbit/s

Maximální výkon NAT (Maškaráda) bez VPN z WAN -> LAN 27 mbit/s

Stále existuje mnoho míst s nižší celkovou šířkou pásma než tyto (ISDN, reklamy, kabelové sítě, satelity atd.), Což tento router dokáže dokonale uspokojit.

Obvykle problémy pocházejí z umístění příliš velkého počtu bezdrátových klientů na tyto směrovače. Viděl jsem za ta léta mnoho nastavení v kávách, hotelech, restauracích, kde hodili jeden wifi router na pult a nazvali ho den, očekávajíc, že bude schopen obsloužit 10 a více lidí. Nakonec dostanou úplně nepoužitelný zážitek z wifi, protože celková teoretická šířka pásma pro tento router 802.11G je 51 mbit/s, a to je pro každého, řekněme, že skutečný je kolem 30 mbit/s. Pro 10 osob, což je v nejlepším případě 3 mbit/s na uživatele, což pro dnešní aplikace náročné na šířku pásma (streamování videa/zvuku, stránky 2.0 plné velkých obrázků atd.) Nikde nestačí.

Jak jsem již uvedl dříve, smyslem tohoto hacku je dálkové ovládání a to by nevyužilo více než pár kbit/s provozu prostřednictvím VPN.

Krok 6: Software WRTG

Software WRTG
Software WRTG

Firmware je postaven na nejlepší verzi: DD-WRT v24-sp2 (08/12/10) std-nokaid (revize SVN 14929) Existují i jiné obrázky, jako je VPN, která obětuje modul ext2, aby ušetřil místo a přitom měl stále mmc kernelmodul (LoL). Optware 2 je ukončený, ale stále užitečný balíček nástrojů, který rozšiřuje základní funkce DD-WRT:

-Je to základní distribuce linuxu z ochromené instalace busyboxu.

-Poskytuje bash a další skořápky.

-Poskytuje mnoho goddies jako: htop, netcat, tcpdump, ngrep, mc

-Poskytuje serverové služby jako: samba, hvězdička, vsftpd, jabber server

Softwarové balíčky jsou však staré, plné chyb a zranitelností. Publikování a obrázek zde by byl stejný jako instalace Window $ 98, proto zatím nebudu nic publikovat, ale napíšu si krok za krokem, jak nastavit kartu OptWare 2 SDCard.

V budoucnu plánuji vytvořit nové linuxové distro (SnowGlobe Linux) s novými balíčky pro toto zařízení a zveřejnit to.

1, musí být povolen JFFS2, bez ohledu na to, že na něm není žádné volné místo:

/dev/mtdblock/4 128K 128K 0 100%/jffs

2, dělení SDCARD. Zde je chytrý trik:

14 GB nebo cokoli jiného, co chceme mít pro první datový oddíl pro ddwrt 100-500mb druhý oddíl (EXT2) pro obnovu

Například:

Disk /dev /sde: 14,5 GiB, 15523119104 bytů, 30318592 sektorů

Jednotky: sektory 1 * 512 = 512 bajtů Velikost sektoru (logické/fyzické): 512 bajtů/512 bajtů Velikost I/O (minimální/optimální): 512 bajtů/512 bajtů Typ štítku: dos Identifikátor disku: 0x6ad48986 Spuštění zařízení Začátek Konec Sektory Velikost Id Typ /dev /sde1 2048 29362175 29360128 14G 83 Linux /dev /sde2 29362176 30318591 956416 467M 83 Linux

Vytvořte souborové systémy:

mkfs.ext2 -L SnowGlobe -data /dev /sde1

mkfs.ext2 -L SnowGlobe -recovery /dev /sde2

Ladit souborové systémy:

tune2fs -c0 -i0 -m0 /dev /sde1

tune2fs -c0 -i0 -m0 /dev /sde2

Při startu bude systémem automaticky sestaven pouze první oddíl! Myšlenkou oddílu pro obnovení je, že WRT54G nemá místo pro uložení fdisku kdekoli jinde. Pokud tedy dojde k nečistému vypnutí a dojde k nesrovnalostem souborového systému, jediným způsobem, jak jej opravit, je mít kopii fdisk (a požadované libs ke spuštění) na druhém oddílu, který bude připojen pouze příležitostně jako čtení pouze ke spuštění fsck, pokud potřeboval. Jinak by bylo nutné kartu vyjmout a vložit do počítače k opravě …

3, montáž

Pokud správně vložíte již rozdělenou, naformátovanou kartu a wrtg, je velmi pravděpodobné, že první oddíl bude automaticky připojen:

/dev/mmc/disk0/část1 13,8 G 59,6 M 13,7 G 0%/mmc

Opt musí být nyní připojen vazbou:

mount -o bind /mmc / /opt /

4, instalační skript OWRT2

Než začnete kontrolovat, zda defgw, dns vše dobré.

wget https://www.3iii.dk/linux/optware/optware-install-… -O -| tr -d '\ r'> /tmp/optware-install.sh

sh /tmp/optware-install.sh

Pokud skript nemůže získat, je to proto, že busybox wget selže. Bude to fungovat s ww od ww, ale hej, chcete si nainstalovat owrt…

Výstup by měl vypadat takto:

Kontrola konfigurace systému…

Použití 192.168.1.1 jako výchozí brány. Použití následujících jmenných serverů: nameserver 192.168.1.30 Varování: místní server jmen se liší od brány! Chcete -li to opravit, zkontrolujte konfiguraci nebo zadejte: sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf. Instalace balíčku uclibc-opt_0.9.28-13_mipsel.ipk… Připojení k ipkg.nslu2-linux.org [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************* ***************************************** | 832 KB 00:00:00 ETA Aktualizace /opt/etc/ld.so.cache/opt/sbin/ldconfig: nelze vytvořit /opt/etc/ld.so.cache~ (žádný takový soubor nebo adresář) Instalační balíček ipkg-opt_0.99.163-9_mipsel.ipk… Připojení k ipkg.nslu2-linux.org [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | ************** ******************************** | 75896 00:00:00 ETA Stahování https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Nafukování https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Aktualizováno seznam dostupných balíčků v/opt/lib/ipkg/lists/optware Úspěšně ukončen. Instalace uclibc-opt (0.9.28-12) na/opt/… Stahování https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… balíček uclibc-opt navrhuje instalaci ipkg-opt Konfigurace uclibc-opt Aktualizace /opt/etc/ld.so.cache úspěšně ukončena. Instalace ipkg-opt (0.99.163-9) na/opt/… Stahování https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Konfigurace ipkg-opt Úspěšně ukončeno.

5, Chyba cesty:

Cestu MUSÍTE exportovat pomocí:

export PATH = "/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:/bin:/usr/bin:/sbin:/usr/sbin:/jffs/sbin:/ jffs/bin:/jffs/usr/sbin:/jffs/usr/bin:/mmc/sbin:/mmc/bin:/mmc/usr/sbin:/mmc/usr/bin"

jinak ipkg nic neudělá!

6, Ověřte ipkg:

aktualizace ipkg

Měl by výstup:

Stahování

Nafouknutí https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Aktualizovaný seznam dostupných balíčků v/opt/lib/ipkg/lists/optware Úspěšně ukončeno.

7, Instalace balíčků:

ipkg install bash htop mc openvpn tcpdump vim bzip2 bc e2fsprogs findutils gawk grep gzip less make ntfs-3g openssl perl php psmisc psutils

samba36 sed tar unrar unzip vnstat vsftpd wget whois zip ncftp

8, Seznam nainstalovaných balíčků:

ipkg-opt list_installed

Vytváření balíčků na routeru se nedoporučuje z důvodu nedostatku zdrojů. Za tímto účelem ve Vmware/Vbox/KVM nastavte oddělené prostředí mezipoměňování mips.

Potřebné věci:

-Debian 7 wheezy 64bit hostitelský OS

-OpenWrt-SDK-Linux-x86_64-1.tar.bz2->

openwrt.org/docs/guide-developer/obtain.fi…

Neztrácejte čas pokusem o vlastní kompilaci SDK, poskytovaná binární SDK je dost dobrá.

Vytvořte jednoduchou aplikaci helloworld

#include int main (void) {printf ("Sakra! O 'světe, proč se můj kód nezkompiluje? / n / n"); návrat 0; }

./staging_dir_mipsel/mipsel-linux-uclibc/bin/gcc -lpthread ahoj.c -o ahoj

Pokud vše proběhne správně, měli byste nyní mít spustitelný soubor mips:

dobrý den: ELF 32bitový spustitelný LSB, MIPS, MIPS32 verze 1 (SYSV), dynamicky propojený (používá sdílené libs), neodizolovaný

Krok 7: Software Arduino

Níže si můžete stáhnout celý zdrojový kód. Je to docela jednoduché, může ovládat 2 relé a některé RC zástrčky prostřednictvím rádia 433 MHz. Můžete jej snadno rozšířit, například: přidat další přepínače RC.

Krok 8: Uzavření a seznam úkolů

Seznam uzavření a úkolů
Seznam uzavření a úkolů

WRT54G je vynikající hardware, takže veškerá práce investovaná do tohoto projektu stojí za to, kromě toho může být štít NLD Wrtg použitelný v budoucích verzích hardwaru.

Vzhledem k tomu, že spotřeba energie WRTG je nižší než u Raspberry PI, solární napájení routeru může být také dobrým upgradem a pomocí Arduina můžeme sledovat každý detail procesu solárního nabíjení (napětí baterie, napětí panelu, spotřeba). V sérii WRTG budu pokračovat solárními hacky později.

Bylo by skvělé najít způsob, jak programovat Arduino přímo z WRTG (to by vyžadovalo metodu pro resetování Arduina).

Lidé s dovednostmi 3D, Makerbot jsou více než vítáni při navrhování vlastní krycí desky (s konektory mé desky) pro přední stranu nebo při přepracování kompletní plastové přední části routeru.

UPDATE: Na oslavu přechodu architektury MIPS na Open Source jsem aktualizoval tutoriál o tom, jak crossbuildovat jednoduché C programy na WRTG.

Ať žijí MIPS!:)

typ systému: Broadcom BCM5352 chip rev 0 procesor: 0 model CPU: BCM3302 V0.8 BogoMIPS: 199,47 čekací instrukce: žádné mikrosekundové časovače: ano tlb_entries: 32 vektor přerušení navíc: žádný hardwarový hlídací bod: ne VCED výjimky: není k dispozici VCEI výjimky: není k dispozici

Doporučuje: