Question

I'm trying to make a Mac driver for an electronic drum/xbox controller ION Drum Rocker. Using usbmon/usbdump, I can get traffic on a normal USB keyboard just to see if it works. But there's not a single interrupt or message from the drum. I'm guessing it needs some control request to 'turn on'. Does that make sense? Should I use PyUSB to send random messages to it until it does something? It has 4 interfaces with 2, 4, 1, 0 endpoints.

Was it helpful?

Solution

It would make your life a lot easier if you can monitor USB on a working platform--typically a Windows PC. Then you can see what messages are used to set it up, and what data comes back from it.

See "Learning how to reverse engineer a Windows USB driver: the Luxeed LED keyboard" which describes the process Jesper Thomschütz went through. In his case it was to develop a Linux driver, but much of the methodology would apply in your situation for Mac, too.

A simpler method (using no VM) might be to just run a USB sniffer program on the working platform. E.g. for Windows:

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top