lunedì 8 marzo 2010





Installare OpenWrt su router Huawei D100

Da qualche giorno il continuo cambio di firmware di varie compagnie sul mio D100 non mi soddisfaceva più....così siamo passati a qualcosa di più interessante, ovvero OpenWrt.
Questo router, basato su chipset Broadcom BCM5354, era già basato su una versione modificata di Busybox (Linux quindi) ma con diverse limitazioni.
Avevo trovato una wiki dello scorso anno dove veniva descritta la procedura per caricare OpenWrt ma non ci avevo capito molto e soprattutto dovevo smontare il router e invalidare la garanzia.


Ok, vi dico subito che bisogna utilizzare un interfaccia seriale per dialogare col router e interrompere il boot del sistema per permetterci di caricare il nuovo firmware, quindi armatevi di pazienza smontate il router con cautela (sono solo 2 viti) e apritelo.
Io ho usato un interfaccia usb seriale ricavata dal cavo usb di un telefonino (mi sembra fosse un Sagem) dovrebbe essere equivalente a quelle ricavate dal cavo dei Nokia (DKU-5). Questi cavi non hanno bisogno di essere alimentati dalla piastra madre del router ma si alimentano direttamente dalla USB a cui sono collegati.
Per capire quali sono i cavi che ci interessano io ho proceduto cosi:
ho cercato il gnd (massa) con un tester, poi con il cavo inserito nella USB, i driver caricati ho aperto Hyperterminal e ho cortociruitato a 2 a 2 i vari cavi provando a vedere se avevo un ritorno sulla console digitando qualcosa, facendo così ho trovato txd(trasmissione) e rxd(ricezione); per capire quale dei 2 è il rxd basta toccarlo con un dito con Hyperterminal aperto, quello che genera strani caratteri è il rxd, ovvero quello che riceve.

Prima di collegare tutto controllate che l' interfaccia seriale funzioni correttamente: provate a cortocircuitare i contatti txd e rxd e digitando qualche carattere dovreste vedere l' output in consolle.


A questo punto bisogna collegare i contatti txd, rxd e gnd ai rispettivi txd,rxd e gnd della seriale (rispettate lo schema qui sotto):

Modem txd <--> rxd Seriale
Modem rxd <--> txd Seriale
Modem gnd <--> gnd Seriale

Ok, una volta collegato settiamo l' interfaccia seriale così (io ho usato Hyperterminal, ma va bene Putty o qualsiasi altro programma analogo):

Velocità :115200 Bdps
Data bits : 8
Parity: None
Stop bits: 1
Flow Control: None



Ok, a questo punto se avete fatto bene i collegamenti connettendo Hyperterminal e avviando i router dovreste vedere tutta la sequenza di boot tipo questa:

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Èý 7ÔÂ 22 12:16:58 CST 2009 (bcm@old_server.com)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.
Boot partition size = 262144(0x40000)
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller
CFE reboot flag0 = 0x12345678, flag1 = 0x0,flag2 = 0xffffffff,reboot_number = 0x
3
CPU type 0x29029: 240MHz
Total memory: 32768 KBytes


Per poter caricare il nuovo firmware dovete spegnere il router, e tenendo premuto ctrl-c nella consolle della seriale e accenderlo e trovere il prompt della CFE:

CFE>


Questo è il file da inviare in formato TRX che ho utilizzato : openwrt-brcm-2.4-squashfs.trx


A questo punto possiamo caricare OpenWrt in formato TRX andandolo a prelevare tramite tftp (quindi dovete settare un server tftp funzionante ed avere indirizzi statici su router e server tftp), io ho usato tftp per Windows (programma microscopico...)
Ovviamente cambiate 192.168.1.33 con l' indirizzo della macchina dove avete avviato il server tftp.


CFE> flash -noheader 192.168.1.33:/openwrt-brcm-2.4-squashfs.trx flash1.trx

Programming…done. 3215360 bytes written *** command status = 0

Ok, ora riavviamo il router e godiamoci (si fa per dire) il nostro OpenWrt installato.

CFE> reboot


Appena installato tutto la LAN non funzionava impedendomi di comandare il router via ssh, tramite la porta seriale ho editato il file /etc/config/network in questo modo:

root@OpenWrt:~# cat /etc/config/network
#### VLAN configuration

config switch eth0

option vlan0 "0 5"

#option vlan1 "1 2 3 4 5*"


#### Loopback configuration

config interface loopback

option ifname "lo"

option proto static

option ipaddr 127.0.0.1

option netmask 255.0.0.0


#### LAN configuration

config interface lan

option type bridge

option ifname "eth0.0"

option proto static

option ipaddr 192.168.1.12

option netmask 255.255.255.0

option gateway 192.168.1.1

option dns 192.168.1.1


#### 3G/UMTS configuration

config interface wan

option ifname 'ppp0'

option proto '3g'

option device '/dev/usb/tts/0'

option apn 'internet'
root@OpenWrt:~#

Così sono riuscito a pingare le macchine che avevo intorno e pingare il router, quindi aprendo la pagina web sono riuscito ad accedere finalmente a OpenWrt in tutta la sua versatilità.

Ciao, alla prossima.

martedì 2 marzo 2010

Abilitare DynDNS su router 3G Huawei D100

Questo router 3G permette di condividere la connessione di una chiavetta internet tra più computer, comunque chi arriva a questa pagina lo sa già.
Il mio modello è brandizzato dalla Wind e montava il suo firmware customizzato, che pur non impedendo l' utilizzo con altri gestori risultava un po poco reattivo.
Per chi volesse maggiori informazioni sull' aggiornamento del firmware e compatibilità con le varie chiavette vi rimando questo ottimo link:

http://3g-modem.wetpaint.com/page/Huawei+D100,+D100T

Purtroppo il firmware DNA che utilizzo io non ha la funzione del DynDNS abilitato. Essendo il D100 molto simile a molti suoi fratelli maggiori ho trovato qua le istruzioni per abilitarlo via telnet.

Quindi collegatevi al router tramite ethernet o wifi via telnet all' ip del router (192.168.1.1 se non lo avete cambiato come ho fatto io):

telnet 192.168.1.1

date come user: admin password: admin

una volta loggati date in sequenza i seguenti comandi:

# nvram set ddns_cfg_enable=on
#
nvram commit
#
exit

Adesso nel menu del D100 in "advanced settings" trovate magicamente una nuova icona denominata "Dynamic DNS Settings" (è normale che non ci sia l' immagine state tranquilli)
A questo punto non dovete far altro che configurare il servizio con le vostre credenziali e siete a posto.

Saluti a tutti

English Version:

Enabling DynDNS on the 3G router Huawei D100


This router allow you sharing a broadband mobile connection using a Huawei USB key.
My D100 is a Wind branded, so it has a custom firmware, not locked but a little bit buggy.
I reflashed it with a DNA firmware I found at this excellent link (there are other useful infos about this router):


Unfortunately this DNA firmware have not the Dynamic DNS Settings enabled as default.
The D100 has a very similar (or maybe the same) firmware of other Huawei 3G routers, so I found here some infos for enabling the hidden feature of Dynamic DNS Settings.

So, log into the D100 by telnet at the router ip (192.168.1.1 if you have not changed it)

telnet 192.168.1.1

credential for access are user: admin password: admin

when logged give these commands in terminal:

# nvram set ddns_cfg_enable=on
#
nvram commit
#
exit

and now, on the "advanced settings" menu you will find a new icon named "Dynamic DNS Settings" with what I was looking for.
Now you can configure your favourite DDns provider for using this feature.

Bye