3

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.

xster
  • 6,269
  • 9
  • 55
  • 60

1 Answers1

3

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:

Craig McQueen
  • 41,871
  • 30
  • 130
  • 181
  • haven't found a decent usb sniffer for mac yet... does that imply I need to vm linux and then vm into windows? Inception style? – xster Nov 21 '11 at 01:22
  • I've added a couple of links for an alternative method, using a USB sniffer directly on the Windows platform. – Craig McQueen Nov 21 '11 at 02:41