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