Hi all, Well it's been a while, but just in case anyone is browsing the archives with a similar problem I thought I'd post a follow up. >> Now that my device is correctly acknowledging the control transfer, I do not >> know why the host does not seem to request data from the interrupt endpoint. >> About half way through the initialisation sequence the host seems to request >> data from the interrupt endpoint, and shortly thereafter it receives an >> -ESHUTDOWN error (108), and the host never seems to request interrupt data >> again after that. With the hardware device the host does not request any >> interrupt data this early in the initialisation sequence (only right at the >> end of the init sequence, which is fine.) > > I have no idea why Windows would ask for the interrupt data at > different times for your gadget and for the hardware device. But it > looks like things would work if not for that -ESHUTDOWN error. It turns out that everything works perfectly with the Windows 7 trial instead of Windows XP! It looks like this issue must've been something to do with the way VirtualBox interacts with Windows XP. Once I ran the gadgetfs program and connected it to Windows 7 the manufacturer's app loaded up and started talking with my program! I've now been able to feed various values into my gadgetfs app and watch how the Windows program changes, and I've succeeded in reverse engineering all the values and I can at last implement a kernel driver for the device. Thanks Alan for all your help checking the logs and investigating my code - I'm sure you'll be happy to know that gadgetfs was working fine all along ;-) Cheers, Adam. -- 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