Touchscreen "TSTP MTouch"
Oliver Fromme
olli at fromme.com
Fri May 7 17:30:09 UTC 2021
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.
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:
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
--
Oliver Fromme, Munich
``We are all but compressed light'' - Albert Einstein
More information about the freebsd-usb
mailing list