From: Xiaofan Chen <xiaofanc@gmail.com>
To: Alan Ott <alan@signal11.us>
Cc: Amit Nagal <helloin.amit@gmail.com>,
Jiri Kosina <jkosina@suse.cz>,
linux-usb@vger.kernel.org, linux-input@vger.kernel.org,
Antonio Ospite <ospite@studenti.unina.it>
Subject: Re: Report ID problem with HID-RAW interface usage
Date: Wed, 30 Jun 2010 07:32:33 +0800 [thread overview]
Message-ID: <AANLkTimpF7h-L-qaR-YCBKwr2xRfkOQwQIXKAZDcdDA0@mail.gmail.com> (raw)
In-Reply-To: <4C2A1FA0.6020704@signal11.us>
On Wed, Jun 30, 2010 at 12:30 AM, Alan Ott <alan@signal11.us> wrote:
> I thought I'd be able to just go check the HID specification and be able to
> say that the report number is not sent as part of the payload for Set_Report
> devices, since it would be redundant because the Report ID is sent over in
> the wValue field.
>
> Unfortunately, I was not able to see that clearly laid out in the HID
> specification in the section on Set_Report. I did however find language
> saying "if a Report ID tag was used in the Report descriptor, all reports
> include a single byte ID prefix," in section 8.1, Report Types.
>
> I did some tests with the Windows implementation, and indeed, when numbered
> reports are used in the HID descriptor, the Windows implementation will send
> the report ID as the first byte of the payload.
>
> Based on the language in the HID spec, and the behavior of Windows, I
> believe the buf+1, count-1 to be a bug.
>
Yes I think it is a bug.
And the HID specification states:
"If a Report ID tag was used in the Report descriptor, all reports
include a single byte ID prefix. If the Report ID tag was not used, all
values are returned in a single report and a prefix ID is not included
in that report."
My understanding is like the following and testing confirms it.
1) when HID device has explicit report IDs, then the report IDs will
be transmitted on the bus.
2) when the HID device does not use report ID at all (implicit report ID 0),
then this report ID 0 is not transmitted on the bus
Reference:
http://www.microchip.com/forums/tm.aspx?m=494711
http://libusb.6.n5.nabble.com/Missing-first-byte-when-reading-HID-Feature-Reports-with-ID-td9460.html
(we spent quite some efforts to get the libusb-1.0 Windows native
HID backend to deal with report ID correctly).
--
Xiaofan http://sourceforge.net/projects/libusb-win32/
next prev parent reply other threads:[~2010-06-29 23:32 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-29 11:10 Report ID problem with HID-RAW interface usage Amit Nagal
[not found] ` <AANLkTinrmRsB39gj7Ie4xCr3fhP3jU1dfYuVrkiKv347-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-29 16:30 ` Alan Ott
2010-06-29 23:32 ` Xiaofan Chen [this message]
2010-06-30 7:39 ` Amit Nagal
2010-06-30 7:56 ` Amit Nagal
2010-06-30 7:57 ` Jiri Kosina
[not found] ` <4C2A1FA0.6020704-yzvJWuRpmD1zbRFIqnYvSA@public.gmane.org>
2010-06-30 9:26 ` Jiri Kosina
2010-06-30 10:30 ` Amit Nagal
[not found] ` <AANLkTilf1JU_GPlqE-FeaRon6IMqgA68WZ964PJfLpSP-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-30 10:55 ` Jiri Kosina
2010-06-30 11:14 ` Amit Nagal
2010-06-30 12:54 ` Alan Ott
2010-06-30 13:04 ` Xiaofan Chen
2010-06-30 13:06 ` Jiri Kosina
2010-06-30 14:09 ` Xiaofan Chen
[not found] ` <AANLkTil0S747k-MomthJW4dv2WwB-abjZmGmxf3fH59y-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-30 14:32 ` Alan Ott
2010-06-30 23:33 ` Xiaofan Chen
2010-06-30 13:13 ` Antonio Ospite
2010-06-30 14:02 ` Xiaofan Chen
2010-06-30 14:10 ` Alan Ott
2010-06-30 14:16 ` Antonio Ospite
2010-06-30 16:40 ` Amit Nagal
[not found] ` <AANLkTimb_xMYTZYAm51lmHEkYvrvegwbmkUyJldxYA-f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-01 2:40 ` Xiaofan Chen
2010-07-01 13:16 ` Alan Ott
2010-07-02 6:46 ` Amit Nagal
[not found] ` <AANLkTilFyRjuP4VUmJolYhloDol5B7HsYV9d5SD8vZPo-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-02 15:05 ` Alan Ott
[not found] ` <4C2E0057.30206-yzvJWuRpmD1zbRFIqnYvSA@public.gmane.org>
2010-07-02 16:19 ` Amit Nagal
[not found] ` <alpine.LNX.2.00.1006301252380.13809-ztGlSCb7Y1iN3ZZ/Hiejyg@public.gmane.org>
2010-06-30 12:32 ` Alan Ott
[not found] ` <4C2B3956.6080107-yzvJWuRpmD1zbRFIqnYvSA@public.gmane.org>
2010-06-30 12:38 ` Jiri Kosina
2010-06-30 13:50 ` [PATCH 0/1] HID: Send Report ID when numbered reports are sent over the control endpoint Alan Ott
2010-06-30 13:50 ` [PATCH 1/1] " Alan Ott
[not found] ` <1277905836-3949-2-git-send-email-alan-yzvJWuRpmD1zbRFIqnYvSA@public.gmane.org>
2010-07-11 21:14 ` Jiri Kosina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTimpF7h-L-qaR-YCBKwr2xRfkOQwQIXKAZDcdDA0@mail.gmail.com \
--to=xiaofanc@gmail.com \
--cc=alan@signal11.us \
--cc=helloin.amit@gmail.com \
--cc=jkosina@suse.cz \
--cc=linux-input@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=ospite@studenti.unina.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).