Ubuntu 12.10 (Linux 3.5) e sony-laptop

Il kernel 3.5 ha portato diversi cambiamenti, ma per il mio portatile ha portato anche diversi problemi: ad esempio kbd_backlight e kbd_backlight_timeout sono spariti e ACPI non rileva più i tasti associati ad Fn. Dopo un po’ di test, ho scoperto che il problema sembra essere circoscritto al modulo sony-laptop.c, quindi per il momento sto ovviando al problema usando il modulo incluso nel kernel 3.4.

Se avete un VPCS11E7E o riscontrate problemi analoghi col vostro VAIO, ho preparato un PPA per rendere il downgrade più semplice:

sudo add-apt-repository ppa:shiba89/vaio-kernel
sudo apt-get update
sudo apt-get install linux-headers-generic sony-laptop-dkms

Il pacchetto che andrete ad installare contiene il modulo sony-laptop del kernel 3.4 con alcune patch prese da http://www.absence.it/vaio-acpi/source/patches/. Compilazione e installazione sono gestite da DKMS, quindi non avrete bisogno di effettuare nessuna modifica manuale. Una volta finita l’installazione è sufficiente riavviare il computer. Per tornare al modulo incluso nel vostro kernel

sudo apt-get purge sony-laptop-dkms

PS: Non fate caso agli altri pacchetti presenti nel repo, sono vecchi test inutili.

Appunti sulle patch aggiunte al modulo

(Tutto questo è scritto molto di fretta, e non escludo che non si capisca niente)

Sto usando queste patch da ormai più di un anno, e fin’ora non ho riscontrato problemi. Per il mio modello, aggiungono alcune funzionalità interessanti sotto /sys/devices/platform/sony-laptop:

Controlli per il sensore di luce ambiente

Avete presente che su Windows la retroilluminazione della tastiera e dello schermo vengono regolate automaticamente? Questi sono i controlli necessari a far sì che questo accada. Sfortunatamente non c’è un demone stabile che si occupi di farli funzionare (se volete provare qualcosa di sperimentale, ve lo linko nei commenti), né sono in grado io di scriverlo.

  • als_backlight
  • als_backlight_levels
  • als_defaults
  • als_kelvin
  • als_lux
  • als_managed
  • als_power

Controllo della carica della batteria

Indica a quale percentuale la carica della batteria deve fermarsi.

  • battery_care_limiter: 0 – 100%, 1 – 80%, 2 – 50%

Protezione dell’hard disk da shock

Non ho la più pallida idea se e come funzionino.

  • gsensor_protection
  • gsensor_sensitivity
  • gsensor_val_type
  • gsensor_xval
  • gsensor_yval
  • gsensor_zval

Controllo per lo spegnimento dell’unità DVD

Impostato a 0 spegne l’unità DVD. Per riaccenderla è sufficiente reimpostare il controllo a 1 o premere il tasto di espulsione dell’unità

  • odd_power

Controlli per il comportamento della ventola

  • thermal_profiles: espone il numero di profili per il comportamento della ventola (3 sul mio PC: 0 balanced, 1 silence, 2 performance).
  • thermal_control: accetta i valori esposti da thermal_profiles.

Queste patch vanno anche a modificare il comportamento di rfkill, aggiungendo due controlli:

$ rfkill list | grep sony
0: sony-wifi: Wireless LAN
1: sony-bluetooth: Bluetooth

Questi permettono una migliore gestione dell’accensione e dello spegnimento delle periferiche wireless. Un esempio banale: se spegnete wi-fi e bluetooth da Windows, vi sarà possibile riattivarli da Ubuntu.

Annunci

Retroilluminazione dello schermo su Sony Vaio VPCS11E7E con Ubuntu 10.04

Italiano | English

IMPORTANTE: Questa guida tratta esclusivamente il Sony Vaio (VPC)S11E7E, se avete un modello differente potreste incorrere in forti crisi di panico (non scherzo, una volta tanto). Se volete provare comunque, leggete l’articolo e le note in fondo, ma non toccate niente fino a quando non sarete certi di quello che state facendo.

È la cosa che mi ha fatto girare le scatole più di tutte fin dall’inizio. Sony di merda.

Prima cosa da fare:

sudo -s

sì, dovremo fare un bordello di roba da root.

Per poter regolare la retroilluminazione del display useremo il modulo nvidia_bl. Aggiungiamo quindi il repo giusto ed installiamolo:

add-apt-repository ppa:mactel-support/ppa
apt-get update
apt-get install nvidia-bl-dkms

molto bene, ora comincia il divertimento.

Configuriamo le opzioni di avvio del modulo e aggiungiamolo alla lista dei moduli predefiniti:

echo options nvidia_bl max_level=131072 >> /etc/modprobe.d/nvidia-bl-dkms.conf
echo nvidia_bl >> /etc/modules

Ora dovremo fare una piccola modifica a mano. Digitate

nano /etc/rc.local

e prima di exit 0 incolliamo

echo -n 32768 > /sys/class/backlight/nvidia_backlight/brightness

in modo che il risultato sia così

Tutto ok? Molto bene, abbiamo finito di configurare nvidia_bl. Ora configuriamo i tasti funzione. Per fare ciò useremo un paio di script da me modificati per questo PC.

cd /etc/acpi
wget -c http://dl.dropbox.com/u/737114/vpcs11e7e/vpcs11e7e-backlight.tar.gz
tar -xzvf vpcs11e7e-backlight.tar.gz
rm vpcs11e7e-backlight.tar.gz

E in questo modo anche i tasti funzione sono a posto. Per godere finalmente della possibilità di regolare la luminosità dello schermo possiamo riavviare il computer o eseguire

modprobe nvidia_bl
service acpid restart

E questo è tutto, gente.

Difetti:

  • la luminosità predefinita all’avvio è fissa (leggere note);
  • la notifica di Ubuntu alla pressione dei tasti funzione è quasi sempre sballata, ma in fondo che ci frega, finalmente possiamo regolare quel faro da stadio che è il nostro schermo!

Note

Le cose che spiegherò qui potrebbero essere più complesse del solito, tuttavia se per necessità o curiosità volete dare un’occhiata, siete i benvenuti. Se tutto vi funziona senza problemi e siete soddisfatti, allora potete chiudere la pagina.

Come gestisce la luminosità nvidia_bl? Tramite il file

/sys/class/backlight/nvidia_backlight/brightness

che, poiché è stato configurato con questa opzione

echo options nvidia_bl max_level=131072 >> /etc/modprobe.d/nvidia-bl-dkms.conf

può assumere valori compresi tra 0 e 131072 (2^17). Gli script per la configurazione dei tasti funzione sono stati da me modificati per usare 10 valori compresi tra 4096 (il valore più basso che mi pareva accettabile) e 131072. La luminosità all’avvio è impostata nel file /etc/rc.local a 32768 e può essere cambiata, preferibilmente con uno dei valori presenti negli script.

Quindi che problemi ci sono ad usare questa guida con altri computer?

Dipende. nvidia_bl, come avrete capito, non è legato ai Sony Vaio, ma funziona con molti altri portatili con schede NVIDIA di nuovissima generazione. L’unico problema è che vagabondando su Google mi sono imbattuto in gente che usava valori diversi per la luminosità, che doveva configurare a mano la propria scheda nei sorgenti del modulo e ovviamente che doveva configurare diversamente gli script affinché reagissero ai propri tasti funzione. Io stesso, ingenuo, ho lanciato al primo avvio il modulo senza configurazione e mi sono trovato lo schermo praticamente spento (lo ammetto, inizialmente temevo di aver fuso qualcosa) con l’impossibilità di cambiare il valore della retroilluminazione.

Concludendo, ora avete una breve panoramica di come funziona il modulo e di quali problemi potreste trovarvi ad affrontare con PC diversi. Se avete bisogno di un aiuto possiamo provare a guardarci assieme, che in due si capisce meglio che in uno. Ah, e munitevi di una torcia potente.

PS: Mi viene un infarto al pensiero di tradurre ‘sto papiro in inglese… ._.

Fonte nvidia_bl: boh, http://www.google.com/search?&q=nvidia_bl

Fonte tasti funzione: http://code.google.com/p/vaio-f11-linux/wiki/DisplayBacklight