Laptop Touchpad de repente não funciona no Arch Linux

2

Eu tenho lutado para fazer com que o synaptic funcione corretamente desde a instalação do arch no meu laptop há cerca de um ano e, finalmente, está completamente quebrado. Preciso de ajuda para descobrir o porquê, já que nada que eu tenha feito nas últimas horas consertou isso.

saída de xinput imediatamente após perceber que o cursor não se moveu:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer            id=4    [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard           id=5    [slave  keyboard (3)]
    ↳ Power Button                          id=6    [slave  keyboard (3)]
    ↳ Video Bus                             id=7    [slave  keyboard (3)]
    ↳ Video Bus                             id=8    [slave  keyboard (3)]
    ↳ Power Button                          id=9    [slave  keyboard (3)]
    ↳ Sleep Button                          id=10   [slave  keyboard (3)]
    ↳ HD WebCam                             id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard          id=12   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                      id=13   [slave  keyboard (3)]

Quando meu cursor estava trabalhando antes disso, havia uma entrada que listava alguns números e disse UNKNOWN. Tenho certeza de que esse foi meu touchpad e agora está faltando.

conteúdo do Xorg.0.log (as partes que eu acho que estão relacionadas ao meu touchpad)

[   198.965] (II) config/udev: Adding input device SYN1B7F:01 06CB:2970 UNKNOWN (/dev/input/event8)
[   198.965] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Applying InputClass "evdev touchpad catchall"
[   198.965] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Applying InputClass "touchpad catchall"
[   198.965] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Applying InputClass "Default clickpad buttons"
[   198.965] (II) LoadModule: "synaptics"
[   198.965] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[   198.977] (II) Module synaptics: vendor="X.Org Foundation"
[   198.977]    compiled for 1.16.4, module version = 1.8.1
[   198.977]    Module class: X.Org XInput Driver
[   198.977]    ABI class: X.Org XInput driver, version 21.0
[   198.980] (II) systemd-logind: got fd for /dev/input/event8 13:72 fd 21 paused 0
[   198.980] (II) Using input driver 'synaptics' for 'SYN1B7F:01 06CB:2970 UNKNOWN'
[   198.980] (**) SYN1B7F:01 06CB:2970 UNKNOWN: always reports core events
[   198.980] (**) Option "Protocol" "event"
[   198.980] (**) Option "Device" "/dev/input/event8"
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: x-axis range 0 - 1236 (res 12)
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: y-axis range 0 - 898 (res 12)
[   198.980] (II) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: device does not report pressure, will use touch data.
[   198.980] (II) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: device does not report finger width.
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: buttons: left double triple
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: Vendor 0x6cb Product 0x2970
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: invalid pressure range.  defaulting to 0 - 255
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: invalid finger width range.  defaulting to 0 - 15
[   198.980] (**) Option "SHMConfig" "on"
[   198.980] (**) Option "ClickPad" "0"
[   198.980] (**) Option "VertTwoFingerScroll" "on"
[   198.980] (**) Option "TouchpadOff" "0"
[   198.980] (**) Option "PalmDetect" "on"
[   198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: touchpad found
[   198.980] (**) SYN1B7F:01 06CB:2970 UNKNOWN: always reports core events
[   198.980] (**) Option "config_info" "udev:/sys/devices/pci0000:00/INT33C3:00/i2c-0/i2c-SYN1B7F:01/0018:06CB:2970.0001/input/input8/event8"
[   198.980] (II) XINPUT: Adding extended input device "SYN1B7F:01 06CB:2970 UNKNOWN" (type: TOUCHPAD, id 12)
[   198.980] (**) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: (accel) MinSpeed is now constant deceleration 2.5
[   198.980] (**) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: (accel) MaxSpeed is now 1.75
[   198.980] (**) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: (accel) AccelFactor is now 0.131
[   198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) keeping acceleration scheme 1
[   198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) acceleration profile 1
[   198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) acceleration factor: 2.000
[   198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) acceleration threshold: 4
[   198.981] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: touchpad found
[   198.981] (II) config/udev: Adding input device SYN1B7F:01 06CB:2970 UNKNOWN (/dev/input/mouse0)
[   198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Ignoring device from InputClass "touchpad ignore duplicates"

A primeira coisa que fiz foi desativar o /etc/X11/xorg.conf.d/ 50-synaptics.conf e reinicializar.

agora saídas xinput :

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer            id=4    [slave  pointer  (2)]
⎜   ↳ SYN1B7F:01 06CB:2970 UNKNOWN          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]

(deixei de fora as partes no teclado virtual porque elas não mudam ao longo deste processo). Então agora os números e UNKNOWN que foram exibidos antes estão aqui novamente, mas o cursor ainda não se move.

Depois de procurar um pouco, achei um tópico que sugeri adicionar

i8042.nopnp i8042.nomux=1 i8042.reset

Para o meu kernal via configurações de carregador de boot. Eu uso o systemd-boot e adicionei essas configurações ao /boot/loader/entries/arch.conf. Depois de reiniciar, xinput era o mesmo e o cursor ainda não se movia.

Continuei pesquisando e encontrei outro thread que mencionava a lista negra do driver i2c_hid. Eu imaginei que eu iria tentar, então eu criei um arquivo conf em /etc/modprobe.d com o conteúdo

blacklist i2c_hid

Após a reinicialização, xinput novamente teve uma saída diferente:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer            id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad            id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]

xinput produzindo algo razoável em vez de UNKNOWN parecia promissor, mas o cursor ainda não se movia.

Neste momento, reativei o /etc/X11/xorg.conf.d/ 50-synaptics.conf e reiniciei.

Ao reiniciar, xinput volta a não exibir nenhum touchpad, e o cursor ainda não está se movendo.

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer            id=4    [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]

Eu olhei para o meu 50-synaptics.conf pensando que ele poderia ter algum tipo de erro, mas depois de checar duas vezes eu não consegui encontrar um.

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "TouchpadOff" "0"
    Option "MaxTapTime" "0" #disables tapping
    Option "PalmDetect" "on"
    Option "EmulateTwoFingerMinZ" "40"
#   Option "EmulateTwoFingerMinW "10"
    Option "ClickPad" "0"
    Option "VertTwoFingerScroll" "on"
    Option "TapButton1" "1"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
EndSection

Eu tentei algumas combinações diferentes das alterações que fiz, como remover as opções do i8042, mas deixar o i2c_hid na lista negra, mas nada do que tentei fez diferença significativa, e o cursor permaneceu inabalável.

Neste ponto, comecei a escrever esta pergunta. Se eu deixei de fora qualquer arquivo de log importante ou qualquer coisa, me avise e eu vou postá-los. Por favor, me ajude. Isso está começando a me deixar louco.

    
por djscrew 30.11.2015 / 04:49

1 resposta

1

Eu apenas uma questão semelhante hoje com isso. Em relação ao 50-synaptics.conf , simplesmente o excluí de /etc/X11/xorg.conf.d/ e reiniciei o systemctl stop/start lxdm.service (área de trabalho budgie) e tudo começou a funcionar novamente.

    
por 16.07.2016 / 14:32