Kazalo:

NLDWRTG razširitvena plošča ULTIMATE WRT54G: 8 korakov (s slikami)
NLDWRTG razširitvena plošča ULTIMATE WRT54G: 8 korakov (s slikami)

Video: NLDWRTG razširitvena plošča ULTIMATE WRT54G: 8 korakov (s slikami)

Video: NLDWRTG razširitvena plošča ULTIMATE WRT54G: 8 korakov (s slikami)
Video: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, November
Anonim
NLDWRTG razširitvena plošča ULTIMATE WRT54G
NLDWRTG razširitvena plošča ULTIMATE WRT54G
NLDWRTG razširitvena plošča ULTIMATE WRT54G
NLDWRTG razširitvena plošča ULTIMATE WRT54G

Od leta 2006 spreminjam usmerjevalnike WRT54G, vendar do lanskega leta nisem imel časa, da bi zanj oblikoval namensko ploščo. Ta strojna oprema je v času pisanja še vedno ena izmed najbolj vdrljivih usmerjevalnikov wifi in si zasluži, da jo ohranimo pri življenju.

1. korak: Kratek pregled serije Linksys WRT54G

Kratek pregled serije Linksys WRT54G
Kratek pregled serije Linksys WRT54G

en.wikipedia.org/wiki/Linksys_WRT54G_serie…

Na trgu je veliko različnih različic, zato si oglejmo, kaj lahko spremenimo:

-WRT54G 2.0/2.1/2.2 -> Čeprav so možni vsi modi, velika stara matična plošča zavzame ves prostor v ohišju, če spremenite to serijo, morate svoje vezje premakniti izven škatle ali ustvariti popolnoma novo ohišje (srsly ni vredno truda)

-WRT54G 4.0 Preklopljen na nov SoC -> To je bila prva plošča, na kateri je bila predstavljena matična plošča v obliki črke L, zato je to prva različica, kjer lahko izkoristite moj ščit in ga vstavite v ohišje

-WRT54GL 1.0/1.1-> Linksys je leta 2005 izdal WRT54GL (najbolje prodajani usmerjevalnik vseh časov) za podporo vdelane programske opreme drugih proizvajalcev na osnovi Linuxa, potem ko je prvotna linija WRT54G prešla z Linuxa na VxWorks, začenši z različico 5. WRT54GL je tehnično ponovna izdaja različice 4 WRT54G. Ta model je KRALJ WRTG. Na trgu je veliko rabljenih usmerjevalnikov, zato, če imate izbiro, katero vrsto kupiti, VEDNO kupite WRT54GL.

-WRT54G 5.0 in novejši -> Uporablja OS VxWorks in zmanjšan pomnilnik Flash; ni združljiv z večino vdelane programske opreme drugih proizvajalcev, čeprav pripomoček "VxWorks killer" omogoča nalaganje nekaterih odprtokodnih vdelanih programov drugih proizvajalcev na to in prihodnje različice. Linksys je tu naredil slab obrat in v bistvu uničil popolnoma dober izdelek. Čeprav jih je mogoče spremeniti, je prostor na usmerjevalniku tako majhen (2 MB), da se lahko prilega le mikro-vdelani programski opremi DD-WRT, ki skoraj ne more narediti ničesar razen običajnih usmerjevalnih funkcij (brez VPN, brez smbfs/cifs, brez NFS, brez mmc, brez ext2). Uspelo mi je ustvariti jedra za to serijo in stisniti 1-1 potreben modul o stroških odvzema drugih. NI vreden vašega časa in truda, NE kupujte teh usmerjevalnikov.

S poznejšo serijo WRT Linksys je na primer prešel na arhitekturo ARM, ima WRT1200 AC 1,3-GHz dvojedrni procesor ARM. Imam pa slabe izkušnje s temi usmerjevalniki, tudi ko sem preizkusil več različic OpenWRT (zdaj LEDE), lahko usmerjevalniki naključno zamrznejo. Pričakujem 300+ dni neprekinjenega delovanja naprav Unix.

2. korak: razširitev funkcionalnosti

Razširitev funkcionalnosti
Razširitev funkcionalnosti

V redu, kaj lahko naredite s tem usmerjevalnikom:

1, Dodajte 2x serijska vrata ->, ki vam lahko pridejo prav, če imate na oddaljeni lokaciji druge strežnike in se želite povezati z njihovim biosistemom po serijski liniji ali drugih usmerjevalnikih, ki to omogočajo

2, Dodajte 1 vrata USB1.0 -> lahko uporabite za povezavo tiskalnika, zunanjega trdega diska itd. (Tega načina nisem nikoli naredil, zato ne bo del pisanja)

