Obsah:

NLDWRTG rozširujúca doska ULTIMATE WRT54G: 8 krokov (s obrázkami)
NLDWRTG rozširujúca doska ULTIMATE WRT54G: 8 krokov (s obrázkami)

Video: NLDWRTG rozširujúca doska ULTIMATE WRT54G: 8 krokov (s obrázkami)

Video: NLDWRTG rozširujúca doska ULTIMATE WRT54G: 8 krokov (s obrázkami)
Video: Save your money! Don’t buy the wrong Xbox Storage 🤑 2024, November
Anonim
NLDWRTG rozširujúca doska ULTIMATE WRT54G
NLDWRTG rozširujúca doska ULTIMATE WRT54G
NLDWRTG rozširujúca doska ULTIMATE WRT54G
NLDWRTG rozširujúca doska ULTIMATE WRT54G

Modifikujem smerovače WRT54G od roku 2006, ale do minulého roku som nemal čas na to, aby som pre nich skutočne navrhol vyhradenú dosku. Tento hardvér je v čase písania textu stále jedným z naj hacknutejších smerovačov wifi a zaslúži si byť nažive.

Krok 1: Stručný prehľad radu Linksys WRT54G

Krátky prehľad radu Linksys WRT54G
Krátky prehľad radu Linksys WRT54G

en.wikipedia.org/wiki/Linksys_WRT54G_serie…

Na trhu je veľa rôznych verzií, takže sa pozrime na to, čo je možné zmeniť:

-WRT54G 2.0/2.1/2.2 -> Aj keď sú všetky módy možné, veľká stará základná doska zaberá všetok priestor v skrinke, ak upravíte túto sériu, musíte svoj obvod premiestniť mimo krabice alebo vytvoriť úplne nový kryt (srsly nestojí za námahu)

-WRT54G 4.0 Prepnuté na nový SoC -> Toto bola prvá doska, na ktorej bola predstavená základná doska v tvare L, takže je to prvá verzia, kde môžete využiť výhody môjho štítu a vložiť ho do puzdra.

-WRT54GL 1.0/1.1-> Spoločnosť Linksys v roku 2005 uviedla na trh WRT54GL (najpredávanejší router všetkých čias) na podporu firmvéru tretích strán založeného na Linuxe po tom, čo bol pôvodný rad WRT54G zmenený z Linuxu na VxWorks, počnúc verziou 5. WRT54GL je technicky novým vydaním verzie 4 WRT54G. Tento model je KRÁĽOM WRTG. Na trhu je veľa použitých routerov, takže ak máte na výber, ktorý typ kúpiť, VŽDY si kúpte WRT54GL.

-WRT54G 5.0 a novší -> Používa operačný systém VxWorks a zníženú pamäť Flash; nie je kompatibilný s väčšinou firmvéru tretích strán, aj keď nástroj „VxWorks killer“umožňuje načítať do tejto a budúcich verzií určitý firmvér od iného dodávateľa s otvoreným zdrojovým kódom. Linksys tu urobil zlý obrat a v podstate zničil úplne dobrý produkt. Aj keď je možné ich upraviť, priestor na smerovači je taký malý (2 MB), že sa doň zmestí iba mikro firmvér DD-WRT, ktorý do značnej miery nemôže robiť nič nad rámec bežných funkcií smerovania (žiadna VPN, žiadne smbfs/cifs, žiadny NFS, nie mmc, nie ext2). Podarilo sa mi vytvoriť jadrá pre túto sériu a vtesnať 1-1 požadovaný modul do nákladov na vyradenie ostatných. Nestojí to za váš čas a úsilie, NEKUPUJTE tieto smerovače.

S neskoršou sériou WRT prešiel Linksys napríklad na architektúru ARM a WRT1200 AC má dvojjadrový procesor ARM 1,3 GHz. Mám však zlé skúsenosti s týmito smerovačmi, aj keď som vyskúšal viacero verzií OpenWRT (teraz LEDE), smerovače môžu náhodne zamrznúť. Očakávam viac ako 300 dní prevádzky unixových zariadení.

Krok 2: Rozšírenie funkčnosti

Rozšírenie funkčnosti
Rozšírenie funkčnosti

Dobre, aké hacky môžete robiť s týmto routerom:

1, Pridajte 2x sériové porty -> čo môže prísť vhod, ak máte ďalšie servery na vzdialenom mieste a chcete sa k ich biosu pripojiť pomocou sériovej linky alebo iných smerovačov, swtiches, ktoré to umožňujú

