Tartalomjegyzék:

NLDWRTG az ULTIMATE WRT54G bővítőlap: 8 lépés (képekkel)
NLDWRTG az ULTIMATE WRT54G bővítőlap: 8 lépés (képekkel)

Videó: NLDWRTG az ULTIMATE WRT54G bővítőlap: 8 lépés (képekkel)

Videó: NLDWRTG az ULTIMATE WRT54G bővítőlap: 8 lépés (képekkel)
Videó: Linksys WRT54GL . DEBRICKING 2024, Július
Anonim
NLDWRTG az ULTIMATE WRT54G bővítőkártya
NLDWRTG az ULTIMATE WRT54G bővítőkártya
NLDWRTG az ULTIMATE WRT54G bővítőkártya
NLDWRTG az ULTIMATE WRT54G bővítőkártya

2006 óta módosítom a WRT54G útválasztókat, de tavalyig nem volt időm arra, hogy ténylegesen tervezzek egy dedikált táblát. Ez a hardver még mindig az egyik leginkább feltörhető wifi útválasztó az írás idején, és megérdemli, hogy életben tartsák.

1. lépés: A Linksys WRT54G sorozat rövid áttekintése

A Linksys WRT54G sorozat rövid áttekintése
A Linksys WRT54G sorozat rövid áttekintése

en.wikipedia.org/wiki/Linksys_WRT54G_serie…

Rengeteg különböző verzió létezik a piacon, ezért nézzük meg, melyek módosíthatók:

-WRT54G 2.0/2.1/2.2 -> Bár minden mod lehetséges, a nagy régi alaplap elfoglalja az összes helyet a tokban, ha módosítja ezt a sorozatot, akkor az áramkört a dobozon kívülre kell helyeznie, vagy teljesen új burkolatot kell létrehoznia (nem éri meg az erőfeszítést)

-WRT54G 4.0 Új SoC -re váltott -> Ez volt az első tábla, ahol bemutatták az L alakú alaplapot, így ez az első verzió, ahol kihasználhatja a pajzsom előnyeit, és behelyezheti a tokba

-WRT54GL 1.0/1.1-> A Linksys 2005-ben kiadta a WRT54GL-t (minden idők legkeresettebb útválasztóját), hogy támogassa a harmadik féltől származó, Linuxon alapuló firmware-t, miután az eredeti WRT54G vonalat Linuxról VxWorks-ra váltották, az 5. verziótól kezdve. A WRT54GL technikailag a 4 -es WRT54G verzió újrakiadása. Ez a modell a WRTG -k KIRÁLYA. Rengeteg használt útválasztó található a piacon, így ha választhat a vásárolni kívánt típus mellett, MINDIG vásárolja meg a WRT54GL -t.

-WRT54G 5.0 és újabb -> VxWorks operációs rendszert és csökkentett Flash memóriát használ; nem kompatibilis a legtöbb harmadik féltől származó firmware-rel, bár a "VxWorks killer" segédprogram lehetővé teszi néhány harmadik féltől származó nyílt forráskódú firmware betöltését erre és a jövőbeli verziókra. A Linksys itt rossz fordulatot tett, és lényegében tönkretett egy teljesen jó terméket. Bár ezeket módosítani is lehet, az útválasztón olyan kicsi a hely (2 MB), hogy csak a DD-WRT mikro firmware-be fér bele, amely jóformán nem tehet mást a szokásos útválasztási funkciókon túl (nincs VPN, nincs smbfs/cifs, nincs NFS), nincs mmc, nincs ext2). Sikerült magokat létrehoznom ehhez a sorozathoz, és be kell szorítanom 1-1 szükséges modult a mások kivételének költségeire. NEM éri meg az idejét és erőfeszítését, NE vásárolja meg ezeket az útválasztókat.