3, Dodajte zunanjo kartico SD za shranjevanje, s tem lahko razširite pomnilniški pomnilnik vašega usmerjevalnika na 16/32/…+GB do 16 MB. Z uporabo teh velikosti kartic SD nisem imel težav in tudi z uporabo popolnoma novih trajnih kartic razreda 10. Če ste poskusili z omejitvami kartic za modele WRTG, pustite komentar spodaj.

4, Dodajte arduino za nadzor vašega doma, relejev, rcs stikal

Dodajanje arduina v bistvu odpira neomejeno količino možnosti: krmiljenje robota, krmiljenje infrardečih naprav na vidiku (televizorji, videorekorderji, DVD -ji, projektorji, klimatska naprava), povezovanje ton naprav na poceni brezžična stikala 433 Mhz, komunikacija z drugimi arduini, raspi, dodajanje Xbee itd.

Čeprav je vse to mogoče z Raspberry PI + Arduino in razširitvami, menim, da je usmerjevalnik WRT54G bolj zanesljiv kot raspis. Imam te usmerjevalnike v podobnih konfiguracijah z več kot 1 letom (!) Neprekinjenega delovanja, ne bi mogel reči istega o raspisu, kjer je bil moj največji uptime približno 240 dni na raspi 1, potem je kartica SD opustila sistem, čeprav je C Arduino kontrolna koda je bila naložena v pomnilnik, zato mi ni bilo treba hiteti z zamenjavo, saj je bilo krmilno vozlišče še vedno popolnoma funkcionalno:))

3. korak: Seznam strojne opreme

Seznam strojne opreme
Seznam strojne opreme

Prilagam postavitev plošče v formatu SVG in EasyEda. Če želite zgraditi projekt, potrebujete naslednje komponente: 1x regulator napetosti LM7805

2x pokrovčki za vreg 1uF 10uF (10PCS elektrolitski kondenzatorji 25V 35V 50V 1uF ~ 1000uF različne vrednosti in napetost)

1x 4 -polni kabel od SDcar -ja do plošče (10 -kratna mostična žica 2/3/4/5/6/7Pin Dupont kabel za ženske in ženske 20 cm za Arduino)

2x Reed releji DIP051A7212D

1x moška vtičnica RS232 (20 kosov 9-polni D-Sub DB9 moški desni kotni priključek za tiskano vezje WT7n)

1x MAX 233 (10 kosov Max233 Max233cpp Rs232 Rs-232 gonilnik/sprejemnik Ic nov X)

1x 10 -polni priključni kabel (5 -delni 2 -milimetrski razpon 2x5 -pinski 10 -polni 10 -žilni IDC ploski tračni kabel, dolžina 10 cm)

1x 10 -polna vtičnica (20 kosov 2,54 mm 2x5 -pinski 10 -polni naravnost moški zaviti IDB priključek za glavo PCB -ja)

1x konektorske glave (10pc 1*40Pin enovrstni ženski 2,54 mm priključek za lomljive glave za Arduino 2017)

1x SD kartica (lahko je stara velika SD ali nova microsd kartica s pretvornikom, velikosti do 32 GB bi morale delovati, nad tem nisem testiral kartic)

1x pretvornik TTL 3v5v (pretvornik 5x logične ravni 3.3V v 5V TTL dvosmerno za Arduino Raspberry pi)

1x optični sklopnik 4n35

1x bralnik vtičnic za modul kartice SD za branje in pisanje za Arduino ARM MCU

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

1x RX in TX moduli jih kupite kot kombinirani paket (5 kosov RF oddajnik in sprejemnik 433Mhz za brezžični daljinski upravljalnik Arduino)

4. korak: Oblikovanje strojne opreme

Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme
Oblikovanje strojne opreme

-Plošče privijte v glavni del spodnje plošče iz črne plastike

-MAX233 je bil izbran nad MAX232, zato za računalnik ne bodo potrebne dodatne kape-> WRTG serijski pretvornik -Vse komponente so v eni vrstici, tako da lahko preprosto izrežete pravokotnik na sprednji strani namesto vrtanja več lukenj, lahko pa tudi lepo pokrovno ploščo (ali povsem novo ohišje WRTG) bi lahko zasnovali z makerbotom

-Vtičnica mikro USB za arduino promicros obrnjena proti sprednji plošči za zunanje programiranje.

-Na osnovi Arduino Promicro (arduino se napaja iz 12V vhoda usmerjevalnika WRT54G (preko regulatorja napetosti), je napetost odprtega tokokroga adapterja približno 16V!)