2, Pridajte 1 port USB1.0 -> je možné použiť na pripojenie tlačiarne, externého pevného disku atď. (Tento režim som nikdy nerobil, takže nebude súčasťou písania)

3, Pridajte externú kartu SD na ukladanie dát, čím sa môže malá 16 MB flash pamäť vášho routera rozšíriť na 16/32/…+GB. Nemal som problém s používaním týchto veľkostí kariet SD a tiež žiadny problém s používaním úplne nových odolných kariet CLASS 10. Ak ste experimentovali s tým, aké je obmedzenie počtu kariet na modely WRTG, zanechajte komentár nižšie.

4, Pridajte arduino na ovládanie svojho domova, relé, rcswitche

Pridanie arduina v zásade otvára neobmedzené množstvo možností: ovládanie robota, ovládanie infračervených zariadení na dohľad (televízory, videorekordéry, DVD, projektory, klimatizácia), pripojenie ton zariadení k lacným bezdrôtovým prepínačom s frekvenciou 433 MHz, komunikácia s inými arduinos, raspis, pridanie Xbee atď. atď.

Aj keď to všetko bolo možné vykonať s Raspberry PI + Arduino a rozšíreniami, router WRT54G považujem za spoľahlivejší ako raspis. Mám tieto smerovače v podobných konfiguráciách s viac ako 1 rokom (!) Uptime, nemohol som to isté povedať o raspise, kde bol môj najvyšší čas prevádzky okolo 240 dní na Raspi 1, potom sa karta SD v systéme vzdala, aj keď C Riadiaci kód Arduino bol načítaný do pamäte, takže som sa s náhradou nemusel ponáhľať, pretože riadiaci uzol bol stále dokonale funkčný:))

Krok 3: Zoznam hardvéru

Zoznam hardvéru
Zoznam hardvéru

Prikladám rozloženie dosky vo formáte SVG aj EasyEda. Ak chcete postaviť projekt, budete potrebovať nasledujúce komponenty: 1x LM7805 Regulátor napätia

2x krytka pre vreg 1uF 10uF (10PCS elektrolytické kondenzátory 25V 35V 50V 1uF ~ 1000uF rôznej hodnoty a napätia)

1x 4 -pinový kábel zo zariadenia SDcar na dosku (10 -násobný prepojovací kábel 2/3/4/5/6/7pinový kábel Dupont, 20 cm pre Arduino)

2x jazýčkové relé DIP051A7212D

1 x zásuvka RS232 (20 ks 9-pinový konektor D-Sub DB9 s konektorom PCB s pravým uhlom WT7n)

1x Ovládač/prijímače MAX 233 (10 ks Max233 Max233cpp Rs232 Rs-232 Ic Nový X)

1 x 10 -kolíkový konektorový kábel (5 ks rozstup 2 mm, 2 x 5 kolíkov, 10 kolíkov, 10 drôtov, plochý plochý kábel IDC, 10 cm)

1 x 10 pinová zásuvka (20 ks 2,54 mm 2 x 5 kolíkových 10 kolíkových zástrčkových konektorov PCC s konektorom PCB v konektore)

1 x konektorový konektor (10 ks 1*40 kolíkový jednoradový zásuvný konektor 2,54 mm s rozbitným konektorom z Arduino 2017)

1x SD karta (môže byť stará veľká SD alebo nová microSD s prevodníkom, do 32 GB by mala fungovať, nad tým som netestoval karty)

1x 3v5v TTL prevodník (5x prevodník logickej úrovne 3,3V na 5V TTL obojsmerný pre Arduino Raspberry pi)

1x optočlen 4n35

1x Čítačka zásuvkových zásuvkových modulov pre karty SD pre čítanie a zápis Arduino ARM MCU

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

1x moduly RX a TX ich kúpte ako kombinovaný balíček (5 kusov 433 MHz RF vysielača a prijímača pre bezdrôtové diaľkové ovládanie Arduino)

Krok 4: Návrh hardvéru

Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn

-Dosky sa skrutkujú do hlavnej čiernej spodnej časti spodnej dosky

-MAX233 bol vybraný nad MAX232, takže pre PC nebudú potrebné žiadne ďalšie krytky-> Sériový prevodník WRTG -Všetky komponenty sú v 1 rade, takže vpredu sa dá namiesto vŕtania viacerých otvorov vyrezať jednoduchý obdĺžnik, alternatívne pekná krycia doska (alebo úplne nové puzdro WRTG) by bolo možné navrhnúť pomocou programu Makbot

-Arduino ponúka zásuvku micro USB smerujúcu k prednému panelu na externé programovanie.

