Bug 39322 - Can't change my laptop's brightness with ATI card and radeon
Summary: Can't change my laptop's brightness with ATI card and radeon
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Lan Tianyu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-13 18:44 UTC by bugzilla
Modified: 2012-05-24 08:01 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.38.2 - 2.6.39.3
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Acpidump output (439.73 KB, application/octet-stream)
2011-07-14 09:11 UTC, bugzilla
Details
Output of "grep . /sys/firmware/acpi/interrupts/*" before pressing Fn + brightness up/down (2.20 KB, text/plain)
2011-07-15 12:50 UTC, bugzilla
Details
Output of "grep . /sys/firmware/acpi/interrupts/*" after pressing Fn + brightness up/down (2.20 KB, patch)
2011-07-15 12:51 UTC, bugzilla
Details | Diff
Output of "grep . /sys/firmware/acpi/interrupts/*" before pressing Fn + brightness up/down with 2.6.37.5. (2.19 KB, application/octet-stream)
2011-07-18 17:47 UTC, bugzilla
Details
Output of "grep . /sys/firmware/acpi/interrupts/*" after pressing Fn + brightness up/down with 2.6.37.5. (2.19 KB, application/octet-stream)
2011-07-18 17:48 UTC, bugzilla
Details
Output of "grep . /sys/firmware/acpi/interrupts/*" before pressing Fn + brightness up/down with 2.6.37.5. (2.19 KB, text/plain)
2011-07-19 08:04 UTC, bugzilla
Details
Output of "grep . /sys/firmware/acpi/interrupts/*" after pressing Fn + brightness up/down with 2.6.37.5. (2.19 KB, application/octet-stream)
2011-07-19 08:04 UTC, bugzilla
Details
DSDT.hex (837.54 KB, text/x-hex)
2011-07-21 07:45 UTC, Lan Tianyu
Details
dmesg output after doing Fn + brightness up/down (with debug on and with kernel 2.6.37.6) (40.21 KB, text/plain)
2011-07-21 14:06 UTC, bugzilla
Details
dmesg output after doing echo <number> /sys/class/backlight/acpi_video0/brightness (with debug on and with kernel 2.6.37.6) (40.21 KB, application/octet-stream)
2011-07-21 14:07 UTC, bugzilla
Details
dmesg output after doing echo <number> /sys/class/backlight/acpi_video0/brightness (with debug on and with kernel 2.6.37.6) (40.46 KB, application/octet-stream)
2011-07-21 14:07 UTC, bugzilla
Details
dmesg output after doing Fn + brightness up/down (with debug on and with kernel 2.6.39.3) (56.34 KB, text/plain)
2011-07-21 14:09 UTC, bugzilla
Details
dmesg output after doing echo <number> > /sys/class/backlight/acpi_video0/brightness (with debug on and with kernel 2.6.39.3) (56.67 KB, application/octet-stream)
2011-07-21 14:09 UTC, bugzilla
Details

Description bugzilla 2011-07-13 18:44:00 UTC
Since the 2.6.38.2 kernel, I can't change my laptop's brightness. It worked in 2.6.37.6 version. I'm using ArchLinux.

I try to change it by using three ways : 
 - Fn + brightness up/down keys : nothing happens
 - echo <number> > /sys/class/backlight/acpi_video0/brightness : it doesn't work (but the file exists)
 - xbacklight command : it prints "No outputs have backlight property"

I have updated my kernel and I have tried to change the acpi_osi and acpi_backlight boot options, but it didn't work. I have posted a message on ArchLinux BBS (https://bbs.archlinux.org/viewtopic.php?pid=960197), but nobody could help me. I have filled a bug report on archlinux Bugs (https://bugs.archlinux.org/task/25117), but someone told me to fill a bug report here.

