Problem with Keymecher Mano-603U Touchpad

I’m trying to get this external USB touchpad to work because it eases my carpal tunnel. It works perfectly on a PC running Kubuntu. On My Pi4 running Manjaro it’s not useable. The pointer works for a bit but then randomly jumps around or simply doesn’t respond for a few seconds.

I’m using Wayland and have changed everything under Touchpad in System Settings but with no difference. I also tried an X11 session and that was much, much worse.

I believe the touchpad is a Windows precision compatible touchpad. On Kubuntu (X11) it’s recognised by libinput and I had to modify a file in xorg.conf.d to get tapping to work. Tapping works on Manjaro without modifying any files, indeed the equivalent file doesn’t even exist. It seems like Manjaro recognises it better, but the randomness suggests a kernel or hardware problem?

System:
  Kernel: 5.15.32-2-MANJARO-ARM-RPI aarch64 bits: 64 compiler: gcc v: 11.2.0
    parameters: coherent_pool=1M 8250.nr_uarts=0
    snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1
    video=HDMI-A-1:1920x1080M@60 smsc95xx.macaddr=E4:5F:01:72:1A:A7
    vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000
    root=PARTUUID=aca4b0ac-02 rw rootwait console=ttyS0,115200 console=tty3
    selinux=0 quiet splash plymouth.ignore-serial-consoles
    smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyS0,115200
    usbhid.mousepoll=8 audit=0
  Desktop: KDE Plasma 5.24.4 tk: Qt 5.15.3 wm: kwin_wayland vt: 2 dm: SDDM
    Distro: Manjaro ARM base: Arch Linux
Machine:
  Type: ARM System: Raspberry Pi 4 Model B Rev 1.4 details: BCM2835
    rev: c03114 serial: <filter>
Battery:
  Message: No system battery data found. Is one present?
Memory:
  RAM: total: 3.78 GiB used: 2.31 GiB (61.1%) gpu: 64 MiB
  RAM Report:
    missing: Required tool dmidecode not installed. Check --recommends