-Na základe Arduino Promicro (arduino sa napája z 12 V vstupu routera WRT54G (cez regulátor napätia) je napätie v otvorenom obvode adaptéra asi 16 V!)

-Promicro má skutočné USB, nie zdieľané odpadky, takže WRTG/dev/tts/1 je možné pripojiť k hardvérovému UART spoločnosti Promicro

-Sériová komunikácia cez/dev/tts/0 medzi PC WRTG

-RF 433Mhz prijímač + vysielač (vysielač môže mať 12V pre vyšší dosah)

-Na predný panel je možné pridať IR vysielač a prijímač

-Na predný panel je možné pridať ďalšie diódy LED (indikujú Rx/Tx pre RF, IR, smerovač/indikátor komunikátora)

Mohol by som navrhnúť dosku s konvertorom mini buck, ale využil som prístup lineárneho regulátora napätia, pretože som to mal v ruke. V nejakom bode obvodu som našiel 5V, ale keď som naň poklepal, router bol nepoužiteľný (pravdepodobne nedokázal poskytnúť množstvo prúdu, ktoré potrebuje doska arduino), preto som pristúpil k ďalšiemu prístupu vreg.

Konvertor TTL 3v5v je tu, aby poskytoval správnu konverziu volatility (používam 5V arduino promicro model, ktorý na svojom hardvérovom porte UART používa 5V, preto je potrebná konverzia úrovne napätia). V minulosti som však upravil smerovače pridaním Arduino Nanos, Micros bez prevodníka a nemal som problém, pretože port TTY WRTG je odolný voči 5 V, ale to neznamená, že by ste ho mali prevádzkovať z tohto napätia.

4n35 bol tiež predstavený, aby sa zbavil hluku pochádzajúceho z externej strany počítača. Tento komponent som v minulosti nepoužíval, ale môže to byť aj preto, že prenosný počítač, ktorý som používal počas testov, bol chybný.

10 -kolíkový konektorový kábel sa stará o väčšinu pripojení, musíte sa však uistiť, že sú zásuvky nainštalované správne.

Ako je znázornené na obrázku na sériovom porte

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

Pin 9: GND + Pin 10: GND <= Na opačnej strane sú NEGATÍVNE pripojenia k ľavej strane konektora na štíte NLDWRTG

Pri pripájaní vodičov medzi čítačku SDCARD a WRTG postupujte takto:

www.jbprojects.net/articles/wrt54gl_mods/

Príslušné kolíky:

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

Krok 5: Obmedzenia

Obmedzenia
Obmedzenia

CPU WRT54GL nie je najsilnejší (Broadcom BCM5352 @ 200 MHz), dá sa pretaktovať na 250 MHz (neodporúča sa:)), takže nečakajte, že na ňom spustíte SETI @ HOME. Router má iba rozhrania 100 Mbit/s a na rozdiel od toho, čo nájdete na mnohých miestach, tento hardvér *NEPODPORUJE siete VLAN 802.1q *. Je to len jednoduchá VLAN založená na porte, prosím, nedávajte WRTG do siete prenášajúcej VLAN, nemôže to urobiť.

Zvlášť užitočnou aplikáciou je použiť router ako klienta VPN na pripojenie k centrálnemu umiestneniu. Aj keď je úplne použiteľný aj pre server VPN, neočakávajte od neho veľký výkon.

Tu sú niektoré z mojich výsledkov s WRT54GL v1.1 s použitím OpenVPN ako klienta.

Maximálna priepustnosť tunela: 500 kbit/s až 50 kbit/s nahor

Maximálny smerovací výkon bez VPN z WAN -> LAN 28 mbit/s

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

Stále existuje veľa miest s nižšou celkovou šírkou pásma než tieto (ISDN, reklamy, káblové siete, satelity atď.), Čo tento smerovač dokáže dokonale uspokojiť.

Problémy zvyčajne prichádzajú z vloženia príliš veľkého počtu bezdrôtových klientov na tieto smerovače. Videl som za tie roky veľa nastavení v kaviarňach, hoteloch, reštauráciách, kde hodili jeden wifi router na pult a nazvali ho deň, v očakávaní, že dokáže obslúžiť 10 a viac ľudí. Na konci dostanú úplne nepoužiteľný zážitok z wifi, pretože celková teoretická šírka pásma pre tento smerovač 802.11G je 51 mbit/s, a to je pre každého, povedzme, skutočná hodnota je okolo 30 mbit/s. Pre 10 osôb, čo je v najlepšom prípade 3 mbit/s na používateľa, čo pre dnešné aplikácie náročné na šírku pásma (streamovanie videa/zvuku, stránky 2.0 plné veľkých obrázkov atď.) Nestačí.

