Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4072

Troubleshooting • USB Touch

$
0
0
I am asking for help with a touch display connected via HDMI and USB to a Raspberry PI 5 running Raspbian Bookworm with Wayland.
The HDMI works fine but touch is connected via USB and only works as a mouse, with no ability to scroll, and no multipoint functionality.

I can see (below) that the usb connection has registered and the vendorID and productID (0x0712:0x000a) is using the driver usbhid.

Code:

> lsusb -tv gives a tree view - here is the waveshare Bus 3 dev 2/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/2p, 480M    ID 1d6b:0002 Linux Foundation 2.0 root hub    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M        ID 0712:000a 
I can also see that the hid_multitouch driver is loaded but nothing is using it (0 clients)

Code:

 >lsmodi2c_designware_core    49152  1 i2c_designware_platformrp1_mailbox            49152  1hid_multitouch         49152  0nvmem_rmem             49152  0
Looking at the list of supported panels (raspberrypi / linux, drivers/hid/hid-ids.h) shows no entry for vendor 0x0712 (Waveshare), so I guess it falls through to a default which is not supporting gestures / multipoint. I was expecting two finger scroll (like a touch pad) to work but it does not.

Looking through the dmesg output I can see the USB detection and load as hid-generic (as there is no entry for this panel in hid-ids.h)

Code:

    0.993498] usb 3-2: New USB device found, idVendor=0712, idProduct=000a, bcdDevice= 1.02    0.993506] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0    0.993508] usb 3-2: Product: Waveshare     0.993509] usb 3-2: Manufacturer: Waveshare     1.023035] input: Waveshare  Waveshare  Touchscreen as /devices/platform/axi/1000120000.pcie/1f00300000.usb/xhci-hcd.1/usb3/3-2/3-2:1.0/0003:0712:000A.0001/input/input0   1.023161] hid-generic 0003:0712:000A.0001: input,hiddev96,hidraw0: USB HID v1.11 Device [Waveshare  Waveshare ] on usb-xhci-hcd.1-2/input0
The display is sending events to the USB device (evtest) but the basic HID driver is not supporting the extended events that touch screens use.
It seems l the driver for multi-touch is there (hid-multitouch) but the device tree would need editing to wire up the event stream to the hid-multitouch driver.

Investigating a little more and I see that overlays are a mechanism to runtime patch the device tree, is this a practical route and is there an example of an overlay for the hid_multitouch driver?

I also found a suggestion on the Chalkboard site (https://www.chalk-elec.com/?p=2028) to add the following lines to /etc/rc.local to associate a usb port,VID:PID with the hid-multitouch driver:

Code:

modprobe hid-multitouchecho  1 0712 000a 1 > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id
But that did not work lsusb reports (after reboot) the driver as usbhid as usual.

I did open a support ticket with waveshare, which they closed two weeks later with the issue unresolved.

Thanks
Keith

Statistics: Posted by kmca — Thu Dec 19, 2024 11:47 pm



Viewing all articles
Browse latest Browse all 4072

Trending Articles