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.I can also see that the hid_multitouch driver is loaded but nothing is using it (0 clients)
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)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: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
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
Code:
>lsmodi2c_designware_core 49152 1 i2c_designware_platformrp1_mailbox 49152 1hid_multitouch 49152 0nvmem_rmem 49152 0
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
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
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