Sadržaj:

NLDWRTG ULTIMATE WRT54G ploča za proširenje: 8 koraka (sa slikama)
NLDWRTG ULTIMATE WRT54G ploča za proširenje: 8 koraka (sa slikama)

Video: NLDWRTG ULTIMATE WRT54G ploča za proširenje: 8 koraka (sa slikama)

Video: NLDWRTG ULTIMATE WRT54G ploča za proširenje: 8 koraka (sa slikama)
Video: Kako napraviti Android Smart TV box (1 dio) 2024, Srpanj
Anonim
NLDWRTG ULTIMATE WRT54G ploča za proširenje
NLDWRTG ULTIMATE WRT54G ploča za proširenje
NLDWRTG ULTIMATE WRT54G ploča za proširenje
NLDWRTG ULTIMATE WRT54G ploča za proširenje

Moderiram usmjerivače WRT54G od 2006. godine, ali do prošle godine nisam imao vremena za to dizajnirati namjensku ploču. Ovaj hardver je u vrijeme pisanja ovog članka i dalje jedan od najcjenjivijih wifi usmjerivača i zaslužuje ga održavati u životu.

Korak 1: Kratak pregled Linksys WRT54G serije

Kratak pregled Linksys WRT54G serije
Kratak pregled Linksys WRT54G serije

en.wikipedia.org/wiki/Linksys_WRT54G_serie…

Na tržištu postoji mnogo različitih verzija pa pogledajmo koje se mogu mijenjati:

-WRT54G 2.0/2.1/2.2 -> Iako su svi modovi mogući, stara stara matična ploča zauzima sav prostor u kućištu, ako promijenite ovu seriju, morate pomaknuti svoj krug izvan kutije ili stvoriti potpuno novo kućište (srsly ne vrijedi truda)

-WRT54G 4.0 Prebačen na novi SoC -> Ovo je bila prva ploča na kojoj je predstavljena matična ploča u obliku slova L pa je ovo prva verzija na kojoj možete iskoristiti prednosti mog štita i umetnuti ga u kućište

-WRT54GL 1.0/1.1-> Linksys je 2005. godine objavio WRT54GL (najprodavaniji usmjerivač svih vremena) kako bi podržao firmver treće strane temeljen na Linuxu, nakon što je originalna linija WRT54G prebačena s Linuxa na VxWorks, počevši s verzijom 5. WRT54GL tehnički je ponovno izdanje verzije 4 WRT54G. Ovaj model je KRALJ WRTG -ova. Na tržištu postoji mnogo rabljenih usmjerivača pa ako imate izbor koju vrstu kupiti, UVIJEK kupite WRT54GL.

-WRT54G 5.0 i noviji -> Koristi VxWorks OS i smanjenu Flash memoriju; nije kompatibilan s većinom firmvera drugih proizvođača, iako uslužni program "VxWorks killer" dopušta učitavanje nekog firmvera otvorenog koda treće strane na ovu i buduće verzije. Linksys je ovdje napravio loš zaokret i u biti uništio potpuno dobar proizvod. Iako ih je moguće izmijeniti, prostor na usmjerivaču je tako mali (2 MB) da može stati samo na mikro firmver DD-WRT koji prilično ne može učiniti ništa osim uobičajenih funkcija usmjeravanja (bez VPN-a, bez smbfs/cifs-a, bez NFS-a), bez mmc, bez ext2). Uspio sam stvoriti jezgre za ovu seriju i ugurati 1-1 potreban modul o cijeni vađenja drugih. NE VRIJEDI vaše vrijeme i trud, NE kupujte ove usmjerivače.

S kasnijom WRT serijom Linksys je prešao na ARM arhitekturu, na primjer, WRT1200 AC ima ARM CPU s dvije jezgre od 1,3 GHz. Međutim, imam loše iskustvo s ovim usmjerivačima čak i nakon isprobavanja više verzija OpenWRT -a (sada LEDE), usmjerivači se mogu nasumično zamrznuti. Očekujem 300+ dana produženja rada od unix uređaja.

Korak 2: Proširenje funkcionalnosti

Proširenje funkcionalnosti
Proširenje funkcionalnosti

U redu, koje hakove možete učiniti s ovim usmjerivačem:

1, Dodajte 2x serijska porta -> što može biti korisno ako imate druge poslužitelje na udaljenoj lokaciji i želite se povezati s njihovim bioskopima putem serijske linije ili drugih usmjerivača, što omogućuje

