10596
Commento:
|
15663
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 6: | Linea 6: |
Written by: Claudyus per ninux.org | Written by: Claudyus per ninux.org |
Linea 9: | Linea 9: |
Per contatti [[domenica nerd]] oppure contatti @ ninux.org oppure sulla [[http://ml.ninux.org/mailman/listinfo/wireless|mailinglist wireless]] <<TableOfContents(3)>> |
|
Linea 19: | Linea 23: |
Linea 21: | Linea 24: |
Linea 86: | Linea 93: |
Linea 104: | Linea 113: |
Linea 183: | Linea 190: |
Abilitate e avviate i servizi con {{{ /etc/init.d/fstab enable /etc/init.d/fstab start }}} |
|
Linea 192: | Linea 204: |
Abilitate e avviate il servizio con: {{{ /etc/init.d/miniupnd enable /etc/init.d/miniupnd start }}} |
|
Linea 194: | Linea 212: |
=== LEDs ==== L'alice gate dispone di moltissimi led che possono essere molto utili per comprendere lo stato attuale del modem. A livello kernel una classe /sys/class/leds ne gestisce il comportamente attraverso dei piccoli moduli kernel chiamati trigger. |
=== LEDs === L'alice gate dispone di moltissimi led che possono essere molto utili per comprendere lo stato attuale del modem. A livello kernel una classe /sys/class/leds ne gestisce il comportamente attraverso dei piccoli moduli kernel chiamati trigger. |
Linea 206: | Linea 223: |
option mode <tx e/o rx e/o link> # se trigger netdev option dev <device> #device se trigger netdev }}} |
option mode <tx e/o rx e/o link> # se trigger netdev option dev <device> #device se trigger netdev }}} |
Linea 211: | Linea 227: |
Linea 213: | Linea 230: |
option sysfs power:red option trigger heartbeat |
option sysfs power:red option trigger heartbeat |
Linea 219: | Linea 236: |
option mode tx rx option dev eth1.1 |
option mode tx rx option dev eth1.1 |
Linea 223: | Linea 240: |
option sysfs wifi:red | option sysfs wifi:green |
Linea 228: | Linea 245: |
Per approfondire l'argomento http://wiki.openwrt.org/doc/uci/system#leds ==== Facciamoci due risate ==== Giusto per divertimento installiamo e usiamo un trigger molto simpatico {{{ opkg install kmod-ledtrig-morse echo morse > /sys/class/leds/service\:red/trigger echo "Welcome to OpenWrt" > /sys/class/leds/service\:red/message }}} === Stampante USB === Se preferite avere un server di stampa alle funzionalità del HDD potete provare il piccolissimo server p910nd, ottimo per l'uso domestico. {{{ opkg install kmod-usb-printer p910nd }}} Quindi connettete la vostra stampante usb e scoprite in ''dmesg'' come viene chiamato il device corrispondente; in genere usblp0. Infine editate /etc/config/p910nd come segue: {{{ config p910nd option device /dev/lp0 option port 0 option bidirectional 0 option enabled 1 }}} quindi abilitate e avviate il servizio con: {{{ /etc/init.d/p910nd enable /etc/init.d/p910nd start }}} La stampante può essere configurata sotto linux come stampante i rete usando il protocollo '''AppSocket/HPJetDirect''' == Mod Hardware == Questo breve capitolo verrà presto riempito con varie modifiche hardware. || /!\ Porta il tuo modem da hackerare a una delle [[domenica nerd|domeniche nerd]] /!\ || === Aggiungere un sensore di temperatura === === Cambiare la scheda pci wireless === === Integrare un HUB USB 4 porte === Avere a disposizione una USB è estremamente comodo ma anche frustrante quando si vuole connettere contemporaneamente un HDD, la stampante e una webcam, contemporaneamente :D.<<BR>> L'uso di un HUB usb è la normale conseguenza di queste necessità ma ovviamente connettere un hub usb esterno non ci darebbe abbastanza soddisfazione; vediamo quindi come "integrare", con un po di forza, questo [[http://trust.com/products/product.aspx?artnr=15005|hub usb della trust]] basato sul chip [[http://www.genesyslogic.com/manage/upfile/12052255151.pdf|GL850G]] Come prima cosa ci occupiamo dell'alimentazione. Aggiungere un hub interno sfruttando la corrente di una sola porta USB potrebbe essere azzardato, quindi realizziamo un semplice circuito di alimentazione ausiliario che alimenterà solamente la parte USB. Allo scopo potete usare il classico 7805 e un paio di condensatori il tutto montato su un bel circuito monofaccia in cui il piano di rame farrà anche da dissipazione per il regolatore di tensione stesso. {{attachment:7805.jpg|che circuito!|width="300"}} [[attachment:7805.jpg|zoom]] ''Un circuito davvero casalingo'' Adesso che possiamo sopportare meglio i picchi di corrente non ci resta che dissaldare il connettore USB del nostro modem e connettere l'alimentatore e i segnali della USB all'hub. La piedinatura della usb sul modem è: {{{ | | |-|-O----------O| | | | connettore USB visto da sotto | | R W G B | | | | |-|-O----------O| | |<- bordo scheda }}} Dove R è red W= white G= green e B ovviamente BLACK I pin R e B non andranno riusati mentre i pin W e G andranno saldati con gli omonimi sull'HUB. Ecco un po di foto a lavoro concluso: {{attachment:cablaggio.jpg|cablaggio|width="300"}} [[attachment:cablaggio.jpg|zoom]] ''cablaggio interno'' {{attachment:esterno.jpg|super hub|width="300"}} [[attachment:esterno.jpg|zoom]] ''L'aspetto finale a lavoro quasi concluso, devo ancora lavorare sul pannello di sinistra'' Ed ecco infine come viene riconosciuto dal kernel l'hub e le periferiche connesse sulle usb: {{{ root@OpenWrt:~# dmesg ... ... usb 1-1: configuration #1 chosen from 1 choice hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected usb 1-1.4: new full speed USB device using bcm63xx_ohci and address 3 usb 1-1.4: configuration #1 chosen from 1 choice scsi0 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 3 ... usb 1-1.3: new full speed USB device using bcm63xx_ohci and address 4 usb 1-1.3: configuration #1 chosen from 1 choice usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04E8 pid 0x326 }}} ==== Considerazioni tecniche === * La coppia W/G ovver D+ e D- della usb penso siano dei segnali differenziali come suggeriscono i segni. Sarà quindi il caso di usare 2 fili di uguale lunghezza blandamente attorcigliati come in foto * Evitate di fare un super loop di massa tra l'alimentatore e il B della USB rimossa. Ovvero seguite il cablaggio in foto. * Per incollare l'hub come in foto ho dovuto sacrificare C21 della parte ADSL. Era un 100uF 6,3V. |
Dare nuova vita al modem Alice Gate.
Questa guida mostra come dispositivi molto comuni, usati principalmente come oggetti standardlone e con pochissime funzioni possano essere personalizzati ritornando a nuova vita con l'utilizzo di software open-source, dando fra l'altro grandi soddisfazioni.
In queste pagine spiegherò non solo come sostituire il firmware di default con una completa a potente distribuzione (OpenWrt) ma esploreremo anche modifiche hardware e configurazioni software impensabili con il firmware originale.
Written by: Claudyus per ninux.org
Copyright: CC-BY-SA
Per contatti domenica nerd oppure contatti @ ninux.org oppure sulla mailinglist wireless
Indice
Dal rifiuto al riuso
Come ben sappiamo ogni gestore telefonico ha il suo modem capillarmente diffuso sul territorio nazionale, cambiare contratto telefonico in ultima analisi porta anche al cambiamento del modem che in realtà da lungo tempo ha smesso di essere un semplice de-modulatore e si è trasformato in un potente e versatile computer. Quindi, perché buttare tutto questo hardware?
Perché non riutilizzarlo evitando fra l'altro spreco di materie prime e acquistando gratis nuove funzionalità?
Una pratica conosciuta come trashware ma applicata ad un ambito molto più specializzato.
Hack Alice Gate Voip 2 Plus Wi-Fi Business
Come già detto questa guida riguarderà la personalizzazione del modem in oggetto, prima di iniziare, comunque, sarà necessario aprirlo identificare la seriale e conosce un po meglio le potenzialità del dispositivo che abbiamo fra le mani.
Porta il tuo modem da hackerare a una delle domeniche nerd |
Dal punto di vista hw si possono identificare:
- il processore (sotto l'aletta quadrata)
- una porta usb
- 1 slot mini-pci
- 2 porte voip (in rosso)
- 1 porta per la connessione alla linea adsl (purtroppo questa funzionalità andrà persa)
- 4 porte ethernet (in giallo) una serie di leds (in basso)
Nel seguito della guida ci occuperemo di ognuno di questi componenti.
Cambiare il firmware con una distribuzione linux
Identificata la seriale come mostrato in foto ci si può connettere tramite un convertitore RS232->3,3V un dispositivo di certo non comune ma fondamentale per qualsiasi esperienza di hack.
Se non disponi di questa seriale possiamo anche fermarci qui. Inoltre dopo l'hack si perderà la funzione di modem ADSL (il driver broadcom per l'utilizzo del modem adsl è proprietario e non tratteremo questo argomento)
Se siete disposti a perdere la funzionalità di modem adsl e avete la seriale non dovete far altro che proseguire.
Per installare il nuovo sistema operativo dovete connettere la seriale al modem quindi premere invio non appena appare il count-down del boot...
Se si vuole eseguire il backup del firmware ti consiglio di leggere la pagina dedicata al modem sul wiki di openwrt. http://wiki.openwrt.org/inbox/alicegate_voip2_plus
Altrimenti dopo aver scaricato il firmware dall'indirizzo http://downloads.openwrt.org/snapshots/trunk/brcm63xx/openwrt-AGV2+W-jffs2-64k-cfe.bin e installiamolo sul modem usando il comando flashimage
Il comando flashimage tenterà di scaricare il file selezionato tramite tftp, sarà quindi necessario configurare un tftp server su un qualche pc della rete e connettere il modem alla stessa rete
Se si usa linux tutto è molto semplice, tramite dnsmasq possiamo eseguire un semplice tftp server senza perdersi in complicate configurazioni:
cd /tmp wget http://downloads.openwrt.org/snapshots/trunk/brcm63xx/openwrt-AGV2+W-jffs2-128k-cfe.bin ifconfig eth0 192.168.1.100 dnsmasq -d --enable-tftp --tftp-root=/tmp
A questo punto sul modem possiamo scrivere il comando:
flashimage openwrt-AGV2+W-jffs2-128k-cfe.bin
Il quale scaricherà l'immagine e la installerà nella flash di sistema restituendoci un sistema completamente diverso al prossimo riavvio.
Il primo avvio
Una volta installato OpenWrt il firstboot è diverso da tutti gli altri. Di default si avrà telnet attivo e nessuna password di root, inoltre il wifi disabilitato.
Per porre rimedio, sempre tramite seriale possiamo impostare un ip noto e quindi entrare nella sheel tramite telnet per completare le prime configurazioni.
Supponendo di disporre di un computer linux impostiamo 192.168.2.1 sulla modem tramite seriale e 192.168.2.6 sul nostro pc.
ifconfig br-lan 192.168.2.1 #sul modem ifconfig eth0 192.168.2.6 #sul pc
A questo punto entriamo nella sheel di sistema tramite telnet:
telnet 192.168.2.1
Tramite passwd impostiamo una password per l'utente root. Quindi tramite vi editiamo il file /etc/config/wireless abilitando il wireless, ovvero impostando a 0 la variabile option disable di default impostata a 1
Finite queste configurazioni possiamo riavviare il router alice. Accederemo quindi a una rete non protetta di nome OpenWrt e riaccenderemo al modem tramite ssh root@192.168.1.1
Configurazini avanzate
Porta il tuo modem da hackerare a una delle domeniche nerd |
Adesso che abbiamo un completo sistema operativo a bordo non dobbiamo far altro che installare e configurare i servizi che più ci interessano. Tenendo sempre a mente il wiki di OpenWrt per i dettagli sulle configurazioni proviamo adesso a configurare alcuni servizi
Installare nuovi pacchetti
E' possibile aggiungere nuove funzionalità installando nuove pacchetti tramite il package manager opkg. Per chi ha familiarità con sistemi linux un semplice opkg help sarà più che chiarificatore.
Per iniziare scarichiamo la lista di pacchetti e installiamo alcuni pacchetti utili a priori:
opkg update opkg install kmod-usb-ohci block-mount nano
Criptare la rete WPA/PSK
Per criptare la rete wi-fi tramite WPA sarà necessario aggiungere due opzioni al termine del file /etc/config/wireless Le opzioni sono:
option encryption psk option key 'aggiungete_la_vostra_chiave_wpa_preferita_qua'
Dividere lo switch tra due reti
I puristi della terminologia informatica mi perdoneranno per questo titolo, che in realtà riguarda la creazione di VirtualLAN (vlan) separate all'interno dello stesso switch.
Comunemente un router routa i pacchetti della lan su una rete esterna chiamata wan.
In genere sono necessarie quindi due interfacce fisicamente diverse (due schede di rete) per ruotare i pacchetti da una all'altra.
In realtà gli switch possono taggare i pacchetti in ingresso/uscita e quindi realizzare all'interno di un unico dispositivo due reti distinte.
Se vogliamo usare il nostro alice come gateway sarà proprio il caso di dividere una porta (la numero 4, quella vicina la usb) dal resto dello switch. Come ho già scritto sul wiki di openwrt questa operazione si effettua tramite il tagging delle vlan ovvero modificando l'intero file /etc/config/network così:
config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config 'switch' 'eth1' option 'enable' '1' option 'enable_vlan' '1' option 'reset' '1' config 'switch_vlan' 'vlan0' option 'vlan' '0' option 'device' 'eth1' option 'ports' '0 1 2 5*' config 'switch_vlan' 'vlan1' option 'vlan' '1' option 'device' 'eth1' option 'ports' '3 5t' config interface lan option ifname eth1.0 option type bridge option proto static option ipaddr 192.168.5.1 option netmask 255.255.255.0 option nat 1 config 'interface' wan option 'ifname' 'eth1.1' option 'proto' 'dhcp'
IPV6
Una rete che si rispetti deve supportare ipv6 oramai.
Per lo scopo installiamo radvd e aiccu per realizzare un tunnel ipv6 verso sixxs o servizio equivalente:
opkg install radvd aiccu
I servizi vanno configurati usando /etc/config/radvd e /etc/config/aiccu rispettivamente.
Sul wiki di sixxs c'è un'ottima descrizione di come configurare il tunnel e la subnet.
Hard-disk su USB
Per poter montare un hdd è necessario oltre ad installare kmod-usb-ohci e block-mount anche i moduli kernel per il filesystem specifico.
Ovviamente da linuxiano consiglio ext4 con swap
opkg install kmod-fs-ext4 swap-utils
Ma so che molti windoziani (evitato il TM) preferiranno usare fat o ntfs (e mettetelo pure lo swap!)
opkg install kmod-fs-vfat kmod-fs-ntfs swap-utils
La configurazione dei mount point, indovinate un po, va fatta in /etc/config/fstab e non /etc/fstab! Per la sintassi completa vi rimando al wiki di openwrt
Se dovete partizionare o modificare le partizioni dovrete installare i pacchetti necessari anche a seconda delle fs selezionato:
opkg install fdisk mkdosfs
Abilitate e avviate i servizi con
/etc/init.d/fstab enable /etc/init.d/fstab start
UPnP
UPnP è un protocollo di rete per l'auto configurazione del forwarding delle porte.
opkg install miniupnpd
La configurazione è praticamente nulla e possibile su /etc/config/upnpd
Abilitate e avviate il servizio con:
/etc/init.d/miniupnd enable /etc/init.d/miniupnd start
Vedi la pagina wikipedia su UPnP http://it.wikipedia.org/wiki/Universal_Plug_and_Play
LEDs
L'alice gate dispone di moltissimi led che possono essere molto utili per comprendere lo stato attuale del modem. A livello kernel una classe /sys/class/leds ne gestisce il comportamente attraverso dei piccoli moduli kernel chiamati trigger.
E' possibile installare diversi tipi di trigger inoltre heartbeat e netdev sono inclusi di default nell'immagine di OpenWrt.
Per configurare i led si aggiunge una sessione per ogni led all'interno di /etc/config/system
config led option sysfs <nome del led> #vedi quelli disponibili dentro /sys/class/leds option trigger <netdev o heartbeat> option mode <tx e/o rx e/o link> # se trigger netdev option dev <device> #device se trigger netdev
Per esempio sul mio modem uso:
config led option sysfs power:red option trigger heartbeat config led option sysfs internet:green option trigger netdev option mode tx rx option dev eth1.1 config led option sysfs wifi:green option trigger netdev option mode tx rx option dev eth1.0
Per approfondire l'argomento http://wiki.openwrt.org/doc/uci/system#leds
Facciamoci due risate
Giusto per divertimento installiamo e usiamo un trigger molto simpatico
opkg install kmod-ledtrig-morse echo morse > /sys/class/leds/service\:red/trigger echo "Welcome to OpenWrt" > /sys/class/leds/service\:red/message
Stampante USB
Se preferite avere un server di stampa alle funzionalità del HDD potete provare il piccolissimo server p910nd, ottimo per l'uso domestico.
opkg install kmod-usb-printer p910nd
Quindi connettete la vostra stampante usb e scoprite in dmesg come viene chiamato il device corrispondente; in genere usblp0. Infine editate /etc/config/p910nd come segue:
config p910nd option device /dev/lp0 option port 0 option bidirectional 0 option enabled 1
quindi abilitate e avviate il servizio con:
/etc/init.d/p910nd enable /etc/init.d/p910nd start
La stampante può essere configurata sotto linux come stampante i rete usando il protocollo AppSocket/HPJetDirect
Mod Hardware
Questo breve capitolo verrà presto riempito con varie modifiche hardware.
Porta il tuo modem da hackerare a una delle domeniche nerd |
Aggiungere un sensore di temperatura
Cambiare la scheda pci wireless
Integrare un HUB USB 4 porte
Avere a disposizione una USB è estremamente comodo ma anche frustrante quando si vuole connettere contemporaneamente un HDD, la stampante e una webcam, contemporaneamente :D.
L'uso di un HUB usb è la normale conseguenza di queste necessità ma ovviamente connettere un hub usb esterno non ci darebbe abbastanza soddisfazione; vediamo quindi come "integrare", con un po di forza, questo hub usb della trust basato sul chip GL850G
Come prima cosa ci occupiamo dell'alimentazione. Aggiungere un hub interno sfruttando la corrente di una sola porta USB potrebbe essere azzardato, quindi realizziamo un semplice circuito di alimentazione ausiliario che alimenterà solamente la parte USB. Allo scopo potete usare il classico 7805 e un paio di condensatori il tutto montato su un bel circuito monofaccia in cui il piano di rame farrà anche da dissipazione per il regolatore di tensione stesso.
zoom Un circuito davvero casalingo
Adesso che possiamo sopportare meglio i picchi di corrente non ci resta che dissaldare il connettore USB del nostro modem e connettere l'alimentatore e i segnali della USB all'hub.
La piedinatura della usb sul modem è:
| | |-|-O----------O| | | | connettore USB visto da sotto | | R W G B | | | | |-|-O----------O| | |<- bordo scheda
Dove R è red W= white G= green e B ovviamente BLACK
I pin R e B non andranno riusati mentre i pin W e G andranno saldati con gli omonimi sull'HUB.
Ecco un po di foto a lavoro concluso:
zoom cablaggio interno
zoom L'aspetto finale a lavoro quasi concluso, devo ancora lavorare sul pannello di sinistra
Ed ecco infine come viene riconosciuto dal kernel l'hub e le periferiche connesse sulle usb:
root@OpenWrt:~# dmesg ... ... usb 1-1: configuration #1 chosen from 1 choice hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected usb 1-1.4: new full speed USB device using bcm63xx_ohci and address 3 usb 1-1.4: configuration #1 chosen from 1 choice scsi0 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 3 ... usb 1-1.3: new full speed USB device using bcm63xx_ohci and address 4 usb 1-1.3: configuration #1 chosen from 1 choice usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04E8 pid 0x326
==== Considerazioni tecniche ===
- La coppia W/G ovver D+ e D- della usb penso siano dei segnali differenziali come suggeriscono i segni. Sarà quindi il caso di usare 2 fili di uguale lunghezza blandamente attorcigliati come in foto
- Evitate di fare un super loop di massa tra l'alimentatore e il B della USB rimossa. Ovvero seguite il cablaggio in foto.
- Per incollare l'hub come in foto ho dovuto sacrificare C21 della parte ADSL. Era un 100uF 6,3V.