venerdì 4 novembre 2011

Testare velocità cavo lan con Ubuntu

Se non vi interessa la premessa saltate all' asterisco ***
In questi giorni ho cablato un locale ( ho finito 300m di cavo e non mi è nemmeno bastato !!)
A parte passare il cavo nei corrugati ho anche dovuto imparare a crimpare le 2 estremità del cavo con i classici plug.
Il cavo utilizzato è un cat5e, non di qualità eccelsa, comunque sembra funzionale allo scopo.
Oggi sono andato a testare che i cavi funzionassero e mi è venuta la voglia di misurare anche la velocità massima trasferibile. Ricordo che i cat5e sono già gigabit quindi in teoria potrei raggiungere i 1000mbit/s (wow!).
Purtroppo la velocità reale è un po diversa visto che esistono i router, le schede di rete 100mbit/s e mille altri colli di bottiglia.
Ho pensato, dopo aver messo un router tra i 2 pc che dovevano trasmettersi un file di prova, che quello non era il migliore modo per testare il cavo in se per se.
Perchè ? Perchè il router che avevo io , di qualità media , non mi faceva andare a più di 5,5 mb/s quindi 44mbit/s.... insoddisfacente per la mia gigabit lan.
Allora ho tolto il router facendo un aggiunta al cavo da testare con un cavo crossover per realizzare un link diretto tra i 2 pc.
Per la cronaca un cavo crossover è un cavo lan con ad una estremità un plug crimpato in standard 568a e dall' altra 568b.
E,ancora per la cronaca :ora come ora, con 2 pc non preistorici si puó fare il link diretto con un cavo dritto (568b o 568a su entrambe le estremità) visto che le schede di rete moderne sono "autosensing",
Con il link diretto la velocità è salità a circa 8mb/s circa 64mbit/s.... un pó meglio ma ancora bassa.
Il problema sta nella velocità dei dischi rigidi, di uno dei due portatili (10 anni di vita).
Così tornato a casa ho deciso di testare la velocità di trasferimento tra 2 pc con scheda di rete gigabit e disco rigido sata, risultato 55mb/s quindi 440mbit/s .... cominciamo a ragionare !
Quindi ho capito che ci voleva qualcosa di "più tecnico" per testare questi cavi, visto che i colli di bottiglia sono ovunque trasferendo grezzamente un file tra 2 pc.
***
Cercando su google (cosa di cui sono malato) ho trovato un programmino microscopico da terminale per linux chiamato iperf
sudo apt-get install iperf

da installare su entrambi i pc.
Poi si da su un pc che fungerà da server
iperf -s

e sull' altro
iperf -c 192.168.1.10


Sostituite 192.168.1.10 con l' ip del pc che fa da server.
Il programma fa il test (pochi secondi)e vi da il risultato.
Nel mio caso per i cavi patch sia crossover che dritti di 1.5 metri circa mi da come velocità max 961mbit/s.......ok siamo vicini al gigabit.
Ora non mi resta che testarlo sui cavi che ho realizzato..... vi faró sapere.
Saluti


- Posted using BlogPress from my iPhone

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