I have poked around the web looking for a good example to do this and I haven't found a working example.
I need to connect to a USB Device, its multiple ports and supports what looks to be a root port and 4 other ports
I am no expert in USB but I do know how to write a kext and client drivers, but thats really not the way to solve this.
I need to display the serialized output from these USB ports for a development board.
I would rather do this on my Mac than have to cobble up a Linux machine and mess around with Linux.
Here is the output from ioreg
MCHP-Debug@03100000 <class IOUSBHostDevice, id 0x105f6fdc2, registered, matched, active, busy 0 (20 ms), retain 27>
MCHP-Debug@0 <class IOUSBHostInterface, id 0x105f6fdc8, registered, matched, active, busy 0 (13 ms), retain 5>
+-o MCHP-Debug@0 <class IOUSBHostInterface, id 0x105f6fdc8, registered, matched, active, busy 0 (13 ms), retain 5>
+-o MCHP-Debug@1 <class IOUSBHostInterface, id 0x105f6fdc9, registered, matched, active, busy 0 (11 ms), retain 5>
+-o MCHP-Debug@2 <class IOUSBHostInterface, id 0x105f6fdcb, registered, matched, active, busy 0 (9 ms), retain 5>
| | | | | +-o MCHP-Debug@3 <class IOUSBHostInterface, id 0x105f6fdcc, registered, matched, active, busy 0 (7 ms), retain 5>
I have been able to open a inservice to the device at the top level, but I get an error when I use.
usbHostInterface = [[IOUSBHostInterface alloc] initWithIOService:usbDevice
options: IOUSBHostObjectInitOptionsNone
queue: queue
error: &error
interestHandler: handler];
Error:Failed to create IOUSBHostInterface. with reason: Unable to obtain configuration descriptor.
Assertion failed: (usbHostInterface), function main, file main.m, line 87.
I started using DeviceKit but I received signing errors and I shouldn't have to go down that path just to dump data from a USB port?
Any suggestions would be great, most of the Apple documentation on USB ports is like 20 years old and the new stuff pushes you towards DeviceKit.