-Promicro ima pravi usb, ne skupne smeti, tako da lahko WRTG -jeve/dev/tts/1 povežete s strojno opremo Promicro UART

-Serijska komunikacija prek/dev/tts/0 med računalnikom WRTG

-RF 433Mhz sprejemnik + oddajnik (oddajnik lahko vzame 12V za višji doseg)

-IR oddajnik in sprejemnik lahko dodate na sprednjo ploščo

-Na sprednjo ploščo lahko dodate dodatne LED diode (označite Rx/Tx za RF, IR, usmerjevalnik/indikator ardu comm)

Ploščo bi lahko oblikoval z mini pretvornikom, vendar sem uporabil linearni regulator napetosti, saj sem to imel v roki. Našel sem 5V neko točko vezja, vendar je ob dotiku usmerjevalnik postal neuporaben (verjetno ni mogel zagotoviti količine toka, ki ga potrebuje arduino plošča), zato sem se odločil za dodaten pristop vreg.

Pretvornik 3v5v TTL je tam, da zagotovi ustrezno pretvorbo volatacije (uporabljam 5V arduino promicro model, ki uporablja 5V na svojih strojnih vratih UART, zato je potrebna pretvorba napetosti). Vendar sem v preteklosti spremenil usmerjevalnike, ki sem dodal Arduino Nanos, Micros brez pretvornika in ni imel težav, saj je vrata TTY WRTG tolerantna na 5 V, vendar to ne pomeni, da bi morali upravljati s to napetostjo.

4n35 je bil predstavljen tudi zato, da se znebite hrupa, ki izvira iz zunanjega računalnika, v preteklosti te komponente nisem uporabljal, lahko pa tudi zato, ker je bil prenosnik, ki sem ga uporabljal med preskusi, okvarjen.

10 -pinski priključni kabel skrbi za večino povezav, vendar morate poskrbeti za pravilno namestitev vtičnic.

Kot je prikazano na sliki pri serijskih vratih

Pin 1: 3.3V + Pin 2: 3.3V <= Dva skrajna desna zatiča (bližje LED) sta POZITIVNI priključek na desno stran konektorja na ščitniku NLDWRTG (blizu regulatorja napetosti LM7805)

Pin 9: GND + Pin 10: GND <= Nasprotna stran je NEGATIVNI priključek na levi strani priključka na ščitu NLDWRTG

Za povezavo žic med bralnikom SDCARD in WRTG sledite:

www.jbprojects.net/articles/wrt54gl_mods/

Ustrezni zatiči:

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

5. korak: Omejitve

Omejitve
Omejitve

CPE WRT54GL ni najmočnejši (Broadcom BCM5352 @ 200 MHz), mogoče ga je overclockati na 250Mhz (ni priporočljivo:)), zato ne pričakujte, da boste na njem zagnali SETI @ HOME. Samo usmerjevalnik ima vmesnike 100mbit/s in za razliko od tega, kar najdete na veliko mestih, ta strojna oprema *NE podpira 802.1q VLAN *. To je samo preprost VLAN, ki temelji na vratih. Prosimo, ne postavljajte WRTG v omrežje, ki prenaša VLAN, saj tega ne zmore.

Ena posebej uporabna aplikacija je uporaba usmerjevalnika kot odjemalca VPN za povezavo z osrednjo lokacijo. Čeprav je popolnoma uporaben za strežnik VPN, od njega ne pričakujte veliko zmogljivosti.

Tukaj je nekaj mojih rezultatov z WRT54GL v1.1, ki uporablja OpenVPN kot odjemalca.

Največja prepustnost predora: 500kbit/s navzdol 50 kbit/s navzgor

Največja zmogljivost usmerjanja brez VPN iz WAN -> LAN 28 mbit/s

Največja zmogljivost NAT (Masquerade) brez VPN iz WAN -> LAN 27 mbit/s

Še vedno je veliko lokacij z nižjo skupno pasovno širino od teh (ISDN, Adsls, kabelska omrežja, satelit itd.), Kar lahko ta usmerjevalnik popolnoma zadovolji.

Običajno težave izhajajo iz tega, da je na te usmerjevalnike postavljeno preveč brezžičnih odjemalcev. V preteklih letih sem videl številne nastavitve v kavah, hotelih, restavracijah, kjer vržejo en usmerjevalnik wifi na pult in ga pokličejo na dan, pričakujejo, da bo lahko stregel 10+ ljudem. Vse, kar dobijo, je na koncu popolnoma neuporabna izkušnja z wifi, saj je skupna teoretična pasovna širina tega usmerjevalnika 802.11G 51 mbit/s in to je za vsakogar, recimo realno okoli 30mbit/s. Za 10 oseb, ki v najboljšem primeru znašajo 3 mb/s na uporabnika, kar ni dovolj za današnje aplikacije, ki so lačne pasovne širine (pretakanje videa/zvoka, spletne strani 2.0, polne velikih slik itd.).

Kot sem že povedal, je bistvo tega krampanja daljinski upravljalnik, ki ne bi porabil več kot nekaj kbit/s prometa prek VPN -ja.

6. korak: Programska oprema WRTG

Programska oprema WRTG
Programska oprema WRTG

Vdelana programska oprema temelji na najboljši različici: DD-WRT v24-sp2 (08/12/10) std-nokaid (revizija SVN 14929) Obstajajo tudi druge slike, kot je VPN, ki žrtvuje modul ext2, da prihrani prostor, medtem ko ima še vedno mmc kernelmodul (LoL). Optware 2 je ukinjen, a še vedno uporaben paket pripomočkov, ki razširja osnovno funkcionalnost DD-WRT:

-Omogoča osnovno distribucijo Linuxa od pohabljene namestitve busybox.

-Zagotavlja bash in druge lupine.

-Zagotavlja veliko bogov, kot so: htop, netcat, tcpdump, ngrep, mc

-Omogoča strežniške storitve, kot so: samba, zvezdica, vsftpd, strežnik jabber

Vendar so programski paketi stari, polni hroščev in ranljivosti. Objavljanje in slika tukaj bi bila enaka namestitvi okna 98 USD, zato ne bom še nič objavil, ampak bom korak za korakom zapisal, kako nastaviti kartico OptWare 2 SDCard.

V prihodnosti nameravam narediti novo distribucijo linux (SnowGlobe Linux) s svežimi paketi za to napravo in to objaviti.

1, JFFS2 mora biti omogočen, ni važno, da na njem ni prostega prostora:

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

2, particija SDCARD. Tu je pameten trik:

14 GB ali karkoli že želimo imeti za prvo podatkovno particijo za ddwrt 100-500mb drugo particijo (EXT2) za obnovitev

Na primer:

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

Enote: sektorji 1 * 512 = 512 bajtov Velikost sektorja (logična/fizična): 512 bajtov/512 bajtov Velikost V/I (minimalno/optimalno): 512 bajtov/512 bajtov Vrsta oznake: dos Identifikator diska: 0x6ad48986 Zagon zagona naprave Velikosti sektorjev Id Vrsta /dev /sde1 2048 29362175 29360128 14G 83 Linux /dev /sde2 29362176 30318591 956416 467M 83 Linux

Ustvarite datotečne sisteme:

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

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

Uglasi datotečne sisteme:

tune2fs -c0 -i0 -m0 /dev /sde1

tune2fs -c0 -i0 -m0 /dev /sde2

Sistem bo avtomatiziral samo prvo particijo! Ideja za obnovitveno particijo je, da WRT54G nima prostora za shranjevanje fdiska kjer koli drugje. Torej, če pride do nečistega izklopa in do nedoslednosti datotečnega sistema, je edini način, da ga popravite, da imate kopijo fdiska (in potrebne za zagon knjižnice) na drugi particiji, ki bo občasno nameščena samo za branje, če želite zagnati fsck, če potrebno. V nasprotnem primeru bi morali kartico vzeti in dati v računalnik za popravilo …

3, Montaža

Če pravilno vstavite že particionirano, formatirano kartico in wrtg zagone, je najverjetneje prva particija samodejno nameščena:

/dev/mmc/disk0/del1 13,8G 59,6M 13,7G 0%/mmc

Opt mora biti zdaj nameščen v vezavi:

mount -o vezava /mmc / /opt /

4, namestitveni skript OWRT2

Preden začnete, preverite, ali je defgw, dns vse v redu.

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

sh /tmp/optware-install.sh

Če ne more dobiti skripta, je to zato, ker busybox wget ne uspe. Deloval bo z owrt wget, vendar želite namestiti owrt …

Izhod bi moral izgledati tako:

Preverjanje konfiguracije sistema…

192.168.1.1 kot privzeti prehod. Z uporabo naslednjih imenskih strežnikov: nameserver 192.168.1.30 Opozorilo: lokalni imenski strežnik se razlikuje od prehoda! Preverite konfiguracijo ali vnesite: sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf, da to popravite. Namestitev paketa uclibc-opt_0.9.28-13_mipsel.ipk… Povezovanje z ipkg.nslu2-linux.org [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************ ********************************* | 832 KB 00:00:00 ETA Posodabljanje /opt/etc/ld.so.cache/opt/sbin/ldconfig: ni mogoče ustvariti /opt/etc/ld.so.cache~ (ni take datoteke ali imenika) Namestitev paketa ipkg-opt_0.99.163-9_mipsel.ipk… Povezovanje z ipkg.nslu2-linux.org [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | ************** ********************************* | 75896 00:00:00 ETA Prenos https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Napihovanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Posodobljeno seznam razpoložljivih paketov v/opt/lib/ipkg/lists/optware Uspešno prekinjen. Namestitev uclibc-opt (0.9.28-12) v/opt/… Prenos https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… paketa uclibc-opt predlaga namestitev ipkg-opt Konfiguriranje uclibc-opt Posodabljanje /opt/etc/ld.so.cache Uspešno zaključeno. Namestitev ipkg-opt (0.99.163-9) v/opt/… Prenos https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Konfiguriranje ipkg-opt Uspešno zaključeno.

5, hrošč poti:

Pot morate izvoziti z:

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"

sicer ipkg ne bo nič naredil!

6, Preverite ipkg:

posodobitev ipkg

Moral bi izpisati:

Prenos

Napihovanje https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Posodobljen seznam razpoložljivih paketov v/opt/lib/ipkg/lists/optware Uspešno zaključen.

7, Namestite pakete:

ipkg namestite bash htop mc openvpn tcpdump vim bzip2 bc e2fsprogs findutils gawk grep gzip manj naredi ntfs-3g openssl perl php psmisc psutils

samba36 sed tar unrar unzip vnstat vsftpd wget whois zip ncftp

8, Seznam nameščenih paketov:

ipkg-opt list_installed

Zaradi pomanjkanja virov gradnja paketov na usmerjevalniku ni priporočljiva. V ta namen v Vmware/Vbox/KVM nastavite ločeno okolje za medkompilacijo mipov.

Potrebne stvari:

-64 -bitni gostiteljski operacijski sistem Debian 7 wheezy

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

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

Ne izgubljajte časa, da poskušate sami sestaviti SDK, priloženi binarni SDK je dovolj dober.

Zgradite preprosto aplikacijo helloworld

#include int main (void) {printf ("Pekel! O 'svet, zakaj se moja koda ne prevede? / n / n"); vrnitev 0; }

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

Če gre vse v redu, bi morali imeti zdaj izvršljivo datoteko mips:

Pozdravljeni: 32-bitna izvedljiva datoteka LSB ELF, MIPS, MIPS32 različice 1 (SYSV), dinamično povezana (uporablja skupne knjižnice), ni odstranjena

7. korak: Programska oprema Arduino

Spodaj lahko prenesete celotno izvorno kodo. Je dokaj preprost, lahko preko radia 433Mhz nadzoruje 2 releja in nekaj RC vtičev. Lahko ga preprosto razširite, na primer: dodajte več stikal za daljinsko upravljanje.

8. korak: Zapiranje in seznam opravkov

Zapiranje in Seznam opravil
Zapiranje in Seznam opravil

WRT54G je odlična strojna oprema, zato je vse delo, vloženo v ta projekt, vredno, poleg tega pa bi bil lahko ščit NLD Wrtg uporaben pri prihodnjih različicah strojne opreme.

Ker je poraba energije WRTG nižja od Raspberry PI, je lahko sončna energija usmerjevalnika tudi dobra nadgradnja in z Arduinom lahko spremljamo vse podrobnosti procesa sončnega polnjenja (napetost baterije, napetost na plošči, poraba). Serijo WRTG bom s solarnimi vdori nadaljeval kasneje.

Odlično bi bilo najti način za programiranje Arduina neposredno iz WRTG (to bi zahtevalo metodo za ponastavitev Arduina).

Ljudje s 3D, Makerbot veščinami so več kot dobrodošli, da oblikujejo pokrovno ploščo po meri (s priključki moje plošče) za sprednjo stran ali preoblikujejo celoten plastični sprednji del usmerjevalnika.

UPDATE: Za proslavo, da je arhitektura MIPS postala odprtokodna, sem vadnico posodobil, kako navzkrižno zgraditi preproste programe C v WRTG.

Naj živijo MIPS!:)

vrsta sistema: Broadcom BCM5352 čip rev 0procesor: 0 model CPU: BCM3302 V0.8 BogoMIPS: 199,47 navodila za čakanje: brez mikrosekundnih časovnikov: da

Priporočena: