RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,011
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
Thank you for your response. Please see attached Copy of IOReg.
Try previous version of ACPIBacklight.kext.
Thank you for your response. Please see attached Copy of IOReg.
Try previous version of ACPIBacklight.kext.
My methodology was as follows (please correct if incorrect - never uninstalled a kext before):
- Deleted 2015/07/15 ACPIBacklight.kext from systems/library/extensions
- Rebuilt kernel cache via kext wizard
- Installed 2014/10/16 ACPIBacklight.kext
- rebuilt kernel cache
- rebooted
Works with brightness control as per this guide.
As always, thank you very much Rehabman.
Speedy-OSX:backlight.git RehabMan$ git diff
diff --git a/ACPIBacklight/ACPIBacklight.cpp b/ACPIBacklight/ACPIBacklight.cpp
index beca3a6..3896344 100644
--- a/ACPIBacklight/ACPIBacklight.cpp
+++ b/ACPIBacklight/ACPIBacklight.cpp
@@ -280,11 +280,16 @@ void ACPIBacklightPanel::free()
super::free();
}
-void ACPIBacklightPanel::setBacklightHandler(BacklightHandler *handler, BacklightHandlerParams* params)
+bool ACPIBacklightPanel::setBacklightHandler(BacklightHandler *handler, BacklightHandlerParams* params)
{
+ if (!(_options & kWaitForHandler))
+ return false;
+
_backlightHandler = handler;
if (params)
*params = _handlerParams;
+
+ return true;
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -1339,7 +1344,12 @@ bool IntelBacklightHandler::start(IOService *provider)
_fbtype = num->unsigned32BitValue();
// now register with ACPIBacklight
- panel->setBacklightHandler(this, &_params);
+ if (!panel->setBacklightHandler(this, &_params))
+ {
+ // setBacklightHandler will return false for old PNLF patches
+ _baseMap->release();
+ return false;
+ }
_panel = panel;
panel->retain();
diff --git a/ACPIBacklight/ACPIBacklight.h b/ACPIBacklight/ACPIBacklight.h
index 89e8541..ca0d647 100644
--- a/ACPIBacklight/ACPIBacklight.h
+++ b/ACPIBacklight/ACPIBacklight.h
@@ -100,7 +100,7 @@ public:
virtual bool doUpdate( void );
// ACPIBacklightPanel
- virtual void setBacklightHandler(BacklightHandler* handler, BacklightHandlerParams* params);
+ virtual bool setBacklightHandler(BacklightHandler* handler, BacklightHandlerParams* params);
private:
BacklightHandler* _backlightHandler;
Since you can reproduce this problem... please test new version, attached.
diffs:
Code:Speedy-OSX:backlight.git RehabMan$ git diff diff --git a/ACPIBacklight/ACPIBacklight.cpp b/ACPIBacklight/ACPIBacklight.cpp index beca3a6..3896344 100644 --- a/ACPIBacklight/ACPIBacklight.cpp +++ b/ACPIBacklight/ACPIBacklight.cpp @@ -280,11 +280,16 @@ void ACPIBacklightPanel::free() super::free(); } -void ACPIBacklightPanel::setBacklightHandler(BacklightHandler *handler, BacklightHandlerParams* params) +bool ACPIBacklightPanel::setBacklightHandler(BacklightHandler *handler, BacklightHandlerParams* params) { + if (!(_options & kWaitForHandler)) + return false; + _backlightHandler = handler; if (params) *params = _handlerParams; + + return true; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ @@ -1339,7 +1344,12 @@ bool IntelBacklightHandler::start(IOService *provider) _fbtype = num->unsigned32BitValue(); // now register with ACPIBacklight - panel->setBacklightHandler(this, &_params); + if (!panel->setBacklightHandler(this, &_params)) + { + // setBacklightHandler will return false for old PNLF patches + _baseMap->release(); + return false; + } _panel = panel; panel->retain(); diff --git a/ACPIBacklight/ACPIBacklight.h b/ACPIBacklight/ACPIBacklight.h index 89e8541..ca0d647 100644 --- a/ACPIBacklight/ACPIBacklight.h +++ b/ACPIBacklight/ACPIBacklight.h @@ -100,7 +100,7 @@ public: virtual bool doUpdate( void ); // ACPIBacklightPanel - virtual void setBacklightHandler(BacklightHandler* handler, BacklightHandlerParams* params); + virtual bool setBacklightHandler(BacklightHandler* handler, BacklightHandlerParams* params); private: BacklightHandler* _backlightHandler;
Uninstalled the 2014 version using same method as above post and installed this new version of the kext. Rebooted and brightness control works as per above post.
I don't know what the "diffs" thing is, so I didn't do anything with that.
UNRELATED: During all this I discovered that my wifi no longer works (I have removed the original card and installed an AR5BHB92 / AR9280).
Perhaps you have the radio turned off. Some laptops have dedicated keys/buttons for that. Macs do not, so the drivers are unaware of it.
If this is the same problem I had, it's a bugger to fix. Do you also have Windows of some flavor installed? Since there is no hardware switch, you have to turn the radio on with software. But the only tool I found that could successfully do this was an old version of wifi management from Lenovo for Windows 7. Nothing in OS X or Linux can tell the card to be turned on. What turned it off in the first place I have no idea. Once I turned it on in Windows it stayed on.
If you have Windows let me know, and I can track down the application when I get home.
Taping pin 20 might be a reliable method too.
The fix will be in the next build.
Perhaps you have the radio turned off. Some laptops have dedicated keys/buttons for that. Macs do not, so the drivers are unaware of it.
If this is the same problem I had, it's a bugger to fix. Do you also have Windows of some flavor installed? Since there is no hardware switch, you have to turn the radio on with software. But the only tool I found that could successfully do this was an old version of wifi management from Lenovo for Windows 7. Nothing in OS X or Linux can tell the card to be turned on. What turned it off in the first place I have no idea. Once I turned it on in Windows it stayed on.
If you have Windows let me know, and I can track down the application when I get home.
Taping pin 20 might be a reliable method too.
Note: Pushed a new build to bitbucket...
Sound
Download but don’t install AppleHDA.kext from http://www.tonymacx86.com/yosemite-...novo-u410-u310-yosemite-guide.html#post906637 Attached to this post you're reading as well.
Download DummyHDA.kext from here: Also attached to this post.
Go to the patched AppleHDA that you downloaded earlier but didn’t install. Unzip it, and right click on AppleHDA.kext and choose Show Package Contents. Navigate to AppleHDA.kext/Contents/Resources/ and copy Layout12.xml.zlib, and Platforms.xml.zlib. Now unzip DummyHDA.kext and navigate to DummyHDA.kext/Contents/Resources/ and paste them in there.
Next you need to edit the info.plist in DummyHDA.kext. Open info.plist in the patched AppleHDA.kext with TextEdit. It’s at: AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/Contents/info.plist. Search for <key>HDA Hardware Config Resource</key> . Then copy everything from there down through the next </array> (should stop right before <key>IOClass</key>). Now open config.plist in DummyHDA.kext/Contents/Info.plist in TextEdit. Again search for <key>HDA Hardware Config Resource</key>, highlight the corresponding section to what you just copied and delete it, then replace with what you copied. Save.
Install DummyHDA.kext to S/L/E with kext wizard. Rebuild/Repair permissions. Restart. That should get you an upgrade-proof working sound.