Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Codeless Kext and USB HID



On Jan 24, 2005, at 4:16 PM, Steve White wrote:

The peculiar problem is, the kext works on one machine - a PowerBook G4 running 10.3.6, but do not work on another identical PowerBook nor on a Sawtooth G4 running 10.3.7.

<snip>

IOKitPersonalities = {
"MCC-PMD-1024LS" = {
CFBundleIdentifier = "edu.vanderbilt.fel.mendenhall.USB_Interface_Grabber";
IOClass = "USB_Interface_Grabber";
IOKitDebug = 0;
IOProviderClass = IOUSBInterface;
bConfigurationValue = 1;
bInterfaceNumber = 0;
idProduct = 118;
idVendor = 2523;
};


<snip>

My educated guess on why it works in some machines and not some others is due to the fact that your "codeless" kext is looking for a CFBundle of "edu.vanderbilt.fel.mendenhall.USB_Interface_Grabber" and that module (wherever it comes from) is not present in one machine and not the others.

The idea behind using a codeless kext in this case is to prevent the IOUSBHIDDriver from matching to the interface. The HID driver is "class" driver, so it matches at a relatively lower probe score (see http://developer.apple.com/qa/qa2001/qa1076.html for matching details). In order to prevent the HID driver from matching we need a kext that will (1) match with a higher probe score, and (2) return true from the start() method (so the kext is loaded).

The easiest way to achieve this is to have a personality that specifies a vendor specific matching to your interface (or to your device if you're writing a device driver) and have it use IOKit as the "driver" for it. The way to do this is to specify:

CFBundleIdentifier = " com.apple.kernel.iokit
IOClass = "IOService"

I trust that implementing it with those changes will yield the desired results.

HTH,
--
Fernando Urbina
USB Technology Team
Apple Computer, Inc.

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden

This email sent to email@hidden
References: 
 >Codeless Kext and USB HID (From: Steve White <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.