A későbbi WRT sorozatú Linksys ARM architektúrára váltott, például a WRT1200 AC 1,3 GHz-es kétmagos ARM processzorral rendelkezik. Rossz tapasztalataim vannak azonban ezekkel az útválasztókkal, még azután is, hogy több OpenWRT (most LEDE) verziót is kipróbáltak, az útválasztók véletlenszerűen lefagyhatnak. 300+ napos üzemidőt várok unix eszközökről.

2. lépés: A funkcionalitás bővítése

A funkcionalitás bővítése
A funkcionalitás bővítése

Nos, milyen trükköket lehet csinálni ezzel a routerrel:

1, Adjon hozzá 2x soros portot -> ami hasznos lehet, ha más szerverei vannak egy távoli helyen, és soros vonalon vagy más útválasztón keresztül szeretne csatlakozni a bioszhoz.

2, 1 USB1.0 port hozzáadása -> nyomtató, külső merevlemez stb. Csatlakoztatására használható (soha nem csináltam ezt a modot, így nem lesz része az írásnak)

3, Adjon hozzá külső SD -kártyát a tároláshoz, ez megnövelheti az útválasztó kis 16 MB -os flash memóriáját 16/32/…+GB -ra. Nem volt gondom az ilyen méretű SD -kártyák használatával, és nem okozott gondot a vadonatúj, tartós CLASS 10 -es kártyák használata sem. Ha már kísérletezett a WRTG modellekre vonatkozó korlátozásokkal, kérjük, hagyjon megjegyzést alább.

4, Adjon hozzá egy arduino -t otthona, relék, rcswitch -ek vezérléséhez

Az arduino hozzáadása lényegében korlátlan számú lehetőséget nyit meg: robotvezérlés, infravörös eszközök vezérlése a láthatáron (tévék, videomagnók, DVD -k, kivetítők, légkondicionáló), rengeteg eszköz csatlakoztatása olcsó 433 MHz -es vezeték nélküli kapcsolókhoz, kommunikáció más arduino -val, raspis, Xbee hozzáadása stb.

Bár mindez megtehető Raspberry PI + Arduino -val és bővítményekkel, a WRT54G routert megbízhatóbbnak tartom, mint a raspit. Ezek az útválasztók hasonló konfigurációban vannak, több mint 1 éves (!) Üzemidővel, nem mondhatnám el ugyanezt a raspikról, ahol a legmagasabb üzemidőm 240 nap körül volt egy raspi 1 -en, majd az SD -kártya feladta a rendszert, bár a C Az Arduino vezérlőkódot betöltötték a memóriába, így nem kellett sietnem a cserével, mivel a vezérlő csomópont még mindig tökéletesen működött:))

3. lépés: Hardverlista

Hardverlista
Hardverlista

A tábla elrendezését SVG és EasyEda formátumban is csatolom. Ha meg szeretné építeni a projektet, akkor a következő alkatrészekre lesz szüksége: 1x LM7805 feszültségszabályozó

2x sapka vreg 1uF 10uF (10PCS elektrolit kondenzátorok 25V 35V 50V 1uF ~ 1000uF különböző értékű és feszültségű)

1x 4 tűs kábel az SDcar -tól az alaplapig (10 db áthidaló vezeték 2/3/4/5/6/7 Pin 20 mm -es női és női Dupont -kábel Arduino számára)

2x DIP051A7212D Reed relék

1x RS232 dugaszolóaljzat (20 db 9 tűs D-Sub DB9 férfi derékszögű PCB csatlakozó WT7n)

1x MAX 233 (10db Max233 Max233cpp Rs232 Rs-232 illesztőprogram/vevő Ic Új X)

1x 10 tűs csatlakozó kábel (5db 2mm -es hangmagasság 2x5 tűs 10 tűs 10 vezetékes IDC lapos szalagkábel hossza 10cm)

1 db 10 tűs foglalat (20 db 2,54 mm -es 2x5 tűs 10 tűs egyenes férfi burkolt NYÁK -doboz fejléc IDC csatlakozó)