2, Dodajte 1 USB1.0 port -> može se koristiti za povezivanje pisača, vanjskog tvrdog diska itd. (Nikada nisam radio ovaj mod, pa neće biti dio pisanja)

3, Dodajte vanjsku SD karticu za pohranu, ovo može proširiti malu memoriju flash memorije vašeg usmjerivača na 16/32/…+GB. Nisam imao problema s korištenjem ovih veličina SD kartica, a niti s korištenjem potpuno novih izdržljivih kartica KLASE 10. Ako ste eksperimentirali s ograničenjem kartica prema WRTG modelima, ostavite komentar ispod.

4, Dodajte arduino za kontrolu vašeg doma, releje, rcs prekidače

Dodavanjem arduina u biti se otvara neograničena količina mogućnosti: upravljanje robotom, upravljanje infracrvenim uređajima na vidiku (televizori, videorekorderi, DVD -i, projektori, klimatizacija), povezivanje tona uređaja na jeftine bežične prekidače od 433 MHz, komunikacija s drugim arduinima, raspis, dodavanje Xbee itd. itd.

Iako se sve to može učiniti s Raspberry PI + Arduino i proširenjima, smatram da je usmjerivač WRT54G pouzdaniji od raspisa. Imam ove usmjerivače u sličnim konfiguracijama s više od godinu dana (!) Produženog rada, ne bih mogao reći isto o raspisima gdje mi je najveće vrijeme neprekidnog rada bilo oko 240 dana na raspiju 1, zatim je SD kartica odustala od sustava, iako je C Arduino kontrolni kod učitan je u memoriju pa nisam morao žuriti sa zamjenom jer je upravljački čvor još uvijek bio savršeno funkcionalan:))

Korak 3: Popis hardvera

Popis hardvera
Popis hardvera

Prilažem izgled ploče u SVG i EasyEda formatu. Ako želite izgraditi projekt, trebat će vam sljedeće komponente: 1x LM7805 Regulator napona

2x kape za vreg 1uF 10uF (10 kom Elektrolitski kondenzatori 25V 35V 50V 1uF ~ 1000uF razne vrijednosti i naponi)

1x 4 -polni kabel od SDcar -a do ploče (10kom. Premosna žica 2/3/4/5/6/7Pin Dupont kabel od žene do žene 20 cm za Arduino)

2x DIP051A7212D Reed releji

1x utičnica RS232 muški (20 kom. 9-pinski D-Sub DB9, muški pravokutni PCB konektor WT7n)

1x MAX 233 (10 kom Max233 Max233cpp Rs232 Rs-232 upravljački program/prijemnici Ic Novi X)

1x 10 -pinski konektorski kabel (5 kom 2 mm razmak 2x5 pinski 10 pinski 10 žičani IDC ravni vrpca kabela duljine 10 cm)

1x 10 -pinska utičnica (20 kom 2,54 mm 2x5 pinski 10 pinski ravno muško zakriveno IDC konektor zaglavlja PCB kutije)

1x konektori (10 kom 1*40Pin jednoredni ženski 2,54 mm konektor za lomljenje zaglavlja za Arduino 2017)

1x SD kartica (može biti stara velika SD kartica ili nova microsd kartica s pretvaračem, veličine do 32 GB bi trebale raditi, više od toga nisam testirala kartice)

1x 3v5v TTL pretvarač (5x pretvarač logičke razine 3.3V u 5V TTL dvosmjerno za Arduino Raspberry pi)

1x optokapler 4n35

1x čitač utora za utičnicu modula SD kartice za Arduino ARM MCU Čitanje i pisanje

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

1x RX i TX moduli kupuju se kao kombinirani paket (5 kom 433Mhz RF odašiljača i prijemnika za Arduino bežični daljinski upravljač)

Korak 4: Dizajn hardvera

Dizajn hardvera
Dizajn hardvera
Dizajn hardvera
Dizajn hardvera
Dizajn hardvera
Dizajn hardvera

-Učvrstite ploču u glavni donji dio od crne plastike

-MAX233 je izabran umjesto MAX232 pa neće biti potrebne dodatne kape za PC-> WRTG serijski pretvarač -Sve komponente su u 1 retku tako da se jednostavan pravokutnik može izrezati sprijeda umjesto bušenja više rupa, alternativno lijepa pokrovna ploča (ili potpuno novo kućište WRTG) moglo bi se dizajnirati s makerbotom

-Arduino promicros mikro USB utičnica okrenuta prema prednjoj ploči za vanjsko programiranje.

-Na temelju Arduino Promicro (arduino se napaja iz 12V ulaza usmjerivača WRT54G (preko regulatora napona), napon otvorenog kruga adaptera je oko 16V!)