Ako som už uviedol, zmyslom tohto hacku je diaľkové ovládanie, ktoré by nevyužilo viac ako pár kbit/s cez VPN.

Krok 6: Softvér WRTG

Softvér WRTG
Softvér WRTG

Firmvér je postavený na najlepšej verzii: DD-WRT v24-sp2 (08/12/10) std-nokaid (revízia SVN 14929) Existujú aj ďalšie obrázky ako VPN, ktoré obetujú modul ext2, aby ušetrili miesto, pričom majú stále mmc kernelmodul (LoL). Optware 2 je ukončený, ale stále užitočný balík nástrojov, ktorý rozširuje základné funkcie DD-WRT:

-To robí základnú distribúciu Linuxu zo zmrzačenej inštalácie busyboxu.

-Poskytuje bash a iné škrupiny.

-Poskytuje veľa goddies ako: htop, netcat, tcpdump, ngrep, mc

-Poskytuje serverové služby ako: samba, hviezdička, vsftpd, jabber server

Softvérové balíky sú však staré, plné chýb a zraniteľností. Publikovanie a obrázok tu budú rovnaké ako pri inštalácii okna za 98 dolárov, preto zatiaľ nič nezverejním, ale napíšem si krok za krokom, ako nastaviť kartu OptWare 2 SDCard.

V budúcnosti plánujem vytvoriť nové linuxové distro (SnowGlobe Linux) s novými balíkmi pre toto zariadenie a zverejniť to.

1, musí byť povolený JFFS2, bez ohľadu na to, že na ňom nie je žiadne voľné miesto:

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

2, rozdelenie karty SDCARD. Tu je šikovný trik:

14 GB alebo čokoľvek, čo chceme mať pre prvý dátový oddiel pre ddwrt 100-500 MB druhý oddiel (EXT2) na obnovu

Napríklad:

Disk /dev /sde: 14,5 GiB, 15523119104 bajtov, 30318592 sektorov

Jednotky: sektory 1 * 512 = 512 bajtov Veľkosť sektora (logické/fyzické): 512 bajtov/512 bajtov Veľkosť I/O (minimálna/optimálna): 512 bajtov/512 bajtov Typ štítku s názvom: dos Identifikátor disku: 0x6ad48986 Spustenie zariadenia Začiatok Koniec Sektory Veľkosť Id Typ /dev /sde1 2048 29362175 29360128 14G 83 Linux /dev /sde2 29362176 30318591 956416 467M 83 Linux

Vytvorte súborové systémy:

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

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

Ladiť súborové systémy:

tune2fs -c0 -i0 -m0 /dev /sde1

tune2fs -c0 -i0 -m0 /dev /sde2

Pri štarte bude systém automaticky zostavovať iba prvý oddiel! Myšlienka oddielu na obnovenie je, že WRT54G nemá miesto na uloženie disku fdisk kdekoľvek inde. Ak teda dôjde k nečistému vypnutiu a dôjde k nezrovnalostiam v súborovom systéme, jediným spôsobom, ako to opraviť, je mať kópiu súboru fdisk (a spustenia požadovaných libs) na druhom oddiele, ktorý bude iba príležitostne pripojený ako iba na čítanie na spustenie programu fsck, ak potrebné. V opačnom prípade by bolo potrebné kartu vytiahnuť a vložiť do počítača na opravu …

3, montáž

Ak správne zavediete už rozdelenú, naformátovanú kartu a wrtg, je pravdepodobné, že prvý oddiel bude automatizovaný:

/dev/mmc/disk0/časť1 13,8G 59,6M 13,7G 0%/mmc

Opt musí byť teraz viazaný:

mount -o bind /mmc / /opt /

4, inštalačný skript OWRT2

Predtým, ako začnete kontrolovať, či je všetko v poriadku, je všetko v poriadku.

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

sh /tmp/optware-install.sh

Ak nemôže získať skript, je to preto, že busybox wget zlyhá. Bude to fungovať s programom ww owrt, ale hej, chcete si nainštalovať swrt …

Výstup by mal vyzerať takto:

Kontroluje sa konfigurácia systému…

