Thank you. It works great. For anyone else watching this thread here
is my XCode project.
https://svn.osuosl.org/public/zedbot/trunk/tcpusb/mac/NineButton/
One other question. I am getting a strange problem when trying to link
libusb statically:
gcc -o tcpusb tcpusb.c -g -lm -I./include/ -lpthread -lm -DDEBUG -framework IOKit -static -lusb
...
warnings, etc.
...
ld: can't locate file for: -lcrt0.o
It works great w/o the -static do you have any pointers? I verified
that I have the following files in my /usr/local/lib
libusb-0.1.4.4.2.dylib
libusb-0.1.4.dylib
libusb.a
libusb.dylib
libusb.la
libusbpp-0.1.4.4.2.dylib
libusbpp-0.1.4.dylib
libusbpp.a
libusbpp.dylib
libusbpp.la
Thanks again.
-brandon
On 17:56 Wed 23 Feb , Rich Kubota wrote:
> Brandon,
>
> The solution is to implement a Codeless Kext. This is a Kernel
> Extension which has only a plist - which would be something like
> follows here. In the following, I present a codeless kext which keeps
> the white apple keyboard from matching to the default HID driver. In
> the following, I've set the IOClass of the device to IOService which
> is the superclass for all devices which will not try to open the
> device. This leaves it available for your user land driver to be able
> to access the device.
>
> You will need to ensure that the codeless kext gets installed into
> the /System/Library/Extensions folder and that you touch the
> Extensions folder so that the kexts will be re-enumerated on restart.
>
> best wishes.
> rich kubota
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
> "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
> <plist version="1.0">
> <dict>
> <key>CFBundleDevelopmentRegion</key>
> <string>English</string>
> <key>CFBundleIconFile</key>
> <string></string>
> <key>CFBundleIdentifier</key>
> <string>com.MySoftwareCompany.driver.HIDNoMatchWhtApplKb</string>
> <key>CFBundleInfoDictionaryVersion</key>
> <string>6.0</string>
> <key>CFBundlePackageType</key>
> <string>KEXT</string>
> <key>CFBundleSignature</key>
> <string>????</string>
> <key>CFBundleVersion</key>
> <string>1.0.0d1</string>
> <key>IOKitPersonalities</key>
> <dict>
> <key>White AppleKeyboard</key>
> <dict>
> <key>CFBundleIdentifier</key>
> <string>com.apple.kernel.iokit</string>
> <key>IOClass</key>
> <string>IOservice</string>
> <key>IOProviderClass</key>
> <string>IOUSBInterface</string>
> <key>bConfigurationValue</key>
> <integer>1</integer>
> <key>bInterfaceNumber</key>
> <integer>1</integer>
> <key>bcdDevice</key>
> <integer>290</integer>
> <key>idProduct</key>
> <integer>516</integer>
> <key>idVendor</key>
> <integer>1452</integer>
> </dict>
> </dict>
> <key>OSBundleLibraries</key>
> <dict>
> <key>com.apple.iokit.IOUSBFamily</key>
> <string>1.8</string>
> </dict>
> </dict>
> </plist>
>
>
> >I am trying to get my Linux application that uses libusb to work under
> >OSX. Unfortunatly the USB device it uses is defined as a HID, and
> >libusb cannot claim it because IOUSBHIDDriver already has.
> >
> >But, I found one thread that gives hope that I can get IOUSBHIDDriver to
> >let go of the device:
> >http://lists.apple.com/archives/usb/2004/Mar/msg00064.html
> >
> >It suggests using a kext with a higher probe score to keep
> >IOUSBHIDDriver from grabbing the device. Today is the first time I have
> >ever used a Mac for development and kernel extensions seem like a huge
> >topic. So if someone can point me in the right direction it would be
> >greatly appreciated.
> >
> >Thank You,
> >Brandon Philips
>
> --
> Sincerely,
> Rich Kubota
> email@hidden
> (408) 974-6212
Attachment:
signature.asc Description: Digital signature
_______________________________________________
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