domenica 16 agosto 2015

Soluzione di emergenza quando la lavatrice non scarica

Questo che segue e` un facile trucco per poter continuare a usare la nostra lavatrice anche quando lo scarico smette di funzionare, tipicamente perche` il motore della pompa si rompe. E siccome succede sempre di Venerdi` pomeriggio, questa semplice operazione ci puo` salvare un week-end di bucato a mano...
Certo, potremmo chiamare i riparatori di elettrodomestici di urgenza, quelli attivi H24, ma sapendo che l'impatto sul portafogli sara` grande a piacere...

Dunque ci troviamo nella seguente situazione: abbiamo avviato un lavaggio, come sempre, ma stavolta l'acqua e` rimasta nel cestello. E non vogliamo affidarci a un riparatore d'urgenza prima di aver fatto qualche semplice temtativo da soli (o con un amico piu` esperto).

La prima cosa da fare e` verificare se non sia rimasto qualcosa (monete, bottoni, altro) tra le pale della pompa di svuotamento. Per questo svuotiamo il cestello dall'acqua aprendo il filtro, che di solito si trova anteriormente in basso (se la lavatrice si trova dentro casa bisogna attrezzarsi per raccogliere l'acqua con una bacinella bassa); dalla sede del filtro si dovrebbero vedere le due pale della girante della pompa, se si muovono libere e non ci sono ostacoli rimontiamo il filtro e proviamo a fare un risciacquo: nove volte su dieci l'ostacolo e` uscito e il problema e` risolto.
Se invece dalla sede del filtro non vediamo la girante allora cerchiamo di arrivarci per altra via: stacchiamo la spina dell'alimentazione elettrica, i tubi di carico e scarico dell'acqua e rovesciamo la lavatrice fino a poter smontare la pompa. Di nuovo verifchiamo che sia libera, rimontiamo tutto, riattacchiamo acqua e spina elettrica (questa per ultima) e proviamo un risciacquo.

Se lo svuotamento ancora non va e` probabile che sia rotto il motorino elettrico che aziona la girante: si tratta di smontarlo e portarlo da qualcuno che lo sappia verificare, e in caso ricomprare. Ma abbiamo detto che e` Venerdi` e dovremmo aspettare fino a Lunedi`, senza poter lavare niente. Cosa si puo` fare?

Si puo` realizzare manualmente la funzione di svuotamento aprendo e chiudendo la sede del filtro.


  1. Carico la lavatrice come al solito e scelgo il programma appropriato, meglio se ne conosco i tempi. Quindi avvio il lavaggio, come sempre.
  2. Arrivato al momento di svuotare il cestello, apro il filtro e faccio svuotare il cestello. A cestello vuoto la lavatrice ripartira` da sola con la seconda fase di lavaggio (es. il primo risciacquo) e io richiudo il filtro.
  3. Quando ritengo che sia finita la seconda fase, apro di nuovo il filtro e faccio vuotare il cestello: da notare che se fosse troppo presto, la lavatrice aprirebbe di nuovo l'immissione dell'acqua e allora devo subito richiudere il filtro e attendere ancora.
  4. Finita anche la seconda fase svuoto il cestello dall'acqua e di nuovo faccio partire la terza fase, e cosi` via fino al termine del ciclo di lavaggio.
IMPORTANTE: in funzione del ciclo di lavaggio, la lavatrice potrebbe non passare alla fase successiva se sente ancora acqua nel cestello: pertanto assicurarsi di aver svuotato il cestello ogni volta.

Questo procedimento, che ho messo a punto e collaudato di persona, e` piu` complesso da raccontare che da eseguire e risolvera` temporaneamente il problema dei lavaggi, in attesa di procedere con la riparazione vera e propria della lavatrice.

sabato 21 marzo 2015

Flashing and running Lollipop 5.0.2 on Samsung S4 stock

I am the owner of a Samsung Galaxy S4 LTE (international version) bought from an italian operator. The phone is still great but the stock ROM (e.g. the Android version originally shipped with the S4, cooked by Samsung) sports a heavy user interface (TouchWiz) and is full of other useless software, which uses the RAM, the CPU, exchange data with remote servers: it uses resources for tasks I'm not interested into and, moreover, prevents me to do significant improvements.
As I run just Linux on my PC since 2008, all that inefficiencies and barriers made me feel frustrated like I was when still ran Windows on my PC. I could not stand the situation anymore and began to look around for a solution that worked.

In this article I will explain how I overwrote the stock Android rom (who was stuck at 4.4.2) flashing a fresh Lollipop 5.0.2 Custom ROM instead, giving a boost to the performance of the S4.

I wont say what's better or worse in absolute terms: I will just introduce what I did, how I did it and why I took one choice and not another. Hoping that that experience can help you in some way.

DISCLAIMER: I will describe MY experience on MY phone: flashing a custom firmware is a risky process and there is NO WARRANTY that following my path you will not brick you device. So any action YOU WILL TAKE on your phone WILL BE YOUR OWN RESPONSIBILITY.

Which distro?

Well, "distro" is how we call linux flavours, but the question is the same: there are several communities and individuals that take the Android source code and produce some kind of Custom ROM. which Custom ROM to choose in order to have a stable Lollipop on my phone? I wanted to break the chains of the proprietary ROM but without compromising the availability and usability of the S4.

After some research I selected the Cyanogenmod ROM, which sports a very  active community of contributors, that release a new build (NIGHTLY in their terms) once a day. The Lollipop version is the CM12, being CM11 the 4.4.4, CM10 the 4.4.2 and so long.

I will not bother you about Cyanogenmod, in this space: you better check directly with them, they run forums and a wiki: I started from this page.

Which steps?

To flash my new CM12 Custom ROM, this is the sequence of actions (that I followed):
  1. download on a PC the Custom ROM and some tools;
  2. make from the S4 a full backup (on a micro sd) of the stock ROM; I also copied some key directories from the S4 to the PC, just in case.
  3. completely wipe the phone;
  4. load & flash on the S4 the custom ROM;
  5. In order to use the Google ecosystem (Play store, Gmail, Gmaps and whatever else) I also ought to add a GApps package (which doesn't come with the Custom ROM for a license infringment constraint);
  6. install again from the Play Store my favourite apps;
  7. recover the app data from the backup.
To achieve the result you will need a PC, directly connected to the S4 with a normal USB and running some sort of software.

As I said I just use Linux machines (Ubuntu), so my description will consider that the companion OS environment running on your PC, for this installation, will be Linux as well. With other OSes, namly Windows, everything gets more complicated and/or "hidden", so I don't recommend anything but Linux for serious tasks.

Action!

Here's how I implemented the steps 1-8 above. Please note that, except for the Cyanogenmod CM12 download page, everywhere else the S4 is code-named jflte.
  1. The CM12 can be downloaded from the Cyanogenmod site: the S4 int'l firmware has codename jfltexx, this is the page and I used the last NIGHTLY (20150320).
    The Custom recovery module is not part of the stock ROM. After reading articles like this I choose to use the recovery module provided by Clockworkmod (named recovery-clockwork-6.0.4.7-jflte.img), that I found at this site.
    To flash this Custom recovery module to the S4 I needed a piece of sw on the PC, called heimdall: in my case I just installed the DEB package (heimdall-flash).
    The last tool I needed was adb (Android Debug Bridge) and here is explained what it does and how to get it.
  2. The full backup can be made from the recovery mode, which first must be installed, so I prepared the S4 to receive the Custom recovery module: with the phone switched off and disconnected from the PC, I pressed volume-down + home + switch-on button and waited for a message to appear with a disclaimer, then pressed volume-up to overcome the disclaimer and went on. Connected the phone to the PC and issued from the PC:

    "$ sudo heimdall flash --RECOVERY recovery-clockwork-6.0.4.7-jflte.img --no-reboot"

    The phone got the recovery module in a few seconds and when the blue bar did stop to grow the process was complete. I switched off the phone and eventually entered the recovery mode pressing volume-up + switch-on. From there I did a complete backup (more than 1 hour).
  3. After completing the backup and keeping the S4 in recovery mode, I then wiped the phone (system, data, cache).
  4. Always in recovery mode, I then navigated the menu to install the Custom ROM from the ZIP that I downloaded previously on the PC. To achieve that, I navigated the menu up to "sideload" and that, on the PC, issued at the terminal prompt the command:

    $ adb install cm-12-20150320-NIGHTLY-jfltexx.zip

    When the upload of the file was complete the S4 immediately started installing the firmware.
    IMPORTANT: in my case the process ended with the following error:

    E:[-] failed to map aboot.
    E:Error loki-ifing the boot image


    This error was constant but didn't affected the installation at all, so I assume that can be ignored. So I just rebooted the S4 and Lollipop firmware was up and running!! 
  5. After checking various solutions, I found here the correct GApps zip file for my CM12 version. Downloaded the file and transferred it in the S4 memory.
    In order to install the GApps one must enter again the S4 in recovery mode but, once the phone run the Cyanogenmod Android, it is very simple: see here. So I reboot the phone in recovery mode and navigated the menu up to install the ZIP from sdcard (the internal memory), choosing the GApps zip file that I just saved. After the installation completed I rebooted and the Google Apps where there. I was able to record my Google account on the S4, enabling then the Play store, the recovery from the cloud of my email, contacts and the full Google ecosystem.
  6. As last step, I installed back my favourite Apps and the upgrade was complete!

Conclusions

Even if it can appear cumbersome, the process is not too much complicated and can be copeted in a few hours, including the initial backup.

After some days of use I see my CM12 very stable, even it's not yet declared such, more responsive then the stock Samsung ROM and with a 15% improvement in battery duration.

There is still pending on the CM12 an old issue on the Camera, who's behaviour is really very weird, especially in poor light conditions. If you are compulsive with selfie, stay far from the NIGHTLY release, at least up the next SNAPSHOT.

martedì 4 settembre 2012

Recuperare mailbox con Thunderbird

Premessa

Uso Thunderbird da anni, perché è un eccellente client di posta, gratuito, universale e ricco di funzionalità avanzate proprie oppure realizzate tramite le numerose estensioni.
Probabilmente lo avrei utilizzato anche se il mio PC non fosse stato Linux Ubuntu.

Rispetto a Outlook, oltre alla questione del costo (Outlook è parte di Office), Thunderbird ha l'enorme vantaggio di organizzare le mailbox su singoli file: questo consente di limitare i danni nel caso (raro ma possibile) un file si corrompa. Con Outlook ho un invece solo .pst monolitico, che cresce, cresce, cresce fino a quando non assume dimensioni ingestibili: inevitabilmente aumenta la probabilità di danneggiarsi e di perdere il proprio archivio di posta per intero.

Come qualsiasi altro software complesso anche Thunderbird è perfettibile: in particolare, quando uno dei file di mailbox si corrompe, il programma termina improvvisamente, poco dopo la partenza, senza fornire nessuna indicazione. E' quello che mi è successo un giorno e di seguito spiego come si risolve questo problema, ripristinando la situazione corretta e senza perdere nenache una mail.

Manifestazione del guasto

Quando aprite il vostro Thunderbird questo, dopo un 3-4 secondi abortisce. Dalle poche indicazioni che vengono restituite si capisce che sta collegandosi ai server (nel mio caso gestisco 4 caselle di posta) e sta leggendo i file locali.
Prima di terminare, Thunderbird mostra la finestra che chiede all'utente se inviare un report agli sviluppatori.
Il guasto appare improvvisamente e in particola re non è correlato e non segue alcun aggiornamento del software.

Verifica della causa del guasto

Thunderbird memorizza i suoi file con mail sotto la directory $HOME/.thunderbird/xxxx.default/Mail (dove xxxx è una stringa arbitraria di caratteri).
In particolare, nel tipo di guasto che sto descrivendo, gli imputati sono i "Local Folders", ossia le mailbox in cui Thunderbird memorizza i messaggi di posta che si vogliono conservare sul disco locale.
Per verificare se si tratta di questo basta spostare "Local Folders" nella directory padre: se a seguito di questa operazione Thunderbird torna a funzionare (senza presentare ovviamente le mail memorizzate localmente) significa che uno o più file con le mail locali è corrotto.

Cosa provoca l'abort

Thunderbird utilizza due tipi di file: .sbd (che contiene le mail effettive) e .msf (una sorta di file indice): per esempio, tra le strutture per conservare le mail, posso essermi creata una mailbox Personali; se questa mailbox NON ha sottomailbox (conserva solo messaggi) esisteranno solo i file Personali.sbd e Personali.msf mentre se sono presenti sottocartelle, Thunderbird creerà anche la directory Personali (inizialmente vuota). Il file che si corrompe è di tipo .msf e deve essere rigenerato con la seguente procesura.

La riparazione

A Thunderbird inattivo, la directory "Local Folders" deve essere subito spostata in altro luogo sicuro del disco (o su altro disco). Quindi si segue la procedura di ricostruzione, che prevede di attivare Thunderbird e operare la ricreazione manuale di tutte le immediate sottocartelle di "Local Folders" (così come appaiono nel file system). Ogni volta che creo una sottocartella provvedo a spostare il relativo file .sbd (se esiste) al livello della nuova sottocartella. Se devo ricreare Personale quindi, dopo aver agito in Thunderbird come descritto, sposto il solo file Personale.sbd sovrascrivendo quello che trovo, (che era un fake creato da Thunderbird).
Thunderbird a volte non mi vede subito il contenuto dei messaggi presenti in questo file, e quindi provvedo a riparare la mailbox: da Thunderbird tasto destro sul nome della mailbox e attivare la voce "Proprietà"; nella finestra che compare si seleziona "Ripara la cartella"; tutti i messaggi torneranno a essere visibili.

Questa procedura va ripetuta fino a non aver ricostruito in Thunderbird tutta la gerarchia di cartelle e sottocartelle. Chiudendo e riaprendo Thunderbird si vedrà che tutti i messaggi sono riapparsi e che il fastidioso crash a inizio lavoro non è più presente.

giovedì 1 settembre 2011

How to integrate autofwd with Nagios

The autofwd tool is a very simple, portable and effective solution to protect a server (or a PC) from brute force password attacks, mainly attempting to break into the computer via sshd, but generally speaking to protect any local service from that type of attack.


Basically autofwd, when detecting an attack, does (1) ban the offending IP (either v4 or v6) and then (2) notifies the administrator with a mail message.
This is normally enough but, if you have already in place a Nagios monitoring service, you may want to notify the Nagios console about every ban and unban action carried by autofwd, in order to centralize to the unified console these kind of alarms, too. In this post I will explain how to do this.

As a requirement, I assume that you already have a working installation of autofwd in place and that there is on the network a Nagios version 3 server, where a nsca process is listening for passive commands.

Step 1: install the nsca client part on the host where autofwd is running.
You can download the source and compile it or, on a debian-derived linux distribution, you just enter: apt-get install nsca and the work is done.
Now you have the send_nsca executable installed somewhere in your file system and that's all we need from the nsca package.

Step 2: configure autofwd.
If you haven't introduced any enhancement, the operational part your actual autofwd.conf should look something like this:

--- CUT HERE ---

# NOTE: All of the external commands need to include the __IP__ token in
# order for autofwd to substitute the IP address in the correct
# location.
#
# Ban IPv4 Cmd: Command to execute to ban an IP
Ban IPv4 Cmd: /sbin/iptables -I INPUT -s __IP__ -j DROP

# Unban IPv4 Cmd: Command to execute to unban an IP
Unban IPv4 Cmd: /sbin/iptables -D INPUT -s __IP__ -j DROP

--- CUT HERE ---

The same applies for IPv6 so I wont copy it again.

In order to let Nagios know that a banning/unbanning action has been performed, we have to operate in the Ban Cmd sections, which can be modified as follows (pay attention to the absolute path of ban_check):

--- CUT HERE ---

# NOTE: All of the external commands need to include the __IP__ token in
# order for autofwd to substitute the IP address in the correct
# location.
#
# Ban IPv4 Cmd: Command to execute to ban an IP
Ban IPv4 Cmd: /etc/nagios/ban_check ban4 __IP__

# Unban IPv4 Cmd: Command to execute to unban an IP
Unban IPv4 Cmd: /etc/nagios/ban_check unban4 __IP__

--- CUT HERE ---

The ban_check command that I introduced here is a wrapper, that includes the iptables directive as well as other actions.

Step 3: deploy the ban_check wrapper on the monitored host.
The wrapper listing follows:

--- CUT HERE ---

#!/bin/sh
# ban_check: wrapper to extend autofwd actions, alerting Nagios
# To be run on the same host where autofwd is
#
# Requires: nsca package (for send_nsca) and a working Nagios server
#
# Author: Niccolo Avico (niccolo.avico@gmail.com)
#
# Usage: ban_check { ban4 | ban6 | unban4 | unban6 }
#
# ban4 (bans as an IPv4 address)
# ban6 (bans as an IPv6 address)
# unban4 (unbans as an IPv4 address)
# unban6 (unbans as an IPv6 address)
#
#######################################################################

TAG_IP=$2

USAGE="Usage: `basename $0` { ban4 | ban6 | unban4 | unban6 } "
return_code=-1
NSCA_CONFIG=/etc/nagios/send_nsca.cfg

# LOCAL_HOSTNAME corresponds to the name by which this host is known to Nagios
LOCAL_HOSTNAME="HS-Rustica1"

# NAGIOS_SERVER is where the Nagios console is running in your network
NAGIOS_SERVER=10.1.0.2

# NAGIOS_SERVICE is the name by which Nagios knows autofwd
NAGIOS_SERVICE="autofwd"

if [ $# -ne 2 ]; then
echo "${USAGE}" >&2
exit 1
fi

# Exit if send_nsca package is not installed
if [ -x /sbin/send_nsca ]; then
echo "Missing package send_nsca." >&2
exit 4
fi

case "$1" in
ban4)
iptables -I INPUT -s $TAG_IP -j DROP
return_code=2
action="IPv4 ${TAG_IP} banned."
;;
ban6)
ip6tables -I INPUT -s $TAG_IP -j DROP
return_code=2
action="IPv6 ${TAG_IP} banned."
;;
unban4)
iptables -D INPUT -s $TAG_IP -j DROP
return_code=1
action="IPv4 ${TAG_IP} unbanned."
;;
unban6)
ip6tables -D INPUT -s $TAG_IP -j DROP
return_code=1
action="IPv6 ${TAG_IP} unbanned."
;;
*)
echo "${USAGE}" >&2
exit 3
;;
esac

# Now inform Nagios about this action:
# pipe the service check info into the send_nsca program, which
# in turn transmits the data to the nsca daemon on the central
# monitoring server

/usr/bin/printf "%s\t%s\t%s\t%s\n" "$LOCAL_HOSTNAME" "$NAGIOS_SERVICE" "$return_code" "$action" | /usr/sbin/send_nsca -H $NAGIOS_SERVER -c $NSCA_CONFIG

--- CUT HERE ---

Please note that we want to send Nagios a CRITICAL (return_code=2) alarm when autofwd will ban an attacker and a WARNING (return_code=1) alarm when autofwd will unban it (if autofwd.conf allows to do so).

Let's put the wrapper in a file called /etc/nagios/ban_check and make it executable.

You must also customize the wrapper with the IP address of your Nagios server ($NAGIOS_SERVER) and put the Nagios short name for the host ($LOCAL_HOSTNAME), as is defined in your Nagios console.

Step 4: configure Nagios for the autofwd service.
In order for Nagios to process autofwd actions and display them as alarms for you host, we now define a new service, called autofwd (as it is named in the wrapper); you can put the following definitions in a new autofwd.cfg file, accessible by your Nagios installation.

--- CUT HERE ---


define hostgroup {
hostgroup_name autofwd-servers
alias Server equipped with autofwd
}

define service {
hostgroup_name autofwd-servers
service_description autofwd
check_command return-ok ; always return OK
use generic-service
max_check_attempts 1 ; immediately put in HARD state
active_checks_enabled 0 ; only passive checks
passive_checks_enabled 1
is_volatile 1 ; EVERY check is an alarm
check_freshness 0 ; don't check for stale state
flap_detection_enabled 0 ; by definition it will flap CRITICAL/WARNING
notification_options c,r
notifications_enabled 1
notification_interval 0
}


--- CUT HERE ---

For a further exaplanation of the parameters, please follow the Nagios reference.

Step 5: on the Nagios server, include the new service in your host definition.
In the define host section of your Nagios configuration regarding the monitored host, add autofwd-servers to the list of hostgroups to which the host belongs.
Example:

--- CUT HERE ---

define host{
host_name HS-Rustica1
alias POP ninux.org gestito da Niccolo'
hostgroups openwrt-servers, http-servers, ssh-servers, autofwd-servers
active_checks_enabled 0
address 10.1.0.22
use generic-host
contacts gilgamesh
register 1
}

--- CUT HERE ---

Step 6: test.
Restart the Nagios service and, if everything went ok, you should see, in the web Nagios console, a new service called autofwd, listed with the other services checked for your host.

You can now monitor the nagios log file for autofwd notifications; just issue on a terminal:

nagios-server:$ tail -f /var/log/nagios3/nagios.log | grep autofwd

Open another terminal and log into the monitored host. Issue a ban_check fake:

host:$ ban_check ban4 fake-ip

You should see immediately a diagnostic from send_nsca, confirming that the command has been sent to the nagios server.
The first terminal should now display a PASSIVE CHECK notification about you host and the banning action just performed; at the same time the Nagios console shall put in a CRITICAL state the autofwd service for that host.

Due to the behaviour of no volatile services in Nagios, this CRITICAL state will never be reset automatically by the system (and this is what we want, indeed): if nobody takes care of the alarm, the autofwd eventually will unban the IP (if instructed to do so) and the service state will move from CRITICAL to WARNING.

The only way to reset to OK that state is to issue a manual command to Nagios, submitting a passive service check from the web console.

This policy should grant that no attack attempt to your host shall be underestimated or misnotified.

mercoledì 19 gennaio 2011

Una fascetta può salvare la giornata

Quando si fanno lavori di bricolage o manutenzioni da soli, si è spesso in cerca di una "terza mano". Se la mano in questione serve per tenere l'estremità di "qualcosa", mentre si lavora su quel "qualcosa", allora una fascetta in teflon può fare la differenza.

Problema: devo infilare un filo elettrico in una guaina flessibile da esterno.

Siccome in questo tipo di guaine anche i pilota normali tendono ad incastrarsi, il trucco è quello di far tenere a qualcuno una estremità, afferrare e tenere in tensione l'altra, tanto da far stendere la guaina ed eliminare le "corrugazioni", mentre si infila il cavo elettrico o il pilota.

E se sono da solo? Qui viene in aiuto la fascetta: con questa infatti fisso una estremità a una ringhiera o altro simile, prendo l'altra estremità con una mano e mi allontano fino ad avere la tensione che serve, a quel punto con l'altra mano infilo il cavo. Se si inceppa la manovra posso, sempre tenendo in tensione la guaina e spingendo il cavo da infilare, scuoterla su e giù.

Questo trucco l'ho sperimentato fino a 10 metri di lunghezza della guaina e ha sempre funzionato perfettamente, anche infilando un secondo cavo (se la sezione della guaina lo consente.

mercoledì 29 dicembre 2010

Ubuntu & IPv6 (6to4 solution)

To join the Internet v6 world from an ubuntu box is really simple.

All you have to do is to follow the instructions from Zebastian on the Ubuntu forum.

The script, which will be called by NetworkManager, will take as parameters the IPv4 address of the interface just brought up and the command "up" (or "down", when the network interface will be shut).

The result is that, automatically, you will see a tun6to4 new interface, used by the 6to4 stack to route any IPv6 address your browser (or whatever else) will ask for.

The script needs anyway a fix: in fact it works out-of-the-box only as long as you don't use a ppp0 interface (the one used by a GPRS/UMTS modem, for example). The actual version cannot cope with the slightly different sintax of "sbin/ip" when the interface is ppp0, because expects a / character after the IPv4 address, while ppp0 returns a space.

To correct the behaviour of the script, just modify the sed regular expression as follows.

Old one:

sed -r -e 's:.*inet ([0-9\.]+)/.*:\1:'

Fixed one:

sed -r -e 's:.*inet ([0-9\.]+)[ /].*:\1:'

As you may notice, I introduced a pair of square brackets containing a space and a slash. So instead of expecting just a slash after the IP address, it now expectes a space (the case for ppp0) OR a slash (the case for eth0 and wlan0).

The square brackets containing the space and the slash are required, obviously.

Hope it helps, enjoy.

Abilitazione microfono per skype in ubuntu 9.04

L'occasione mi è stata data da Skype: prima di decidermi a utilizzarlo infatti non avevo avuto necessità di usare il microfono del portatile, per cui alla prima occasione mi sono accorto che, per difetto, il microfono non viene ben configurato da Ubuntu. Ecco la procedura per correggere il problema che, nel mio caso, ha funzionato.

PC: HP Compaq 6710b originale
Microfono: interno
Ubuntu: 9.04

Prerequisiti specifici: aver installato il package "pulseaudio" nel proprio ubuntu.

Dopo aver scaricato il .deb (versione italiana) dal sito Skype (http://www.skype.com/intl/it/download/skype/linux/choose) e averlo installato, ne ho iniziato la configurazione.
Ho definito i parametri di rete e aperto nel firewall la porta di rete utilizzata da skipe, quindi sono passato alla configurazione dei "dispositivi audio", dove per difetto tutto è impostato a "default".
Con questa situazione il test "Verifica audio" non viene superato, quindi dopo vari tentativ
i ho scoperto che la configurazione corretta era su "pulseaudio" per uscita e suoneria. Ho quindi testato il tutto con la apposita funzione "Effettua una chiamata di prova"; questo test effettua una chiamata a un risponditore automatico; l'utente può lasciare un messaggio vocale che verrà riprodotto immediatamente. In questa maniera si testa l'hardware locale da estremo a estremo.


Nel mio caso potevo udire il risponditore ma, al momento di risentire il messaggio che avevo lasciato, c'era solo silenzio.

Sono dunque andato a rivedere le preferenze audio del mio sistema (menu Sistema->Preferenze->Audio), che consente di effettuare un test su ogni aspetto della configurazione, concentrandomi solo sui campi relativi all'acquisizione audio: ho così scoperto che *nel mio caso* si deve selezionare "server audio PulseAudio", con questa scelta il test viene passato.


Ho quindi verificato i livelli nell'audio mixer: sull'icona dell'applet altoparlante (barra superiore di ubuntu), con il tasto destro ho aperto i controlli di livello (Apri regolazioni volume) e, nella finestra che è apparsa, ho selezionato la scelta che conteneva PulseAudio mixer nel drop-down menu; la parte sottostante della finestra si è modificata di conseguenza e quindi ho abilitato sia l'icona dell'altoparlante che quella del microfono (ho cliccato su ogni icona per togliere la X in campo rosso).


Tornato su Skype ho ritentato la chiamata di test e questa volta la mia voce veniva registrata e riprodotta dalla segreteria telefonica. A riguardo, consiglio di lasciare il flag che consente a skype di gestire i livelli del mixer, opzione che migliora di molto la qualità della conversazione.

Tra le ricerche effettuate per studiare il problema mi sono imbattuto anche in questo articolo (http://blog.mageprojects.com/2009/03/24/get-your-microphone-working-in-ubuntu-904-and-skype-x64/) che risolve un caso analogo al mio tramite il modulo "alsa", invece che tramite "pulseaudio". Nel mio caso non è servito, ma lo lascio come ulteriore traccia perché ogni hardware ha una soluzione specifica.