Re: [PATCH] usb: gadget: f_hid: optional SETUP/SET_REPORT mode

From: Alan Stern
Date: Fri Aug 13 2021 - 21:45:22 EST


On Fri, Aug 13, 2021 at 11:40:22PM +0300, Maxim Devaev wrote:
> В Fri, 13 Aug 2021 23:22:12 +0300
> Maxim Devaev <mdevaev@xxxxxxxxx> пишет:
>
> > Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > > In other words, a device does not need to have an interrupt-OUT
> > > endpoint, but if it does have one then the host must use it.
> >
> > You're right. Although the actual behavior of the hosts is not different
> > from what I wrote - they really just ignore out endpoint.
> > I will eventually fix this in the patch description.
>
> It seems that I have confused everything even more, sorry. I will explain.
> There are three possible host behaviors:
>
> (1) The host works with the OUT endpoint as it describes the standard
> and transmits reports through it.
>
> (2) The host works with IN endpoint, but refuses to transmit reports
> via OUT endpoint at all. In the case of the keyboard, it will work,
> but it will not receive the status of the LEDs.
>
> (3) The host sees OUT endpoint and either refuses to use such a device at all,
> or goes crazy in various ways.
>
> In both cases (2) and (3), using SETUP/SET_REPORT solves the problem.
> Therefore, I offer this as an option to solve compatibility problems.
> Yes, in fact, this is not our problem, but it is impossible to fix the drivers
> of all these proprietary devices. Moreover, I have never met a keyboard
> with OUT endpoint, absolutely all of them use SETUP/SET_REPORT.

Okay. I appreciate the more detailed explanations; thanks. Please
resubmit the patch with appropriate changes to the description.

Alan Stern