Is Data IN endpoint required for HID devices?

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
Posts: 3
Joined: Sat Apr 05, 2014 12:15 am

Is Data IN endpoint required for HID devices?

Post by victor_r » Mon Oct 23, 2017 10:56 am

Dear all,

Should HID device have Data IN endpoint if it doesn't initiate any IN transfers?

Many people say it's required by standard. But in my opinion HID devices specification is unclear about whether they are obliged to have IN endpoint or not. I look here:

Page 10 contains "Required" "Y", but it could mean "required to send unrequested data". Page 67 says the following about bNumEndpoints: "If this value is zero, this interface only uses endpoint zero". So, likely it's ok not to have endpoint IN. Windows doesn't require it neither (at least some versions).

Who feels to know a good answer?

Thank you,

Rank 4
Rank 4
Posts: 481
Joined: Mon Aug 25, 2008 8:45 pm

Re: Is Data IN endpoint required for HID devices?

Post by ulao » Fri Oct 27, 2017 4:01 pm

I'm getting confused by this as well. See my latest post.

The EP0 I though had a default in? Thus no need to make another. I do know in some uses of v-usb it is absolutely needed to create another pipe. ... ry-for-avr
So maybe it is just good practices to have an in and out defined.

Post Reply