tweakbsd Posted September 18, 2012 Share Posted September 18, 2012 Here is it the first release of the I8k.kext ! It is a complete new implementation of the I8k Dell Fan Control Driver using Apple's I/O Kit. Actually there is no GUI application for it but coming soon. The Driver supports 1 or 2 Fan configuration and should be compatible with Lion and higher. It supports both 32 and 64 Bit kernels. The driver can do it's Job best if you disable the BIOS control of fans. This is in some fashion a debug release since it has lots of IOLog() statements that will spam your Console Application, but is needed for me to debug things and if some of you have trouble they can report errors. You can change settings of the driver in its Info.plist Most keys should be self explaining. If you have questions just ask. The attached file is a fat binary compiled for 32/64Bit Intel machines using XCode 4.4.1 and OS X 10.7 base SDK. I8k.zip Link to comment Share on other sites More sharing options...
tweakbsd Posted September 18, 2012 Author Share Posted September 18, 2012 Here is a new version with some more settings in the driver personality...if some is interested in writing a Cocoa GUI for it using I/O Kit device interface from User-Space I will give out sources to him. New Setting include a way to force setFanState()'s and to tell the driver if BIOS Fan Controls are enabled which will lead to a change in Low and High Fan states they must be switched. Why is unknown to me but that's how my D630 behaves. And less debug statements in the timerAction routine which spammed Console App. I8k.zip Link to comment Share on other sites More sharing options...
Administrators Leon Posted October 2, 2012 Administrators Share Posted October 2, 2012 Hey mate, maybe we should promote this to a "real" page - this is so good stuff that it deserves it Link to comment Share on other sites More sharing options...
bobdamnit Posted November 11, 2012 Share Posted November 11, 2012 Hey mate, maybe we should promote this to a "real" page - this is so good stuff that it deserves it Thanks for this. I used I8kfan+GUI way back on Leopard and Snow Leopard and it worked fine. (Sometimes the GUI got a little stupid, but nothing major.) I'll definitely tweak the Info.plist file and see how it runs. I imagine it would help to already know the max fan speed, min fan speed, etc that your fan can handle. Also, does the <key>I8kTemperatureCurrent</key> point to anything particular? Or does it read from BIOS and implement through I/O Kit? And I must ask, does this load in /S/L/E, or /E/E? Does it load at all, or must it be manually loaded like the previous "i8kfangui.kext"? Can we use the GUI that came with the original (That this is based from)? Edit: Try as I might, I cannot get this to load in /S/L/E or /E/E. I couldn't even load it with a terminal. I end up with the following error: Requesting load of /Users/bobdamnit/Downloads/I8k.kext. /Users/bobdamnit/Downloads/I8k.kext failed to load - (libkern/kext) requested architecture/executable not found; check the system/kernel logs for errors or try kextutil(8). However, if I grab the one from the OP's earlier post (https://osxlatitude.com/index.php?/topic/1782-try-my-i8kfankext-for-64bit-kernel/), that one loads just fine. Just not automatically. Fan control is working great for me, even without accessing the hidden BIOS menu and disabling BIOS control of the fan. It kept wanting to flip between "Low" and "High", but after doing that about 15 times, it finally took my defined presets. Temps went down easily 10 degrees celsius. Between this and PState, my D520 is cool. (Idle on "On Demand" performance is about 49 celsius.) Second edit: Kext is annoying. Wont load with launchd automatically. Only safe way I know of to launch an I/O Kit kext. I've already bypassed the I8kfanGUI.app requiring administrative priv's, just need a way to auto-load this kext and this would be awesome. Link to comment Share on other sites More sharing options...
bobdamnit Posted November 21, 2012 Share Posted November 21, 2012 I can get the kext to automatically load with launchd. Open a Terminal and enter the following command: sudo pico /Library/LaunchDaemons/i8kfan.plist When pico opens i8kfan.plist, add the following to the plist file: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$ <plist version="1.0"> <dict> <key>Label</key> <string>i8kfan</string> <key>ProgramArguments</key> <array> <string>/sbin/kextload</string> <string>/System/Library/Extensions/i8kfan.kext</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> Press Control+O to write out the file, then Control+X to close the pico editor. Back in the Terminal, enter the following command: sudo launchctl load /Library/LaunchDaemons/i8kfan.plist Reboot. To confirm the kext is loaded, perform the following in a Terminal: kextstat -l (thats a lowercase "L") Look for the following: com.PotatoSalad.kext.I8kfan If you see that, the kext is loaded properly at startup. Now, if I could just get around the GUI needing an admin password EVERY time it starts... Hope this helps. Link to comment Share on other sites More sharing options...
Administrators Hervé Posted November 21, 2012 Administrators Share Posted November 21, 2012 It's damn annoying that, isn't it? 'made me abandon it all. Link to comment Share on other sites More sharing options...
bobdamnit Posted November 21, 2012 Share Posted November 21, 2012 It's damn annoying that, isn't it? 'made me abandon it all. Its real damn annoying, actually. But I'll get it. I'm a pretty patient guy. I'm looking into how LaunchAsRoot accomplishes it and seeing if I can mimic it. The other option is to rebuild the whole damn GUI with Xcode for 10.7 SDK. (I'm looking into this, but never having worked with Xcode, that could take a while.) That might be hard, as the GUI originally used a daemon to launch it, and anytime I try to remove the daemon in Xcode I get a staggering number of build errors that I'm clueless about fixing. I can build the GUI sources with 10.7 32/64-bit 10.7 SDK including the daemon, but the thing still asks for a password. (Even with building the thing to have 755 permissions.) So, yeah. Its being a pain in the ass. Link to comment Share on other sites More sharing options...
bobdamnit Posted November 21, 2012 Share Posted November 21, 2012 So, I got it! Open a Terminal and input the following (I'm assuming you have I8kfanGUI.app installed into /Applications): sudo chmod 4755 /Applications/I8kfanGUI.app/Contents/MacOS/I8kfanGUI sudo chown root:admin /Applications/I8kfanGUI.app/Contents/MacOS/I8kfanGUI sudo chmod 4755 /Applications/I8kfanGUI.app sudo chown root:admin /Applications/I8kfanGUI.app After that, use DockDodger to remove the Dock icon for I8kfanGUI. (If you want.) Select the application as a login item, checkmark the "Hide" box, and restart. Should work just fine after that. (It is for me!) 1 Link to comment Share on other sites More sharing options...
schmatzo Posted December 13, 2012 Share Posted December 13, 2012 If I press fn + 15324 my whole system is freezing. (Bios A17 + 10.6.8) Under Windows 7 the hidden menu works without freeze. Where is the problem? Link to comment Share on other sites More sharing options...
Administrators Bronxteck Posted December 15, 2012 Administrators Share Posted December 15, 2012 yeah i came across the issue before. you would have to try it before loading osx like at the chameleon prompt. hit the space bar when chameleon has the timer showing then do it. if i remember it's been a while. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now