Não é possível fazer o touchpad funcionar

Não é possível fazer o touchpad funcionar

Estou tentando encontrar aqui uma solução para meu problema de longa data com o touchpad.

Eu tentei há um ano emhttp://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/touchpad-not-beign-recognized-probably-the-kernel-doesn%27t-load-it-918152/

Copio a pergunta:


Eu tenho um laptop SONY VAIO VGN-NS21Z com um touchpad que não está sendo carregado com o kernel. (Não aparece no log do Xorg nem na lista xinput)

Meu touchpad não possui uma tecla de função para ativá-lo ou desativá-lo, então esse não é o problema.

Eu tentei habilitar os parâmetros i8042 nas opções do kernel, conforme visto pesquisando no Google e não funciona.

Antes que alguém pergunte sim, o touchpad funciona na minha partição do Windows 7. Isto é o que obtive nas propriedades do dispositivo no Windows 7.

NOTA: Os títulos são traduzidos por mim, portanto podem não corresponder aos da versão em inglês do Windows7.

Hardware ID:
    ACPI\SNY9008
    *SNY9008
Compatible ID
    *PNP0F13
Service
    i8042prt
Name of device physic objet
    \Device\0000005d
Access path to the instance of the device
    ACPI\SNY9008\4&3290F976&0
Primary
    PCI\VEN_8086&DEV_2919&SUBSYS_9045104D&REV_03\3&11583659&0&F8
Brothers
ACPI\PNP0200\4&3290f976&0
ACPI\INT0800\4&3290f976&0
ACPI\PNP0103\4&3290f976&0
ACPI\PNP0000\4&3290f976&0
ACPI\PNP0C04\4&3290f976&0
ACPI\PNP0C02\2
ACPI\PNP0B00\4&3290f976&0
ACPI\PNP0100\4&3290f976&0
ACPI\PNP0303\4&3290f976&0
ACPI\PNP0C09\4&3290f976&0
ACPI\SNY5001\4&3290f976&0
Node secure name of the controller
    msmouse.inf:MSMfg.NTamd64:PS2_Inst:6.1.7600.16385:*pnp0f13
Id of the matching device
    *pnp0f13

A partir desses detalhes encontrei no dmesg algo relacionado a PNP0F13 e SNY9008 que parece estar relacionado ao touchpad conforme visto nos detalhes do Windows:

Como posso ver, acho que o kernel detecta o touchpad, mas quando tem que atribuí-lo a qualquer lugar onde deve ser atribuído para funcionar, ele confunde o touchpad com o teclado ou qualquer outra coisa e então eu tenho o teclado "montado" duas vezes.

$ dmesg | grep PNP0f13
[    0.882985] pnp 00:08: Plug and Play ACPI device, IDs SNY9008 PNP0f13 (active)
[    1.776101] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
$ dmesg | grep i8042
[    1.776101] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    1.825321] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.846471] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2

Eu verifiquei os ioports e isso sugere que estou correto. Você pode ver que tenho duas portas exatamente em 0x60 e 0x64 em ioports que são teclado (talvez seja normal, mas não sei). Se assumirmos que SNY9008 PNP0F13 é o touchpad (que eu acho que é visto no Windows 7), esse é o problema.

/proc/ioports

0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0062-0062 : EC data
  0064-0064 : keyboard
  0066-0066 : EC cmd
  0070-0077 : rtc0
  0080-008f : dma page reg
  00a0-00a1 : pic2
  00c0-00df : dma2
  00f0-00ff : fpu
  03c0-03df : vga+
  0400-047f : pnp 00:05
    0400-0403 : ACPI PM1a_EVT_BLK
    0404-0405 : ACPI PM1a_CNT_BLK
    0408-040b : ACPI PM_TMR
    0410-0415 : ACPI CPU throttle
    0420-042f : ACPI GPE0_BLK
    0430-0433 : iTCO_wdt
    0450-0450 : ACPI PM2_CNT_BLK
    0460-047f : iTCO_wdt
  0500-053f : pnp 00:05
  0680-069f : pnp 00:05
  0800-0803 : pnp 00:05
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
  1000-100f : pnp 00:05
  164e-164f : pnp 00:05
  a000-afff : PCI Bus 0000:05
  b000-bfff : PCI Bus 0000:03
  c000-cfff : PCI Bus 0000:02
    c000-c0ff : 0000:02:00.0
      c000-c0ff : sky2
  d000-dfff : PCI Bus 0000:01
    d000-d0ff : 0000:01:00.0
  e000-e01f : 0000:00:1f.3
    e000-e01f : i801_smbus
  e020-e03f : 0000:00:1f.2
    e020-e03f : ahci
  e040-e05f : 0000:00:1d.2
    e040-e05f : uhci_hcd
  e060-e07f : 0000:00:1d.1
    e060-e07f : uhci_hcd
  e080-e09f : 0000:00:1d.0
    e080-e09f : uhci_hcd
  e0a0-e0bf : 0000:00:1a.2
    e0a0-e0bf : uhci_hcd
  e0c0-e0df : 0000:00:1a.1
    e0c0-e0df : uhci_hcd
  e0e0-e0ff : 0000:00:1a.0
    e0e0-e0ff : uhci_hcd
  e100-e103 : 0000:00:1f.2
    e100-e103 : ahci
  e110-e117 : 0000:00:1f.2
    e110-e117 : ahci
  e120-e123 : 0000:00:1f.2
    e120-e123 : ahci
  e130-e137 : 0000:00:1f.2
    e130-e137 : ahci

Usando: Fedora 16 KDE Spin kernel 3.1.4-1.fc16.i686.PAE Agora 3.1.9-1.fc16.i686.PAE


Observe que agora estou usando Linux mint 13: Linux 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC 2013 x86_64 Mas o problema é o mesmo.

Nota: sou apenas um usuário Linux, não um administrador de sistema, então seja específico ao perguntar algo.

Se precisar de mais informações, pergunte-me e eu postarei. Obrigado.

Responder1

Tenho o teclado "montado" duas vezes.

Não é assim que eu leria sua saída do dmesg. O teclado é relatado uma vez pelo seriomódulo e depois uma vez pelo inputmódulo. Um trata o teclado como um dispositivo de hardware e o outro interpreta as informações do primeiro para implementar um teclado conectado. Eles trabalham juntos.

talvez seja normal, mas não sei

Provavelmente, já que estou em uma área de trabalho padrão sem touchpad e recebo a mesma coisa:

> dmesg | grep i8042
[    1.301505] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    1.304381] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.305095] serio: i8042 AUX port at 0x60,0x64 irq 12

> cat /proc/ioports
0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0062-0062 : EC data
  0064-0064 : keyboard

Observe que "teclado" é relatado ao mesmodoisendereços como o seu.

Não aparece no log do Xorg nem na lista xinput

Pode ser apenas uma questão de falta de drivers do Xorg, mas parece estranho que isso aconteça com duas distros diferentes. Mesmo assim, você pode verificar se o xorg-x11-drv-synapticspacote está instalado (esse é o nome do fedora; no mint, acho que você deve conseguir encontrá-lo com apt-cache search synaptics). Synaptics faz praticamente todos os touchpads, AFAIK eo seu parece usar um driver Synaptics no Windows.

Você consegue alguma coisa de dmesg | grep mouse?

informação relacionada