Ako predvolenú bránu sa používa 192.168.1.1. Použitie nasledujúceho menného servera: nameserver 192.168.1.30 Varovanie: lokálny server názvov je iný ako brána! Skontrolujte konfiguráciu alebo zadajte: sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf, aby ste to napravili. Inštalácia balíka uclibc-opt_0.9.28-13_mipsel.ipk… Pripojenie k serveru ipkg.nslu2-linux.org [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************* ***************************************** | 832 KB 00:00:00 Aktualizácia ETA /opt/etc/ld.so.cache/opt/sbin/ldconfig: nemožno vytvoriť /opt/etc/ld.so.cache~ (žiadny taký súbor alebo adresár) Inštalácia balíka ipkg-opt_0.99.163-9_mipsel.ipk… Pripojenie k ipkg.nslu2-linux.org [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | *************** ****************************** | 75896 00:00:00 ETA Sťahovanie https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Nafúknutie https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Aktualizované zoznam dostupných balíkov v/opt/lib/ipkg/lists/optware Úspešne ukončený. Inštalácia uclibc-opt (0.9.28-12) do/opt/… Sťahovanie balíka https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… balík uclibc-opt navrhuje nainštalovať ipkg-opt Konfigurácia uclibc-opt Aktualizácia /opt/etc/ld.so.cache bola úspešne ukončená. Inštalácia ipkg-opt (0.99.163-9) do/opt/… Sťahovanie https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Konfigurácia ipkg-opt Úspešne ukončené.

5, Chyba cesty:

Cestu MUSÍTE exportovať pomocou:

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"

inak ipkg nič neurobí!

6, Overte ipkg:

aktualizácia ipkg

Výstup by mal:

Sťahovanie

Nafúknutie https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Aktualizovaný zoznam dostupných balíkov v adresári/opt/lib/ipkg/lists/optware Úspešne ukončené.

7, Inštalácia balíkov:

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, Zoznam nainštalovaných balíkov:

ipkg-opt list_installed

Vytváranie balíkov na smerovači sa neodporúča z dôvodu nedostatku zdrojov. Za týmto účelom nastavte vo Vmware/Vbox/KVM samostatné prostredie krížovej kompilácie mips.

Potrebné veci:

-Debian 7, tichý 64bitový hostiteľský operačný systém

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

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

Nestrácajte čas pokusom o zostavenie SDK sami, poskytnutá binárna SDK je dostatočne dobrá.

Vytvorte jednoduchú aplikáciu helloworld

#include int main (void) {printf ("Sakra! O 'svet, prečo sa môj kód neskompiluje? / n / n"); návrat 0; }

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

Ak je všetko v poriadku, mali by ste mať spustiteľný súbor mips:

ahoj: 32-bitový spustiteľný súbor ELF LSB, MIPS, MIPS32 verzia 1 (SYSV), dynamicky prepojený (používa zdieľané knižnice), neodizolovaný

Krok 7: Softvér Arduino

Úplný zdrojový kód si môžete stiahnuť nižšie. Je to celkom jednoduché, môže ovládať 2 relé a niektoré RC konektory prostredníctvom rádia 433 MHz. Môžete ho ľahko rozšíriť napr.: Pridať ďalšie prepínače na diaľkové ovládanie.

Krok 8: Zatvorenie a zoznam úloh

Zatvorenie a zoznam úloh
Zatvorenie a zoznam úloh

WRT54G je vynikajúci hardvér, takže všetka práca investovaná do tohto projektu stojí za to, okrem toho štít NLD Wrtg môže byť použiteľný v budúcich verziách hardvéru.

Pretože spotreba energie WRTG je nižšia ako u Raspberry PI, solárne napájanie smerovača môže byť tiež dobrou inováciou a pomocou Arduina môžeme monitorovať každý detail procesu solárneho nabíjania (napätie batérie, napätie panelu, spotreba). V sérii WRTG budem pokračovať solárnymi hackami neskôr.

Bolo by skvelé nájsť spôsob, ako naprogramovať Arduino priamo z WRTG (to by vyžadovalo metódu resetovania Arduina).

Ľudia s 3D, Makerbot zručnosťami sú vítaní navrhnúť vlastnú kryciu dosku (s konektormi na mojej doske) pre prednú časť alebo prepracovať kompletnú plastovú prednú časť smerovača.

AKTUALIZÁCIA: Na oslavu toho, že sa architektúra MIPS stáva Open Source, som aktualizoval návod, ako krížovo zostaviť jednoduché programy C na WRTG.

Nech žijú MIPS!:)

typ systému: Broadcom BCM5352 chip rev 0procesor: 0 model CPU: BCM3302 V0.8 BogoMIPS: 199,47 čakacia inštrukcia: nie mikrosekundové časovače: áno tlb_entries: 32 extra vektor prerušenia: žiadny hardvér watchpoint: nie VCED výnimky: nie je k dispozícii VCEI výnimky: nie je k dispozícii

Odporúča: