Pavé tactile non détecté

Il y a quelques jours, j'ai reçu un ordinateur portable LDLC Iris FB2-I5-8-S2 et j'ai installé Linux dessus (Linux Mint 16 Cinnamon 32bit, Kernel 3.11.0-12-generic).

Tout sauf le TouchPad fonctionne hors de la boîte (même l'écran tactile).

J'ai cherché beaucoup mais je n'ai pas trouvé de solution. Ce n'est pas un problème d'avoir désactivé l'appareil en utilisant Fn + F *

Voici quelques sorties de différentes commands:

lsusb:

Bus 001 Device 002: ID 8087:8000 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 007: ID 2808:5001 Bus 002 Device 005: ID 294e:1001 Bus 002 Device 004: ID 1532:000d Razer USA, Ltd Bus 002 Device 003: ID 8087:07dc Intel Corp. Bus 002 Device 002: ID 0489:d616 Foxconn / Hon Hai Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

lspci:

 00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09) 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) 00:03.0 Audio device: Intel Corporation Device 0a0c (rev 09) 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) 00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04) 00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 1 (rev e4) 00:1c.2 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) 00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4) 00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04) 00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04) 00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04) 02:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73) 03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01) 

lsmod

 Module Size Used by parport_pc 31981 0 ppdev 17391 0 arc4 12536 2 rfcomm 53664 0 x86_pkg_temp_thermal 13810 0 coretemp 13195 0 bnep 18893 2 kvm 364766 0 crc32_pclmul 12967 0 aesni_intel 18156 1 aes_i586 16995 1 aesni_intel xts 12749 1 aesni_intel lrw 13057 1 aesni_intel gf128mul 14503 2 lrw,xts ablk_helper 13357 1 aesni_intel cryptd 15577 1 ablk_helper iwlmvm 149128 0 mac80211 513247 1 iwlmvm binfmt_misc 13140 1 microcode 18830 0 snd_hda_codec_realtek 45473 1 snd_hda_codec_hdmi 40508 1 snd_seq_midi 13132 0 snd_seq_midi_event 14475 1 snd_seq_midi snd_rawmidi 25094 1 snd_seq_midi rtsx_pci_ms 17807 0 iwlwifi 143578 1 iwlmvm serio_raw 13189 0 memstick 16008 1 rtsx_pci_ms snd_hda_intel 42658 5 snd_seq 55383 2 snd_seq_midi_event,snd_seq_midi lpc_ich 16864 0 uvcvideo 71309 0 cfg80211 401436 3 iwlwifi,mac80211,iwlmvm snd_hda_codec 164003 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel videobuf2_vmalloc 13048 1 uvcvideo btusb 23443 0 videobuf2_memops 13170 1 videobuf2_vmalloc snd_hwdep 13272 1 snd_hda_codec mei_me 13933 0 snd_pcm 89488 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel videobuf2_core 39125 1 uvcvideo bluetooth 323534 12 bnep,btusb,rfcomm videodev 107508 2 uvcvideo,videobuf2_core joydev 17097 0 hid_multitouch 17191 0 snd_page_alloc 14230 2 snd_pcm,snd_hda_intel mei 66411 1 mei_me snd_seq_device 14137 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 24447 2 snd_pcm,snd_seq snd 60790 21 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi dm_multipath 22402 0 scsi_dh 14458 1 dm_multipath soundcore 12600 1 snd intel_smartconnect 12610 0 mac_hid 13037 0 lp 13299 0 parport 40795 3 lp,ppdev,parport_pc dm_mirror 21715 0 dm_region_hash 15984 1 dm_mirror dm_log 18072 2 dm_region_hash,dm_mirror hid_generic 12492 0 usbhid 47361 0 hid 87192 3 hid_multitouch,hid_generic,usbhid i915 589697 5 rtsx_pci_sdmmc 22898 0 i2c_algo_bit 13197 1 i915 drm_kms_helper 46867 1 i915 drm 242354 4 i915,drm_kms_helper rtsx_pci 43458 2 rtsx_pci_ms,rtsx_pci_sdmmc ahci 25579 2 libahci 26554 1 ahci wmi 18590 0 video 18777 1 i915 

La sortie de xinput peut être trouvée dans une Pastebin .

Avez-vous une idée de la façon d'activer le touchpad?

J'ai écrit un pilote Linux pour ce périphérique crappy, il peut être trouvé ici: https://github.com/daedric/cntouch_driver

Je l'ai également soumis pour examen et fusion.

La prochaine fois que j'achèterai un ordinateur portable de LDLC sans OS (si cela arrive), je réfléchirai à deux fois …

MODIFIER:

Il n'y a que des events pour:

  • cliquez (ou appuyez deux fois avec un doigt, le même événement est généré);
  • clic-droit;
  • roue horizontale;
  • roue verticale.

Il n'y a pas d'événement pour un robinet à deux doigts (généralement pour simuler un clic droit).

J'ai commencé à écrire un script python pour utiliser le TouchPad (avant d'essayer d'écrire un pilote de kernel C).

Il y a le début de mon travail (bouger et clic droit / gauche, je vais faire bouger les deux doigts plus tard). Mon seul problème est que sans plug-in une souris USB le slider de la souris n'est pas visible à l'écran … (si quelqu'un a une idée car je ne trouve rien). Le code n'est pas parfait et plutôt moche mais je ne suis pas programmeur;

 #!/usr/bin/python import sys import os import usb.core import usb.util #Find the device idVendor 0x294e / idProduct 0x1001 dev = usb.core.find(idVendor=0x294e, idProduct=0x1001) #Select interface 0 and endpoint 0 interface = 0 endpoint = dev[0][(0,0)][0] #Detach kernel driver if dev.is_kernel_driver_active(interface) is True: dev.detach_kernel_driver(interface) usb.util.claim_interface(dev, interface) collected = 0 #variable to skip the first two data testsup = float(100) testinf = float(127) deplacement = testsup/testinf sensibilite = 2.5 x = 0 y = 0 click = "" mouse_btn_l = 0 mouse_btn_r = 0 #set cursor visibility os.system("dconf write /org/cinnamon/settings-daemon/plugins/cursor/active false") #Infinite while while 1: try: data = dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize) collected += 1 print data #The 2 first data are not move data if collected > 2: #data[1] Right (1) & Left (255) = x #data[2] Down (1) & Up (255) = y # x if (1 <= data[1] <= 127): #Right x = data[1]*deplacement*sensibilite elif (128 <= data[1] <= 255): #Left x = -((-data[1]+256)*deplacement*sensibilite) else : #No move on x axis x = 0 # y if (1 <= data[2] <= 127): #Down y = data[2]*deplacement*sensibilite elif (128 <= data[2] <= 255): #Up y = -((-data[2]+256)*deplacement*sensibilite) else : #No move on y axis y = 0 #wheel is considere as a btn : 4 for up & 5 for down if 1 <= data[3] <= 127: #up click = "click 4" elif 128 <= data[3] <= 255: #down click = "click 5" else: click = " " #Left click if data[0] == 1 and mouse_btn_l == 0: click = "mousedown 1" mouse_btn_l = 1 #Right click elif data[0] == 2 and mouse_btn_r == 0: click = "mousedown 3" mouse_btn_r = 1 #No click elif data[0] == 0: if mouse_btn_l == 1: click = "mouseup 1" if mouse_btn_r == 1: click = "mouseup 3" mouse_btn_l = 0 mouse_btn_r = 0 else: click = " " os.system("xdotool mousemove_relative -- %d %d %s" % (x, y, click)) # if data[0] == 1: #Right click # os.system("xdotool click 1") #Error except usb.core.USBError as e: data = None if e.args == ('Operation timed out',): continue usb.util.release_interface(dev, interface) #dev.attach_kernel_driver(interface) 

Vous devez avoir python, pyUsb et xdotool.

Edit: Après une longue période j'ai trouvé une solution (pour moi) pour la visibilité du slider. J'ai de la cannelle et une key existe pour la visibilité du slider.

Un simple

 dconf write /org/cinnamon/settings-daemon/plugins/cursor/active false 

et c'est ok pour moi, alors j'ajoute cette command dans mon script py avec

 os.system("") 

J'espère que cela pourrait aider!

J'ai le même ordinateur et le même problème avec Debian (test nécessaire en raison du wifi). Si cela peut aider, le CNTouch n'est pas un périphérique PCI mais un périphérique USB. Exécuter lsusb avant d'appuyer sur Fn + F1 (pour désactiver) et après afficher une seule ligne différente: Bus 001 Device 008: ID 294e: 1001
Dans mon cas.

Quel merveilleux ordinateur, nous pourrions devoir attendre un peu pour avoir un pilote de pavé tactile. Ce pavé tactile est intéressant car il n'a pas de button mécanique, il est embedded dans la boîte, toute la largeur et la hauteur de la boîte, en dessous du keyboard, est sensible, y compris la position des buttons.

Les mauvaises nouvelles, j'ai écrit à Foxconn, sans réponse, j'ai écrit à LDLC, ils ont répondu qu'ils ont conçu cet ordinateur IRIS pour Windows seulement, ils ne fournissent que des pilotes pour windows, ils ne prétendent jamais supporter linux (même si l'ordinateur est vendu sans OS, ils prétendent que c'est pour les personnes qui possèdent déjà une licence Windows). Ils ne fourniront explicitement aucun autre matériel (document API, spécifications, … qui était leur réponse officielle). Comme le touchpad CNTouch a été partiellement conçu par LDLC pour LDLC, il est très peu probable que la communauté ait le support linux. Les users de Linux, être très mefiant contre LDLC 'sans OS' ordinateur.