Take the 2-minute tour ×

I'm wondering how I could access the USB (via C, objective C), and listen what's going on, on my USB port.

I already used the tool USB Prober located at /Developer/Applications/Utilities/ but I'd like to go a bit more deeper in the practice.

I don't find anything really interesting on the USB programming on mac, and how to modify the drivers/kernel to listen the communications between a USB device and the USB core.

Does someone have any interesting informations ?

Thanks in advance.


share|improve this question

migrated from apple.stackexchange.com Jul 20 '11 at 1:49


1 Answer 1

Although I would recommend that you get yourself a decent hardware analyzer, you could try installing the debug version of IOUSBFamily, which combined with the USB Prober and usbtracer (included in USB Prober, do note that it only outputs a limited amount of data, 8 bytes on 32 bit systems, 16 on 64 bit systems) should probably give you more information than you really want.

You may also be able to modify and rebuild IOUSBFamily (note, link points to latest version, but you should probably use the one matching your kernel) to dump larger quantities of data than what you currently get from usbtracer.

share|improve this answer
Thanks for the answer, but i'm wondering which one to modify first IOUSBCommand, IOUSBCompositeDriver, etc. Because I don't know how to duplicate the data received. –  noktec Jul 20 '11 at 16:55
Most data will pass through IOUSBPipe, Device configuration and device control requests through IOUSBDevice, interface configuration etc. through IOUSBInterface –  Hasturkun Jul 20 '11 at 17:32

Your Answer


