Archivio mensile:Gennaio 2014

OpenWRT ed il modem ARV4518PW

Ho comprato un modem per sostituire quello Eminent che non mi consentiva di gestirlo appieno senza dove fare strane manovre tramite wget sulle pagine http  ed altro per prelevare i valori della rete, velocità, etc.: quello che volevo era difficile da trovare:

  • Compatibile OpenWRT
  • Modem ADSL2+
  • Gestione delle VLan
  • WiFi integrato

La difficoltà è stata individuare e trovare un access point WiFi con modem ADSL gestibile da OpenWRT.

Trovato il modem Astoria ARV4518PW su eBay in Asturia ho atteso che arrivasse in Italia.. due settimane ed il modem era in mio possesso!!

La prima difficoltà obiettiva era capire come poterlo aprire senza distruggere il case plastico. Alla fine il case ha fatto una brutta fine!

Ho trovato un wiki molto interessante che parlava di tutto quello che serviva per domare l’Astoria ai voleri di OpenWRT

http://foro.seguridadwireless.net/openwrt/openwrt-para-roters-astoria-de-ya-com/msg246595/#msg246595

Indubbiamente era una vera operazione a cuore aperto: sostituire il bootloader e successivamente installare il nuovo sistema operativo.

Disintegrate le alette che mantenevano la chiusura ermetica del modem, ho individuato gli header della seriale; credo di aver esagerato in quanto ho anche effettuato il collegamento per l’eventuale recupero a fronte del brick del modem, ma per fortuna non è stato necessario (per intenderci le due saldature sul lato posteriore della piastra).

Non sono riuscito a capire il motivo, ma l’adattatore che ho inizialmente utilizzato a 3v3 non ha funzionato. Vedevo sul terminale minicom che mi richiedeva di premere tre volte la barra spaziatrice per poter entrare nella modalità superuser, ma era come se non facessi nulla. Ho provato anche a cambiare la tensione dell’adattatore a 5v0, ma senza successo.
Ho deciso di provare un altro adattatore usb-seriale e questa volta sono riuscito ad entrare nella modalità superuser e poter effettuare il backup della rom e poter inviare in xmodem (come i tempi della mia bbs !!) il bootloader sul modem.

Sul sito di OpenWrt ho prelevato l’ultima versione ufficiale per il mio modem

http://downloads.openwrt.org/attitude_adjustment/12.09/lantiq/danube/openwrt-lantiq-danube-squashfs.rootfs

e, dopo aver configurato il server tftp sul mio LinuxMint, ho passato il file per l’aggiornamento del sistema.

Il sistema non funzionava bene, in quanto avevo individuato due problemi:

  • La scheda wireless non funzionava
  • Il modem si sconnetteva e riconnetteva con periodicità

Ho fatto alcune ricerche su Internet ed il problema era conclamato.. non era quindi un problema del mio modem.

Dopo una serie di tentativi infruttuosi, fra cui anche provare ad usare la versione del trunck, ho prelevato l’ultima versione del trunck della 12.09 (che dovrebbe essere pubblicata come 12.09.1),

git clone git://git.openwrt.org/12.09/openwrt.git

scaricato il git del progetto, poi aggiorno i pacchetti da configurare ed installare con

 ./scripts/feeds update -a
 ./scripts/feeds install -a

a questo punto il make menuconfig consente di selezionare i pacchetti e moduli del kernel da compilare ed installare.

Potrebbero esserci dei problemi con delle versioni e/o pacchetti mancanti. Sotto Debian e derivate si mette a posto tutto installando con apt-get una serie di pacchetti standard:

	sudo apt-get install git-core build-essential
	sudo apt-get install subversion
	sudo apt-get install libncurses5-dev zlib1g-dev
	sudo apt-get install libssl-dev gettext
	sudo apt-get install xsltproc

Senza esagerare con i pacchetti da installare e con i moduli da installare la compilazione si risolve in una ora circa,

CONFIG_TARGET_lantiq=y
CONFIG_TARGET_lantiq_danube=y
CONFIG_TARGET_lantiq_danube_ARV4518PW=y

Già con la scelta del processore e del tipo di hw, si ha un sistema di base funzionante.

Come riportano le note su OpenWRT per l’installazione del sistema, con il comando

make

si inizia la compilazione dell’ambiente che può essere velocizzata aggiungendo l’opzione

 - j <numero di core +1>

purtroppo può capitare che il comando make non vada a buon fine e si rende necessario terminare la compilazione in modalità “singole core”.

Terminata la compilazione, per trasferire il nuovo kernel sul modem bisogna configurare un server tftp nella cui directory di riferimento sia presente il file ARV4518PW-squashfs.image, così come impostato nell’environment del modem, che è possibile modificare, ma ho preferito lasciare invariato.

/tftpboot/ARV4518PW-squashfs.image -> ~/Software/openwrt/openwrt/bin/lantiq/openwrt-lantiq-danube-ARV4518PW-squashfs.image

Ho impostato sul mio pc i due indirizzi che mi sarebbero serviti per la gestione del server tftp e della connessione al modem, in modo che fossi obbligato a cambiare continuamente configurazione.

Una volta impostato il link, si esegue, nel mio caso,

minicom -D /dev/ttyUSB0

che visualizza lo stdout del modem. Fornita l’alimentazione si interrompe il processo di boot con la pressione di un tasto e si lancia l’aggiornamento del fw con

run update_openwrt
ROM VER: 1.0.3
CFG 01
Read
ROM VER: 1.0.3
CFG 01
Read EEPROMX
 X


U-Boot 2010.03 (May 16 2012 - 05:51:08)

Board: ARV4518PW
SoC: Danube/Twinpass/Vinax-VE V1.3, DDR Speed 166 MHz, CPU Speed 333 MHz
DRAM:  64 MB
Flash:  4 MB
Net:   
searching for rtl8306 switch ... found
lq_cpe_eth
Hit any key to stop autoboot:  0 
ARV4518 => run update_openwrt
Using lq_cpe_eth device
TFTP from server 192.168.144.100; our IP address is 192.168.144.99
Filename 'ARV4518PW-squashfs.image'.
Load address: 0x80500000
Loading: T 
Abort
ARV4518 => run update_openwrt
Using lq_cpe_eth device
TFTP from server 192.168.144.100; our IP address is 192.168.144.99
Filename 'ARV4518PW-squashfs.image'.
Load address: 0x80500000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################################
done
Bytes transferred = 2883588 (2c0004 hex)

............................................. done
Erased 45 sectors
Copy to Flash... 9....8....7....6....5....4....3....2....1....done
ARV4518 => bootm
## Booting kernel from Legacy Image at 80500000 ...
   Image Name:   MIPS OpenWrt Linux-3.3.8
   Created:      2014-07-16  18:05:28 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    981860 Bytes = 958.8 kB
   Load Address: 80002000
   Entry Point:  80002000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Il modem esegue il download del nuovo kernel dal server, lo controlla, esegue il flash della memoria e si pone in attesa di un comando che può essere

reset

che esegue la reinizializzazione del modem.

Quindi ho istallato il server apache sul mio pc per poter aggiornare la distribuzione con un link, sia il kenel che i pacchetti applicativi

/var/www/attitude_adjustment/12.09.1/lantiq/danube/packages -> ~/Software/openwrt/openwrt/bin/lantiq/packages/

ho modificato il routing de mio pc e la possibilità del routing fra la scheda wired e la wireless

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo sysctl net.ipv4.ip_forward=1

In questo modo ho aggiornato i pacchetti disponibili e installatu luci

opkg update 
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start

E’ interessante l’opzione che consente la gestione del led tramite regole di iptables e l’impostazione del modulo del kernel:

nelle regole personalizzate del firewall:

iptables -A INPUT -p tcp –dport 22 -j LED –led-trigger-id netfilter-ssh –led-delay 1000

e nell script di startup

echo ssh > “/sys/class/leds/soc:green:voip/trigger”

in questo modo nella configurazione dei led la configurazione

config led
    option default '0'
    option trigger 'netfilter-ssh'
    option sysfs 'soc:green:voip'

consente di vedere eventuale traffico ssh sullo stato del led del voip (che personalmente non uso).

A questo punto posso monitorare lo stato della linea adsl con

root@OpenWrt:/etc/config# /etc/init.d/dsl_control status
Chipset:        Ifx-Danube 1.3
Line State:        UP [0x801: showtime_tc_sync]
Data Rate:        16.382 Mb/s / 1.020 Mb/s
Line Attenuation:    18.7dB / 10.4dB
Noise Margin:        6.4dB / 9.5dB
Line Uptime:        8h 18m 29s

—————–

 

Finita la prima fase sperimentale con compilazione ed installazione del nuovo OpenWRT tramite tftpt, le successive installazioni risultano molto più semplici !! E’ sufficiente andare in
dobbiam
Sistema -> Backup / Flash firmware -> Flash new firmware image

e caricare il nuovo firmware.

 

Inoltre è possibile avere molta più ram per installare tutto quello che vogliamo:
possiamo installare una memoria USB come nuova root:

creiamo una partizione e la formattiamo in ext4

dobbiamo installare alcuni pacchetti aggiuntivi:

opkg install kmod-usb-storage-extras
opkg install block-mount
opkg install kmod-fs-ext4
cd /tmp
mkdir cproot
mkdir sda1
mount --bind / /tmp/cproot
mount /dev/sda1 /tmp/sda1
root@OpenWrt:/tmp# tar -C /tmp/cproot -cvf - . | tar -C /tmp/sda1 -xf -
umount /tmp/cproot
umount /tmp/sda1

Configuriamo la nuova root

config mount
option target /
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 0

ed ecco il risultato:

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                   14.6G    359.3M     13.5G   3% /
/dev/root                 1.8M      1.8M         0 100% /rom
tmpfs                    30.2M    916.0K     29.3M   3% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda1                14.6G    359.3M     13.5G   3% /

Un modem nuovo (!!) con 13G di spazio !! 🙂

 

—————————

 

un paio di giorni fa ho fatto un errore.. ho provato a compilare la nuova versione trunck della 14.07 barrier breaker,, ma per errore ho compilato per il AVR4518PWR01 .. e non AVR4518PWR01A !!

Non s se sia stato quello o altro, ma il mdem era come briccato…rimessa ‘ultima versione della 12.09.1, tutto funzionava .. tranne la connessione adsl.

Tutti i forum dicono “Fate il backup del vecchio firmware e della partizione dati del modem”, ma nessuno ha evidenziato COME restora i dati della partizione di configurazione.

Io ho fatto così:

Ho inserito fra i parametri del uboot la seguente istruzione:

set update_datamodem 'tftp ${ram_addr} ${tftppath}data_ARV4518.data;era 0xb03f0000 +${filesize};cp.b 0x80500000 0xb03f0000 ${filesize}'

copiato nella directory ftfp il file del dump della partizione da 64k effettuata con brndumper e rinominata in data_ARV4518.data

lanciato un

saveenv

per salvare nella nvram del modem l’istruzione e poi

run update_datamodem

in questo modo ho ripristinato la partizione corrotta ( o che perlomeno reputavo tale)

ho provato a mettere sotto la versione rc2 del 14.07 e la adsl ha ripreso a funzionare !!

il solito /etc/init,d/dsl_control mi dava i soliti 16Mb!!

Purtroppo lo spazio della partizione del fs di boot era troppo esigua.. Non potevo installare nulla. Roll back, ma avevo la certezza che il modem funzionasse nuovamente!! 🙂

Ho fatto la copia del openwrt-lantiq-danube-ARV4518PW-squashfs.image sulla tmp del modem, poi il sysupgrade, modificato il opkg.conf per farlo puntare al mio server http e poi via con la reinstallazione dei pacchetti …

Il modem è di nuovo up and running !!

Addio Zentyal

logo-zential-big-bgDopo aver passato alcune settimane con un server che mi sembrava potesse fare al mio caso, ho deciso che, invece, non era adatto ai miei scopi.

In realtà non posso che essere soddisfatto di Zentyal (www.zentyal.org) , con le sua finestre, semplificazioni, ma il voler far gestire agli script tutto è vincente in alcune situazioni e la mia piccola rete non era adatta alle sue caratteristiche. Al contrario lo ritengo un sw che possa essere usato con successo all’interno di organizzazione windowscentriche.

In sostanza ho reintallato una versione di Ubunt server invece della precedente Debian, solo in quanto posso giocare meglio con i pacchetti (sono più aggiornati e non corro il rischio di dover compilare mezzo sistema solo per istallare, per esempio, l’ultimo gparted.

Ho trovato un sostituto in ajenti, che per certi aspetti ricorda molto Zentyal, ma senza la pretesa di “nascondere” la configurazione.. anzi !! Insomma … morale della favola, ho eliminato i dati dal vecchio disco ed ho installato Ubuntu server. Ho installato il server dhcp, squid, dansguardian, mysql, clamav, apache2 ed altre robette; l’ho fatto diventare un rsysolg server, installato postfix e nei prossimi giorni voglio configurarlo per ricevere la mail direttamente da internet utilizzando i soliti ddns ed hardenizzarlo un poco per eliminare eventuali buchi di sicurezza.

A proposito di sicurezza… Ringrazio … non so chi, ma sono felice di essere passato a Linux: sono diversi anni che non mi pongo il problema di virus, adaware ed altre menate del genere!! Mia sorella ha dovuto piallare completamente il pc dopo che alcuni ospiti si erano installati sul suo windows7 rendendolo inutilizzabile. Solo un bel formatone dell’hard disk gli ha riconsegnato un computer degno di chiamarsi tale.

faccio una lista dei diversi link che ho ritenuto utili per quanto fatto, senza fare scopiazzamenti che tanto poi si vedono 🙂

per la configurazione dei log centralizzati http://www.howtoforge.com/centralized-rsyslog-server-monitoring

anche se loganalyzer non mi piace assolutamente, ma ho fatto diverse ricerche e non sono stato in grado di trovare qualcosa che faccia un lavoro simile al suo, ma è di una lentezza e pesantezza micidiale !!!

per la configurazione dei programmi di mail http://help.ubuntu-it.org/6.06/ubuntu/serverguide/it/email-services.html

per la gestione del content filtering/cache http l’accoppiata squid e dansguardian è insuperabile; per la gestione dei contenuti mi sono affidato alle liste fornite da http://www.shallalist.de/ in quanto prevedono che un utente privato le possa usare senza alcuna limitazione … avendo dei marmocchi che viaggiano per la rete, lasciamoli stare ancora bambini.. per quanto è possibile !

Si termina il tutto con samba e cups per la stampante di rete e la condivisione con windows di alcune directory del server. Quando riuscirò ad avere qualche secondo di tempo, voglio vedere la configurazione dello scanner con xsane in rete..

Ho installato la mia Epson R200 via CUPS senza alcun problema.. nessun driver da ricercare.. nulla ! Ho acceso la stampante, due click a tutta la mia rete casalinga riaveva la stampante attiva!!

Note 2

Quando comprai il Samsung Note, mi dissi che era una vera figata !! il note2pennino, lo schermo grande, bhe aveva una marcia in più sicuramente rispetto alla concorrenza, per come la pensavo io… Poi sono passato al Note 2 e li ancora un passo avanti; ma poi è arrivati il Note 3.. e francamente non sono riuscito a vedere il cambio che avevo notato prima fra i primi due.. anzi. Ma in ogni caso le peculiarità sw (son quelle che oramai fanno la differenza fra i terminali) dovevano (secondo la voci che fuoriuscivano da Samsung) essere successivamente portate sul Note 2 che ha un hardware di tutto rispetto.

Verso la fine di Dicembre, Samsung, ha reso disponibile un aggiornamento per il Note 2 ed io l’ho fatto utilizzando Kies in quanto farlo via ota era un impresa da pazzi! Ma, con mio disappunto, la versione che era stata fornita dava solo alcuni aggiustamenti, ma non dava le nuove funzionalità sperate.

 

Ho preso allora la decisione di abbandonare la rom di Samsung e vedere cosa proponeva la rete, cioè quella fucina di idee che è il forum di XDA.

Il mio piano di azione prevedeva a grandi linee l’installazione di superuser ed eventualmente l’installazione di una nuova rom .. tipo cyanogenmodo simile.

A questo punto installo CF-Auto-Root-t03g-t03gxx-gtn7100.zip tramite Odin ed ottengo i permessi di root… Per curiosità ho voluto vedere se magari fosse presente un aggiornamento della rom di Samsung, ma il sw di verifica mi informava che la funzione non era più disponibile in quanto il sw non era conforme all’originale. Era la spinta di cui avevo bisogno: avevo deciso che avrei cambiato rom.

Dopo lo stress dovuto ad Kies, Odin e windows ho voluto verificare se qualcuno avesse realizzato qualcosa per linux… Ebbene si !! Esiste un “Odin” per linux http://everydaylht.com/howtos/android/heimdall/, che fa le stesse identiche cose senza impazzire più di tanto.

Una volta installato il sw di recovery con heimdall-frontend (recovery-clockwork-6.0.4.3-n7100.img) ho iniziato a girovagare per la rete alla ricerca di una rom che potesse fare al mio scopo: con le stupide applicazioni del Note 3, ma che desse nuova linfa al mio telefono. Non so come o perché, ma alla fine ho scelto DN3 (Ditto Note 3) ROM e francamente non me ne lamento… anzi ! ad oggi non ho avuto alcun crash, lo schermo mi sembra più brillante, la musica suona più forte… Insomma sono soddisfatto.

Ho appena visto che è uscita la 3.2… vado ad aggiornare il telefono !!

ora sto usando DN3 v5.5 … Che spettacolo !!

DN4 … Il Note 2 con il software del Note 4 !!
http://electron-team.com/

nd3