Eric, I think the problem is that you are trying to use the module start/stop entry points AND have an I/O Kit driver in the same kext. This isn't supported, because the C++ runtime hijacks the module start/stop entry points in order to setup your kext's classes. This is the primary difference between the "IOKit Driver" and "Generic Kernel Extension" project templates in ProjectBuilder. There are a few options available to you: 1) Split your kext into two - one I/O Kit driver, and one generic kext. 2) Relocate the code from your module start/stop routines into init() and free(), or someplace similar. Be aware that init & free will be called once for each instance of your class, rather than just once like module start/stop. This is probably the best choice if you can adapt your setup teardown code. 3) You may be able to provide a static initializer/destructor with your class that will be called at module start/stop time. I'll have to check to see if this is possible, as I've not tried to do it myself. Cheers, - Dean On Friday, February 14, 2003, at 09:10 AM, Eric Long wrote: Mike, Peter, Stiphane, Thanks for the feedback. I'm not sure if I was clear about the state of things. To clarify, my kext appears to be loaded as if nothing is wrong. Attached is a log of the results from using kextload -v 6, followed by kextstat. I don't see anything that sheds light on things in that log. When the extension loads, I expect to see this: Feb 12 11:13:00 Gonzo mach_kernel: iCleanSniffer_module_start entered Feb 12 11:13:00 Gonzo mach_kernel: ALHI_URLParser_Init Feb 12 11:13:00 Gonzo mach_kernel: iCleanSniffer pffindproto found TCP Feb 12 11:13:00 Gonzo mach_kernel: ICSnDriverShim::init() Feb 12 11:13:00 Gonzo mach_kernel: ICSnDriverShim::probe() Feb 12 11:13:00 Gonzo mach_kernel: ICSnDriverShim::start() Instead, I'm seeing this: Feb 12 11:13:00 Gonzo mach_kernel: ICSnDriverShim::init() Feb 12 11:13:00 Gonzo mach_kernel: ICSnDriverShim::probe() Feb 12 11:13:00 Gonzo mach_kernel: ICSnDriverShim::start() The module start function never gets called. I can purposely put code in their to cause a panic, without effect. Regarding root/wheel, when the kext loads, it gets flagged for not having root/wheel as the owner/group, and an alert appears to warn about it, it asks whether to cancel, use, or fix. I select use. This has been my standard practice all along, without problems, until now. Here's some of the important project settings: buildSettings = { FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = "///src"; INSTALL_PATH = "$(SYSTEM_LIBRARY_DIR)/Extensions"; KERNEL_MODULE = YES; LIBRARY_SEARCH_PATHS = /usr/lib/gcc/darwin/3.1; MODULE_IOKIT = YES; MODULE_NAME = com.aladdinsys.nke.iCleanSniffer; MODULE_START = iCSniffer_start; MODULE_STOP = iCSniffer_stop; MODULE_VERSION = 1.0.0; OPTIMIZATION_CFLAGS = "-O0"; OTHER_REZFLAGS = ""; PREFIX_HEADER = src/MacKEXT.Debug.prefix.h; PRODUCT_NAME = iCleanSniffer_Debug; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; WRAPPER_EXTENSION = kext; }; <!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>CFBundleExecutable</key> <string>iCleanSniffer_Debug</string> <key>CFBundleGetInfoString</key> <string>iClean version 6.0a3, Copyright ,) 2002-2003 Aladdin Systems.</string> <key>CFBundleIconFile</key> <string></string> <key>CFBundleIdentifier</key> <string>com.aladdinsys.nke.iCleanSniffer</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>iCleanSniffer</string> <key>CFBundlePackageType</key> <string>KEXT</string> <key>CFBundleShortVersionString</key> <string>6.0a3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1.0.0</string> <key>IOKitPersonalities</key> <dict> <key>ICSnClientInterface</key> <dict> <key>CFBundleIdentifier</key> <string>com.aladdinsys.nke.iCleanSniffer</string> <key>IOClass</key> <string>com_aladdinsys_ICSnDriverShim</string> <key>IOProviderClass</key> <string>IOResources</string> <key>IOResourceMatch</key> <string>IOKit</string> <key>IOUserClientClass</key> <string>com_aladdinsys_ICSnClientInterface</string> </dict> </dict> <key>OSBundleLibraries</key> <dict> <key>com.apple.kernel.bsd</key> <string>1.1</string> <key>com.apple.kernel.iokit</key> <string>1.1</string> <key>com.apple.kernel.libkern</key> <string>1.1</string> <key>com.apple.kernel.mach</key> <string>1.1</string> </dict> </dict> </plist> Thanks again for chiming in. I'll test to see if setting privileges to root/wheel has any effect, but I don't think it is a factor in this problem. Eric [demime 0.98b removed an attachment of type multipart/appledouble] _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored. _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.