1x csatlakozófej (10db 1*40Pin egysoros hüvely 2,54mm törhető fejléc csatlakozó fr Arduino 2017)

1x SD kártya (lehet régi nagy SD vagy új microsd konverterrel, 32 GB alatti méretben működniük kell, ezen felül nem teszteltem a kártyákat)

1x 3v5v TTL átalakító (5x logikai szintváltó 3.3V-5V TTL kétirányú Arduino Raspberry pi)

1x 4n35 optocsatoló

1x SD kártya modul foglalat olvasó Arduino ARM MCU olvasáshoz és íráshoz

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

1x RX és TX modul kombinált csomagként vásárolja meg őket (5 db 433 MHz -es RF adó és vevőkészlet az Arduino vezeték nélküli távirányítóhoz)

4. lépés: Hardvertervezés

Hardver tervezés
Hardver tervezés
Hardver tervezés
Hardver tervezés
Hardver tervezés
Hardver tervezés

-Táblás csavarok a fő fekete műanyag alsó lemezrészbe

-A MAX233 -at a MAX232 helyett választották, így a PC -hez nem lesz szükség további sapkákra -> WRTG soros átalakító -Minden alkatrész egy sorban van, így egy egyszerű téglalap vágható elöl ahelyett, hogy több lyukat fúrna, vagy egy szép fedőlapot (vagy egy teljesen új WRTG tok) tervezhető lenne a makerbot segítségével

-Az arduino promicros mikro USB aljzat az előlap felé néz a külső programozáshoz.

-Az Arduino Promicro alapján (az arduino a WRT54G router 12V -os bemenetéről táplálkozik (feszültségszabályozó segítségével), az adapter nyitott áramkörének feszültsége körülbelül 16V!)

-A Promicro valódi usb -vel rendelkezik, nem megosztott szeméttel, így a WRTG/dev/tts/1 csatlakoztatható a Promicro hardver UART -jához

-Soros kommunikáció a/dev/tts/0 -n keresztül a PC WRTG között

-RF 433Mhz vevő + adó (az adó 12V -ot vehet igénybe nagyobb tartományban)

-IR adó és vevő vehető fel az előlapra

-További LED -ek is hozzáadhatók az előlaphoz (RF, IR, router/ardu comm jelző esetén jelezze az Rx/Tx értéket)

Megtervezhettem volna a táblát egy mini buck konverterrel, de a lineáris feszültségszabályozó megközelítést választottam, mivel ez a kezemben volt. Találtam 5V -ot az áramkör valamely pontján, de amikor megérinti, használhatatlanná tette az útválasztót (valószínűleg nem tudta biztosítani az arduino kártya szükséges áramerősségét), ezért további vreg megközelítést választottam.

A 3v5v TTL konverter a megfelelő volatage konverziót biztosítja (5V -os arduino promicro modellt használok, amely 5V -ot használ a hardver UART -portján, ezért feszültségszint -átalakítás szükséges). A múltban azonban moderált útválasztókat adtam hozzá Arduino Nanos, Micros konverter nélkül, és nem volt probléma, mivel a WRTG TTY portja 5V -os, de ez nem jelenti azt, hogy ebből a feszültségből kell működtetni.

A 4n35 -öt azért is bemutatták, hogy megszabaduljanak a külső PC oldalról származó némi zajtól, korábban nem használtam ezt az alkatrészt, de az is lehet, hogy a tesztek során használt laptop hibás.

A 10 tűs csatlakozókábel gondoskodik a legtöbb csatlakozásról, de meg kell győződnie arról, hogy helyesen telepíti az aljzatokat.

Ahogy a képen is látható a soros porton

1. tüske: 3.3V + 2. tüske: 3.3V <= A két szélső jobb oldali érintkező (közelebb a LED -ekhez) a POSITIVE csatlakozik az NLDWRTG árnyékoló csatlakozójának jobb oldalához (közel az LM7805 feszültségszabályozóhoz)

