Bug 43307 - Brightness control does not work on HP Pavilion dv6-6b45eo laptop
Summary: Brightness control does not work on HP Pavilion dv6-6b45eo laptop
Status: CLOSED UNREPRODUCIBLE
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Video (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Zhang Rui
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-27 23:48 UTC by Sami Liedes
Modified: 2012-11-21 01:28 UTC (History)
4 users (show)

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


Attachments
dmesg with acpi.debug_level=39 acpi.debug_layer=0x10000000 (66.82 KB, text/x-log)
2012-05-27 23:48 UTC, Sami Liedes
Details
lspci -vvvnn output (32.43 KB, text/plain)
2012-05-27 23:49 UTC, Sami Liedes
Details
acpidump output (312.53 KB, text/plain)
2012-05-27 23:49 UTC, Sami Liedes
Details
acpidump of system with acpica error (308.14 KB, text/plain)
2012-11-13 12:58 UTC, Raffaello D. Di Napoli
Details

Description Sami Liedes 2012-05-27 23:48:35 UTC
Created attachment 73432 [details]
dmesg with acpi.debug_level=39 acpi.debug_layer=0x10000000

Setting display brightness level, either via the hotkeys or via /sys/class/backlight/acpi_video1/brightness, has no effect.

Booting with acpi_backlight=vendor does not make the hotkeys work (but removes the device from /sys/class/backlight).

Changing the brightness via /sys/class/backlight/acpi_video1/brightness has only the result that the new value can after that be read from brightness or actual_brightness.

Booting with acpi.debug_level=39 acpi.debug_layer=0x10000000 reports finding 11 backlight levels:

[   45.528981]    video-0732 [00] video_init_brightness : found 11 brightness levels

OTOH dmesg contains this message (this may be related to the fact that this laptop has dual Intel/Radeon GPUs):

[   45.529448] video: probe of LNXVIDEO:00 failed with error -5

See attachments:

1) dmesg with acpi.debug_level=39 acpi.debug_layer=0x10000000
2) lspci -vvv output
3) acpidump output
Comment 1 Sami Liedes 2012-05-27 23:49:30 UTC
Created attachment 73433 [details]
lspci -vvvnn output
Comment 2 Sami Liedes 2012-05-27 23:49:56 UTC
Created attachment 73434 [details]
acpidump output
Comment 3 linux 2012-06-16 17:44:54 UTC
I have the same problem using kernel 3.4 and 3.5. The patch for bug #43168 solves the issue.

https://bugzilla.kernel.org/show_bug.cgi?id=43168#c15
Comment 4 Sami Liedes 2012-06-17 12:05:22 UTC
On a similar HP Pavilion?

That patch does not seem to solve the problem for me. Moreover the dmesg output is different, and in my case the kernel believes it is using backlight, it just does not have any effect.
Comment 5 linux 2012-06-17 15:50:11 UTC
Sorry, I meant I had the same symptoms, but with a Sony VAIO.
- Brightness control found
- Brightness can be changed in the proc files, but has no physical effect
- the video probe failed with error -5

Maybe you should try the patch from bug #43168 comment #8 to see why video probing fails and post the dmesg output
Comment 6 Sami Liedes 2012-06-18 11:50:02 UTC
The reason for video probe failing seems to be the same as in #43168:

[   29.593330] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
[   29.717221] acpi device:2f: registered as cooling_device8
[   29.717723] Video Debug: Failed to evaluate _DOS
[   29.717734] Video Debug: acpi_video_bus_start_devices failed
[   29.717943] video: probe of LNXVIDEO:00 failed with error -5
[   29.833196] acpi device:3c: registered as cooling_device8
[   29.834153] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:01/input/input10
[   29.834240] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[   29.834307] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
Comment 7 Sami Liedes 2012-06-18 18:15:06 UTC
After applying the patch from bug #43168 there are in fact two backlight devices (which makes sense because the probe for the other one failed previously).

When I use the brightness keys in X to change brightness, both /sys/class/backlight/acpi_video[01]/brightness change, as does the actual_brightness for both devices. They can also be changed by writing to those files. Unfortunately none of this has any effect whatsoever on the actual brightness of the backlight.
Comment 8 Raffaello D. Di Napoli 2012-10-12 00:16:14 UTC
Same issue here, on an HP Pavilion dv7-6c95dx with Intel Core i7-2670QM (Sandy Bridge) running Gentoo Linux with kernel 3.4.9.
These errors always come in pairs, whenever I try to use the keys Fn+F2 or Fn+F3 (brightness adjustment):

ACPI Error: [^^^PEG0.PEGP.DD02] Namespace lookup failure, AE_NOT_FOUND (20120320/psargs-359)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC__._Q17] (Node ffff880246833b18), AE_NOT_FOUND (20120320/psparse-536)

The thing that really frustrates me is that this seems to come and go: when I initially bought this computer, it was not working; then after I found out about the acpi_backlight=vendor option, and it started working; subsequently an upgrade or kernel recompilation broke it, but after some other upgrade it resumed working; now it magically stopped working again.

Right now I’m playing again with the kernel options and the packages I upgraded recently (including xfce4-power-manager) to see if I manage to figure out what is it that determines whether or not the brightness adjustment works.
Comment 9 Raffaello D. Di Napoli 2012-10-12 00:22:23 UTC
Forgot to mention, intel_backlight from intel-gpu-tools now works, just like manually executing

  echo 1500 >/sys/class/backlight/intel_backlight/brightness

I don’t know if they would’ve worked the previous times the backlight adjustment didn’t work.
Comment 10 Robert Moore 2012-10-12 21:24:48 UTC
(In reply to comment #8)
> ACPI Error: [^^^PEG0.PEGP.DD02] Namespace lookup failure, AE_NOT_FOUND
> (20120320/psargs-359)
> ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC__._Q17] (Node
> ffff880246833b18), AE_NOT_FOUND (20120320/psparse-536)

It is not clear what is going on. The object [^^^PEG0.PEGP.DD02] does in fact appear in one of the SSDTs, and the _Q17 method executes properly here:

Executing with AcpiExec:

> acpiexec dsdt.dat ssdt6.dat

- find DD02
       \_SB_.PCI0.PEG0.PEGP.DD02 Device       00504430 04
            \_SB_.PCI0.GFX0.DD02 Device       004D17E0 01

- find _Q17
       \_SB_.PCI0.LPCB.EC__._Q17 Method       004C0420 01 Args 0 Len 002E Aml 00492187

- eval \_SB_.PCI0.LPCB.EC__._Q17
Evaluating \_SB_.PCI0.LPCB.EC__._Q17
[AcpiExec] Global:    Received a Device Notify on [DD02] 004D17E0 Value 0x87 (Device Specific)
[AcpiExec] Global:    Received a Device Notify on [DD02] 00504430 Value 0x87 (Device Specific)
0x2 Outstanding allocations after evaluation of \_SB_.PCI0.LPCB.EC__._Q17
No object was returned from evaluation of \_SB_.PCI0.LPCB.EC__._Q17
-

This is with ACPICA version 20120913. We may have to attempt to reproduce the problem with version 20120320.
Comment 11 Raffaello D. Di Napoli 2012-10-13 15:52:35 UTC
Today I decided to grab the bull by the horns, so I did a few more attempts.
First, I’m now running a stock 3.6.1 kernel. This is what I get now:

ACPI Error: [^^^PEG0.PEGP.DD02] Namespace lookup failure, AE_NOT_FOUND (20120711/psargs-359)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC__._Q18] (Node ffff880246833b40), AE_NOT_FOUND (20120711/psparse-536)

Basically, it looks like the only change is the version of ACPICA I’m running; everything else is still the same: the buttons don’t work, but I can manually adjust the brightness echoing the new level to sysfs.


I did notice today that I’m getting notifications in my syslog from acpid; it seems to actually receive the keypresses, it just doesn’t know what to do with them.
So I quickly wrote an acpid event handler which invokes a shell script to do the adjustment matching the key that was pressed, and now the keys magically work!

I’m not sure I would call it a fix, since I still get the namespace lookup failure, but in the end I got the functionality I was after, so I’m good for now.

Of course if you want me to test kernel patches or provide more information, I’m still available. Also, if anyone reading is interested in the acpid script, I can attach the two files here.
Comment 12 Zhang Rui 2012-11-13 07:45:23 UTC
I think Sami and Raffaello have two different problem.


ACPI Error: [^^^PEG0.PEGP.DD02] Namespace lookup failure, AE_NOT_FOUND
(20120320/psargs-359)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC__._Q17] (Node
ffff880246833b18), AE_NOT_FOUND (20120320/psparse-536)

this error message only exists in Raffaello's box, right?

Raffaello,
please attach the acpidump of your box.
Bob,
you are probably looking at Sami's acpidump which does not have the ACPICA error message.

(In reply to comment #9)
> Forgot to mention, intel_backlight from intel-gpu-tools now works, just like
> manually executing
> 
>   echo 1500 >/sys/class/backlight/intel_backlight/brightness
> 
Sami,
does this work for you?
or you still have two entries under /sys/class/backlight/, while none of them actually works?
Comment 13 Raffaello D. Di Napoli 2012-11-13 12:58:50 UTC
Created attachment 86311 [details]
acpidump of system with acpica error
Comment 14 Raffaello D. Di Napoli 2012-11-13 13:02:59 UTC
I did not realize that the original reporter’s issue does NOT involve the acpica error message I get. If so, sorry about diverting the bug. I will create a new separate one.
Comment 15 Zhang Rui 2012-11-14 01:19:12 UTC
(In reply to comment #13)
> Created an attachment (id=86311) [details]
> acpidump of system with acpica error

External (\_SB_.PCI0.PEG0.PEGP.DD02)

this is the problem, there is no \_SB_.PCI0.PEG0.PEGP.DD02 device defined in the ACPI namespace actually. :)
Comment 16 Sami Liedes 2012-11-16 22:42:55 UTC
Zhang: I cannot test, as I no longer have the laptop. But with the then-current kernel I'm fairly sure I explored everything in /sys/class/backlight/ and got nothing to affect the brightness.
Comment 17 Zhang Rui 2012-11-21 01:28:37 UTC
well, as you no longer have the laptop, I'd prefer to close the bug for now.
I'll reopen it when there is someone own the same laptop that can be used for debugging.

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