date: 23:29:54, June 25, 2017
my ip: (
your ip: ()
CCBot/2.0 (
Welcome, my name is Emmanuel Roberto-Richiardone, this is my place on the web.
You can contact me at

My PGP/GPG public key
More about me here
main blog
software projects
hardware concepts
texts docs tips
freebsd tips
linux tips

outside links:
My photograph gallery

Friends pages:
  NetStudent association
  tollari retrocomputing
  Jovi Berton
  pna official blog

Web-things often followed:
  Supersonic Electronic
  Juxtapoz Magazine
  Wooster Collective
  Internal Bleeding
  Cyanide and Happiness
  oddity central
  the oat meal
  Abstruse Goose
Nerd stuffs:
  se loyalist
  QDB @

RSS feed enabled!

  June 2017  
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

search with google
all the web

. o .
. . o

multi page
Xperia U, Android Kitkat 4.4.2 Cyanogenmod 11, with led workingFri, 22 Jan 14
Complete guide to get Android Kitkat 4.4.2 Cyanogenmod 11.0 over Sony Xperia U, in a all-working configuration, that is more stable than official Sony 4.0 update. Other combinations of Cyanogenmod 11 versions and Google Apps I've checked so far, gives me bad results (ie. dialer not usable, or duplicated SMS messages, or low volume).
Pro: more stable, keyboard more usable, update android to last version with new Google apps
Cons: you lose Sony apps (walkman music player, speaker volume quality, some illumination events,...), illumation bar works only with the notifications (SMS, email, facebook, etc)

--- step 0 - Get software and images ---
  • Fastboot, to communicate with your phone bootloader using USB cable
    about, filename, download for windowsmirror, on Debian simply add backports in source.list and "apt-get install android-tools-fastboot".
  • Cyanogenmod 11.0 image for Xperia U (codename Kumquat) prepared by Maclaw
    filename, download
  • Google Apps for Xperia U and Android 4.4
    filename, download
  • Illumination Bar, Illumination Bar Receiver and modified library
    filename, download mirror
--- step 1 - Preparing ---
  • unzip Fastboot to desktop
  • from, extract the file "boot.img" to the directory of fastboot.exe
  • copy the zip file and to the xperia storage using USB cable
  • extract the content (two .apk files and one .so) to the xperia storage using USB cable
--- step 2 - Unlock the bootloader ---
Follow the Sony official guide that uses the diag menu and IMEI code:

--- step 3 - Install CWM Recovery image ---
Using Fastboot program, install the CWM Clockworkmod Recovery image to the phone using the USB cable.
  • Power off your Xperia U phone and, if it is the case, detach it from USB.
  • On your PC, open a command line on the directory where is present the fastboot executable.
  • Launch "fastboot devices" and you should see ">waiting for device<"
  • Keeping pressed the volume up button, connect the USB cable between Xperia U and PC. The led of the phone will lit in blue and the serial number of the phone should appear in the fastboot window; you can release the volume button.
  • Flash the CWM Recovery with command "fastboot flash boot boot.img" . It should copy the file briefly and finish with OK.
--- step 4 - Working with the CWM recovery program ---
  • In the fastboot window, reboot the phone with command "fastboot reboot". You can detach the USB cable.
  • When the phone reboots (SONY logo), continuously press for several times the volume up button to access CWM recovery v6
  • From the CWM recovery menu, choose "backup and restore -> backup" and save a copy of the current ROM
  • Clean the system with "wipe data/factory reset" and "wipe cache partition" then "advanced -> wipe Dalvik cache"
  • Install Cyanogenmod 11.0 selecting "install zip from SD card -> choose zip from SD card" and then select the file from the storage
  • Install Google Apps selecting "install zip from SD card -> choose zip from SD card" and then select the file from the storage
  • In the CWM recovery menu choose "reboot system now" to restart phone
--- step 5 - Starting Cyanogenmod for the first time ---
The phone will take several minutes to start, displaying the Cyanogenmod logo. When it's done, it will show you a first time wizard: configure at your wishes.

--- step 6 - Make illumination bar working ---
Start the "File Manager" app in the xperia, in the Settings menu set the "Access Mode" to root mode.
  • Move to the path "/system/lib/hw" and rename the file "" to ""
  • Move to the path "/storage/sdcard0" and select the file "", then return to the path "/system/lib/hw" and paste it here.
  • Change the permissions of "" to -rw-r-r-
  • Restart the Xperia U phone.
  • After the restart, still using the "File Manager", install the two .apk installer "illumationBar.apk" and "illumationReceiver.apk". If it complains about unknown origin of the installer, go to settings and disable check on app.
  • The illuminationBar app requires root privileges, accept it.
Perform an update of all the apps. It's done!

Thanks to:
Project FreeXperia
Slide corso FreeBSD e GNU/LinuxDic 2013
Slide aggiornate per il corso base GNU/Linux Netstudent.
Introduzione al networking e rete IP, (sorgente .odp)

Slide aggiornate anche per il corso avanzato GNU/Linux e tecnologie aperte Netstudent.
Introduzione al mondo FreeBSD, (sorgente .odp)
Reset Motorola Symbol AP and RFS passwordMon, 21 Feb 11
Want to reset the lost password of a Motorola AP5131, AP7131 or AP7181?
Look for it in the manual, and don't find how?
Well. the procedure is:
  • Attach a Cisco-like console cable to the powered-off AP using protocol 19200 8N1;
  • Power on the AP and pay attention to the serial messages;
  • Press "Esc" key when you read about to do so to run the boot firmware;
  • You will arrive to a "boot>" prompt, enter the text "passwd default";
  • Restart the system using "reset system".
The AP will start with default password for user "admin", which should be "motorola".

Instead, are you looking to a way to reset the lost password of a Motorola RFS4000 or a RFS6000?
The procedure is:
  • Power on the RFS;
  • Attach a serial cable (a normal DTE to DCE 9 pin) to the RFS using protocol 19200 8N1;
  • At the "login" prompt, enter the login "cli";
  • When requested username enter "restore", for the password use "restoreDefaultPassword";
  • Respond to the question with "y" and poweroff the RFS.
At the next poweron, the default password for the user "admin" should be "motorola".
Amarok,, and KwalletSat, 24 Apr 10
Because I decided to stabily use KDE 4.3.5 (over FreeBSD 8.0 amd64), I needed to set up my desktop routines.
I've come among some problem with Amarok and his plugin: he doesn't works.
I cames out that the problem is that by default Amarok 2.2.2 want to keep your login details into Kwallet and doesn't ask you anything. I had Kwallet completely disabled, and so logon could not be performed.
To solve, you need to manually edit ~/.kde4/share/config/amarokrc, change the line ignoreWallet=no to ignoreWallet=yes, and add the lines username=YOURUSER and password=YOURPASSWORD.
HiperLAN, questo sconosciutoMon, 3 Aug 09
Ma qualcuno in Italia sa cosa si intende per HiperLAN? e HiperLAN/2?
Sono alcune volte perplesso nel leggere documenti tecnici che illustrano apparati WiFi 802.11 come HiperLAN/2... Vige piu` il passaparola che il leggere gli standard e verificare le caratteristiche.

Con l'espressione WLAN (Wireless Local Area Network) si indica un sistema per comunicazione dati tramite una rete locale wireless; ciò implica che i nodi di una rete dati sono in modo generico connessi senza l'impiego di cavi. Le tecnologie wireless disponibili sono varie, regolate da normative o standard, e possono utilizzare protocolli proprietari oppure pubblici.
Il nome “WiFi” rimanda ad una serie di protocolli e meccanismi di accesso wireless definiti a partire dai primi anni '90 dal gruppo di lavoro 802.11 dell'IEEE (Institute of Electrical and Electronics Engineers), una organizzazione promossa da diverse aziende del settore.
Le tecnologie definite dal gruppo 802.11 permettono di realizzare reti punto-multi-punto basandosi su una infrastruttura con controllore centrale oppure in modalità ad-hoc. Questa tecnologia si è evoluta nel tempo a partire dagli anni '90: l'idea di base è di riprodurre un sistema di contesa del canale trasmissivo per l'accesso multiplo simile al protocollo Ethernet cablato, che a sua volta derivava da un protocollo radio. La trasmissione è richiesta dai terminali secondo tempi di attesa casuali in intervalli prefissati; questi intervalli temporali sono divisi secondo diverse lunghezze, permettendo una divisione tra comunicazioni di servizio o dati più o meno importanti. Questo sistema prende il nome di CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) e si basa su un sistema di tempi di attesa variabili nei quali i nodi possono trasmettere.
Il gruppo 802.11 definisce non solo il livello fisico, comprendente codifiche radio, modulazioni e la contesa del canale, ma anche parte del livello datalink, comprendente MAC (Medium Access Control), allocazione delle risorse, frammentazione e assemblamento dati, e controllo di errore. Le tecnologie 802.11 si dividono per frequenza e modulazioni utilizzate: 802.11b definisce il funzionamento a 2.4GHz con modulazione DSSS ed una banda lorda da 1 a 11Mbps; del 2003 è l'802.11g che integra il protocollo precedente con modulazioni OFDM fino ad una banda lorda di 54Mbps. Indicati genericamente con la denominazione 802.11b/g, questi standard rispettano la normativa ETSI EN 300 328.
Del 2001 è invece lo standard 802.11a, che prevede il funzionamento a 5.4GHz con modulazioni OFDM con una banda lorda da 6 a 54Mbps; questo standard tuttavia non segue la regolamentazione ETSI EN 301 893 per il 5.4GHz, e gli apparati con questo standard vanno notificati al Ministero delle Comunicazioni, pena il divieto di commercializzazione in Italia. Per ovviare al problema nel 2003 è nata la versione 802.11h, che integra a 802.11a i requisiti di TPC e DFS richiesti dall'ETSI; questa integrazione è poi stata inclusa nell'ultima revisione IEEE 802.11-2007. In tutte le gamme di frequenza gli apparati lavorano con una larghezza di banda radio di 20MHz; con un solo terminale che comunica a 54Mbps, la banda tipicamente effettiva non sale oltre i 20Mbps, con una efficienza spettrale (il rapporto fra bit-rate effettivo e larghezza di canale radio occupato) minore di 1bps/Hz.

A cavallo del 2000 l'ETSI (European Telecommunications Standards Institute), l'ente europeo di standardizzazione per le comunicazioni, vista la difficoltà tecnologica di innovazione dell'802.11, ha definito una serie di standard per il trasporto di dati IP, ATM e backhauling UMTS. Un comitato, prima RES poi BRAN, ha suddiviso il progetto in 4 soluzioni (TR 101 031 V1.1.1): HiperLAN (HIgh PErformance Radio Local Area Network), HiperLAN type 2, HiperACCESS (type 3) e HiperLINK (type 4).
HiperLAN (EN 300 652 V1.2.1) propone una soluzione wireless locale per il trasporto IP, definendo un livello fisico a 5GHz con modulazioni FSK, e lasciando ai costruttori libertà sul livello datalink.
HiperLAN/2 (TR 101 031 V2.2.1, TS 101 475 V1.3.1, TR 101 683 V1.1.1) riprende il primo tipo e si propone per collegamenti sia punto-punto che punto-multi-punto a brevi distanze, definendo sia il livello fisico, sempre a 5GHz ma con modulazioni anche OFDM, sia il livello datalink, con un meccanismo di contesa del canale in TDMA. La soluzione è pensata per il trasporto di dati IP e trame ATM, e garantisce la Quality of Service (QoS).
HiperACCESS (TR 102 003 V1.1.1) illustra un sistema in OFDM su frequenze non definite per il trasporto dati ad elevata velocità e con bassa latenza per medie distanze, in configurazione punto-multi-punto a settori utilizzando TDMA e FDD; lo scopo sono le applicazioni multimediali e infrastrutture UMTS.
Infine HiperLINK definisce una soluzione punto-punto a banda larga per lunghe distanze (almeno 155Mbps).
Il mercato era però già saturo di prodotti WiFi, e pochi costruttori hanno investito in una nuova tecnologia per il trasporto dati non mobile, sebbene più performante.
I sistemi trasmissivi impiegati dai prodotti HiperLAN/2 utilizzano un sistema di comunicazione dati a 5GHz alternativo a IEEE 802.11. Per l'accesso condiviso si utilizza il TDMA (Time Division Multiple Access), a divisione di tempo, utilizzato anche per la separazione tra trasmissione e ricezione dati (TDD, Time Division Duplexing). Il meccanismo impiegato, utilizzato dal GSM e ripreso nel WIMAX (IEEE 802.16-2004), è quindi parecchio differente dal principio di Ethernet ed è più simile al funzionamento dei sistemi E1 o ATM.
In questo modo le risorse sono assegnate secondo le necessità ai terminali: questo permette un funzionamento garantito; nel caso di più moduli posti in vicinanza, non vi è interferenza fra di loro ed è possibile il riutilizzo delle frequenze. Questo meccanismo dettato dall'infrastruttura assicura ritardi constanti e la banda di rete indicata è un bitrate effettivo. Viene effettivamente gestita la Quality of Service, poiché ai dati con priorità maggiore è assicurata l'allocazione di un tempo apposito.

Insomma, come al solito la tecnologia va` da una parte e interessi ecnomici e commerciali dall'altra. Grazie alla non diffusione di questo protocollo (forse perche` arrivato tardi, e poi il futuro e` mobile, no?) gli apparati sono pochi, costosi, e non interoperabili.
Piu` PDF in unoThu, 9 Jul 09
Come concatenare assieme diversi file in formato PDF in un solo?
Avendo Ghostscript installato, e se non c'e` prima o poi vi servira` e installatelo, lanciare il comando:
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=finale.pdf primo.pdf secondo.pdf ...
Cisco IOS + NAT + TCP port 2000 troubleSat, 20 Jun 09
I came across a strange behaviour of a Cisco router.
My problem arise using a basic NAT (I was using IOS IP-BB 12.4(15)), e.g.:
int fa0/0
 desc inside interface
 ip address
 ip nat inside
int fa0/1
 desc outside interface
 ip address
 ip nat outside
ip nat inside source list 1 interface fa0/1 overload
access-list 1 permit
Trying to use the TCP port 2000 as local port or destination port of the connection allow you to set it (TCP SYN, ACK...), but no data is actually trasferred.
Playing with netcat in lab with a local and an external machines:
ext# nc -l -p 2000
loc# nc -p 1025 2000
yourname#show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
The NAT table is correct, and with tcpdump I saw TCP connection established. But data written won't pass across the NAT interface.
The same is with:
ext# nc -l -p 1025
loc# nc -p 2000 1025
yourname#show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
Beginning to go crazy, Google has the answer for me (as always if properly asked). It cames out that Cisco is using TCP port 2000 for the "skinny" protocol, a proprietary NAT manager service for VoIP. (and they're some DoS issue: if you do what I was doing, under certain situation you could reboot the router)
Fortunately it's possible to disable this service and use the port 2000 freely:
no ip nat service skinny tcp port 2000
I remain a little perplexed about this way to work. Why don't enable that service if you need it, otherwise don't enable it as default? It should be listed as option in the configuration ("show running-config"), just to be aware of that thing!
SPARC OpenBoot and videoMon, 1 Jun 09
Here I report sequence command on Sun SPARC OpenBoot to change the default video output. This way you can change the primary video card and resolution output.

To step into OpenBoot CLI, if auto-boot it's enabled, press stop + A. Now you should have the ok prompt.
The OpenBoot shows you the devices present in a tree fashion: use cd and ls like in a shell; to show the physical properties of the current device digit .properties. With the show-devs you can look at the complete device tree.

To view the video card currently in use enter printenv and look for the variable output-device; the variable can contains the path of the device or an alias. For example screen is an alias.
To list the aliases present enter devalias without arguments; for example look at the screen alias (in my case /SUNW,ffb, a Sun Creator card).

My goal was to defaults to the integrated ATI VGA video card instead of the 13W3 UPA card. The integrated video card, connected to PCI, had this path: /pci@1f,0/pci@1,1/SUNW,m64B. In facts, if I enter the .properties command, I could see the device_type display line.

To add a new alias permanently use the command nvramrc with a new name different from "screen". I my example: nvramrc vga /pci@1f,0/pci@1,1/SUNW,m64B.
Then to register the new output device use setenv, i.e. setenv output-device vga.

Here you also can change resolution and frequency of video output, adding also this in the output-device variable. For example,setenv output-device screen:r1024x768x75 to set 1024x768 at 75Hz. Note that the availability of this setting may depend from card to card.

To apply the output mode you have to reboot (reset-all). To pass from your added video output to screen default you can type screen output .
Corso GNU/Linux Avanzato '09Fri, 29 May 09
Per il corso Netstudent avanzato, organizzato dall'associazione NetStudent presso il Politecnico di Torino, ho illustrato (in troppo poco tempo) le caratteristiche principali del sistema operativo FreeBSD, con esempi dal vivo dei comandi e delle procedure.
Le slide utilizzate sono qui disponibili (sorgenti ODP).
Corso GNU/Linux base '09 pt2Fri, 20 Mar 09
Continua il corso GNU/Linux base organizzato dall'associazione NetStudent presso il Politecnico di Torino. Riporto le slide utilizzate nella settimana lezione, argomenti trattati: rete, networking dalle basi ai servizi, samba suite in modo descrittivo. I sorgenti sono qui disponibili.
Corso GNU/Linux base '09Sun, 15 Feb 09
Anche quest'anno con l'associazione NetStudent abbiamo proposto il corso GNU/Linux base presso il Politecnico di Torino. Riporto le slide utilizzate nella seconda e terza lezione, versione rivista ed ampliata sui comandi di base, filesystem, permessi. I sorgenti sono qui disponibili.
Cisco routers and multicastFri, 23 Jan 09
Here I report some useful commands to manage and debug multicast traffic and routing using Cisco IOS network devices. In the configuration used for samples, I have 2 routers with two interfaces each one: the local one on Fa0/0 and the WAN over witch one there's a tunnel Tu0. But those commands are valid every time you need to manage multicast.

A command that shows the neighbours multicast routers. In the end you find kind of transport to reach the neighbour.
cisco# mrinfo [version  12.4] [flags: PMA]: -> [1/0/tunnel/pim] -> [1/0/pim/querier/leaf]

mstat -source IP- -destination IP- -multicast group-
Show a trace route of multicast packet with statistics. You can define source and destination address, as well as the multicast group to use:
Type escape sequence to abort.
Mtrace from to via group  
From source (?) to destination (?)
Waiting to accumulate statistics......
Results after 10 seconds:

  Source        Response Dest   Packet Statistics For     Only For Traffic   All Multicast Traffic     From 
     |       __/  rtt 52   ms   Lost/Sent = Pct  Rate     To  
     v      /     hop -42  s    ---------------------     --------------------        ? Prune sent upstream
     |     ^      ttl   0   
     v     |      hop 0    ms    -1/0 = --%      0 pps    0/0 = --%  0 pps        ? Reached RP/Core
     |      \__   ttl   1   
     v         \  hop 42   s         0         0 pps           0    0 pps   
  Receiver      Query Source

show ip mroute
Shows the multicast routing table. The table is usually dynamic, so pay attention and look at timeout values.
cisco#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*,, 2d00h/stopped, RP, flags: SJCF
  Incoming interface: Tunnel0, RPF nbr
  Outgoing interface list:
    FastEthernet0/0, Forward/Sparse-Dense, 2d00h/00:02:53

(,, 00:01:15/00:02:07, flags: PFT
  Incoming interface: FastEthernet0/0, RPF nbr
  Outgoing interface list: Null

(*,, 2d00h/00:02:00, RP, flags: SJCL
  Incoming interface: Tunnel0, RPF nbr
  Outgoing interface list:
    FastEthernet0/0, Forward/Sparse-Dense, 2d00h/00:02:00

show ip mroute active
Like before, but shows only currently transmitting multicast traffic passing through a multicast route in the router. At default, the source shown must generate at least 4kbps.
cisco#show ip mroute active 
Active IP Multicast Sources - sending >= 4 kbps
 a negative (-) Rate counts pps being fast-dropped

Group:, (?)
   Source:  (?)
     Rate: 19 pps/18 kbps(1sec), 9 kbps(last 20 secs), 14 kbps(life avg)

show ip igmp groups
To show IGMP groups present on the router and expiry times
cisco#show ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted        FastEthernet0/0          2d00h     00:02:12       FastEthernet0/0          2d00h     00:02:19   

The next three commands are useful to debug Protocol Indipendent Multicast (PIM), usually used as a multicast routing protocol (another one more generic is NHRP).

show ip pim interface
To show interfaces involved with PIM packet protocol, with source address and destination route
cisco#show ip pim interface 
Address          Interface                Ver/   Nbr    Query  DR     DR
                                          Mode   Count  Intvl  Prior         Tunnel0                  v2/SD  1      30     1    FastEthernet0/0          v2/SD  0      30     1 

show ip pim neighbor
To show the ip address of neighbor PIM-enabled routers with interface connected to, and expiry times
cisco#show ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode          Tunnel0                  1d23h/00:01:34    v2    1 / B S

show ip pim rp mapping
Shows mapping between PIM group and Rendez-vous Point, eg. the IP interface of the router where you reach the multicast group.
cisco#show ip pim rp mapping
PIM Group-to-RP Mappings

Group(s):, Static
    RP: (?)
Wikipedia offlineDec 2007
Ho rilasciato il testo della mia tesi di laurea specialistica sotto licenza CC-BY-NC.
Il titolo completo e` Sviluppo di un ambiente software per la consultazione offline di Wikipedia.

E` disponibile il pdf completo e le slides annesse

La tesi verte sui metodi per ottenere una versione offline multipiattaforma di Wikipedia utilizzando software opensource; in particolare e` stato definito un meccanismo di conversione e un'interfaccia per la consultazione offline, incluso un motore di ricerca ECMAscript. Il sistema prodotto puo` essere memorizzato su diversi supporti (dvdrom, pendrive, etc) e accessibili da molti sistemi operativi senza richiedere dipendenze particolari.
Il processo e` applicabile a qualsiasi versione di Wikipedia e con poche modifiche a qualsiasi installazione di MediaWiki. Per motivi di responsabilita` in Italia l'utilizzo del software deve essere personale.
Il nome in codice del progetto e` "WaNDA", acronimo di WaNDA ancora Non Definitivamente Aggiornata. Gli applicativi prodotti sono situati su Sourceforge con il nome di WaNDA-tools: e` qui disponibile l'ultima versione del pacchetto.
GNU/LinuxNov 2007
Slides per il corso base GNU/Linux Netstudent.
Terza lezione: shell, comandi base, struttura del filesystem, permessi.
corsobaselinux_3_nov07.pdf (source)
FLOSSSep 2007
Slides on Free/Libre/Open-Source Software, in italian:
FLOSSeCO.pdf (source)

top   multi page
wrote with SciTE apache php i prefer firefox W3C html 4.0 compliant W3C css compliant

phperr 0.7
All contents, where applicable and except otherwise specified, are present under GPLv2 or GFDL licenses.
E. Richiardone (e AT richiardone DOT eu)

page viewed 28570 times and generated in 0.161736 s