![]() |
DSDT editing needed to fix brightness/sleep HP DV3XXX
I was poking around in the dsdt.aml trying to find what the sleep error and the brightness errors could be for the DV3XXX, and I stumbled upon this interesting info earlier:
projectosx.com/forum/index.php?showtopic=461 specifically post #4. It explains what code is used for controlling the brightness > (BCL) and (BCM). I was comparing our dsdt to others like the Dell 1340 in the above thread and HP 6XXX series here: http://www.insanelymac.com/forum/lof...p/t135410.html Compare the (_BCL) ASL Code differences below. i see a major difference in that their _BCL and _BCM are serialized and the DV3XXX is not. Also, because of this difference the DV3XXX is missing a crucial string of code after "Method (_BCL... Not Serialized)" to the end of the string below. Does anyone have any idea as to how to read code or better, fix this issue? I believe it is the same problem as our sleep, as 0x80 is code for sleep and 0x02 is code for wake, and the two are always referenced under BCL and BCM. HP DV3XXX series dsdt: Code:
Device (LCD) Code:
Device (C1AD) |
uninc,
I don't think that's the solution. For example, my DSDT has this (and I have no issue with brightness, either from sleep, or from the keyboard): Code:
Method (_BCL, 0, NotSerialized) If the PS2 keyboard dimming, you could try adding the following to the PS2K device: Code:
Method (_DSM, 4, NotSerialized) |
thanks for the reply uman, i dont have a solution. i have a problem.
your post is very helpful, i think you are right about looking in the wrong place. i dont think the ps2 fix is the issue; however i am going to try it as i dont have that key in the dsdt. i will report back... |
uninc,
I'm am still not sure what your issue is. Is it: 1. When returning from sleep, your display doesn't wake up, or the screen is very dim? If so, there's a DSDT fix for that. 2. You can't control the brightness from the keyboard? 3. The keyboard does control the brightness, but the OS X "sun" icon doesn't display? (I have that problem-- when controlling sound from my keyboard, I see the speaker icon, but not when controlling brightness. Re PS2: If you don't have a PS2K device in your DSDT, then you probably have a USB keyboard and mouse which is good! So I wouldn't add the PS2K device into your DSDT. (The sure way to tell whether you have PS2 keyboard or mouse is if during install, you needed VoodooPS2Controller.kext, or ApplePS2SomethingOrOther.kext.) I find that the people who are doing the most advanced DSDT work are the Gigabyte mobo folks. Unfortunately there are pages upon pages of cruft to wade through on insanely, not to mention the ACPI Programmers guide, and the datasheets for your motherboard chipset. Even here, the Gigabyte topics are lengthy. But good on them-- they have the passion. Try using google search to help cut down on the cruft: site:www.insanelymac.com HP DV3510nr DSDT brightness turned up some of your posts, but also: http://www.insanelymac.com/forum/ind...&#entry1095891 You could also try this: http://www.splasm.com/products/productbrightness.html Hmm, your laptop has an nvidia display right? Can you check if AppleIntegratedFrameBuffer is loaded (use kextstat in terminal). Apparently that kext takes control of brightness (LCD backlight). There's a patch that gets it to relinquish control (see the comment by Timo: http://blog.stuart.shelton.me/archives/209) Can you post your unmodified (original) DSDT? I'd need to see if your LCD panel has a _DSS method defined to control brightness. Macbooks (and my Gateway) don't. The _DSS method is where you see some people suggesting fixes where they use 0x86, 0x87, 0x89 to cycle, increase, decrease or zero brightness. But that doesn't work unless your hardware is defined that way. The ACPI spec has details on that. I can't promise that I can examine your DSDT right away (and I made need a gentle nudge as I might forget), since I am installing SL over the next day or two. But I'll try to look into it later this wee or early next week. I'm curious how this wholething works because I'd like to get the litle sun icon to show up on my gateway! Cheers. |
1 Attachment(s)
my battery died on me while the EFI partition was mounted - the EFI was f'd. i had to take out the drive and repair from another mac. so, i haven't tried any of your suggestions yet uman, although i am grateful.
the dv3XXX does use PS2 input, and in the dsdt i believe it is called Code:
Device (KBC) to help you understand, sleep does not work at all (contrary to the threads you reference on insanely). I have been active in those for some time now, but they are dead. sleep does not work. if i push sleep, the monitor shuts off, and ps2 shuts off - thats it. i have to hard restart. brightness does not work. i am using shades right now - it kills my battery. every other hotkey works (volume, media keys, sleep, print etc...). i checked kextstat and AppleIntegratedFrameBuffer is not loaded. the dv3XXX is very vanilla, very tasty. its running SL excellent in 64 except for brightness and sleep. i can FEEL it can be fixed via dsdt here is the original dsdt, unfortunately it is long. ill also attach it: EDIT : i can only attach it - "the text...is too long" good luck with your install. and thank you for the links i will go over them in hopes of discovery |
I'm having a hell of a time with my install. No joy today. And my Gateway is very vanilla (my DSDT compares amazingly with a MacBook DSDT).
No luck with prasys' method #1 - USB stick. Tried his second one using Conti's hack. No joy. I then tried to install thru Leopard onto the external drive (which will be my new hard drive once finished). It dies with a bless error. So now I'm installing from a MacBook Pro to the external drive. After that, I'm not sure. I think I can just install Chameleon. |
i thought you were allergic to macbooks?!
those are strange failures. have you read this thread? - there is a link to install guide here. http://www.insanelymac.com/forum/lof...:/t187471.html are you dual booting? keep in mind gma950 is only 32 bit and chameleon rc3/4 automatically boots 64. so i tried adding the PS2 dimming to dsdt and it compiled fine, but it did not solve the problem. and i see that there is a _DSS method in my dsdt, do you have a link that explains adding the cycle commands? |
Quote:
Quote:
Quote:
Quote:
Code:
| +-o KBC <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8> Quote:
Quote:
Quote:
|
uman, glad you succeeded with SL.
i have replaced KBC with PS2K and compiled w/o error-there is no visible difference yet. ive been reading the ACPIspec sheet, but don't really know where to start in understanding my own dsdt. indeed it prol'y needs to be looked at in order to edit the brightness and sleep issues. i have tried adding the values you referenced in the ACPIspec but can't compile w/o errors. i don't really know how or where to edit. can you help? Code:
Device (LCD) |
Please post the two dsdts: the one that compiles okay with PS2K, and the broken one. I should be able to take a look midday.
|
1 Attachment(s)
Quote:
i only have one dsdt that needs working on... do you know what i am saying? |
Quote:
I was editing my DSDT to take out parts that were specific for older parts of Windows. I also enabled for Darwin, anything that was specific to Windows 2006. When I rebooted, everything seemed pretty much the same, except I no longer had the brightness controls, which are mapped to the Fn-up, and fn-down arrows. So I plan to analyze what changed, and then see if I can make them come back. I then may have something useful for you to try. |
I spent a couple of hours looking at your DSDT the acpi spec and my dsdt (mine is relatively clean, and tracks the mac pretty well). The bad news is that yours is a hideous monstrosity. It's massive-- more than double the size of a macbook dsdt, and several thousand lines more than mine. Plus it implements a WMID interface (see: http://www.wilsonmar.com/1wmiwbem.htm) and even as checks to make sure the BIOS isn't modified. It also seems to deliberately obfuscate some things-- I believe to lock down some aspects of HP laptops.
So while I did manage to understand some things about the brightness settings, I couldn't suggest anything for you to try, other than running it through a recent DSDT patcher and telling the patcher to emulate Windows Vista or Windows 7. Then you could try that version to see if it helps. Alternatively, you can search Linux forms for the same issue and for the same laptop. They will likely have the same problem, however, your DSDT specifically checks for Linux. So you could also try "pretending" OS X is Linux in the DSDT and see if that helps. |
well that is dissappointing . thanks for looking it over uman.
i tried a vista dsdt with the same result. the bios is modified, removing the original whitelists. it is from the insanely thread referenced earlier. there is someone who is using an asus bios for a hp dv3xxx; it was a solution that predated the modified bios. the asus specs are almost identical to my hp. what are the chances the dsdt may solve the sleep/lcd issues using that asus bios? |
Quote:
|
Hi uman,
Can you post your dsdt? I'm trying to enable display dimming function on my acer, not for Mac OS X but for windows. Brightness hotkey is working perfectly in both OSes but display dimming when idle or when on battery is not available. I'm trying to achieve that in windows. I'm manage to go as far as showing "Adjust screen brightness" at battery indicator but brightness didn't change at all when changing the slider position. The slide also move when power cord attached or detached. I think it missing proper "Return" or "Notify" command in _BCM method. kizwan |
1 Attachment(s)
Kiz,
Here they are. I've included the unmodified, original one, and my latest. I seem to remember, in Leopard, that my display would dim when I removed the power cord, but now it does not. However, note that I don't have battery working (VoodooBattery panics, and I am using NullCPUPowerManagement). I don't plan to fix the battery issue because my battery is shot anyway. I suspect that display dimming is tied up to proper PM functioning. I suspect it would be trivial for me to get dimming to work, since it is clear that Darwin does respond to the _BCM method. Right now if I hit Fn-F8, which on the Gateway has a dim/bright sun icon, the display dims or brightens. In the DSDT, you'll see that it's using the _Q11 query method. I don't think the Gateway's LBCM method (which implements what _BCM calls) is implemented very cleanly. I liked the design in uninc's HP dsdt better, but I don't have much interest in fixing the gateway's one. So you might also want to look at the HP one of uninc. |
Thank you uman for the dsdt.
I see you apply fix for restart/shutdown. Before applying the fix, which one do you have problem, shutdown or restart or both? I have problem with restart & currently using openhaltrestart.kext to fix the issue. I added PNLF (backlight) in my dsdt but it didn't do anything. The slider in System Preferences always set to maximum & I can't change it. It will always back to maximum position whenever I try to change it. Brightness/backlight doesn't change at all. It make sense since in IORegistryExplorer, min & max value is 0x00. But since Fn key to adjust brightness is working, I don't care much about this. I have added uninc's DSDT for _BCL, _BCM & _BQC in my dsdt. Will know if dimming working or not in windows after flashing it to BIOS. :) This kinda difficult because it doesn't exist in my dsdt before. Looks like my acer doesn't use 0x86, 0x87 to control brightness. As for battery, our machine don't have smart battery (we have control method battery). So trying to apply smart battery in dsdt (to get it detected in Mac OS X) will be waste of time. This what I learn when trying to do it. :p I didn't apply PWRB in my dsdt because it seems mine will be "generated" by SLPB. So, in IORegistryExplorer it will list "power-button" instead PWRB. I think it works in Mac OS X because when pressing the power button, I will be presented with sleep, restart & shutdown button. I see you identified a lot of acronym/variable used in your DSDT. Nice. :) kizwan |
1 Attachment(s)
hi all,
last days I was playin' with dsdt adding pnlf device and I ended up with the Backlight kext getting loaded fine, I can even use Fn+scroll & Fn+pause to make the sun shine, but it seems there's no values to switch to/from. To be clear, on IORegistryExplorer I get this: Attachment 1180 Does anybody over here know how to change these values? |
Your picture is too low-res, but no matter. I have PNLF, and AppleBacklightDisplay and the values check against a MacBook. The issue is that the brightness/sun is controlled thru AppleIntegratedFrameBuffer (you'll note that AppleBacklightDisplay loads under display in ioreg).
It's possible that some sort of patching of AppleIntegratedFrameBuffer might work. For example, the Asus guys reported a patch for 10.5 that disabled brightness control in AppleIntegratedFrameBuffer, which allowed them to control it via ACPI and the ASUS bios. See here: http://ipis-osx.wikidot.com/forum/t-...htness-control uninc: this may work for you if you're NOT using SL. It might work for SL, but you'd have to figure out how: http://myhpmini.com/forum/viewtopic.php?t=1542 Quote:
|
Quote:
Quote:
Quote:
Quote:
|
Thank u uman for this link, it is really helpful for patching the Framebuffer kext; but when it comes to keeping the system totally vanilla, do u know how to load the patched kext (from /E/E maybe) without altering the original one ?
btw: sorry for the pic, corrected! |
Quote:
kizwan |
Quote:
I am using 10.6, but the changes for apple...framebuffer were relevant and appropriate. it just didnt change anything, which leads me to believe that something needs to change in the dsdt, because the Fn + Fx works for other keys like media and sleep (which doesnt actually work either, but it tries) |
Quote:
I have a similar problem, although not exactly the same, on my Samsung N130 based hackintosh running SL X.6.3. The brightness control works fine, either through the control panel or via the Fn key, but the system does not "remember" my settings, and set it all the way back to the maximum at each boot. Not a big issue since I can easily lower the brightness as soon as I reach the desktop via the Fn key, but it's somewhat annoying on the long run. I also tried to patch the AppleIntelIntegratedFramebuffer to bypass the hwBacklight function but just like you it didn't help (it's a pity because I was so sure this would fix the problem)... It seems clear that the problem is with one of the last drivers to be loaded before showing the desktop, because during the boot, while the grey screen with the apple logo is shown, the brightness is OK, but just before showing the background picture I can clearly see the brightness being boosted to the max. I really don't know where to look now, I saw some references to AppleBacklightAtBoot in the AppleBacklight.kext, not sure if this could be a clue. Please please please, do let me know if you finally managed to fix this problem. Thank you very much. PS: Here are some interesting things from ioreg... Don't know how to work with that... Quote:
Quote:
|
Quote:
|
Ok, thanks for your reply. I will open an other thread on my problem since it looks specific.
|
Quote:
Hi..my ASUS N61 . When returning from sleep, your display doesn't wake up..... "1. When returning from sleep, your display doesn't wake up, or the screen is very dim? If so, there's a DSDT fix for that." i can't find the DSDT fix for it!! can you help me ?? thank you ! |
Hi mtest,
You state Quote:
I cannot change the brightness via the Fn keys. When I press Fn+UP arrow or Fn+DOWN arrow, nothing happens. I can change the brightness via the control panel immediately after a full reboot but it does not remember the state on the next restart or after sleep (I just get Max brightness like you). But if I can get the Fn+UP and Fn+DOWN arrow keys to work then I can live with that. Any hint would be appreciated. thx. |
bump....
anyone ??? |