On Wed, Mar 29, 2017 at 06:04:58PM -0400, A Sun wrote: > On 3/29/2017 5:06 PM, Sean Young wrote: > <snip> > > > > Anyway, you're right and this patch looks ok. It would be nice to have the > > tx case handled too though. > > > > Thanks > > Sean > > > > Thanks; I'm looking at handling the tx case. If I can figure out the details, I'll post a new patch proposal separate, and likely dependent, on this one. > > My main obstacle at the moment, is I'm looking for a way to get mceusb device to respond with a USB TX error halt/stall (rather than the typical ACK and NAK) on a TX endpoint, in order to test halt/stall error detection and recovery for TX. ..A Sun If you send IR, the drivers send a usb packet. However, the kernel will sleep for however long the IR is in ir_lirc_transmit_ir, so your other option is to set the transmit carrier repeatedly instead. You'd have to set the carrier to a different value every time. { int fd, carrier; fd = open("/dev/lirc0", O_RDWR); carrier = 38000; for (;;) { ioctl(fd, LIRC_SET_SEND_CARRIER, &carrier); if (++carrier >= 40000) carrier = 38000; } } Sean