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
_______________________________________________
freebsd-usb@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to