Problemas com o touchpad e o trackpoint do Lenovo X1 Carbon Gen.6 (2018) com linux

15

Estou tendo problemas para fazer meu touchpad funcionar. Ele não detecta movimento ou clica na maioria das vezes, e apenas "acorda" esporadicamente, responde por ~ um segundo e depois para. O mesmo se aplica ao trackpoint. Eu tentei o Fedora (27), Mint e Ubuntu (17.10) e o problema é o mesmo em todas as versões. Tudo o que se segue é o Ubuntu 17.10.

hwinfoUnique ID: AH6Q.Y_f5kDtfqz2

O touchpad não aparece em xinput: (apareceu no Mint, mas o problema também estava presente lá). Usando libinput debug-events, eu recebo:

(...)
-event5 DEVICE_ADDED SynPS/2 Synaptics TouchPad seat0 default group9 cap:pg size 70x50
(...)
(When swiping around on the touchpad, nothing happens. Then, suddenly, it will show:)
-event6 DEVICE_ADDED PS/2 Generic Mouse seat0 default group11 cap:p left scroll-nat scroll-button
-event5 POINTER_MOTION +7.73s 2.98/ 0.00
(...)
- event5 POINTER_MOTION +7.88s 2.54/ 0.00
(and it will cut out again. When continuing swiping, once the keyboard "wakes up" again, the process repeats.)

O que eu acredito, até agora, como uma boa dica foi o resultado do dmesg. Isso fornece o erro psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1várias vezes.

Eu encontrei duas maneiras de contornar o problema, mas ambas não são satisfatórias:

1) modprobe -r psmouse && modprobe psmouse proto=impsfará o touchpad responder, mas desativa todos os gestos (rolagem com dois dedos, etc.). Também remove o touchpad do painel "Configurações> Dispositivos> Mouse e touchpad". sudo libinput list-devicesconfirma que a maioria das funcionalidades está perdida.

2) Desativar o trackpoint no BIOS também faz com que o touchpad funcione conforme o esperado, incluindo rolagem com dois dedos. No entanto, também desabilita os botões físicos do touchpad.

Qualquer conselho seria muito apreciado. Muito obrigado!

user279597
fonte
Estou com os mesmos sintomas. Os botões físicos logo abaixo do espaço fazem parte do trackpoint, e é por isso que eles estão desativados. Ainda é uma dor. Infelizmente, não é possível fazer com que o trackpoint funcione desativando o trackpad. Os dois
physi
Você conseguiu o modelo com NFC?
Guidhouse 19/03/18

Respostas:

12

Eu também uso o modelo com NFC e o seguinte tem o trackpoint e o touchpad (com rolagem com 2 dedos) funcionando:

  1. Excluindo (ou comentando) a linha i2c_i801de /etc/modprobe.d/blacklist.conf.
  2. Adicionando psmouse.synaptics_intertouch=1à GRUB_CMDLINE_LINUX_DEFAULT=...linha /etc/default/grub(advertência: será redefinida e precisará ser refeita após uma atualização do kernel).
  3. sudo update-grub
  4. Reinicie.

Executando o Ubuntu 17.10 e o Kernel 4.16.0

Obrigado ao usuário net_life no fórum da Lenovo ( https://forums.lenovo.com/t5/Linux-Discussion/Troubles-with-X1-Carbon-2018-X1C6-TouchPad-and-TrackPoint-under/td-p/4004815 / página / 3 )

Rüdiger
fonte
5
Isso funcionou para mim no Ubuntu 18.04
Jonathan Wise
2
Obrigado! Trabalhou para mim, Ubuntu 18.04, Kernel 4.15.
andreas 23/05
Pode confirmar isso para a NFC-Variant no ubuntu, enquanto a variante não-NFC funciona imediatamente no arch linux.
Thorsten
A variante NFC também funciona com o Ubuntu 18.04 e o kernel principal 4.17 (Touchpad + Trackpoint e gestos com vários dedos). Eu tentei o Debian antes, mas atualmente não há suporte para CONFIG_RMI4o kernel deles e eu não queria criar o meu.
Jnns 5/18
O pacote kmod do Ubuntu inclui uma blacklist i2c_i801linha nesse arquivo, mas isso realmente não funcionou para mim com o kernel 4.18 do Debian, até que substitui o sublinhado pelo hífen, para corresponder mais estritamente ao nome do módulo do kernel.
Josip Rodin
2

O que funcionou para mim é ativar todas as opções do kernel CONFIG_RMI4 e inicializar com psmouse.synaptics_intertouch = 1.

Michael
fonte
1
Oi, você pode explicar como você "habilita todas as opções do kernel CONFIG_RMI4"?
nemo
Após uma longa busca, ativar os módulos RMI4 no kernel é a única coisa que funcionou (sem lista negra de modprobe e sem psmouse.synaptics_intertouch=1opção de inicialização). @ Nemo, você precisa compilar o kernel com esta opção, acho que isso depende da sua distribuição.
Oded Niv
2

Eu tenho um problema semelhante.

Eu tentei com o Arch Linux, Ubuntu LTS 16.04 e Mint 18.3.

Felizmente, tenho um amigo executando o Arch em uma sexta geração X1 Carbon, sem problemas com ponteiros.

As únicas duas diferenças são que compramos telas diferentes e eu comprei o modelo com NFC. Ele não fez. A NFC faz parte do trackpad / trackpoint, então acho que se deve à falta de drivers para este modelo.

Minha máquina:

$ egrep -i 'synap|alps|etps|elan' /proc/bus/input/devices 
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=synaptics-pt/serio0/input0

Apenas em algum momento N: Name="SynPS/2 Synaptics TouchPad". Com o trackpoint desativado no BIOS, sempre apenas esta entrada.

No X1, onde os ponteiros funcionam:

$ egrep -i 'synap|alps|etps|elan' /proc/bus/input/devices
N: Name="SynPS/2 Synaptics TouchPad"
N: Name="TPPS/2 Elan TrackPoint"
P: Phys=synaptics-pt/serio0/input0

Portanto, se sua máquina também estiver equipada com um receptor NFC (haverá um pequeno símbolo abaixo do botão do meio do trackpoint), em vez dos dispositivos apontadores padrão.

Então acho justo dizer que é aqui que está o problema.

BTW: Estou abrindo um caso com a Lenovo na segunda-feira para ver o que eles podem fazer.

Guidhouse
fonte
Este parece ser o meu problema também. A solução no fórum do thinkpad: a opção desativar o trackpoint na bios + kernal funcionou para mim, mas não posso mais usar o trackpoint.
Nemo
1
@ nememo, por favor, tente comentar a i2c_i801linha de /etc/modprobe.d/blacklist.conf. Esta foi a peça que faltava para mim (como por forums.lenovo.com/t5/Linux-Discussion/... )
Pedro Pombeiro
0

Este é um método de trabalho que me parece mais direto, usando o método menos invasivo de modificação do initramfs, no Debian 9:

  1. Verifique se você tem o repositório de backports configurado, por exemplo:

    echo deb http://ftp.debian.org/debian stretch-backports main contrib | sudo tee -a /etc/apt/sources.list.d/stretch-backports.list
    sudo apt-get update
    
  2. Instale o kernel mais recente:

    sudo apt-get install -t stretch-backports linux-image-amd64
    
  3. Prepare um arquivo de configuração de módulo personalizado, por exemplo:

    sudo -e /etc/modprobe.d/local-fix-x1-mouse.conf
    
  4. Verifique se o módulo conflitante está fora e se as opções corretas estão aplicadas no módulo do mouse:

    blacklist i2c-i801
    options psmouse synaptics_intertouch=1 proto=exps
    
  5. sudo update-initramfs -u

  6. sudo reboot

Estou usando isso com o kernel 4.18 agora.

Josip Rodin
fonte