9. tüske: GND + 10. tű: GND <= Az ellenkező oldalon vannak a NEGATÍV csatlakozók az NLDWRTG pajzs csatlakozójának bal oldalához

Az SDCARD olvasó és a WRTG közötti vezetékek csatlakoztatásához kövesse az alábbi lépéseket:

www.jbprojects.net/articles/wrt54gl_mods/

A megfelelő csapok:

  • CS -> 1. pont
  • MOSI -> 2. pont
  • SCK -> 5. pont
  • MISO -> 7. pont

5. lépés: Korlátozások

Korlátozások
Korlátozások

A WRT54GL processzora nem a legerősebb (Broadcom BCM5352 @ 200 MHz), 250Mhz -re lehet túlhúzni (nem ajánlott:)), ezért ne várjon SETI @ HOME -t. Az útválasztó csak 100mbit/s interfésszel rendelkezik, és ellentétben azzal, amit sok helyen talál, ez a hardver *NEM támogatja a 802.1q VLAN -okat *. Ez csak egy egyszerű portalapú VLAN, kérjük, ne helyezze a WRTG -t a VLAN -okat szállító hálózatba, ez nem képes rá.

Az egyik különösen hasznos alkalmazás az útválasztó VPN -ügyfélként való használata a központi helyhez való csatlakozáshoz. Bár tökéletesen használható VPN -kiszolgálók számára is, ne várjon tőle nagy teljesítményt.

Íme néhány eredményem egy WRT54GL v1.1 verzióról, amely OpenVPN -t használ ügyfélként.

Maximális alagútáteresztés: 500 kbit/s lefelé 50 kbit/s felfelé

Maximális útválasztási teljesítmény VPN nélkül WAN -> LAN -ról 28 mbit/s

Maximális NAT (Masquerade) teljesítmény VPN nélkül WAN -> LAN 27 mbit/s

Még mindig sok olyan hely van, ahol a teljes sávszélesség alacsonyabb (ISDN, Adsls, kábelhálózat, műhold stb.), Amelyeket ez az útválasztó tökéletesen kielégít.

Általában a problémák abból adódnak, hogy túl sok vezeték nélküli klienst helyeznek ezekre az útválasztókra. Sok beállítást láttam az évek során kávékban, szállodákban, éttermekben, ahol egy wifi routert dobnak a pultra, és naponta hívják, arra számítva, hogy képes lesz 10+ ember kiszolgálására. A végén csak egy teljesen használhatatlan wifi -élményt kapnak, mivel ennek a 802.11G útválasztónak az elméleti sávszélessége 51 mbit/s, és ez mindenkinek szól, mondjuk az igazi 30mbit/s körül van. 10 fő számára, ami a legjobb esetben 3 Mbit/s felhasználónként, ami sehol sem elég a mai sávszélességre éhes (video/audio streaming, nagy képekkel teli web 2.0 oldalak stb.) Alkalmazásokhoz.

Amint azt korábban említettem, ennek a hackelésnek a lényege a távirányító, és az nem használna több mint néhány kbit/s forgalmat VPN -n keresztül.

6. lépés: WRTG szoftver

WRTG szoftver
WRTG szoftver

A firmware a legjobb verzióra épül: DD-WRT v24-sp2 (08/12/10) std-nokaid (SVN 14929-es verzió) Vannak más képek is, mint például a VPN, amely feláldozza az ext2 modult a helytakarékosság érdekében, miközben megvan az mmc kernelmodul (LoL). Az Optware 2 egy megszűnt, de még mindig hasznos segédprogram, amely kiterjeszti az alapvető DD-WRT funkciókat:

-Egyszerű Linux disztribúciót készít a nyomorék busybox telepítésből.

-Bash -t és más kagylókat biztosít.

-Sok istenit biztosít, mint például: htop, netcat, tcpdump, ngrep, mc

-Olyan kiszolgálói szolgáltatásokat nyújt, mint: samba, csillag, vsftpd, jabber szerver

