Debian e TouchPad

11 risposte [Ultimo contenuto]
Ritratto di WeBBeR
WeBBeR
(Junior)
Offline
Junior
Iscritto: 20/05/2009
Messaggi: 15

Salve
ho appena acquistato un Sony Vaio (VPC EB3L1E) sul quale ho installato in un primo monteno la "Stable" successivamente la "Testing".
Il problema è che con entrambe il touchpad del notebook non ne vuole sapere di funzionare. Ho provato anche ad installare i driver synaptics ma non è cambiato nulla. Ho riletto i vari post sui touchpad in questo forum ma non ho risolto. Cosa posso fare?
Grazie

Ritratto di marcosan
marcosan
(Collaboratore)
Offline
Collaboratore
Iscritto: 16/05/2005
Messaggi: 730

Ciao, chiarisci meglio cosa intendi con "non funziona", il cursore si muove? Non ti funziona il "tap"? I tasti normali funzionano?

Ciao,
Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).

Ritratto di WeBBeR
WeBBeR
(Junior)
Offline
Junior
Iscritto: 20/05/2009
Messaggi: 15

Ciao,
il cursore non si muove e di conseguenza neanche i vari tasti. Ovviamente collegando un mouse usb funziona normalmente

Ritratto di marcosan
marcosan
(Collaboratore)
Offline
Collaboratore
Iscritto: 16/05/2005
Messaggi: 730

Hai installato xserver-xorg-input-synaptics?

Il tuo xorg.conf contiene qualcosa?

Ciao,
Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).

Ritratto di WeBBeR
WeBBeR
(Junior)
Offline
Junior
Iscritto: 20/05/2009
Messaggi: 15

Il pacchetto xserver-xorg-input-synaptics l'ho installato,
mentre non vi è alcun file Xorg in /etc/X11/ , ma ho un Xorg.new.conf in /root/

Ritratto di mcortese
mcortese
(Guru)
Offline
Guru
Iscritto: 27/02/2009
Messaggi: 640

Puoi postare il log di XOrg?

Ritratto di WeBBeR
WeBBeR
(Junior)
Offline
Junior
Iscritto: 20/05/2009
Messaggi: 15

Poiché sono poco esperto puoi spiegarmi come fare?

Ritratto di mcortese
mcortese
(Guru)
Offline
Guru
Iscritto: 27/02/2009
Messaggi: 640

Tutti i log si trovano in /var/log. Quello che interessa a noi si chiama Xorg.0.log.

Ritratto di WeBBeR
WeBBeR
(Junior)
Offline
Junior
Iscritto: 20/05/2009
Messaggi: 15

Ecco il file, l'ho uppato perchè era troppo lungo 
http://www.mediafire.com/?b95geyceovhantn

Ritratto di WeBBeR
WeBBeR
(Junior)
Offline
Junior
Iscritto: 20/05/2009
Messaggi: 15

Piccolo aggiornamento...ho provato a far partire sul computer in questione una distro live di ubuntu.
Con quest'ultima il touch funzionava perfettamente, così mi sono ricopiato il file Xorg (la parte sul mouse e sul touch) e ho modificato il file Xorg.conf.new che mi ritrovo nella cartella /root
Riavviato. Il touch non funziona, ma in compenso nel file di log di Xorg ci sono segni di vita del driver synaptics:

Citazione:

webber@webber:~$ sudo cat /var/log/Xorg.0.log | grep touch
[sudo] password for webber: 
(II) Synaptics touchpad driver version 1.2.2
(--) Synaptics Touchpad: no supported touchpad found
webber@webber:~$ sudo cat /var/log/Xorg.0.log | grep synaptics
(II) LoadModule: "synaptics"
(II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
(II) Module synaptics: vendor="X.Org Foundation"
(II) LoadModule: "synaptics"
(II) Reloading /usr/lib/xorg/modules/input/synaptics_drv.so
Synaptics Touchpad no synaptics event device found
(II) UnloadModule: "synaptics"

Ritratto di mcortese
mcortese
(Guru)
Offline
Guru
Iscritto: 27/02/2009
Messaggi: 640

La prendo un po' alla lontana... Tanto tempo fa il server X faceva tutto da solo: rilevava i dispositivi connessi e li configurava secondo le istruzioni che l'utente metteva in file di configurazione in /etc/X11. Ma rilevare l'hardware è una prerogativa del kernel, col supporto di udev. Quindi si è pensato, per evitare duplicazione di codice, che X debba "ereditare", attraverso uno strato di astrazione chiamato HAL, i dispositivi rilevati dal kernel e messi a disposizione da udev. E visto che tutti gli eventi arrivano dal kernel, non è più necessario che X abbia la precedente pletora di driver, ciascuno specifico per un certo dispositivo, ma ne basta uno, evdev, che "parla" l'unico protocollo che proviene dal kernel.

Grazie (ma non solo) a questa semplificazione, X è diventato più facile da configurare, tanto che oggi il file di configurazione spesso non è necessario.

In pratica con l'architettura di oggi questa è la catena di attori attraverso cui passa un dispositivo prima di essere finalmente usato da X:
kernel -> udev -> hal -> evdev -> X.
Nota che ognuno di questi sottosistemi ha il suo corredo di configurazioni con cui influenza la gestione del dispositivo:

  • udev ha le sue regole in /etc/udev/rules.d
  • hal ha le sue politiche in /etc/hal/fdi/policy
  • evdev ha le sue regole in /etc/evdev/rules.d
  • X obbedisce a /etc/X11/Xorg.conf se presente.

Ora, analizzando il tuo log, sono evidenti i dispositivi di input rilevati:

  • Sony Vaio Keys (event6), configurato come tastiera
  • Video Bus (event2), idem
  • Power Button (event5), idem
  • Lid Switch (event4), ignorato perché di tipo sconosciuto
  • USB Camera (event8), configurato come tastiera
  • HDA Digital PCBeep (event9), ignorato
  • AT keyboard (event1), configurato come tastiera
  • PC Speaker (event3), ignorato
  • Macintosh mouse button emulation (event0), configurato come mouse
  • Virtual Keyboard (event10), configurato come tastiera
  • Sony Vaio Jogdial (event7), ignorato

A parte qualche stranezza discutibile, quello che salta agli occhi è che non c'è il touchpad. Non è che compare come dispositivo e viene ignorato o scambiato per qualcos'altro: no, non è proprio rilevato dal kernel!

Allora ho fatto qualche ricerca e pare sia proprio un problema del kernel, legato a questo bug. Forse la distro live di Ubuntu che hai provato tu ha un kernel patchato?

Comunque, in attesa della chiusura del bug, una possibile soluzione temporanea potrebbe essere quella di dire al kernel di disabilitare il PNP per quel dispositivo. All'avvio, alla schermata di Grub premi "E" per editare la riga che lancia Linux e aggiungi il seguente parametro:
i8042.nopnp 
Poi premi "B" per avviare con questa riga modificata e vedi come va. Dovrebbe riconoscerti il touchpad come un mouse normale, quindi scordati multitouch etc. ma almeno le funzionalità di base dovrebbero esserci.

Per non dover editare la riga del kernel ad ogni riavvio, puoi aggiungere il parametro i8042.nopnp direttamente nel file di configurazione di Grub (è in /boot/grub ma non ricordo quale sia).

Mi raccomando, facci sapere se funziona!