Created attachment 24844 [details] acpidump Dear experts, I have come across an unpleasant issue. I use a Gateway m7315u laptop for work and I cannot change the brightness using the function keys. I have tried to manually write to "/sys/devices/virtual/backlight/acpi_video0/brightness", no luck. It seems the values within the brightness file change, however there is no effect on the lcd. If anyone can propose a solution, or even point me in the right direction, that would be much appreciated. If any other debug information is needed, I will gladly accommodate that request. Best, John Kernels tried: 2.6.29.6, 2.6.32.7 OS: Slackware 13.0 Attachments provided: lspci -vv, acpidump, dmesg -s64000, acpitest, interrupts.
Created attachment 24845 [details] acpitest
Created attachment 24846 [details] dmesg
Created attachment 24847 [details] dmi-decode
Created attachment 24848 [details] /proc/interrupts
Created attachment 24849 [details] lspci -vv
Created attachment 24900 [details] dmesg without any command line options
I am facing the same problem on the gateway laptop. I have also logged the intel gfx http://bugs.freedesktop.org/show_bug.cgi?id=26352
Yeah it's a really unpleasant issue. It's very bothersome to the eyes and causes the battery to drain extremely fast. I probably get about 30 minutes of battery life. I took a look at your DMESG, and noticed you have an Ironlake Chipset, you might want to take a look at the kernel patches for the Ironlake DRM. I don't know if that would help you or not because I don't know the first thing about these ACPI issues but I've heard a lot of fuss over the Ironlake chipset and supposedly there are some patches floating around. I regret not doing my research and just buying this laptop, had I checked out linux-laptop.net I could have purchased one that wouldn't present an issue like this. Oh by the way, check out this site, it might be of help.. "http://www.phoronix.com/scan.php?page=news_item&px=Nzc4OQ". Best of luck buddy. (In reply to comment #7) > I am facing the same problem on the gateway laptop. I have also logged the > intel gfx > > http://bugs.freedesktop.org/show_bug.cgi?id=26352
Thanks John. I am running pretty much latest kernel. But still no luck kernel-2.6.33-0.27.rc6.git1.fc13.x86_64.rpm
Hey Sachin, Just tried 2.6.32.8 Stable, still no luck. Any luck on your side?(In reply to comment #9) > Thanks John. I am running pretty much latest kernel. But still no luck > > kernel-2.6.33-0.27.rc6.git1.fc13.x86_64.rpm
no .. still the same issue .. I using this kernel kernel-2.6.33-0.40.rc7.git0.fc13.x86_64.rpm
John, Did you had any success on this ?
Hey Sachin, No luck. I tried the latest stable 2.6.33. How about you? (In reply to comment #13) > John, > > Did you had any success on this ?
nopes same thing ..
Sachin, I've noticed a new backlight driver has been added to the kernel. The new driver is for the 'Intel Caldera' platform. I believe it first appeared in git13, have you tried it?(In reply to comment #15) > nopes same thing ..
Thanks John I tried kernel kernel-2.6.34-0.10.rc1.git0.fc14 but my laptop wont even boot. It hangs while loading the kernel
Sachin, Wow, that's unheard of. Do you mind showing me the output of your dmi-decode? (In reply to comment #17) > Thanks John > > I tried kernel kernel-2.6.34-0.10.rc1.git0.fc14 but my laptop wont even boot. > It hangs while loading the kernel
Created attachment 25445 [details] dmi output of NV59
(In reply to comment #18) > Sachin, > > Wow, that's unheard of. Do you mind showing me the output of your dmi-decode? > > (In reply to comment #17) > > Thanks John > > > > I tried kernel kernel-2.6.34-0.10.rc1.git0.fc14 but my laptop wont even > boot. > > It hangs while loading the kernel Here you go .. Thanks.
Sachin, I must say, those are great specs. Core i7 w/ 4+ gigs DDR3, sweet. So I've looked at it and I see that the video device is an "IGD", and it says "enabled", whereas mine says "Intel Cantiga Chipset Family", "Disabled". It's a real shame, probably a great laptop. I love mine. I noticed that I am able to change the brightness if I press Fn+F8, it's the contrast control sequence. If I press it twice, it will dim the screen all the way to what seems like the lowest brightness, and if I do it again, it will raise it back to full. That only works for a few times, then DMESG states ACPI Warning: _BQC returned an invalid level (20100121/video-638) I wish I could debug it myself and figure out exaclty where the problem is. I looked in the ACPI tree and opened the video file, I've seen all these methods in there, for controlling the brightness, but I dont' see where the problem is. (In reply to comment #20) > (In reply to comment #18) > > Sachin, > > > > Wow, that's unheard of. Do you mind showing me the output of your > dmi-decode? > > > > (In reply to comment #17) > > > Thanks John > > > > > > I tried kernel kernel-2.6.34-0.10.rc1.git0.fc14 but my laptop wont even > boot. > > > It hangs while loading the kernel > > Here you go .. > > Thanks.
(In reply to comment #21) > Sachin, > > I must say, those are great specs. Core i7 w/ 4+ gigs DDR3, sweet. So I've > looked at it and I see that the video device is an "IGD", and it says > "enabled", whereas mine says "Intel Cantiga Chipset Family", "Disabled". It's > a > real shame, probably a great laptop. I love mine. Thanks John. It was quiet a deal on bestbuy. I got only it for $500 > > I noticed that I am able to change the brightness if I press Fn+F8, it's the > contrast control sequence. If I press it twice, it will dim the screen all > the > way to what seems like the lowest brightness, and if I do it again, it will > raise it back to full. > > That only works for a few times, then DMESG states ACPI Warning: _BQC > returned > an invalid level (20100121/video-638) > > I wish I could debug it myself and figure out exaclty where the problem is. I > looked in the ACPI tree and opened the video file, I've seen all these > methods > in there, for controlling the brightness, but I dont' see where the problem > is. > On freedesktop bug developer is thinking this is bios bug . Please see last comment. http://bugs.freedesktop.org/show_bug.cgi?id=26352 I think so I will log a new bug with acpi team and wont create confusion in your bug > > (In reply to comment #20) > > (In reply to comment #18) > > > Sachin, > > > > > > Wow, that's unheard of. Do you mind showing me the output of your > dmi-decode? > > > > > > (In reply to comment #17) > > > > Thanks John > > > > > > > > I tried kernel kernel-2.6.34-0.10.rc1.git0.fc14 but my laptop wont even > boot. > > > > It hangs while loading the kernel > > > > Here you go .. > > > > Thanks.
John, I noticed following lines in my dmesg acer-wmi: Acer Laptop ACPI-WMI Extras acer-wmi: Unable to detect available WMID devices Is it possible the laptop model is new hence the information is not available kernel. This is a assumption since gateway is brought by acer. They might be sharing same hardware. Also in windows 7 I have download power management driver from gateway site but it was authored by acer. Also I have logged the bug for myself http://bugzilla.kernel.org/show_bug.cgi?id=15513
Thanks for the heads up Sachin, Interesting stuff, I will have a look at the post about the bios bug. (In reply to comment #23) > John, > > I noticed following lines in my dmesg > > acer-wmi: Acer Laptop ACPI-WMI Extras > acer-wmi: Unable to detect available WMID devices > > Is it possible the laptop model is new hence the information is not available > kernel. This is a assumption since gateway is brought by acer. They might be > sharing same hardware. Also in windows 7 I have download power management > driver from gateway site but it was authored by acer. > > Also I have logged the bug for myself > http://bugzilla.kernel.org/show_bug.cgi?id=15513
*** Bug 15586 has been marked as a duplicate of this bug. ***
Zhang, Yes, this is in regards to the same laptop. (In reply to comment #25) > *** Bug 15586 has been marked as a duplicate of this bug. ***
It seems that we need to support the CBLV field in I915 Opregion code. I'll generate a patch when I'm free.
Dear Zhang, Thank you very much for your time and effort, I look forward to testing it out. If there is any other information you need, I would be glad to provide it. John (In reply to comment #27) > It seems that we need to support the CBLV field in I915 Opregion code. > I'll generate a patch when I'm free.
Created attachment 26895 [details] custom IBCM method please 1. build a kernel later than 2.6.33 with CONFIG_ACPI_DEBUG set. 2. reboot with boot option "acpi.debug_level=0x2002 acpi.debug_layer=0xffffffff log_buf_len=1M" 3. run "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method" 4. try to change the backlight 5 attach the dmesg output.
Created attachment 26902 [details] dmesg_latest
Dear Zhang, I had recompiled with CONFIG_ACPI_DEBUG and reboot with the boot options specified. I attempted to write to "/sys/kernel/debug/acpi/custom_method", bash returned "No such file or directory". I checked the directory hierarchy and there was nothing under "/sys/kernel/debug/". I had mounted the debugfs via "mount -t debugfs none /sys/kernel/debug" and checked the directory hierarchy, as expected the files have appeared. The only problem is I cannot write to "/sys/kernel/debug/acpi/custom_method". when running "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method", bash returns "cat: write error: Invalid argument". I have attached the output of dmesg, attached as "dmesg_latest". After running "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method", dmesg outputs a warning. Thank you for your time. (In reply to comment #29) > Created an attachment (id=26895) [details] > custom IBCM method > > please > 1. build a kernel later than 2.6.33 with CONFIG_ACPI_DEBUG set. > 2. reboot with boot option "acpi.debug_level=0x2002 > acpi.debug_layer=0xffffffff > log_buf_len=1M" > 3. run "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method" > 4. try to change the backlight > 5 attach the dmesg output.
Created attachment 26906 [details] custom IBCM method please try this one instead.
Created attachment 26908 [details] latest dmesg output
Dear Zhang, I have tried the custom IBCM method you've provided in comment #32, the good news is I was able to write to "/sys/kernel/debug/acpi/custom_method". Unfortunately, I am not able to change the brightness. I did attach the latest dmesg, which shows some added ACPI data towards the end as I tried changing the brightness. Thank you very much for your time.
Created attachment 26909 [details] custom DSDT please apply this custom DSDT first, and check if you can change the backlight correctly. If not, please re-do the test in the new kernel.
Dear Zhang, I am not familiar with the .hex file and its invocation, do I just copy it to /usr/src/(kernel)/include and recompile the kernel as per usual? Thank you (In reply to comment #35) > Created an attachment (id=26909) [details] > custom DSDT > > please apply this custom DSDT first, and check if you can change the > backlight > correctly. > If not, please re-do the test in the new kernel.
http://www.lesswatts.org/projects/acpi/overridingDSDT.php please follow step 5,6,7 in this page to override the DSDT.
Created attachment 26917 [details] latest dmesg
Dear Zhang, I have done as instructed, recompiled the kernel to override the DSDT. I am pleased to report that lowering the brightness now works. However, I am not able to raise the brightness. I have noticed an infinite loop in dmesg output. I have attached the latest dmesg output. Lowering the brightness works great though. I have tried to redo the test with the DSDT.aml but the acpi directory in /sys/kernel/debug/ has disappeared. Sorry for the delay, recompiling took some time. Thank you for your time.
Dear Zhang, I have done as instructed, recompiled the kernel to override the DSDT. I am pleased to report that lowering the brightness now works. However, I am not able to raise the brightness. I have noticed an infinite loop in dmesg output. I have attached the latest dmesg output. Lowering the brightness works great though. I have tried to redo the test with the DSDT.aml but the acpi directory in /sys/kernel/debug/ has disappeared. Sorry for the delay, recompiling took some time. Thank you for your time. (In reply to comment #37) > http://www.lesswatts.org/projects/acpi/overridingDSDT.php > please follow step 5,6,7 in this page to override the DSDT.
Created attachment 26922 [details] custom IBCM method (don't update CBLV) please boot into the custom DSDT kernel, then apply this custom IBCM.aml by running "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method" then try to change the backlight and see if it helps.
(In reply to comment #40) > Dear Zhang, > > I have tried to redo the test with the DSDT.aml no no, you can not cat DSDT.aml to /sys/kernel/debug/acpi/custom_method. > but the acpi directory > in /sys/kernel/debug/ has disappeared. Maybe you forgot to mount debugfs ("mount -t debugfs none /sys/kernel/debug") Or maybe you forgot to set CONFIG_ACPI_DEBUG, ;p
Dear Zhang, No luck. I cannot change the brightness at all now. Here is what I did.. Compiled kernel version 2.6.34 with the following options. CONFIG_ACPI_DEBUG=y CONFIG_STANDALONE=n CONFIG_ACPI_CUSTOM_DSDT=y CONFIG_ACPI_CUSTOM_DSDT_FILE="DSDT.hex" I made sure DSDT.hex was in /usr/src/linux-2.6.34/include/, before compiling. Reboot. I mounted the debugfs via ("mount -t debugfs none /sys/kernel/debug"). Then I downloaded the latest DSDT.aml file and cat it via "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method". Tried to change brightness via FN+down(same key I used to lower the brightess in the previous attempt), without luck. I attached the latest dmesg, I boot with "acpi.debug_level=0x2002 acpi.debug_layer=0xffffffff log_buf_len=1M" in case there was more debug information. I attached the latest dmesg in case of changes. p.s, you were right, i compiled without CONFIG_ACPI_DEBUG last time ;P. Thank you very much for your support. (In reply to comment #42) > (In reply to comment #40) > > Dear Zhang, > > > > I have tried to redo the test with the DSDT.aml > > no no, you can not cat DSDT.aml to /sys/kernel/debug/acpi/custom_method. > > > but the acpi directory > > in /sys/kernel/debug/ has disappeared. > > Maybe you forgot to mount debugfs ("mount -t debugfs none /sys/kernel/debug") > Or maybe you forgot to set CONFIG_ACPI_DEBUG, ;p
Created attachment 26923 [details] latest dmesg output
no, you did not apply the custom DSDT. we should see something like "Table [DSDT] replaced by host OS " is the dmesg file if the DSDT is overridden successfully. please attach the kernel .config file. (In reply to comment #43) > > Then I downloaded the latest DSDT.aml file You probably mean IBCM.aml file, right?
Dear Zhang, > You probably mean IBCM.aml file, right? Yes, forgive me for my error. I have attached the .config file. I figured the dmesg file should output something like "Table [DSDT] replaced by host OS " after reading "http://www.lesswatts.org/projects/acpi/overridingDSDT.php" but I never seen anything resembling that in dmesg. Perhaps I made an error during the kernel compilation. These were the steps I took: 1. Downloaded 2.6.34 and unarchived into /usr/src/ and copied DSDT.hex into include 2. Created a directory via mkdir $HOME/build 3. zcat /proc/config.gz > $HOME/build/.config 4. added to the end of .config CONFIG_ACPI_DEBUG=y CONFIG_STANDALONE=n CONFIG_ACPI_CUSTOM_DSDT=y CONFIG_ACPI_CUSTOM_DSDT_FILE="DSDT.hex" 5. from within the kernel source directory(/usr/src/linux-2.6.34), I invoked "make O=$HOME/build; make O=$HOME/build modules_install install " (In reply to comment #45) > no, you did not apply the custom DSDT. > we should see something like "Table [DSDT] replaced by host OS " is the dmesg > file if the DSDT is overridden successfully. > please attach the kernel .config file. > > (In reply to comment #43) > > > > Then I downloaded the latest DSDT.aml file > > You probably mean IBCM.aml file, right?
Created attachment 26924 [details] .config
how did you get the test result in comment #40? it seems that you override the DSDT successfully in comment #40. how about copy the DSDT.hex to any dir and file CONFIG_ACPI_CUSTOM_DSDT_FILE="" with the absolute path of the DSDT.hex file?
Dear Zhang, I do not know how to thank you. In regards to what happened after comment #40, I believe I screwed up on the compilation. I thought I was slick and did not clear out $HOME/build before recompiling the kernel to add CONFIG_ACPI_DEBUG. I recompiled a fresh kernel with the configuration file I attached in comment #47 and continued with "cat IBCM.aml > /sys/kernel/debug/acpi/custom_method", before I knew it I had full brightness functionality for the first time. My only remaining concern is how do I make this change permanent? I would also like to know whether there is anyone in particular I can write a letter stating that you're awesome. THANK YOU VERY MUCH! (In reply to comment #48) > how did you get the test result in comment #40? > it seems that you override the DSDT successfully in comment #40. > > how about copy the DSDT.hex to any dir and file > CONFIG_ACPI_CUSTOM_DSDT_FILE="" > with the absolute path of the DSDT.hex file?
glad to know that the brightness control works well after all. :) IMO, this is a BIOS problem. I have refreshed the IBCM.aml so that you don't need to use custom DSDT any more. please try the custom IBCM.aml attached below, without custom DSDT. If it works, to workaround this issue, you can write a script to apply the custom IBCM.aml after boot automatically on each kernel that you're using. Note that this may require you to use a kernel with CONFIG_ACPI_DEBUG set in 2.6.33 and 2.6.34 and 2.6.35. But I have finished a patch to make ACPI debugfs I/F always built in even with CONFIG_ACPI_DEBUG cleared. i.e. in the future, you don't need to apply the custom DSDT and rebuild your kernel, just mount the debugfs and apply the custom IBCM.aml, for each new kernel you're using. :p
Created attachment 26926 [details] custom IBCM method (should work without custom DSDT)
As this is not a software problem, I'll reject this bug report. please feel free to re-open it if the new custom IBCM method doesn't work for you. :)
Dear Zhang, I apologize for the delay, crazy day. The custom IBCM method from comment #51 works fantastic. The only thing I have noticed is this line in dmesg, I attached the latest dmesg in case you were interested. ACPI Warning: _BQC returned an invalid level (20100121/video-644) I do not see any problems in terms of changing the brigheness. As far as BIOS goes, I will open a bug report because this was a nasty issue to have, especially when you have to work with it. I like my machine and did not want to part with it. You really know your stuff, thank you for everything :)
Dear Zhang, I apologize for the delay, crazy day. The custom IBCM method from comment #51 works fantastic. The only thing I have noticed is this line in dmesg, I attached the latest dmesg in case you were interested. ACPI Warning: _BQC returned an invalid level (20100121/video-644) I do not see any problems in terms of changing the brigheness. As far as BIOS goes, I will open a bug report because this was a nasty issue to have, especially when you have to work with it. I like my machine and did not want to part with it. You really know your stuff, thank you for everything :) (In reply to comment #52) > As this is not a software problem, I'll reject this bug report. > > please feel free to re-open it if the new custom IBCM method doesn't work for > you. :)
Created attachment 26935 [details] latest dmesg output
Created attachment 26966 [details] custom IBCM method can you see the error message after apply this IBCM.dsl? If yes, please verify when the error message shows, e.g. when pressing the hotkey?