A szoftvercsomagok azonban régiek, hibákkal és biztonsági résekkel vannak tele. A közzététel és a kép itt ugyanaz, mint egy Windows 98 dolláros telepítés biztosítása, ezért egyelőre nem teszek közzé semmit, csak leírom lépésről lépésre, hogyan kell beállítani az OptWare 2 SDCard kártyát.

A jövőben tervezek egy új linux disztribúciót (SnowGlobe Linux) készíteni, friss csomagokkal ehhez az eszközhöz, és azt közzé tenni.

1, engedélyezni kell a JFFS2 -t, nem számít, hogy nincs rajta szabad hely:

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

2, SDCARD particionálás. Íme egy okos trükk:

14 GB vagy bármi, amit szeretnénk az első adatpartícióhoz a ddwrt 100-500mb második partícióhoz (EXT2) a helyreállításhoz

Például:

Lemez /dev /sde: 14,5 GiB, 15523119104 bájt, 30318592 szektor

Egységek: 1 * 512 szektorok = 512 bájt Szektor mérete (logikai/fizikai): 512 bájt/512 bájt I/O méret (minimális/optimális): 512 bájt/512 bájt Lemezcímke típusa: dos Lemezazonosító: 0x6ad48986 Eszköz indításának vége Szektorok Méret Id Típus /dev /sde1 2048 29362175 29360128 14G 83 Linux /dev /sde2 29362176 30318591 956416 467M 83 Linux

Fájlrendszerek létrehozása:

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

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

A fájlrendszerek hangolása:

tune2fs -c0 -i0 -m0 /dev /sde1

tune2fs -c0 -i0 -m0 /dev /sde2

Csak az első partíciót fogja automatikusan rögzíteni a rendszer az indításkor! A helyreállítási partíció mögött az az elképzelés áll, hogy a WRT54G -nek nincs helye fdisk tárolására máshol. Tehát ha tisztátalan leállítás történik, és következetlenségek vannak a fájlrendszerben, az egyetlen módja a javításnak, ha van egy fdisk másolat (és az indításhoz szükséges libs) egy második partíción, amely csak alkalmanként lesz telepítve csak olvasásra az fsck futtatásához, ha szükséges. Ellenkező esetben a kártyát ki kell venni, és számítógépbe kell tenni javításra …

3, szerelés

Ha megfelelően behelyez egy már partícionált, formázott kártyát és wrtg csizmát, akkor valószínűleg az első partíció automatikusan be lesz szerelve:

/dev/mmc/disc0/part1 13.8G 59.6M 13.7G 0%/mmc

Az opciót most be kell kötni:

mount -o bind /mmc / /opt /

4, OWRT2 telepítési szkript

Mielőtt elkezdené ellenőrizni, hogy defgw, dns minden rendben van -e.

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

sh /tmp/optware-install.sh

Ha nem tudja beszerezni a szkriptet, az azért van, mert a busybox wget meghibásodik. Működni fog Owrt wget -jével, de hé, szeretnéd telepíteni az owrt -t …

A kimenetnek így kell kinéznie:

A rendszer konfigurációjának ellenőrzése…

