Thanks. I know about the kext signing issues and loading issues. I disabled protection to get past that hurdle, which is good enough for a proof of concept test. :-)
It started matching correctly after fixing the critical missing key (bConfigurationValue) and removing the incorrect one (bInterfaceClass). David On Mar 18, 2016, at 03:14 PM, rich kubota <[email protected]> wrote: Hi David Here’s some thoughts - some of which you may already have tried 1. verify that the kext can load - kextutil -nt <path_to_codeless_kext> 2. if the kext is not signed, then $ sudo nvram boot-args="kext-dev-mode=1” - won’t work for El Cap, but you don’t seem to be testing against El Cap per the ioreg dump below - For El Cap you need to disable SIP. 3. You may need to set the OSBundleRequired property to “Local-Root” so the kext is available for loading during early boot. rich kubota Developer Technical Support • Apple Inc. O: 408 974-6212 [email protected] On Mar 18, 2016, at 11:29 AM, David Gatwood <[email protected]> wrote: I'm trying to get a codeless kext to prevent the USB Mass Storage stack from attaching to a device, and for some reason, it isn't having any effect. To the best of my understanding: * CFBundleIdentifier should be set to something that will match passively without loading code, e.g. com.apple.kpi.iokit * IOProviderClass should be IOUSBInterface because I'm matching to a single interface on a device that has several. * For maximum match score, I'm matching against idProduct, idVendor, bcdDevice, bInterfaceClass, and bInterfaceNumber. Despite this, the USB Mass Storage driver is still matching the device. I've pasted my info.plist and an abbreviated copy of the device tree entry for the device in question. Any idea what could be going wrong here? David <key>IOKitPersonalities</key> <dict> <key>SampleUSBFTDIDevice</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.kpi.iokit</string> <key>IOClass</key> <string>IOService</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bInterfaceClass</key> <integer>8</integer> <key>bInterfaceNumber</key> <integer>2</integer> <key>bcdDevice</key> <integer>0</integer> <key>idProduct</key> <integer>130</integer> <key>idVendor</key> <integer>8236</integer> </dict> </dict> | | | | +-o Transformer Composite Device@14100000 <class IOUSBDevice, id 0x100000542, registered, matched, active, busy 0 (6989 ms), retain 13> | | | | | { ... | | | | | } | | | | | ... | | | | +-o IOUSBInterface@2 <class IOUSBInterface, id 0x100000549, registered, matched, active, busy 0 (6646 ms), retain 7> | | | | | { | | | | | "IOCFPlugInTypes" = {"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"} | | | | | "IOUSBMassStorageClass Detached" = 6 | | | | | "bcdDevice" = 0 | | | | | "IOUserClientClass" = "IOUSBInterfaceUserClientV3" | | | | | "idProduct" = 130 | | | | | "bConfigurationValue" = 1 | | | | | "bInterfaceSubClass" = 6 | | | | | "locationID" = 336592896 | | | | | "idVendor" = 8236 | | | | | "iInterface" = 0 | | | | | "bAlternateSetting" = 0 | | | | | "bInterfaceProtocol" = 80 | | | | | "bInterfaceNumber" = 2 | | | | | "bInterfaceClass" = 8 | | | | | "bNumEndpoints" = 2 | | | | | } _______________________________________________ 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/rkubota%40apple.com This email sent to [email protected]
_______________________________________________ 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]