-Promicro ima pravi USB, a ne zajedničko smeće pa se WRTG -ovi/dev/tts/1 mogu spojiti na Promicrojev hardverski UART

-Serijska komunikacija putem/dev/tts/0 između PC WRTG

-RF 433Mhz prijemnik + odašiljač (odašiljač može uzeti 12V za veći raspon)

-IR odašiljač i prijemnik mogu se dodati na prednju ploču

-Dodatne LED diode mogu se dodati na prednju ploču (označite Rx/Tx za RF, IR, usmjerivač/ardu indikator komunikacije)

Mogao sam dizajnirati ploču s mini pretvaračem, ali uzeo sam pristup linearnom regulatoru napona budući da sam to imao u ruci. Otkrio sam 5V neku točku kruga, ali kad sam dodirnuo nju, usmjerivač je postao neupotrebljiv (vjerojatno nije mogao osigurati potrebnu količinu struje na arduino ploči), pa sam pristupio dodatnom pristupu vreg.

3v5v TTL pretvarač je tu da osigura ispravnu pretvorbu napona (koristim 5V arduino promicro model, koji koristi 5V na svom hardverskom UART portu, stoga je potrebna konverzija razine napona). Međutim, u prošlosti sam mijenjao usmjerivače dodajući Arduino Nanos, Micros bez pretvarača i nisam imao problema jer je TTY priključak WRTG -a tolerantan na 5 V, ali to ne znači da biste ga trebali koristiti s ovim naponom.

4n35 je također predstavljen kako bi se riješio buke koja potječe sa vanjske strane računala. Nisam koristio ovu komponentu u prošlosti, ali može biti i zato što je prijenosno računalo koje sam koristio tijekom testova bio neispravan.

Priključni kabel s 10 pinova brine se za većinu spojeva, no morate se pobrinuti da ispravno instalirate utičnice.

Kao što je prikazano na slici na serijskom portu

Pin 1: 3,3 V + Pin 2: 3,3 V <= Dva krajnja desna pina (bliže LED -ima) su POZITIVNI priključci na desnu stranu konektora na NLDWRTG štitu (blizu regulatora napona LM7805)

Pin 9: GND + Pin 10: GND <= Suprotna strana je NEGATIVNA veza s lijeve strane konektora na NLDWRTG štitu

Za spajanje žica između SDCARD čitača i WRTG slijedite:

www.jbprojects.net/articles/wrt54gl_mods/

Relevantne igle:

  • CS -> Točka 1
  • MOSI -> Točka 2
  • SCK -> Točka 5
  • MISO -> Točka 7

Korak 5: Ograničenja

Ograničenja
Ograničenja

CPU WRT54GL nije najjači (Broadcom BCM5352 @ 200 MHz), može se overclockati na 250Mhz (ne preporučuje se:)) pa nemojte očekivati da ćete na njemu pokrenuti SETI @ HOME. Ruter ima samo 100mbit/s sučelja i za razliku od onog što možete pronaći na mnogo mjesta ovaj hardver *NE podržava 802.1q VLAN *. To je samo jednostavan VLAN baziran na portu, nemojte stavljati WRTG u mrežu koja prenosi VLAN -ove, to ne može učiniti.

Jedna posebno korisna aplikacija je korištenje usmjerivača kao VPN klijenta za povezivanje na centralno mjesto. Iako se savršeno može koristiti i za VPN poslužitelj, od njega ne očekujte velike performanse.

Evo nekih mojih rezultata s WRT54GL v1.1 koji koristi OpenVPN kao klijent.

Maksimalna propusnost tunela: 500kbit/s dolje 50 kbit/s gore

Maksimalne performanse usmjeravanja bez VPN -a iz WAN -> LAN 28 mbit/s

Maksimalne NAT (Masquerade) performanse bez VPN -a iz WAN -> LAN 27 mbit/s

Još uvijek postoji mnogo lokacija s nižom ukupnom propusnošću od ovih (ISDN -ovi, Adsls, kabelske mreže, satelit itd.) Što ovaj usmjerivač može savršeno zadovoljiti.

Obično problemi nastaju zbog stavljanja previše bežičnih klijenata na ove usmjerivače. Vidio sam mnoge postavke tijekom godina u kavama, hotelima, restoranima gdje bacaju jedan wifi usmjerivač na pult i zovu ga svaki dan, očekujući da će moći poslužiti 10+ ljudi. Sve što dobiju je potpuno neupotrebljivo wifi iskustvo na kraju budući da je ukupna teoretska propusnost za ovaj usmjerivač 802.11G 51 mbit/s i to je za svakoga, recimo da je stvarni oko 30mbit/s. Za 10 osoba to je 3 MBit/s po korisniku u najboljem slučaju što nije dovoljno za današnje aplikacije koje gladuju (protok videa/zvuka, web 2.0 stranice pune velikih slika itd.).