Additional information : 
 Kernel version : 2.6.39.3
 Laptop : HP Probook 4515s
 Graphic card : 01:05.0 VGA compatible controller [0300]: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics] [1002:9612]
 Driver : xf86-video-ati (radeon)
 xorg-server version : 1.10.3-1
 Desktop environment : KDE
 uname -a : Linux localhost 2.6.39-ARCH #1 SMP PREEMPT Sat Jul 9 15:31:04 CEST 2011 i686 AMD Sempron(tm) SI-42 AuthenticAMD GNU/Linux
Comment 1 Lan Tianyu 2011-07-14 06:10:26 UTC
Please run acpi_listen while clicking the Fn + brightness up/down keys to check whether the even has been triggered for backlight changing.

After echo <number> > /sys/class/backlight/acpi_video0/brightness, cat the brightness and actual_brightness to identify whether the number has been changed.

>Has anyone got an idea? I have tried with kernel 2.6.38.5, and with 
>acpi_backlight=video, acpi_backlight=legacy and acpi_backlight=vendor but it 
>still doesn't work.
>When acpi_backlight=vendor, the Fn + backlight up and down button just don't
>>work, and with the two others options, they work, but the backlight doesn't
>>change.

What meaning of "with the two others options, they work" with "but the backlight doesn't change"?
Comment 2 bugzilla 2011-07-14 08:06:15 UTC
Hello,

acpi_listen doesn't show anything when Fn + brightness up/down buttons are pressed.

The number in brightness and actual_brightness has been changed, but my brightness still doesn't work.

"with the two others options, they work, but the backlight doesn't change" means that when pressing Fn + brightness up/down button, a progress bar appears and is changed, but my brightness doesn't change.
Actually, this also happens without any boot options, I just need to press Fn + brightness up/down buttons longer.
Comment 3 bugzilla 2011-07-14 08:08:24 UTC
"my brightness still doesn't work" -> "my brightness still doesn't change"
Comment 4 Lan Tianyu 2011-07-14 08:24:17 UTC
Please try acpi_listen in the kernel 2.6.37.6 which works correctly.

Attach the output of the acpidump.
Comment 5 bugzilla 2011-07-14 09:10:41 UTC
Actually, I have just realized that I had made an error : it did not work in 2.6.37.6 but in 2.6.37.5. The 2.6.37.6 version has never been packaged for Archlinux. They have jumped from 2.6.37.5 to 2.6.38.2.

With 2.6.37.5 kernel, acpi_listen doesn't show anything when Fn + brightness up/down buttons are pressed, but brightness changes.

I have attached the output of acpidump.
Comment 6 bugzilla 2011-07-14 09:11:31 UTC
Created attachment 65592 [details]
Acpidump output
Comment 7 Lan Tianyu 2011-07-15 07:43:00 UTC
Please try to bisect between 2.6.37.5. and 2.6.38.2. to identify which version  became bad. 

Attach the output of "grep . /sys/firmware/acpi/interrupts/*" before and after  Fn + brightness up/down buttons are pressed on the bad kernel version. 

Is there anything different if you boot with kernel parameter acpi_osi="!Windows 2009" on the bad kernel version?

Is there anything different if you boot with kernel parameter acpi_osi="!Windows 2009" AND acpi_osi="!Windows 2006" on the bad kernel version?
Comment 8 Lan Tianyu 2011-07-15 12:18:48 UTC
Does "echo <number> > /sys/class/backlight/acpi_video0/brightness" work on the 2.6.37.5?
Comment 9 bugzilla 2011-07-15 12:49:20 UTC
Hello,

I have tried to compile 2.6.37.6 : the brightness worked.
Unfortunately, I could compile 2.6.38.1, because it gave me this error : 
/tmp/ccCUigGd.s: Assembler messages:
/tmp/ccCUigGd.s: Error: .size expression for apf_page_fault does not evaluate to a constant
make[2]: *** [arch/x86/kernel/entry_32.o] Erreur 1
make[1]: *** [arch/x86/kernel] Erreur 2
make: *** [arch/x86] Erreur 2
(I compiled it with the ArchLinux configuration for 2.6.38.2)

So the bug was either introduced in 2.6.38.1 or 2.6.38.2.

"echo <number> > /sys/class/backlight/acpi_video0/brightness" works with 2.6.37.5.

For the bad kernel version, I have used the latest : 2.6.39.3.

I will attach the output of "grep . /sys/firmware/acpi/interrupts/*".

With acpi_osi="!Windows 2009" and with acpi_osi="!Windows 2009" AND acpi_osi="!Windows 2006", the brightness still doesn't change, but acpi -i says : 

Battery 0: design capacity 786 mAh, last full capacity 786 mAh = 100%

instead of : 

Battery 0: design capacity 4623 mAh, last full capacity 786 mAh = 17%
Comment 10 bugzilla 2011-07-15 12:50:59 UTC
Created attachment 65722 [details]
Output of "grep . /sys/firmware/acpi/interrupts/*" before pressing Fn + brightness up/down
Comment 11 bugzilla 2011-07-15 12:51:54 UTC
Created attachment 65732 [details]
Output of "grep . /sys/firmware/acpi/interrupts/*" after pressing Fn + brightness up/down
Comment 12 Lan Tianyu 2011-07-18 08:12:29 UTC
Please attach the output of "grep . /sys/firmware/acpi/interrupts/*" before and after Fn + brightness up/down buttons are pressed on the 2.6.37.5.
Comment 13 bugzilla 2011-07-18 17:47:59 UTC
Created attachment 65912 [details]
Output of "grep . /sys/firmware/acpi/interrupts/*" before pressing Fn + brightness up/down with 2.6.37.5.
Comment 14 bugzilla 2011-07-18 17:48:38 UTC
Created attachment 65922 [details]
Output of "grep . /sys/firmware/acpi/interrupts/*" after pressing Fn + brightness up/down with 2.6.37.5.
Comment 15 bugzilla 2011-07-18 18:03:13 UTC
Hello,
I have attached the files.
Comment 16 Lan Tianyu 2011-07-19 00:56:50 UTC
The two attachment are the same file "before_26375". Please have a check. Thanks.
Comment 17 bugzilla 2011-07-19 08:04:01 UTC
Created attachment 65972 [details]
Output of "grep . /sys/firmware/acpi/interrupts/*" before pressing Fn + brightness up/down with 2.6.37.5.
Comment 18 bugzilla 2011-07-19 08:04:44 UTC
Created attachment 65982 [details]
Output of "grep . /sys/firmware/acpi/interrupts/*" after pressing Fn + brightness up/down with 2.6.37.5.
Comment 19 bugzilla 2011-07-19 08:05:13 UTC
Hello,

Sorry for that.
I have reuploaded the good files.
Comment 20 Lan Tianyu 2011-07-21 07:43:12 UTC
Please override the DSDT with my attched DSDT.hex respectively in the 2.6.37.5 and 2.6.38.2 or up.

http://www.lesswatts.org/projects/acpi/overridingDSDT.php

Do following operations on the two kernel:
  
(1)Run "echo 1 > /sys/module/acpi/parameters/aml_debug_output".
   Pressing Fn + brightness up/down
   Attach the dmesg.

(2)Run "echo 1 > /sys/module/acpi/parameters/aml_debug_output".
   Run "echo <number> > /sys/class/backlight/acpi_video0/brightness"
   Attach the dmesg.

Check whether "CONFIG_ACPI_PROC_EVENT=y" in the kernel configure or not.
Comment 21 Lan Tianyu 2011-07-21 07:45:14 UTC
Created attachment 66172 [details]
DSDT.hex
Comment 22 bugzilla 2011-07-21 14:05:12 UTC
Hello,

I have tried to recompile the kernel 2.6.37.5 to override the DSDT but unfortunatly there was an error : 
  CC [M]  drivers/net/igbvf/ethtool.o
  In file included from drivers/net/igbvf/ethtool.c:36:0:
  drivers/net/igbvf/igbvf.h:129:15: erreur: duplicate member ‘page’
  make[3]: *** [drivers/net/igbvf/ethtool.o] Erreur 1
  make[2]: *** [drivers/net/igbvf] Erreur 2
  make[1]: *** [drivers/net] Erreur 2
  make: *** [drivers] Erreur 2

So I have compiled the kernel 2.6.37.6 and overrided the DSDT (the brightness works in this version), and did what you told me.

I have compiled the kernel 2.6.39.3 and override the DSDT too. I have also done what you told me.

I will upload the files.

CONFIG_ACPI_PROC_EVENT=y is in the kernel config.
Comment 23 bugzilla 2011-07-21 14:06:14 UTC
Created attachment 66242 [details]
dmesg output after doing Fn + brightness up/down (with debug on and with kernel 2.6.37.6)
Comment 24 bugzilla 2011-07-21 14:07:18 UTC
Created attachment 66252 [details]
dmesg output after doing echo <number> /sys/class/backlight/acpi_video0/brightness (with debug on and with kernel 2.6.37.6)
Comment 25 bugzilla 2011-07-21 14:07:55 UTC
Created attachment 66262 [details]
dmesg output after doing echo <number> /sys/class/backlight/acpi_video0/brightness (with debug on and with kernel 2.6.37.6)
Comment 26 bugzilla 2011-07-21 14:09:09 UTC
Created attachment 66272 [details]
dmesg output after doing Fn + brightness up/down (with debug on and with kernel 2.6.39.3)
Comment 27 bugzilla 2011-07-21 14:09:56 UTC
Created attachment 66282 [details]
dmesg output after doing echo <number> > /sys/class/backlight/acpi_video0/brightness (with debug on and with kernel 2.6.39.3)
Comment 28 bugzilla 2011-07-21 14:11:25 UTC
(I have done first Fn + brightness up/down and then echo <number> > /sys/class/backlight/acpi_video0/brightness for each kernel)
Comment 29 Lan Tianyu 2011-07-25 08:17:32 UTC
Please make clean 2.6.38.1 kernel and make to compile successfully. 
Identify which version the issue is introduced. Thanks.
Comment 30 bugzilla 2011-07-25 17:23:47 UTC
Hello,

I really can't compile 2.6.38.1, even after doing a make clean (and even a make mrproper).

The error is the same :
  LD      arch/x86/crypto/built-in.o
  CC      arch/x86/kernel/process_32.o
  CC      arch/x86/kernel/signal.o
  AS      arch/x86/kernel/entry_32.o
/tmp/cc5ufEEA.s: Assembler messages:
/tmp/cc5ufEEA.s: Error: .size expression for apf_page_fault does not evaluate to a constant
make[2]: *** [arch/x86/kernel/entry_32.o] Erreur 1
make[1]: *** [arch/x86/kernel] Erreur 2
make: *** [arch/x86] Erreur 2

What can I do?
Comment 31 Lan Tianyu 2011-07-26 12:47:41 UTC
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6
git checkout v2.6.38-rc1.
I have check v2.6.38-rc1 on my machine. It's ok.
Comment 32 bugzilla 2011-07-28 09:43:40 UTC
I have tried with git and it still doesn't work (same error). 
What should I do?
Comment 33 Lan Tianyu 2011-08-01 02:34:17 UTC
Please update gcc and try again.
Comment 34 bugzilla 2011-08-01 07:54:34 UTC
Hello,

I am using the last version of gcc : 4.6.1.
Comment 35 Vasilis Lourdas 2011-08-05 06:18:49 UTC
Hi,

I'm also affected by the same issue. I own a HP Probook 6560b that has an integrated ATI Radeon 6470M card and I run the 3.0 kernel, however the brightness does not change when I press the corresponding keyboard keys. acpi_listen recognizes the events:

video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000
video/brightnessdown BRTDN 00000087 00000000
video/brightnessdown BRTDN 00000087 00000000
video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000

but kernel message log reports:

Aug  5 09:11:32 localhost logger: ACPI event unhandled: video/brightnessup BRTUP 00000086 00000000
Aug  5 09:11:32 localhost logger: ACPI event unhandled: video/brightnessdown BRTDN 00000087 00000000
Aug  5 09:11:33 localhost logger: ACPI event unhandled: video/brightnessdown BRTDN 00000087 00000000
Aug  5 09:11:33 localhost logger: ACPI event unhandled: video/brightnessdown BRTDN 00000087 00000000
Aug  5 09:11:33 localhost logger: ACPI event unhandled: video/brightnessup BRTUP 00000086 00000000
Aug  5 09:11:33 localhost logger: ACPI event unhandled: video/brightnessup BRTUP 00000086 00000000

If you need more information, please say so.
Comment 36 bugzilla 2011-08-08 08:26:18 UTC
Hello,

I have tried with Kernel 3.0, and it still doesn't work.
Comment 37 Lan Tianyu 2011-08-09 08:50:44 UTC
HI Vasileios:
   Is this a regression from 2.6.38? If no, please apply a new bug. This maybe is another bug.

HI bugzilla@ealexp.eu:
   I have no idea about the compile error. There are other releases between 2.6.37.6 and 2.6.38.1. (From git:2.6.37-rc7 2.6.37-rc8 and 2.6.38).I think you can bisect these to identify which version become bad. 

Did you test on the ARCHlinux kernel or upstream kernel?
Comment 38 Vasilis Lourdas 2011-08-09 08:56:54 UTC
(In reply to comment #37)
> HI Vasileios:
>    Is this a regression from 2.6.38? If no, please apply a new bug. This
>    maybe
> is another bug.

Since, this is a new setup, I wouldn't know if the issue persists from 2.6.38. I used 3.0.0 from the beginning. I will open a new bug, thanks.
Comment 39 bugzilla 2011-08-09 09:06:00 UTC
Hello,

What does "bisect" mean?

First I used the ArchLinux kernel, then I downloaded the kernel from kernel.org and compiled it. But I compiled it with the archlinux configuration. Is that bad? Should I configure it myself?
Comment 40 Lan Tianyu 2011-08-10 01:40:00 UTC
> What does "bisect" mean?
You can regard it as test those kernels to find a good one.

> First I used the ArchLinux kernel, then I downloaded the kernel from
> kernel.org
> and compiled it. But I compiled it with the archlinux configuration. Is that
> bad? Should I configure it myself?
That's ok with the archlinux configuration to compile the upstream kernel.
Comment 41 Lan Tianyu 2011-08-10 01:41:34 UTC
(In reply to comment #40)
> > What does "bisect" mean?
> You can regard it as test those kernels to find a good one.
Sorry. You can regard it as test those kernels to find the one which begin to become bad.
Comment 42 bugzilla 2011-08-16 09:35:02 UTC
Hello,

I will try that, but this means downloading and compiling a lot of kernels. Are you sure there isn't a quicker way to do it?
Comment 43 bugzilla 2011-08-24 08:06:51 UTC
Hello,

Do you know where I could download "git:2.6.37-rc7 2.6.37-rc8 and 2.6.38" kernel versions from, please?
Comment 44 Lan Tianyu 2011-08-29 12:17:42 UTC
Under the git kernel root directory.
run "git checkout v2.6.37-rc7"
others follow this rule.
Comment 45 Zhang Rui 2012-05-24 08:01:24 UTC
bug closed as there is no response from the bug reporter.
please feel free to reopen it if the problem still exists in the latest upstream kernel.

Note You need to log in before you can comment on or make changes to this bug.