Touchscreen "TSTP MTouch"
Hans Petter Selasky
hps at selasky.org
Fri May 7 23:33:36 UTC 2021
On 5/7/21 7:29 PM, Oliver Fromme wrote:
> Hi,
>
> I'm not sure if this is the right place to ask ... This is
> the first time I'm trying to get this sort of device to work,
> so please be gentle. :-)
>
> I've bought a 7" touchscreen. It's intended for an RPi, but
> it can also be connected to a standard PC via HDMI + USB,
> which is what I do. Vendor & product ID is 0x0416 & 0xc168.
>
> The actual display works fine with Xorg as usual. But I'm
> having problems getting the touch feature to work.
>
> According to the vendor, it's a standard USB HID interface
> that works without additional driver in Windows, and is also
> supported by Linux (apparently for several years already).
> It's supposed to work out of the box with typical Linux
> distributions on the RPi.
Hi,
Webcamd may need to be compiled with a special option to attach to your
device. See "make config" in the port. Should create an evdev which you
should be able to reach via X11.
>
> System: FreeBSD 13.0-STABLE-20210418 amd64
> CUSE: Cuse v0.1.36 @ /dev/cuse
> webcamd port: webcamd-5.10.6.1_2
>
> I've created a small devd snipped that starts the webcamd
> service when the vendor ID and product ID are matched.
> These are the log messages when I insert the USB plug:
>
Does "webcamd -l" list the device?
If you start it from the command line, does it attach?
You may also want to trace the USB traffic:
usbdump -i usbus0 -f 2 -s 65536 -vvv
To see why "error reading report description" fails.
--HPS
> 16:43:17 kernel: ugen0.2: <TSTP MTouch> at usbus0
> 16:43:17 kernel: ums1 on uhub2
> 16:43:17 kernel: ums1: <TSTP MTouch, class 0/0, rev 2.00/0.00, addr 12> on usbus0
> 16:43:17 kernel: ums1: error reading report description
> 16:43:17 kernel: device_attach: ums1 attach returned 12
> 16:43:17 kernel: ums1 on uhub2
> 16:43:17 kernel: ums1: <TSTP MTouch, class 0/0, rev 2.00/0.00, addr 12> on usbus0
> 16:43:17 kernel: ums1: error reading report description
> 16:43:17 kernel: device_attach: ums1 attach returned 12
> 16:43:19 webcamd[75654]: webcamd: Cannot find USB device
> 16:43:20 webcamd[75646]: webcamd: Cannot find USB device
>
> I tried both USB3 and USB2 ports; same result.
> The output from ``usbconfig dump_all_desc'' is attached below.
>
> At this point I'm not sure how to proceed.
> Is there anything I can do? Or is this a lost case?
>
> On a related note, are there any touchscreens that are *known*
> to work with FreeBSD? I tried searching the web, but wasn't
> able to find anything useful.
>
> Regards
> - Olli
>
> ugen0.2: <TSTP MTouch> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0200
> bDeviceClass = 0x0000 <Probed by interface class>
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x0000
> bMaxPacketSize0 = 0x0040
> idVendor = 0x0416
> idProduct = 0xc168
> bcdDevice = 0x0000
> iManufacturer = 0x0001 <retrieving string failed>
> iProduct = 0x0002 <retrieving string failed>
> iSerialNumber = 0x0003 <retrieving string failed>
> bNumConfigurations = 0x0001
>
> Configuration index 0
>
> bLength = 0x0009
> bDescriptorType = 0x0002
> wTotalLength = 0x0049
> bNumInterfaces = 0x0002
> bConfigurationValue = 0x0001
> iConfiguration = 0x0000 <no string>
> bmAttributes = 0x00a0
> bMaxPower = 0x0032
>
> Interface 0
> bLength = 0x0009
> bDescriptorType = 0x0004
> bInterfaceNumber = 0x0000
> bAlternateSetting = 0x0000
> bNumEndpoints = 0x0002
> bInterfaceClass = 0x0003 <HID device>
> bInterfaceSubClass = 0x0001
> bInterfaceProtocol = 0x0002
> iInterface = 0x0000 <no string>
>
> Additional Descriptor
>
> bLength = 0x09
> bDescriptorType = 0x21
> bDescriptorSubType = 0x11
> RAW dump:
> 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xdf,
> 0x08 | 0x02
>
> Endpoint 0
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0081 <IN>
> bmAttributes = 0x0003 <INTERRUPT>
> wMaxPacketSize = 0x0040
> bInterval = 0x0005
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 1
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0002 <OUT>
> bmAttributes = 0x0003 <INTERRUPT>
> wMaxPacketSize = 0x0040
> bInterval = 0x0008
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
>
> Interface 1
> bLength = 0x0009
> bDescriptorType = 0x0004
> bInterfaceNumber = 0x0001
> bAlternateSetting = 0x0000
> bNumEndpoints = 0x0002
> bInterfaceClass = 0x0003 <HID device>
> bInterfaceSubClass = 0x0001
> bInterfaceProtocol = 0x0002
> iInterface = 0x0000 <no string>
>
> Additional Descriptor
>
> bLength = 0x09
> bDescriptorType = 0x21
> bDescriptorSubType = 0x11
> RAW dump:
> 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x8e,
> 0x08 | 0x00
>
> Endpoint 0
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0083 <IN>
> bmAttributes = 0x0003 <INTERRUPT>
> wMaxPacketSize = 0x0040
> bInterval = 0x0008
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 1
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0004 <OUT>
> bmAttributes = 0x0003 <INTERRUPT>
> wMaxPacketSize = 0x0040
> bInterval = 0x0008
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
>
>
More information about the freebsd-usb
mailing list