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.

18 thoughts on “Ubuntu 12.10 (Linux 3.5) e sony-laptop

  1. gold price scrive:

    http://my.opera.com/marcomarongiu/blog/2012/03/12/no-step-back seems to indicate that the Debian squeeze kernel won’t handle the leap second.

  2. Alessandro scrive:

    Ciao Shiba,

    io con il mio Vaio cpcs12c5e ci lavoro sodo tutti i giorni, ma non ho più tempo e testa di rimediare ai paciocchi che ogni tanto succedono tra Ubuntu ed il Kernel.

    Ormai faccio un giro qui da te per trovare qualche soluzione. Ed anche questa volta mi hai dato una grossa mano! Funziona di nuovo bene: i tasti funzione generano di nuovo degli acpi events. :)

    Non riesco a fare gli “echo” dentro gli altri files per il controllo del lettore dvd e del thermal_control….permission denied. Evabbò! In ogni caso tutto funziona come prima dell’aggiornamento.

    Grazie grazie

  3. Maurs scrive:

    Per controllare la luminosità dello schermo e il funzionamento in automatico della tastiera, è possibile utilizzare questo programmino

    http://sourceforge.net/projects/sony-acpid/

    Per farlo funzionare al meglio, dopo aver introdotto le modifiche al file xorg.conf e ancora prima di compilarlo, ho dovuto modificare il fileacpi_funcs.h definendo così queste due variabili:

    static int const ACPI_MIN_BRGT = 0;
    static int const ACPI_MAX_BRGT = 28;

    È possibile testare quali siano i propri valori minimi e massimi, cambiando il valore di questo file:

    sudo nano /sys/class/backlight/nvidia_backlight/brightness

    Spero di essere stato utile.

  4. alecive scrive:

    Ciao shiba,

    volevo chiederti un paio di cose.

    Innanzitutto, io sono ancora sulla 12.04 ed usavo felicemente questa distro con tutti i tuoi scriptini e cose simili, se non fosse che ad un certo punto ho deciso di usare il ppa che ti mette gli ultimi driver nvidia visto che promettevano un raddoppio delle performance per quanto riguarda le opengl et similia (uso delle simulazioni molto pesanti quindi mi è servito un sacco). Da un paio di giorni però ho notato appunto che la tastiera non si spegne più, e la luminosità è andata a donnine.

    La mia prima domanda è: il ppa qui sopra funziona anche per il mio povero precise pangolin? O devo fare qualche ulteriore accorgimento?

    La seconda è: se il ppa fosse compatibile con la mia distro, e soprattutto se funzionasse, magicamente mi tornerebbero a funzionare i tasti Fn+F4, Fn+F5, Fn+F9 Fn+F10 così come li avevo impostati seguendo la tua guida oppure no?

    Grazie,

    Ale

    • Shiba scrive:

      Allora, prima di tutto una piccola premessa che potrebbe tornarti utile: solitamente sconsiglio i PPA X Updates e soprattutto xorg-edgers (penso il tuo sia uno di questi) perché oltre ai driver aggiornano anche parti di X che, se tutto funziona bene, non ti interessa aggiornare. Detto questo, su Precise sono disponibili i pacchetti nvidia-experimental-304 e nvidia-experimental-310, non aggiornati all’ultimissima release, ma hanno tutti i vantaggi introdotti delle versioni 304 e 310.
      Ora veniamo al tuo problema. Hai aggiornato solo i driver video o hai cambiato pure kernel? Visto che usi Precise dovresti avere il 3.2.0-3* (controlla con uname -r), con il quale i tastini e il controllo della retroilluminazione della tastiera dovrebbero funzionare out of the box. In caso, controlla quali file hai sotto /sys/devices/platform/sony-laptop e postameli qui. Prova anche ad aprire un terminale e digitare acpi_listen, poi premi i tasti Fn+F* e vedi se li rileva. Posta il tutto che passiamo al passo successivo :D

      PS: puoi anche provare ad aggiungere il mio PPA, mal che vada non cambia niente, e la rimozione del pacchetto è pulita.

      • alecive scrive:

        Possibile che io non sia in grado di risponderti perchè ti ho scritto un messaggio troppo lungo? Non mi fa postare :(

      • alecive scrive:

        L’ho messo su pastebin (tu puoi pure rispondermi qui :) ).
        Ecco il link http://pastebin.com/HpD56G89

      • Shiba scrive:

        > Possibile che io non sia in grado di risponderti
        > perchè ti ho scritto un messaggio troppo lungo?
        Sembra che lo metta in spam, forse proprio perché è troppo lungo. Ora lo sblocco :D

        Risposta breve: sì, il mio PPA risolve quel problema, almeno fino al kernel 3.5, già col 3.6 il modulo non compila più.
        È disponibile una patch apposita per 3.6 e successivi, ma non è ancora entrata ufficialmente mainline. Spero che per il rilascio di Ubuntu 13.04 l’avranno inclusa nel kernel 3.8.

        Comunque sì, xorg-edgers aggiorna anche il kernel, altra pratica che a differenza di molti sconsiglio (a meno che non si conosca un effetto in particolare che si vuole nel nuovo kernel e ne si conoscano tutte le possibili regressioni). Se ti senti coraggioso e fortunato puoi provare ad usare ppa-purge per rimuovere il PPA: “sudo ppa-purge xorg-edgers”. Sulla pagina di xorg-edgers dicono che usando la loro versione di ppa-purge dovrebbe filare tutto liscio.
        Scegli una delle due strade, o il mio PPA, o rimuovere xorg-edgers :)

  5. alecive scrive:

    Allora, ti rispondo punto per punto:

    1- grazie per l’info (averla saputa prima!), comunque sì, ho il ppa xorg-edgers (ho semplicemente cercato su internet come fare per avere i driver nvidia su precise ed ho trovato questa come la soluzione da seguire — ed ovviamente essendo io un pecorone mi sono ciecamente fidato)
    2- ho il kernel 3.5.0-18-generic, che credo mi sia stato aggiornato dal ppa xorg-edgers perchè non ho altri ppa “esotici” a parte l’ubuntu-x-swat-x-updates che non so minimamente cosa faccia ma magari tu hai lumi in merito
    3- ecco cosa ho nella cartella che mi hai chiesto (ho dato ls -al * così magari puoi vedere più roba utile):
    alecive@calliope:/sys/devices/platform/sony-laptop$ ls -al *
    lrwxrwxrwx 1 root root 0 dic 3 09:03 driver -> ../../../bus/platform/drivers/sony-laptop
    -r–r–r– 1 root root 4096 dic 3 11:57 modalias
    lrwxrwxrwx 1 root root 0 dic 3 09:03 subsystem -> ../../../bus/platform
    -rw-r–r– 1 root root 4096 dic 3 11:57 thermal_control
    -r–r–r– 1 root root 4096 dic 3 11:57 thermal_profiles
    -rw-r–r– 1 root root 4096 dic 3 11:57 touchpad
    -rw-r–r– 1 root root 4096 dic 3 09:03 uevent
    power:
    totale 0
    drwxr-xr-x 2 root root 0 dic 3 11:57 .
    drwxr-xr-x 3 root root 0 dic 3 09:03 ..
    -rw-r–r– 1 root root 4096 dic 3 11:57 async
    -rw-r–r– 1 root root 4096 dic 3 11:57 autosuspend_delay_ms
    -rw-r–r– 1 root root 4096 dic 3 11:57 control
    -r–r–r– 1 root root 4096 dic 3 11:57 runtime_active_kids
    -r–r–r– 1 root root 4096 dic 3 11:57 runtime_active_time
    -r–r–r– 1 root root 4096 dic 3 11:57 runtime_enabled
    -r–r–r– 1 root root 4096 dic 3 11:57 runtime_status
    -r–r–r– 1 root root 4096 dic 3 11:57 runtime_suspended_time
    -r–r–r– 1 root root 4096 dic 3 11:57 runtime_usage
    4- dando acpi_listen, alla digitazione di Fn+F5, Fn+F6, Fn+F9, Fn+F10 (luminosità up/down e retroilluminazione tastiera no/sì) non succede nulla. Palle di fieno che rotolano. Se clicco gli altri tasti non succede niente ma almeno fanno quello che dovrebbero fare (tipo il volume). L’unica eccezione è Fn+F8 che non è associato a nessun comando e mi ritorna come output “^[[19~”
    5- allora provo ad installare il tuo ppa? Non sarebbe allora meglio togliere il ppa xorg-edgers (e magari pure ubuntu-x-swat-x-updates) ed installare gli nvidia-experimental-310?

  6. alecive scrive:

    Ho installato il ppa, e funziona di nuovo tutto alla grande! Grazieeeeeeee! :)
    Una domanda: quindi tra un po’ xorg-edgers aggiornerà il kernel alla 3.6 e mi ritroverò di nuovo a terra? Sai quando questo succederà? Dovrei togliere il tuo ppa per non fare casini quando succederà?

    • Shiba scrive:

      Se vuoi una risposta sincera: non so se e quando lo aggiorneranno. Su quel PPA per Oneiric sono fermi al 3.2, per Precise al 3.5 mentre per Quantal sono al 3.7. È probabile che non lo aggiornino quindi, però chissà…

  7. Abdumama scrive:

    Ciao, come mai non riesco a modificare il contenuto del file thermal_profiles? Dice che il file è di sola lettura è non posso modificarlo.

    • Shiba scrive:

      Perché quello modificabile è thermal_control:
      -rw-r–r– 1 root root 4096 gen 7 13:17 thermal_control
      -r–r–r– 1 root root 4096 gen 7 13:17 thermal_profiles

  8. Waqar Hameed scrive:

    Thank you Shiba. Finally I can change brightness through keyboard and sleep/resume on my Sony VAIO VPCS116FA.

  9. Fortran scrive:

    Salve io non riesco a scaricare il suddetto PPA, (impossibile trovare il pacchetto sony-laptop-dkms). Ho ubuntu 13.04 e devo risolvere il problema della mancata modifica dell’illuminazione con Fn+F5/F6 e l’illuminazione della tastiera sul mio Vaio. Suggerimenti?

  10. Fortran scrive:

    Ho seguito la tua guida, però non funziona! Forse perché ho una scheda video Ati Radeon serie 7xxx e driver proprietari. Ho lanciato nel terminale il comando e mi ha stampato questo: http://imageshack.us/a/img6/7782/fhs2.png
    Le prime due righe corrispondono alla pressione del comandi du diminuzione della luminosità; le altre due all’aumento.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...