Kao što sam ranije rekao, poanta ovog hakiranja je daljinsko upravljanje i ono ne bi koristilo više od nekoliko kbit/s prometa putem VPN -a.

Korak 6: WRTG softver

WRTG softver
WRTG softver

Firmver je izgrađen na najboljoj verziji: DD-WRT v24-sp2 (08/12/10) std-nokaid (SVN revizija 14929) Postoje i druge slike poput VPN-a koje žrtvuje ext2 modul radi uštede prostora dok još uvijek ima mmc kernelmodul (LoL). Optware 2 je prekinuti, ali još uvijek koristan uslužni paket koji proširuje osnovne funkcije DD-WRT:

-To čini osnovni linux distributer od osakaćene instalacije busybox.

-Omogućuje bash i druge školjke.

-Omogućuje mnogo bogova poput: htop, netcat, tcpdump, ngrep, mc

-Omogućuje poslužiteljske usluge kao što su: samba, zvjezdica, vsftpd, jabber poslužitelj

Međutim, softverski paketi su stari, puni grešaka i ranjivosti. Objavljivanje i slika ovdje bi bili isti kao i instalacija Windowsa 98 USD, stoga neću još ništa objaviti, ali ću korak po korak zapisati kako postaviti svoju OptWare 2 SDCard karticu.

U budućnosti planiram napraviti novi linux distributer (SnowGlobe Linux) sa svježim paketima za ovaj uređaj i to objaviti.

1, JFFS2 mora biti omogućen, nije važno što na njemu nema slobodnog prostora:

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

2, SDCARD particioniranje. Evo pametnog trika:

14 GB ili što god želimo imati za prvu particiju podataka za ddwrt 100-500mb drugu particiju (EXT2) za oporavak

Na primjer:

Disk /dev /sde: 14,5 GiB, 15523119104 bajta, 30318592 sektora

Jedinice: sektori od 1 * 512 = 512 bajtova Veličina sektora (logička/fizička): 512 bajta/512 bajtova U/I veličina (minimalni/optimalni): 512 bajta/512 bajtova Tip diskabele: dos Identifikator diska: 0x6ad48986 Uređaj Boot Start End Veličina sektora ID Id /dev /sde1 2048 29362175 29360128 14G 83 Linux /dev /sde2 29362176 30318591 956416 467M 83 Linux

Izradite datotečne sustave:

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

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

Podesite datotečne sustave:

tune2fs -c0 -i0 -m0 /dev /sde1

tune2fs -c0 -i0 -m0 /dev /sde2

Samo će prvu particiju sustav automitirati pri pokretanju! Ideja iza particije za oporavak je da WRT54G nema prostora za držanje fdiska nigdje drugdje. Dakle, ako postoji nečisto zatvaranje i postoje nedosljednosti u datotečnom sustavu, jedini način da to popravite je imati kopiju fdiska (i potrebne biblioteke za pokretanje) na drugoj particiji koja će se samo povremeno montirati samo za čitanje radi pokretanja fsck ako potrebno. Inače bi karticu trebalo izvaditi i staviti u računalo na popravak …

3, Montaža

Ako pravilno umetnete već particioniranu, formatiranu karticu i wrtg čizme, najvjerojatnije će se prva particija montirati s automatskim instaliranjem:

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

Opcija sada mora biti vezana:

mount -o bind /mmc / /opt /

4, skripta za instaliranje OWRT2

Prije nego počnete provjeriti je li defgw, dns sve u redu.

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

sh /tmp/optware-install.sh

Ako ne može dobiti skriptu, to je zato što busybox wget ne uspijeva. Radit će s owrt wget -om, ali želite instalirati owrt …

Izlaz bi trebao izgledati ovako:

Provjera konfiguracije sustava…

