On Wed, 20 Sep 2017 g4@xxxxxxxxxxx wrote: > I'm obviously missing something here but am not quite sure what. > > My usermode code* is set up to emulate an existing FX3 device. Bulk reads > and writes are all fine as are vendor-specific commands that are host to > device. However anything that is device to host never appears on the wire. Do you mean: Any control-IN data (device to host) never appears on the wire? After all, you said that bulk reads and writes are fine. > The generic handler for IN vendor requests is simply writes 'length' bytes > back on the file descriptor that represents EP0. USB packet sniffers show > that data never gets out. Yes, that is how it should work. The data is supposed to appear on the bus. > Does it need to ACK or clear anything first? No. > Incidentally is there any reason why EP0 itself does not appear in the > /dev/gadget tree? ep0 is represented by the original gadget file (/dev/gadget/"UDC name"): the one you write at the start to set up the device and config descriptors, and the one that you read to get events. When you see a GADGETFS_SETUP event for an IN request, you write the data to that file and it should get sent to the host. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html