CPU:
  Info: model: N/A variant: cortex-a72 bits: 64 type: MCP arch: ARMv8
    family: 8 model-id: 0 stepping: 3
  Topology: cpus: 1x cores: 4 smt: N/A cache: N/A
  Speed (MHz): avg: 1500 min/max: 600/1800 scaling: driver: cpufreq-dt
    governor: schedutil cores: 1: 1500 2: 1500 3: 1500 4: 1500 bogomips: 432
  Features: asimd cpuid crc32 evtstrm fp
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass status: Vulnerable
  Type: spectre_v1 mitigation: __user pointer sanitization
  Type: spectre_v2 status: Vulnerable
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: bcm2711-vc5 driver: vc4_drm v: N/A bus-ID: N/A chip-ID: brcm:gpu
    class-ID: gpu
  Device-2: bcm2711-hdmi0 driver: N/A bus-ID: N/A chip-ID: brcm:soc
    class-ID: hdmi
  Device-3: bcm2711-hdmi1 driver: N/A bus-ID: N/A chip-ID: brcm:soc
    class-ID: hdmi
  Display: wayland server: X.Org 1.22.1.1 compositor: kwin_wayland driver:
    loaded: modesetting alternate: fbdev display-ID: :1 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.7x15.0")
    s-diag: 777mm (30.6")
  Monitor-1: XWAYLAND0 res: 2560x1440 hz: 60 dpi: 118
    size: 550x310mm (21.7x12.2") diag: 631mm (24.9")
  OpenGL: renderer: V3D 4.2 v: 2.1 Mesa 22.0.1 direct render: Yes
Audio:
  Device-1: bcm2835-audio driver: bcm2835_audio bus-ID: N/A
    chip-ID: brcm:bcm2835_audio class-ID: bcm2835_audio
  Device-2: bcm2711-hdmi0 driver: N/A bus-ID: N/A chip-ID: brcm:soc
    class-ID: hdmi
  Device-3: bcm2711-hdmi1 driver: N/A bus-ID: N/A chip-ID: brcm:soc
    class-ID: hdmi
  Sound Server-1: ALSA v: k5.15.32-2-MANJARO-ARM-RPI running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: no
  Sound Server-4: PipeWire v: 0.3.49 running: yes
Network:
  Device-1: bcm2835-mmc driver: mmc_bcm2835 v: N/A port: N/A bus-ID: N/A
    chip-ID: brcm:fe300000 class-ID: mmcnr
  IF: wlan0 state: down mac: <filter>
  Device-2: bcm2711-genet-v5 driver: bcmgenet v: N/A port: N/A bus-ID: N/A
    chip-ID: brcm:fd580000 class-ID: ethernet
  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  WAN IP: <filter>
Bluetooth:
  Device-1: pl011 driver: uart_pl011 bus-ID: N/A chip-ID: arm:fe201000
    class-ID: serial
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 11.03 TiB used: 5.01 TiB (45.4%)
  ID-1: /dev/mmcblk0 maj-min: 179:0 vendor: Swissbit model: SF128
    size: 119.08 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> scheme: MBR
  SMART Message: Unknown smartctl error. Unable to generate data.
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-2: /dev/sda maj-min: 8:0 type: USB vendor: Western Digital
    model: WD Elements 25A3 size: 3.64 TiB block-size: physical: 4096 B
    logical: 512 B type: N/A serial: <filter> rev: 1021 scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 type: USB vendor: Western Digital
    model: WD Elements 25A3 size: 7.28 TiB block-size: physical: 4096 B
    logical: 512 B type: N/A serial: <filter> rev: 1030 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 118.84 GiB size: 116.94 GiB (98.40%)
    used: 24.46 GiB (20.9%) fs: ext4 dev: /dev/mmcblk0p2 maj-min: 179:2
    label: ROOT_MNJRO uuid: 3dbca182-e9f5-4fe6-930e-41d167a4660e
  ID-2: /boot raw-size: 213.6 MiB size: 213.4 MiB (99.89%)
    used: 55.3 MiB (25.9%) fs: vfat dev: /dev/mmcblk0p1 maj-min: 179:1
    label: BOOT_MNJRO uuid: 3BB2-A835
  ID-3: /run/media/bob/Music raw-size: 3.64 TiB size: 3.58 TiB (98.40%)
    used: 599.87 GiB (16.4%) fs: ext4 dev: /dev/sda1 maj-min: 8:1 label: Music
    uuid: 4a5bbd64-2376-47c8-87da-69c98f5d4a84
  ID-4: /run/media/bob/Purple raw-size: 7.28 TiB size: 7.22 TiB (99.20%)
    used: 4.4 TiB (61.0%) fs: ext4 dev: /dev/sdb1 maj-min: 8:17 label: Purple
    uuid: 7869a6c6-4c6a-47aa-a48f-7971c22d1240
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 5.57 GiB used: 4.2 MiB (0.1%) priority: 100
    dev: /dev/zram0
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 1 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 1-1:2 info: VIA Labs Hub ports: 4 rev: 2.1 speed: 480 Mb/s
    power: 100mA chip-ID: 2109:3431 class-ID: 0900
  Hub-3: 1-1.4:3 info: Terminus Hub ports: 4 rev: 2.0 speed: 480 Mb/s
    power: 100mA chip-ID: 1a40:0101 class-ID: 0900
  Device-1: 1-1.4.1:7 info: Polo-Leader MANO-603 Touchpad
    type: Keyboard,Mouse driver: hid-generic,hid-multitouch,usbhid interfaces: 2
    rev: 2.0 speed: 12 Mb/s power: 100mA chip-ID: 21ce:a605 class-ID: 0301
  Hub-4: 1-1.4.2:5 info: Apple Hub in Aluminum Keyboard ports: 3 rev: 2.0
    speed: 480 Mb/s power: 300mA chip-ID: 05ac:1006 class-ID: 0900
  Device-1: 1-1.4.2.2:6 info: Apple Aluminum Keyboard (ISO)
    type: Keyboard,HID driver: apple,usbhid interfaces: 2 rev: 2.0
    speed: 1.5 Mb/s power: 20mA chip-ID: 05ac:0221 class-ID: 0300
  Hub-5: 2-0:1 info: Super-speed hub ports: 4 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
  Device-1: 2-1:2 info: Western Digital Elements Desktop (WDBWLG)
    type: Mass Storage driver: usb-storage interfaces: 1 rev: 3.1 speed: 5 Gb/s
    power: 8mA chip-ID: 1058:25a3 class-ID: 0806 serial: <filter>
  Device-2: 2-2:3 info: Western Digital Elements Desktop (WDBWLG)
    type: Mass Storage driver: usb-storage interfaces: 1 rev: 3.1 speed: 5 Gb/s
    power: 8mA chip-ID: 1058:25a3 class-ID: 0806 serial: <filter>
Sensors:
  System Temperatures: cpu: 30.2 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 213 Uptime: 5m Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.2.0 clang: 13.0.1 Packages: pacman: 1070 lib: 250 Shell: Bash
  v: 5.1.16 running-in: konsole inxi: 3.3.11

I’ve just had an idea. I’m using a 4-Port KVM and the touchpad is connected via that. If I connect it directly to the Pi (USB2 port) it works a lot better - not perfect but better, no random disconnects and only a very occasional random jump. What does this imply and is there anything I can do about it? I need the KVM as I’m frequently switching back and forth between different machines.

hard to say, we would need more information about this touchpad and kvm. there is also a solution to share devices (keyboard, mouse etc.) that is called Synergy. Never tried it but you can find a lot of tutorials at the internet and youtube. maybe that is a more comfortable solution for your needs.

OK final update for now. It’s not the KVM. It turns out that it was the simple action of disconnecting and reconnecting the touchpad that solved the issue. Even if I plug it back into the KVM it works - so I have to unplug and re-plug it back in every time I switch on.

I’m not familiar enough with Manjaro to know what logs to look at to see if there are some events occurring or what happens when I plug it in. Any pointers appreciated.

:+1: Welcome to Manjaro! :+1:

  1. Please read this:
    [HowTo] Provide System Information
    and press the three dots below your post and press the :pencil2: to give us more information so we can see what’s really going on.
    Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text.

:+1:

I’ve updated my original post as requested.

Some more info - Tapping on the pad does not work until I unplug and replug. Even after that a single tap on the pad often results in a double-tap being received by the thing I’m tapping on. The cursor jumps to a new position when I remove my finger from the pad after dragging.

Apologies if I’m slow to reply, I’m not receiving email notifications about replies even though it says I will.

It is the KVm which is causing the issue. Even I use 4port KVM.
If i connect multiple usb devices it drops some devices on switching them i have to remove of the the device to make the other devices work.
I tried to find out the issue and looks like the host devices usb connection gets saturated with so many devices In a single port.

I am not sure of this is exactly your problem but i think this should be a common issue.

Is there was anything wrong in manjaro os then the device would have not worked at all.

It is definitely not the KVM. I have just tried the same setup with the KVM completely removed. The problem persists.

Also, the setup with the KVM works perfectly when I use an Intel laptop running Kubuntu.

This is definitely something specific to Manjaro and/or the Pi4.

I think there might be 2 issues going on. One is Manjaro-related and the other is Wayland.

I switched my Desktop session from Wayland to X11.
Firstly, it seems that the settings under System Settings->Input Devices->Touchpad are completely ignored under X11. (This is not the case in Kubuntu).
Secondly, I still have to unplug and re-plug the touchpad after logging in, or I still get the random disconnects and pointer jumping around.
Thirdly I had to modify /usr/share/X11/xorg.conf.d/40-libinput.conf so the touchpad section reads:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
       Option "Tapping" "True"
       Option "TappingDrag" "True"
       Option "DisableWhileTyping" "True"
       Option "Accelprofile" "adaptive"
       Option "AccelSpeed" "0.3"
       Option "NaturalScrolling" "True"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Now after logging in and unpluging/replugging I have a touchpad I can almost use, although there is still some randomness but far far less than there was under Wayland. Which is a shame, because I was using Manjaro specifically so I could use Wayland…

Right, I found the Arch Wiki page on debugging touchpad issues. Sadly this touchpad doesn’t support libinput measure [anythng] so that wasn’t any help.

What I have been able to ascertain is that the system is interpreting me lifting my finger off the pad after moving the pointer as a click event. I.e. I move the pointer over an icon and lift my finger off, the pointer moves there and then ‘clicks’ on the icon. This is not helpful :slight_smile:

Also comparing it to using it on the Intel PC it’s nothing like as smooth or responsive. I think there may be something in the theory that the Pi is just being overwhelmed by events from this device and it’s never going to work.

That doesn’t explain why I have to disconnect and reconnect in the first place of course, but I think I’m done with this, it’s not going to work. Thanks for your help.