Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 May 2021 08:55:52 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        Oliver Fromme <olli@fromme.com>, freebsd-usb@freebsd.org
Subject:   Re: Touchscreen "TSTP MTouch"
Message-ID:  <9b7b6c13-6e85-6f5e-7fea-e8a60f611e97@selasky.org>
In-Reply-To: <202105092125.149LPpcl041031@nox.thiemo.net>
References:  <202105092125.149LPpcl041031@nox.thiemo.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/9/21 11:25 PM, Oliver Fromme wrote:
> 22:56:30.540897 usbus1.5 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
>   frame[0] WRITE 8 bytes
>   0000  21 0B 01 00 00 00 00 00  -- -- -- -- -- -- -- --  |!.......        |
>   flags 0x10 <PROXY_BUFFER|0>
>   status 0xca1a3

After sending what appears like a HID set report request, the device 
stops responding. Looks like a firmware bug.

Is it possible to upgrade the firmware on the touchscreen?


> usb_error_t
> usbd_req_set_protocol(struct usb_device *udev, struct mtx *mtx,
>     uint8_t iface_index, uint16_t report)
> {
>         struct usb_interface *iface = usbd_get_iface(udev, iface_index);
>         struct usb_device_request req;
> 
>         if ((iface == NULL) || (iface->idesc == NULL)) {
>                 return (USB_ERR_INVAL);
>         }
>         DPRINTFN(5, "iface=%p, report=%d, endpt=%d\n",
>             iface, report, iface->idesc->bInterfaceNumber);
> 
>         req.bmRequestType = UT_WRITE_CLASS_INTERFACE;
>         req.bRequest = UR_SET_PROTOCOL;
>         USETW(req.wValue, report);
>         req.wIndex[0] = iface->idesc->bInterfaceNumber;
>         req.wIndex[1] = 0;
>         USETW(req.wLength, 0);
>         return (usbd_do_request(udev, mtx, &req, 0));
> }

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9b7b6c13-6e85-6f5e-7fea-e8a60f611e97>