Korištenje 192.168.1.1 kao zadanog pristupnika. Koristeći sljedeće poslužitelje imena: poslužitelj imena 192.168.1.30 Upozorenje: lokalni poslužitelj imena razlikuje se od pristupnika! Provjerite konfiguraciju ili unesite: sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf da to ispravite. Instaliranje paketa uclibc-opt_0.9.28-13_mipsel.ipk… Povezivanje s ipkg.nslu2-linux.org [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************ ********************************* | 832 KB 00:00:00 ETA Ažuriranje /opt/etc/ld.so.cache/opt/sbin/ldconfig: nije moguće stvoriti /opt/etc/ld.so.cache~ (Nema takve datoteke ili direktorija) Instaliranje paketa ipkg-opt_0.99.163-9_mipsel.ipk… Povezivanje s ipkg.nslu2-linux.org [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | ************** ******************************* | 75896 00:00:00 ETA Preuzimanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… napuhavanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… ažurirano popis dostupnih paketa u/opt/lib/ipkg/lists/optware Uspješno je ukinut. Instaliranje uclibc-opt (0.9.28-12) u/opt/… Preuzimanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… paketa uclibc-opt predlaže instaliranje ipkg-opt Konfiguriranje uclibc-opt Ažuriranje /opt/etc/ld.so.cache Uspješno je prekinuto. Instaliranje ipkg-opt (0.99.163-9) u/opt/… Preuzimanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Konfiguriranje ipkg-opt Uspješno je prekinuto.

5, programska greška:

MORATE izvesti put sa:

izvoz 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"

inače ipkg neće učiniti ništa!

6, provjerite ipkg:

ažuriranje ipkg

Treba ispisati:

Preuzimanje

Napuhavanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Ažuriran popis dostupnih paketa u/opt/lib/ipkg/lists/optware Uspješno je ukinut.

7, Instalirajte pakete:

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

samba36 sed tar unrar unzip vnstat vsftpd wget whois zip ncftp

8, Navedite instalirane pakete:

ipkg-opt popis_instaliran

Zbog nedostatka resursa ne preporučuje se izrada paketa na usmjerivaču. U tu svrhu postavite zasebno okruženje unakrsnog sastavljanja mipova u Vmware/Vbox/KVM.

Potrebne stvari:

-Debian 7 wheezy 64 -bitni OS domaćina

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

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

Ne gubite vrijeme na pokušaj samostalnog sastavljanja SDK -a, priloženi binarni SDK je dovoljno dobar.

Napravite jednostavnu aplikaciju helloworld

#include int main (void) {printf ("Kvragu! O 'svijet, zašto se moj kôd ne kompajlira? / n / n"); return 0; }

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

Ako sve ide kako treba, sada biste trebali imati izvršnu datoteku mips:

pozdrav: ELF 32-bitna LSB izvršna datoteka, MIPS, MIPS32 verzija 1 (SYSV), dinamički povezana (koristi zajedničke biblioteke), nije ogoljena

Korak 7: Arduino softver

Cijeli izvorni kod možete preuzeti u nastavku. Prilično je jednostavno, može kontrolirati 2 releja i neke RC utikače putem radija 433Mhz. Možete ga jednostavno proširiti, npr.: Dodati još prekidača za daljinsko upravljanje.

Korak 8: Zatvaranje i popis zadataka

Zatvaranje i popis zadataka
Zatvaranje i popis zadataka

WRT54G je izvrstan hardver pa se sav trud uložen u ovaj projekt itekako isplatio, osim što bi NLD Wrtg štit mogao biti upotrebljiv s budućim verzijama hardvera.

Budući da je potrošnja energije WRTG -a niža od Raspberry PI -ova, solarno napajanje usmjerivača također može biti dobra nadogradnja, a s Arduinom možemo pratiti svaki detalj procesa solarnog punjenja (napon baterije, napon ploče, potrošnja). Kasnije ću nastaviti seriju WRTG sa solarnim hakovima.

Pronalaženje načina programiranja Arduina izravno s WRTG -a bilo bi sjajno (to bi zahtijevalo metodu za resetiranje Arduina).

Ljudi s 3D, Makerbot vještinama više su nego dobrodošli dizajnirati prilagođenu pokrovnu ploču (s priključcima moje ploče) za prednju stranu ili redizajnirati cijeli plastični prednji dio usmjerivača.

AŽURIRANJE: Kako bih proslavio da MIPS arhitektura postaje Open Source, ažurirao sam vodič s načinom ukrštanja jednostavnih C programa u WRTG.

Živio MIPS!:)

tip sustava: Broadcom BCM5352 čip rev 0procesor: 0 procesorski model: BCM3302 V0.8 BogoMIPS: 199.47 upute za čekanje: nema mikrosekundnih mjerača: da tlb_entries: 32 dodatni vektor prekida: nema hardverske točke promatranja: nema VCED iznimke: nije dostupno VCEI iznimke: nije dostupno

Preporučeni: