我有一个需要在MAC OSX下使用的复合USB设备。在Linux下,我可以使用usb_modeswitch工具通过以下命令更改产品ID
usb_modeswitch -v 0x072f -p 0x100d -V 0x072f -P 0x90cc -m 0x2 -M01b0000000000000000000000000000000000000000000000000000000000000 -r 1 -Q
我试图在OSX 10.9.5下使用libusb成功构建相同的工具,但是当我运行该应用程序时,出现了此处报告的问题。 无法在Mac OS X上使用C + libusb声明USB接口。我无法为我的设备找到/ dev /条目,因此建议的解决方案对我不起作用。
所以我正在尝试使用类似的方法在这里报告使用USB设备接口的代码
IOUSBDevRequest request;
request.bmRequestType = USBmakebmRequestType(kUSBOut, kUSBVendor, kUSBDevice);
request.bRequest = 0x02;
request.wValue = deviceAddress;
request.wIndex = 0;
request.wLength = length;
request.pData = writeBuffer;
return (*dev)->DeviceRequest(dev, &request);
Run Code Online (Sandbox Code Playgroud)
但无论如何,我都会收到此错误0xe000404f(似乎是kIOUSBPipeStalled)。这是代码,我不确定,我需要复制usb_modeswitch命令。
任何帮助,将不胜感激。