> > Okay, I just ran IORegistryExplorer for the two cases. > > 1. When the system boots with the device attached, it matches to the > IOUSBCompositeDriver, which is not the correct driver. The result is just the > following two lines. No serial devices are created for it. > > Pololu Micro Maestro 6-Servo Controller@4100000 > — IOUSBCompositeDriver > > 2. When I replug the device, it (correctly) matches to: > > Pololu Micro Maestro 6-Servo Controller@4100000 > — AppleUSBCDC > — IOUSBInterface@0 > —— AppleUSBCDCACMControl > — IOUSBInterface@1 > —— AppleUSBCDCACMData > ——— IOModemSerialStreamSync > ———— IOSerialBSDClient > — IOUSBInterface@2 > —— AppleUSBCDCACMControl > — IOUSBInterface@3 > —— AppleUSBCDCACMData > ——— IOModemSerialStreamSync > ———— IOSerialBSDClient > Pololu Micro Maestro 6-Servo Controller@4 > > > If I try unloading the composite driver, it says it’s in use and can’t unload > it: > > % sudo /sbin/kextunload -q > /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBCompositeDriver.kext > (kernel) Can’t remove kext com.apple.driver.AppleUSBCDCComposite; services > failed to terminate - 0xdc008018. > Failed to unload com.apple.driver.AppleUSBCDCComposite - (libkern/kext) kext > is in use or retained (cannot unload). >
Yes that wouldn’t work > - Carl > So the .. good news .. is that my device does exactly what your device does. I have a number of CDC devices, picked one at random (a Nordic dongle with embedded Segger which presents as a CDC device + extra interface). It properly identifies very similarly to yours when plugged in, on boot however it’s claimed by the composite driver, which seems pretty wrong as it has a bDeviceClass and bDeviceSubclass which are non-zero. I’ve found no way of forcing the USB subsystem to re-enumerate/re-probe it. So my handwaving guess here is that at-boot the CDC driver isn’t enabled, or not probed or not used and the device gets claimed by the composite. I don’t know if that’s because the CDC kext isn’t loaded early or because the composite driver has changed and is picking up things it shouldn’t which it didn’t used to, leaving them for later kext loads. I’ll file a bug.
_______________________________________________ Do not post admin requests to the list. They will be ignored. Usb mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com This email sent to [email protected]