192.168.1.1 használata alapértelmezett átjáróként. A következő névszerver (ek) használata: nameserver 192.168.1.30 Figyelmeztetés: a helyi névszerver eltér az átjárótól! Ellenőrizze a konfigurációt, vagy írja be: sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf a javításhoz. Az uclibc-opt_0.9.28-13_mipsel.ipk csomag telepítése… Csatlakozás az ipkg.nslu2-linux.org-hoz [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************ *********************************** | 832 KB 00:00:00 ETA Frissítés /opt/etc/ld.so.cache/opt/sbin/ldconfig: nem lehet létrehozni /opt/etc/ld.so.cache~ (Nincs ilyen fájl vagy könyvtár) Csomag telepítése ipkg-opt_0.99.163-9_mipsel.ipk… Csatlakozás az ipkg.nslu2-linux.org-hoz [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | ************** ********************************* | 75896 00:00:00 ETA Letöltés https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Feltöltés https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Frissítve az/opt/lib/ipkg/List/optware mappában elérhető csomagok listája Sikeresen befejeződött. Az uclibc-opt (0.9.28-12) telepítése a/opt/… webhelyre Az /opt/etc/ld.so.cache frissítése Sikeresen befejeződött. Az ipkg-opt (0.99.163-9) telepítése a/opt/… fájlba Letöltés https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Az ipkg-opt konfigurálása sikeresen befejeződött.

5, Úthiba:

KELL exportálni az útvonalat a következővel:

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"

különben az ipkg nem tesz semmit!

6, Ellenőrizze az ipkg -t:

ipkg frissítés

Kimenetnek kell lennie:

Letöltés:

Feltöltés https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Az elérhető csomagok frissített listája a/opt/lib/ipkg/list/optware mappában Sikeresen leállítva.

7, Csomagok telepítése:

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, Sorolja fel a telepített csomagokat:

ipkg-opt list_installed

Csomagok építése az útválasztón nem tanácsos az erőforrások hiánya miatt. Állítson be külön mips keresztkomplikációs környezetet Vmware/Vbox/KVM -ben erre a célra.

Szükséges dolgok:

-Debian 7 sípoló 64 bites gazda operációs rendszer

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

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

Ne vesztegesse az időt az SDK saját fordításával, a mellékelt bináris SDK elég jó.

Készíts egy egyszerű helloworld alkalmazást

#include int main (void) {printf ("Hell! O 'world, miért nem fordítja le a kódom? / n / n"); visszatérés 0; }

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

Ha minden jól megy, akkor most futtasson egy mips -et:

sziasztok: ELF 32 bites LSB futtatható fájl, MIPS, MIPS32 1-es verzió (SYSV), dinamikusan összekapcsolva (megosztott libeket használ), nem lecsupaszítva

7. lépés: Arduino szoftver

Az alábbiakban letöltheti a teljes forráskódot. Elég egyszerű, 433 MHz -es rádión keresztül képes vezérelni a 2 relét és néhány RC csatlakozót. Könnyedén meghosszabbíthatja, pl.: adjon hozzá több rc kapcsolót.

8. lépés: Zárás és teendők listája

Zárás és teendők listája
Zárás és teendők listája

A WRT54G kiváló hardver, így az ebbe a projektbe fektetett minden munka megéri, az NLD Wrtg pajzs mellett a jövőbeni hardververziók is használhatók.

Mivel egy WRTG energiafogyasztása alacsonyabb, mint a Raspberry PI -ké, a router napelemes táplálása is jó frissítés lehet, és az Arduino segítségével nyomon követhetjük a napelemes töltési folyamat minden részletét (akkumulátorfeszültség, panelfeszültség, fogyasztás). Később folytatom a WRTG sorozatot napelemes hackekkel.

Nagyszerű lenne megtalálni az Arduino programozásának módját közvetlenül a WRTG -ből (ehhez szükség lenne egy módszerre az Arduino visszaállításához).

A 3D -s, Makerbot -jártassággal rendelkező emberek szívesen terveznek egyedi fedőlapot (a lapom csatlakozóival) az elülső részére, vagy átalakítják az útválasztó teljes műanyag elülső részét.

FRISSÍTÉS: Annak megünneplésére, hogy a MIPS architektúra nyílt forráskódúvá vált, frissítettem az oktatóanyagot az egyszerű C programok WRTG -re történő átépítésével.

Éljen a MIPS!:)

rendszertípus: Broadcom BCM5352 chip rev 0 processzor: 0 cpu modell: BCM3302 V0.8 BogoMIPS: 199.47 várakozási utasítás: nincs mikroszekundumos időzítő: igen tlb_entries: 32 extra megszakítási vektor: nincs hardver figyelési pont: nincs VCED kivétel: nem érhető el VCEI kivétel:

Ajánlott: