Taula de continguts:

NLDWRTG la placa d’expansió ULTIMATE WRT54G: 8 passos (amb imatges)
NLDWRTG la placa d’expansió ULTIMATE WRT54G: 8 passos (amb imatges)

Vídeo: NLDWRTG la placa d’expansió ULTIMATE WRT54G: 8 passos (amb imatges)

Vídeo: NLDWRTG la placa d’expansió ULTIMATE WRT54G: 8 passos (amb imatges)
Vídeo: [FULL ALBUM] - Run The Jewels - RTJ4 2024, De novembre
Anonim
NLDWRTG la placa d’expansió ULTIMATE WRT54G
NLDWRTG la placa d’expansió ULTIMATE WRT54G
NLDWRTG la placa d’expansió ULTIMATE WRT54G
NLDWRTG la placa d’expansió ULTIMATE WRT54G

Estic modificant els enrutadors WRT54G des del 2006, però mai no vaig tenir temps de dissenyar-ne una placa dedicada fins l’any passat. Aquest maquinari segueix sent un dels encaminadors wifi més piratejables en el moment d’escriure i mereix mantenir-se viu.

Pas 1: breu descripció general de la sèrie Linksys WRT54G

Breu visió general de la sèrie Linksys WRT54G
Breu visió general de la sèrie Linksys WRT54G

ca.wikipedia.org/wiki/Linksys_WRT54G_serie…

Hi ha moltes versions diferents al mercat, així que fem una ullada que es pot modificar:

-WRT54G 2.0 / 2.1 / 2.2 -> Tot i que són possibles totes les modificacions, la vella placa mare ocupa tot l'espai de la funda, si modifiqueu aquesta sèrie heu de moure el circuit fora de la caixa o crear una carcassa completament nova (srsly no val la pena l’esforç)

-WRT54G 4.0 Va canviar a SoC nou>> Aquesta va ser la primera placa on es va introduir la placa base en forma de L, de manera que aquesta és la primera versió on podeu aprofitar el meu escut i inserir-lo a la caixa

-WRT54GL 1.0 / 1.1 -> Linksys va llançar el WRT54GL (l’encaminador més venut de tots els temps) el 2005 per donar suport al firmware de tercers basat en Linux, després que la línia WRT54G original es canviés de Linux a VxWorks, començant per la versió 5. El WRT54GL és tècnicament una reedició de la versió 4 WRT54G. Aquest model és el REI dels WRTG. Hi ha molts enrutadors de segona mà al mercat, de manera que si teniu la possibilitat de triar quin tipus de compra, SEMPRE compreu el WRT54GL.

-WRT54G 5.0 i superior -> Utilitza el sistema operatiu VxWorks i la memòria Flash reduïda; no és compatible amb la majoria de microprogramaris de tercers, tot i que la utilitat "VxWorks killer" permet carregar algun microprogramari de codi obert de tercers en aquesta versió i en versions futures. Linksys va fer un mal pas aquí i va arruïnar essencialment un producte completament bo. Tot i que és possible modificar-los, l’espai del router és tan reduït (2 MB) que només pot adaptar-se al microprogramari DD-WRT que pràcticament no pot fer res més enllà de la funcionalitat d’encaminament habitual (sense VPN, sense smbfs / cifs, sense NFS, sense mmc, sense ext2). He aconseguit crear nuclis per a aquesta sèrie i extreure el mòdul necessari 1-1 sobre el cost de treure'n d'altres. NO val la pena el vostre temps i esforç, NO compreu aquests routers.

Amb la posterior sèrie WRT, Linksys va canviar a l'arquitectura ARM, per exemple, el WRT1200 AC té una CPU ARM de doble nucli a 1,3 GHz. Tinc, però, una mala experiència amb aquests routers fins i tot després de provar diverses versions OpenWRT (ara LEDE) que els routers poden congelar aleatòriament. Espero més de 300 dies de durada dels dispositius Unix.

Pas 2: ampliació de la funcionalitat

Ampliant la funcionalitat
Ampliant la funcionalitat

D'acord, doncs, quins hacks podeu fer amb aquest router:

1, afegiu 2 ports sèrie -> que poden ser útils si teniu altres servidors en una ubicació remota i voleu connectar-vos a la seva biografia a través de la línia serial o altres encaminadors, que permeten això

2, afegiu 1 port USB1.0 -> es podria utilitzar per connectar impressora, disc dur extern, etc. (mai no he fet aquesta modificació, de manera que no formarà part de l'escriptura)

3, Afegiu una targeta SD externa per emmagatzemar, això pot ampliar la petita memòria d'emmagatzematge flash de 16 MB del vostre enrutador a 16/32 / … + GB. No he tingut cap problema amb l’ús d’aquestes targetes SD i tampoc no he tingut cap problema amb l’ús de noves targetes CLASS 10 resistents. Si heu experimentat amb quina és la limitació de cartes per models WRTG, deixeu un comentari a continuació.

4, afegiu un arduino per controlar la vostra llar, els relés i els interruptors rcs

Afegir un arduino obre essencialment una quantitat il·limitada d’opcions: control del robot, control de dispositius infrarojos a la vista (televisors, VCR, DVD, projectors, aire condicionat), connexió de molts dispositius a commutadors sense fils de 433 MHz, comunicació amb altres arduinos, raspis, afegint un Xbee, etc.

Tot i que tot es podria fer amb un Raspberry PI + Arduino i extensions, considero que el router WRT54G és més fiable que el raspis. Tinc aquests encaminadors en configuracions similars amb més d’un any (!) De temps d’activitat, no podia dir el mateix sobre el raspis on el meu temps d’activitat més alt va ser d’uns 240 dies en un raspi 1 i la targeta SD renuncia al sistema, tot i que la C El codi de control Arduino es va carregar a la memòria, de manera que no vaig haver d’afanyar-me amb la substitució, ja que el node de control encara era perfectament funcional:))

Pas 3: llista de maquinari

Llista de maquinari
Llista de maquinari

Adjunto el disseny del tauler en format SVG i EasyEda. Si voleu construir el projecte, necessitareu els components següents: 1x Regulador de tensió LM7805

2x caps per vreg 1uF 10uF (10PCS condensadors electrolítics 25V 35V 50V 1uF ~ 1000uF diversos valors i voltatges)

1x cable de 4 pins des del SDcar a la placa (10pcs Jumper Wire 2/3/4/5/6 / 7Pin Cable femella a femella Dupont 20cm per Arduino)

2 relés de canya DIP051A7212D

1x endoll macho RS232 (20 unitats Connector PCB de angle recte D-Sub DB9 macho de 9 pins WT7n)

1x MAX 233 (10 unitats Max233 Max233cpp Rs232 Rs-232 Controlador / receptors Ic New X)

1x cable de connector de 10 pins (5 unitats de 2 mm de pas 2x5 pin de 10 pins de 10 fils de longitud de cable de cinta plana IDC de 10 cm)

1x endoll de 10 pins (20 unitats 2,54 mm 2x5 pin de 10 pins recte masculí envoltat de capçal de connexió IDC capçalera)

1 capçaleres de connectors (10pc 1 * 40Pin Single Row Female 2.54mm Breakable Header Connector fr Arduino 2017)

1x targeta SD (pot ser SD antiga gran o nova microSD amb convertidor, haurien de funcionar amb una mida inferior a 32 GB, més que no he provat les targetes)

1x convertidor TTL 3v5v (convertidor de nivell lògic 5x 3,3V a 5V TTL bidireccional per Arduino Raspberry pi)

Optoacoblador 1x 4n35

1x lector de sòcol de ranura per a mòduls de targeta SD per llegir i escriure Arduino ARM MCU

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

Els mòduls 1x RX i TX els compren com a paquet combinat (kit de transmissors i receptors de RF de 433 MHz per a control remot sense fils Arduino)

Pas 4: disseny de maquinari

Disseny de maquinari
Disseny de maquinari
Disseny de maquinari
Disseny de maquinari
Disseny de maquinari
Disseny de maquinari

-Cargols de la placa a la part principal de la placa inferior de plàstic negre

-Max233 es va escollir sobre el MAX232, de manera que no es necessitaran taps addicionals per al PC-> convertidor sèrie WRTG -Tots els components estan en una línia, de manera que es pot tallar un rectangle simple a la part davantera en lloc de perforar diversos forats, o bé una bonica placa de cobertura (o un cas WRTG completament nou) es podria dissenyar amb makerbot

-La presa micro USB arduino promicros cap al tauler frontal per a la programació externa.

- Basat en Arduino Promicro (arduino s’alimenta de l’entrada de 12V del router WRT54G (mitjançant un regulador de tensió), la tensió del circuit obert de l’adaptador és d’uns 16V!)

-El Promicro té usb real, no escombraries compartides, de manera que els / dev / tts / 1 de WRTG es poden connectar al maquinari UART del Promicro

-Comunicació en sèrie mitjançant / dev / tts / 0 entre PC WRTG

-RF 433Mhz receptor + transmissor (el transmissor pot trigar 12V per a un rang més alt)

-El transmissor i el receptor IR es poden afegir al tauler frontal

-Es poden afegir LED addicionals al tauler frontal (indiqueu Rx / Tx per a RF, IR, indicador de commutació enrutador / ardu)

Podria haver dissenyat la placa amb un convertidor de mini dòlars, però vaig adoptar l'enfocament del regulador de tensió lineal, ja que ho tenia entre mans. He trobat 5V en algun punt del circuit, però en tocar-lo fa que el router sigui inutilitzable (probablement no podia proporcionar la quantitat de corrent que necessitava la placa arduino), per tant, vaig anar amb un enfocament vreg addicional.

El convertidor TTL de 3v5v hi ha per proporcionar la conversió de volatatge adequada (estic fent servir un model promicro arduino de 5V, que utilitza 5V al port UART de maquinari, per tant és necessària una conversió de nivell de tensió). No obstant això, he passat modificadors de routers en el passat afegint Arduino Nanos, Micros sense el convertidor i no tenia cap problema, ja que el port TTY del WRTG és tolerant a 5 V, però no vol dir que l'hagueu d'utilitzar des d'aquest voltatge.

El 4n35 també es va introduir per desfer-se d'alguns sorolls originats pel costat de l'ordinador extern, no utilitzava aquest component en el passat, però també pot ser perquè el portàtil que he utilitzat durant les proves era defectuós.

El cable del connector de 10 pins s’encarrega de la majoria de les connexions, però cal assegurar-se que instal·leu els endolls correctament.

Tal com es mostra a la imatge al port sèrie

Pin 1: 3,3 V + Pin 2: 3,3 V <= Els 2 pins de l'extrema dreta (més propers als LED) són el POSITIU que es connecta al costat dret del connector de l'escut NLDWRTG (a prop del regulador de tensió LM7805)

Pin 9: GND + Pin 10: GND <= Cara oposat: el NEGATIU es connecta al costat esquerre del connector de l'escut NLDWRTG

Per connectar els cables entre el lector SDCARD i el WRTG, seguiu aquests passos:

www.jbprojects.net/articles/wrt54gl_mods/

Els pins corresponents:

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

Pas 5: limitacions

Limitacions
Limitacions

La CPU del WRT54GL no és la més forta (Broadcom BCM5352 @ 200 MHz), es pot overclockar a 250Mhz (no es recomana:)), així que no espereu executar-hi SETI @ HOME. El router només té interfícies de 100 àmbits i, a diferència del que podeu trobar en molts llocs, aquest maquinari * NO admet VLAN 802.1q *. Només és una simple VLAN basada en ports, no poseu el WRTG en una xarxa que transporti VLAN, no ho pot fer.

Una aplicació especialment útil és utilitzar el router com a client VPN per connectar-se a una ubicació central. Tot i que també es pot utilitzar perfectament per al servidor VPN, no espereu gaire rendiment.

Aquests són alguns dels meus resultats amb un WRT54GL v1.1 utilitzant OpenVPN com a client.

Rendiment màxim del túnel: 500 kbit / s cap avall 50 kbit / s cap amunt

Rendiment màxim d’encaminament sense VPN des de WAN -> LAN 28 mbit / s

Rendiment màxim de NAT (Masquerade) sense VPN des de WAN -> LAN 27 mbit / s

Encara hi ha moltes ubicacions amb una amplada de banda general inferior a aquestes (XDSI, Adsls, xarxes per cable, satèl·lit, etc.) que el router pot satisfer perfectament.

Normalment, els problemes provenen de posar massa clients sense fils en aquests enrutadors. Al llarg dels anys, vaig veure moltes configuracions en cafès, hotels, restaurants on llançaven un encaminador wifi al taulell i el diuen al dia, esperant que pogués atendre més de 10 persones. Tot el que obtenen és una experiència wifi completament inutilitzable al final, ja que l’amplada de banda teòrica general d’aquest enrutador 802.11G és de 51 mbit / s i això és per a tothom, diguem que el real és d’uns 30 metres / s. Per a 10 persones, és a dir, 3 àmbits per usuari, en el millor dels casos, cosa que no és suficient per a aplicacions d’amplada de banda actuals (transmissió de vídeo / àudio, pàgines web 2.0 plenes d’imatges grans, etc.).

Com he dit anteriorment, el punt d’aquest hack és el control remot i que no usaria més d’un parell de kbit / s de trànsit a través d’una VPN.

Pas 6: programari WRTG

Programari WRTG
Programari WRTG

El microprogramari es basa en la millor versió: DD-WRT v24-sp2 (08/12/10) std-nokaid (revisió SVN 14929) Hi ha altres imatges com la VPN que sacrifica el mòdul ext2 per estalviar espai mentre es manté el mmc kernelmodul (LoL). Optware 2 és un paquet d’utilitat descatalogat però útil que amplia la funcionalitat bàsica DD-WRT:

- Fa una distribució bàsica de Linux des de la instal·lació de la caixa de treball ocupada.

-Proporciona petxines bash i altres.

-Proporciona molts déus com: htop, netcat, tcpdump, ngrep, mc

-Proporciona serveis de servidor com: samba, asterisc, vsftpd, servidor jabber

No obstant això, els paquets de programari són antics, amb errors i vulnerabilitats. La publicació i la imatge aquí serien les mateixes que proporcionar una instal·lació de Windows $ 98, per tant, encara no publicaré res, però anotaré pas a pas com configurar la vostra targeta SD OptWare 2.

En el futur tinc previst fer una nova distribució Linux (SnowGlobe Linux) amb paquets nous per a aquest dispositiu i publicar-la.

1, JFFS2 ha d’estar habilitat, no importa que no tingui espai lliure:

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

2, particionament SDCARD. Aquí teniu un truc intel·ligent:

14 GB o el que vulguem tenir per a la primera partició de dades per a la segona partició ddwrt 100-500mb (EXT2) per a la recuperació

Per exemple:

Disc / dev / sde: 14,5 GiB, 15523119104 bytes, 30318592 sectors

Unitats: sectors d'1 * 512 = 512 bytes Mida del sector (lògic / físic): 512 bytes / 512 bytes Mida d'E / S (mínim / òptim): 512 bytes / 512 bytes Tipus de disc etiqueta: dos Identificador de disc: 0x6ad48986 Final d'arrencada del dispositiu Sectors Tipus d'identificació de mida / dev / sde1 2048 29362175 29360128 14G 83 Linux / dev / sde2 29362176 30318591 956416 467M 83 Linux

Creeu sistemes de fitxers:

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

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

Sintonitzar els sistemes de fitxers:

tune2fs -c0 -i0 -m0 / dev / sde1

tune2fs -c0 -i0 -m0 / dev / sde2

El sistema només muntarà automàticament la primera partició al començament. La idea darrere de la partició de recuperació és que WRT54G no té espai per contenir un fdisk en cap altre lloc. Per tant, si hi ha un tancament impur i hi ha incongruències del sistema de fitxers, l'única manera de reparar-lo és tenir una còpia de fdisk (i les llibreries necessàries per iniciar-se) en una segona partició que només es muntarà de tant en tant com només de lectura per executar fsck si necessari. En cas contrari, caldria treure la targeta i posar-la en un ordinador per reparar-la …

3, muntatge

Si col·loqueu una targeta i un fitxer wrtg ja particionats i formatats correctament, és molt probable que la primera partició es muntarà automàticament:

/ dev / mmc / disc0 / part1 13,8G 59,6M 13,7G 0% / mmc

Opt ha de muntar-se ara:

muntatge -o bind / mmc / / opt /

4, script d'instal·lació OWRT2

Abans de començar, comproveu si defgw, tot està bé.

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

sh /tmp/optware-install.sh

Si no pot obtenir l'script, això és perquè falla busyget wget. Funcionarà amb wget d'owrt, però vaja, voleu instal·lar owrt …

La sortida hauria de ser la següent:

S'està comprovant la configuració del sistema …

Utilitzant 192.168.1.1 com a passarel·la predeterminada. Utilitzant els següents servidors de noms: servidor de noms 192.168.1.30 Advertència: el servidor de noms local és diferent del gateway! Comproveu configuració o introduïu: sed -i s / 192.168. * / 192.168.1.1/ /tmp/resolv.conf per corregir-ho. Instal·lació del paquet uclibc-opt_0.9.28-13_mipsel.ipk … Connexió a ipkg.nslu2-linux.org [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************ ************************************ | 832 KB 00:00:00 ETA Actualització /opt/etc/ld.so.cache / opt / sbin / ldconfig: no es pot crear /opt/etc/ld.so.cache~ (no hi ha cap fitxer o directori) Instal·lació del paquet ipkg-opt_0.99.163-9_mipsel.ipk … Connexió a ipkg.nslu2-linux.org [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | ************** ********************************** | 75896 00:00:00 ETA Descàrrega https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Inflating https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Actualitzat llista de paquets disponibles a / opt / lib / ipkg / lists / optware Finalitzada correctament. Instal·lar uclibc-opt (0.9.28-12) a / opt / … Descarregar https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… el paquet uclibc-opt suggereix instal·lar ipkg-opt Configurar uclibc-opt Actualització de /opt/etc/ld.so.cache Finalitzada correctament. Instal·lació d'ipkg-opt (0.99.163-9) a / opt / … Descàrrega de https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Configuració d'ipkg-opt Finalitzada correctament.

5, error del camí:

DEVEU exportar el camí amb:

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"

en cas contrari, ipkg no farà res!

6, verificar ipkg:

actualització ipkg

Hauria de sortir:

S'està baixant

Inflar https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Llista actualitzada de paquets disponibles a / opt / lib / ipkg / lists / optware Finalitzada correctament.

7, instal·leu paquets:

ipkg instal·lar 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, llista de paquets instal·lats:

ipkg-opt llista_instal·lada

No es recomana construir paquets al router perquè no hi ha recursos. Configureu un entorn de compilació de mips separats a Vmware / Vbox / KVM per a aquest propòsit.

Coses necessàries:

-Sistema operatiu Debian 7 wheezy de 64 bits

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

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

No perdeu el temps per intentar compilar l’SDK pel vostre compte, l’SDK binari proporcionat és prou bo.

Creeu una senzilla aplicació helloworld

#include int main (void) {printf ("Vaja! Món, per què no es compila el meu codi? / n / n"); retorn 0; }

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

Si tot va bé, hauríeu de tenir un executable mips ara:

hola: executable ELS de 32 bits LSB, MIPS, MIPS32 versió 1 (SYSV), enllaçat dinàmicament (utilitza llibres compartides), no eliminat

Pas 7: programari Arduino

Podeu descarregar el codi font complet a continuació. És bastant senzill, pot controlar els 2 relés i alguns endolls RC mitjançant una ràdio de 433 MHz. Podeu ampliar-lo fàcilment, per exemple: afegiu més commutadors rc.

Pas 8: tancament i llista de tasques

Tancament i llista de tasques
Tancament i llista de tasques

El WRT54G és un excel·lent maquinari, de manera que tot el treball invertit en aquest projecte val la pena, a més de que l'escut NLD Wrtg pot ser usable amb futures versions de maquinari.

Atès que el consum d’energia d’un WRTG és inferior als Raspberry PIs, l’energia solar del router també pot ser una bona actualització i amb l’Arduino podem controlar tots els detalls del procés de càrrega solar (tensió de la bateria, tensió del panell, consum). Continuaré la sèrie WRTG amb pirates solars més endavant.

Trobar una manera de programar l'Arduino directament des del WRTG seria fantàstic (això requeriria un mètode per restablir l'Arduino).

Les persones amb habilitats 3D, Makerbot, són benvingudes a dissenyar una placa de coberta personalitzada (amb els connectors de la meva placa) per al frontal o redissenyar la part frontal de plàstic completa del router.

ACTUALITZACIÓ: Per celebrar que l’arquitectura MIPS es converteix en codi obert, he actualitzat el tutorial amb la forma de creuar programes C senzills al WRTG.

Visca els MIPS!:)

tipus de sistema: xip Broadcom BCM5352 rev 0 processador: 0 model de CPU: BCM3302 V0.8 BogoMIPS: 199,47 instruccions d’espera: no temporitzadors de microsegons: sí tlb_entries: 32 vector d’interrupció addicional: no punt de vigilància del maquinari: no excepcions VCED: no disponible Excepcions VCEI: no disponible

Recomanat: