June 21, 2009
Torno ancora sull’argomento perché negli ultimi due kernel sono state introdotte novità interessanti. La prima e indubbiamente più importante è l’integrazione, nella versione 2.6.30, delle patch per il supporto multitouch e del driver bcm5974. Grazie a questo cambiamento finalmente il supporto per il trackpad è disponibile nativamente, e possiamo togliere la patch dal nostro PKGBUILD!
In aggiunta ho scoperto da poco che qualcuno ha scritto finalmente una patch per ALSA 1.0.19 (ma comunque compatibile con la 1.0.20) che integra il supporto ai MacBook 5,1. Sono quindi utilizzabili tutti i canali audio, anche se i controlli non sono ancora il massimo della vita. La scheda dovrebbe essere automaticamente riconosciuta per i 5,1; i 5,2 hanno una scheda simile, e il riconoscimento può essere forzato inserendo la riga “options snd_hda_intel model=mb5″ in /etc/modprobe.d/modprobe.conf. Attenzione a chi prima aveva impostato il parametro model=mbp, quella linea va eliminata perché tutto funzioni correttamente.
Ma andiamo a vedere i controlli. Nell’immagine che segue possiamo vedere come si presenta il mixer con il kernel 2.6.30.

Al momento non è supportata la headphone detection, quindi esistono tre switch principali: PCM, ovvero il controllo volume principale, Master, che controlla l’uscita dalle casse integrate, e HP, che controlla l’uscita cuffie. È da notare che azzerare il volume di uno o dell’altro non è sufficiente a zittire completamente l’uscita corrispondente, è necessario mettere in muto il canale.
I MacBook, poi, sono provvisti di un piccolo woofer interno. Questo, al momento, è controllato tramite lo slider LFE, mentre il volume dei due midrange/tweeter si imposta sullo slider Front. Le cuffie, chiaramente, non hanno di questi problemi essendo altoparlanti stereo tradizionali, quindi l’unico controllo volume necessario è HP.
Sembrano non avere effetto gli slider Surround e Line, e lo switch Channel, che prima serviva a passare dalle cuffie alle casse integrate. O forse sono io che di tutta questa roba non so che farmene. In compenso, udite udite, finalmente il microfono funziona!
Qualche problema il kernel invece sembra darlo dal lato del wireless: fatico molto, con il craptastico driver proprietario della Broadcom, a recuperare una connessione wireless dopo la sospensione, cosa che non avveniva in precedenza, neanche nelle ultime RC di questa release.
Potete scaricare il PKGBUILD con la configurazione e la patch qui. Buon divertimento!
Posted by bardo under arch,g33k1ng around | Comments (3)
June 19, 2009
Finalmente Vodafone pare cominci a capire i bisogni della popolazione connessa alla Rete e se ne esce con un’idea che definire nuova è un po’ un’esagerazione, ma comunque è utile: il Widget. Trattasi di una piccola applicazione basata su Adobe AIR che, oltre a mostrare un riepilogo del traffico disponibile e del saldo punti Vodafone, permette – udite, udite! – di inviare i famosi 10 SMS gratis tramite un’interfaccia finalmente semplice e accessibile, risparmiando agli utenti il labirinto di link che servono a raggiungere la pagina incriminata.
Perché non è una novità? Perché già esistono parecchie applicazioni che, in maniera non ufficiale, fanno lo stesso lavoro, su tutte l’ottimo MoioSMS, che supporta tra l’altro parecchi servizi diversi e non è limitato al solo Vodafone, e l’estensione per Firefox Rubrika4Vodafone, che modifica la pagina del gestore aggiungendo una rubrica, un archivio messaggi inviati e il conteggio degli SMS residui.
Il Widget, oltretutto, soffre di qualche piccolo problema (su tutti, sbaglia il conto degli SMS inviati: sono dovuto ricorrere al sito dopo solo quattro messaggi) e potrebbe beneficiare di qualche aggiornamento. Una feature di cui in effetti già sentivo la mancanza sul sito, ad esempio, è la possibilità di inviare SMS con addebito sulla SIM associata: perché, una volta finiti i messaggi gratuiti, non posso inviarli a pagamento dal Widget? La tastiera di un PC è infinitamente più comoda di un cellulare, per scrivere.
Spero a questo punto che Vodafone, sentendosi la coscienza a posto, non abbandoni questa applicazione, che chiaramente non è ancora perfetta ma è già un ottimo inizio: con qualche modifica potrebbe diventare davvero una killer app.
Posted by bardo under g33k1ng around | Comments (0)
May 13, 2009
[ La tecno-nonna è alle prese con il Brain Training sul Nintendo DS ]
– E poi non mi piace questa cosa, mi dice che ho il cervello di un’ottantenne!
– Perché, scusa, tu quanti anni hai?
– Ottantotto.
– Eh, lamentati…
– Ma ieri me ne dava settantotto!
Posted by bardo under g33k1ng around,life | Comments (0)
February 1, 2009
Cosa succede quando uno si trova a dover amministrare un po’ di macchine server e client di OS diversi? Che ad un certo punto lo sbattimento di gestire e replicare utenze su enne servizi a destra e a manca diventa troppo e si cerca una soluzione centralizzata. La scelta cade, per motivi di possibilità di ridondanza nella nostra architettura, su OpenLDAP, con cui per questa ragione il sottoscritto sta lottando da tempo.
Di per sé non è neanche una brutta cosa, che esista un server di directory libero, peccato che i principali sviluppatori sembra si sentano parte di un’elite estremamente esclusiva, secondo la cui etichetta i non iniziati non hanno il diritto di capire perché la baracca non funziona. E quindi via, un errore più incomprensibile dell’altro, ognuno condito da linguaggio accademico e infarcito di buzzword. Va da sé che i “non iniziati” hanno, dall’altro lato, scritto centinaia di guide che dovrebbero aiutare chi, come loro, comincia ad affrontare l’argomento. E va da sé che non esistono due guide completamente d’accordo su ogni punto. Ma anche a questo il sysadmin più cocciuto può resistere, e se infinite prove fallite e chili di documentazione non lo spaventano, può arrivare a grokkare, fino ad un certo punto, la configurazione di OpenLDAP. Quel tanto che basta per fargli fare quello per cui è stato inventato.
Ed è qui che arriva Debian. Il sistema operativo danno universale. Ma andiamo con ordine. Mi viene messa in mano una mezza installazione di OpenLDAP qualche mese fa perché prenda confidenza con questo strumento del demonio nei tempi morti al lavoro, e capisco subito che non sarà impresa facile. La macchina è uno dei nostri server Sarge, regolarmente aggiornato. Configuro dunque il db, il server, il client, baracca e burattini, importo a fatica i dati del sistema, dopo un po’ di smadonnamenti riesco anche a querarlo con ldapsearch. Sembra funzionare, fico. Peccato che le modifiche fatte al db non siano viste dal sistema, e nonostante il demone nscd sia avviato, funzionante e configurato per parlare con ldap, getent continua a ritornare i vecchi risultati per passwd e compagnia cantante.
Dopo qualche giorno di questo andazzo, facendosi più pressante la richiesta per il server, decido di dare una scossa allo sviluppo della cosa e riparto da zero, forte dell’esperienza accumulata, su una Lenny dedicata. Magia, tutto funziona senza troppa fatica e getent ritorna allegramente le informazioni del db. Ormai considero gran parte del lavoro come concluso. Fast forward di qualche settimana in cui ho avuto altro da fare, decido di portare la configurazione sulla macchina Sarge e… non funziona più nulla! Com’è?
Decido, dopo varie litigate con nscd, che c’è qualche problema su Sarge, ed inizio a considerare ldap rotto a livello di distro. Niente di tragico, significa semplicemente che il server andrà a finire su una macchina Lenny, le Sarge saranno solo client. E qui casca l’asino. Esporto in un file ldif /etc/group del server Sarge, lo trasloco sulla Lenny e faccio un rapido check prima di importarlo. Resto allibito: i GID sono diversi tra le due macchine! Ovviamente non parlo dei GID utente, ma di quelli creati per i demoni di sistema “extra”, che vengono assegnati tra il 100 e il 1000.
Perché ogni servizio non ha il suo GID fisso? Come diamine faccio a mettere su un server LDAP che gestisca anche i gruppi per un tot di macchine senza trovarmi i GID sminchiati? Devo forse fermare una macchina di produzione per dare chown ricorsivi a manetta su tutta la root ed uniformare i server? Come accidenti si fa ad integrare macchine Debian preesistenti in una directory LDAP evitando problemi del genere?
Deve esserci una spiegazione, non possono essere così stupidi in debian… deve esserci un modo! Si accettano consigli
Posted by bardo under acido,g33k1ng around,wtf? | Comments (5)
January 24, 2009
Visto il successo del post precedente sull’argomento ho pensato bene di integrarlo un po’ con altre informazioni utili, e di aggiornare lo stato corrente della cosa.
Prima di tutto l’audio. Al momento il chipset non è perfettamente supportato, ma funziona, con qualche scomodità, passando l’opzione model=mpb3 al modulo snd-hda-intel. Perché sia fatto automagicamente all’avvio è sufficiente aggiungere, in /etc/modprobe.conf, la riga:
options snd_hda_intel model=mbp3
Il mixer ci presenta diversi canali e switch. Uno con cui dobbiamo fare conoscenza subito è Channel, che può passare da due a sei canali: 2ch indica le cuffie, 6ch le casse integrate. Purtroppo ancora non viene rilevato automaticamente se abbiamo collegato delle cuffie, quindi per il momento va impostato a mano. I due slider associati al volume delle casse sono Master (ma dai?) e Line-out, mentre se siamo in modalità cuffia oltre a Master dobbiamo regolare Front, e lo switch Speaker ci dà la possibilità di mettere in muto completamente il suono. Inoltre lo switch IEC958 attiva l’uscita ottica (potrete notare che, togliendo il muto, si accende una luce rossa nell’uscita cuffie).
Purtroppo l’audio non è così semplice da far funzionare. Il kernel 2.6.28 è passato in [core] nel giro di pochi giorni, seguito a ruota dal 2.6.28.1. Mentre la 2.6.28 andava bene, quest’ultima dà qualche grattacapo. Evidentemente uno dei tre commit sul driver snd-hda-intel ha portato ad una regressione, segnalata anche da qualche altro utente su portatili diversi. La soluzione è stata scaricare la nuova versione di alsa-lib, la 1.0.19 e ricompilarla per il nuovo kernel. Le possibilità sono due: sovrascrivere ALSA direttamente nel kernel e ricreare il pacchetto oppure compilare ALSA a parte e mettere i moduli nella cartella /lib/modules/kernel-2.6.28-ARCH/updates, dove saranno letti prima di quelli originali. Una volta fatto questo l’audio dovrebbe ritornare come prima (caveat emptor: reboot necessario).
Ho lavorato un po’ anche sul fronte power saving, prima di tutto installando cpufrequtils, laptop-mode-tools, pm-utils, bc, nvclock e xscreensaver. A livello di risparmio energetico il governor migliore per il processore è ondemand (sì, è meglio anche di conservative), quindi l’ho impostato in /etc/conf.d/cpufreq e ho inserito il demone cpufreq in /etc/rc.conf. Ho poi modificato /etc/acpi/handler.sh in diversi punti; ne riporto le parti interessate.
Premere il pulsante di accensione fa fare al sistema uno shutdown ACPI:
button/power)
#echo "PowerButton pressed!">/dev/tty5
case "$2" in
PWRF)
logger "PowerButton pressed: $2"
halt
;;
Collegare e scollegare il portatile dalla rete elettrica modifica la luminosità dello schermo e avvia o ferma il laptop-mode:
ac_adapter)
case "$2" in
AC)
case "$4" in
00000000)
#echo -n $minspeed >$setspeed
/usr/bin/nvclock -S -15 >/dev/null 2>&1
/etc/rc.d/laptop-mode start
;;
00000001)
#echo -n $maxspeed >$setspeed
/usr/bin/nvclock -S +15 >/dev/null 2>&1
/etc/rc.d/laptop-mode stop
;;
esac
;;
La chiusura del lid, come su OS X, mette il sistema in sospensione e, alla riapertura, chiede la password tramite xscreensaver (questo solo se il demone è attivo):
button/lid)
#echo "LID switched!">/dev/tty5
case "$2" in
LID0)
_res=$( bc <<< "ibase=16; $( tr [:lower:] [:upper:] <<< $4 )%2" )
case "$_res" in
0)
nvclock -S $( cat /tmp/.bllev )
rm -f /tmp/.bllev
;;
1)
echo $( nvclock -i | grep '^Backlight' | cut -d' ' -f3 ) > /tmp/.bllev
xset dpms force off
pidof xscreensaver >/dev/null 2>&1
if [ "$?" -eq 0 ] ; then
xscreensaver-command -lock >/dev/null 2>&1
fi
pm-suspend
;;
esac
;;
*) logger "ACPI action undefined: $2" ;;
esac
;;
Anche per questa volta è tutto, ma aspettatevi nuovi post quando avrò altre informazioni utili sottomano
Posted by bardo under arch,g33k1ng around | Comments (7)