Bug 48731 - Backlight is not adjustable on HP 655 laptop
Summary: Backlight is not adjustable on HP 655 laptop
Status: CLOSED WILL_NOT_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Video (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Aaron Lu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-13 14:26 UTC by melchiaros
Modified: 2013-04-09 05:06 UTC (History)
3 users (show)

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


Attachments
proc/modules output (4.65 KB, text/plain)
2012-10-13 14:38 UTC, melchiaros
Details
proc/ioports (1.20 KB, text/plain)
2012-10-13 14:39 UTC, melchiaros
Details
proc/iomem (2.47 KB, text/plain)
2012-10-13 14:41 UTC, melchiaros
Details
lspci -vvv (29.36 KB, text/plain)
2012-10-13 14:44 UTC, melchiaros
Details
proc/scsi (549 bytes, text/plain)
2012-10-13 14:45 UTC, melchiaros
Details
var_log_dmesg (60.16 KB, text/plain)
2012-10-13 14:51 UTC, melchiaros
Details
proc/acpi (1.03 KB, text/plain)
2012-10-13 14:57 UTC, melchiaros
Details
sys/class/backlight (70 bytes, text/plain)
2012-10-13 15:00 UTC, melchiaros
Details
acpidump (301.66 KB, text/plain)
2012-10-13 15:01 UTC, melchiaros
Details
acpiextract (219 bytes, text/plain)
2012-10-13 15:03 UTC, melchiaros
Details
DSDT.dat (56.52 KB, application/x-ns-proxy-autoconfig)
2012-10-13 15:05 UTC, melchiaros
Details
SSDT1.dat (990 bytes, application/x-ns-proxy-autoconfig)
2012-10-13 15:06 UTC, melchiaros
Details
SSDT2.dat (5.70 KB, application/x-ns-proxy-autoconfig)
2012-10-13 15:06 UTC, melchiaros
Details
DSDT.dsl (456.50 KB, text/plain)
2012-10-13 15:07 UTC, melchiaros
Details
fwts results.log (100.68 KB, text/x-log)
2012-10-13 15:09 UTC, melchiaros
Details
fwts_method results.log (143.28 KB, text/plain)
2012-10-13 15:11 UTC, melchiaros
Details
dmesg_grep_ACPI_video (138 bytes, text/plain)
2012-10-13 15:13 UTC, melchiaros
Details
dmicode.log (9.20 KB, text/plain)
2012-10-13 15:13 UTC, melchiaros
Details
Test DSDT table (56.18 KB, application/octet-stream)
2013-03-18 05:43 UTC, Aaron Lu
Details

Description melchiaros 2012-10-13 14:26:44 UTC
I could not adjust the backlite of my HP 655 laptop.

Original vendor website:
http://h10010.www1.hp.com/wwpc/us/en/sm/WF05a/321957-321957-64295-3740644-3955548-5225017.html?dnr=1

The gnome-brightness applet is startable and the keys for brightness adjustment (F2 for less and F3 for more) are recognized by the system and can set the Software values, but also there is no real effect.

A check of

/sys/class/backlight

shows a redirect to

acpi_video0

which contains different entries like files for brightness.

So it is a bug of the type: "Backlight control does not work, but there are entries in /sys/class/backlight"

The laptop was originally delivered with a SUSE Linux Enterprise desktop 11 on Service Pack 2, which has contained kernel 3.0.x. On this kernel version the Backlight was working. Unfortunally the SLED 11 SP2 was a obvious adapted one by HP with poperitary Software components. Following this the vanilla 3.0.x kernel may also not be able to handle the backlight with success.

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: linux-image-3.5.0-15-generic 3.5.0-15.22
ProcVersionSignature: Ubuntu 3.5.0-15.22-generic 3.5.4
Uname: Linux 3.5.0-15-generic x86_64
ApportVersion: 2.5.2-0ubuntu4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: user 2468 F.... pulseaudio
 /dev/snd/controlC0: user 2468 F.... pulseaudio
Date: Sat Sep 22 18:01:28 2012
HibernationDevice: RESUME=UUID=8bceb372-d432-423b-8584-7c87de9a2038
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120722)
Lsusb:
 Bus 001 Device 002: ID 04f2:b2f4 Chicony Electronics Co., Ltd
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Hewlett-Packard HP 655 Notebook PC
ProcEnviron:
 PATH=(custom, no username)
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-15-generic root=UUID=90fd01e1-3896-4a96-babc-048fb146d8e0 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.5.0-15-generic N/A
 linux-backports-modules-3.5.0-15-generic N/A
 linux-firmware 1.93
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/27/2012
dmi.bios.vendor: Insyde
dmi.bios.version: F.02
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 1885
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 66.11
dmi.chassis.asset.tag: Chassis Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnInsyde:bvrF.02:bd04/27/2012:svnHewlett-Packard:pnHP655NotebookPC:pvr0798100000005210002600000:rvnHewlett-Packard:rn1885:rvr66.11:cvnHewlett-Packard:ct10:cvrChassisVersion:
dmi.product.name: HP 655 Notebook PC
dmi.product.version: 0798100000005210002600000
dmi.sys.vendor: Hewlett-Packard
---
ApportVersion: 2.5.3-0ubuntu1
Architecture: amd64
DistroRelease: Ubuntu 12.10
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120722)
Package: linux (not installed)
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
Tags: quantal running-unity
Uname: Linux 3.6.0-030600rc7-generic x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
---
ApportVersion: 2.6.1-0ubuntu3
Architecture: amd64
DistroRelease: Ubuntu 12.10
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120722)
Package: linux (not installed)
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
Tags: quantal running-unity
Uname: Linux 3.6.2-030602-generic x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
Comment 1 melchiaros 2012-10-13 14:31:34 UTC
Give me some time to get organized this(attachments).
Comment 2 melchiaros 2012-10-13 14:34:32 UTC
user@user-HP-655-Notebook-PC:/$ lsb_release -rd 
Description:	Ubuntu 12.10
Release:	12.10
Comment 3 melchiaros 2012-10-13 14:35:32 UTC
user@user-HP-655-Notebook-PC:/$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 20
model		: 2
model name	: AMD E2-1800 APU with Radeon(tm) HD Graphics
stepping	: 0
microcode	: 0x500010d
cpu MHz		: 850.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 6
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat hw_pstate npt lbrv svm_lock nrip_save pausefilter
bogomips	: 3393.92
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 20
model		: 2
model name	: AMD E2-1800 APU with Radeon(tm) HD Graphics
stepping	: 0
microcode	: 0x500010d
cpu MHz		: 850.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 6
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat hw_pstate npt lbrv svm_lock nrip_save pausefilter
bogomips	: 3393.92
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
Comment 4 melchiaros 2012-10-13 14:38:36 UTC
Created attachment 83211 [details]
proc/modules output
Comment 5 melchiaros 2012-10-13 14:39:57 UTC
Created attachment 83221 [details]
proc/ioports
Comment 6 melchiaros 2012-10-13 14:41:12 UTC
Created attachment 83231 [details]
proc/iomem
Comment 7 melchiaros 2012-10-13 14:44:06 UTC
Created attachment 83241 [details]
lspci -vvv
Comment 8 melchiaros 2012-10-13 14:45:56 UTC
Created attachment 83251 [details]
proc/scsi
Comment 9 melchiaros 2012-10-13 14:51:18 UTC
Created attachment 83261 [details]
var_log_dmesg
Comment 10 melchiaros 2012-10-13 14:57:14 UTC
Created attachment 83271 [details]
proc/acpi
Comment 11 melchiaros 2012-10-13 15:00:43 UTC
Created attachment 83281 [details]
sys/class/backlight
Comment 12 melchiaros 2012-10-13 15:01:44 UTC
Created attachment 83291 [details]
acpidump
Comment 13 melchiaros 2012-10-13 15:03:36 UTC
Created attachment 83301 [details]
acpiextract
Comment 14 melchiaros 2012-10-13 15:05:51 UTC
Created attachment 83311 [details]
DSDT.dat
Comment 15 melchiaros 2012-10-13 15:06:21 UTC
Created attachment 83321 [details]
SSDT1.dat
Comment 16 melchiaros 2012-10-13 15:06:48 UTC
Created attachment 83331 [details]
SSDT2.dat
Comment 17 melchiaros 2012-10-13 15:07:33 UTC
Created attachment 83341 [details]
DSDT.dsl
Comment 18 melchiaros 2012-10-13 15:09:27 UTC
Created attachment 83351 [details]
fwts results.log
Comment 19 melchiaros 2012-10-13 15:11:25 UTC
Created attachment 83361 [details]
fwts_method results.log
Comment 20 melchiaros 2012-10-13 15:13:05 UTC
Created attachment 83371 [details]
dmesg_grep_ACPI_video
Comment 21 melchiaros 2012-10-13 15:13:58 UTC
Created attachment 83381 [details]
dmicode.log
Comment 22 melchiaros 2012-10-13 15:15:35 UTC
I have tried to follow this

https://wiki.ubuntu.com/Bugs/Upstream/kernel

and this 

https://wiki.ubuntu.com/Kernel/Debugging/Backlight

guide.
Comment 23 melchiaros 2012-10-13 15:16:51 UTC
Hope I have all requiered infromation gathered.


greetings

melchiaros
Comment 24 melchiaros 2012-10-13 15:17:23 UTC
The original report can be found at:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1054647
Comment 25 Zhang Rui 2012-11-28 16:37:46 UTC
what if you echo different values, from 0 to /sys/class/backlight/acpi_video0/max_brightness to /sys/class/backlight/acpi_video0/brightness? 
is the backlight actually changed?
Comment 26 melchiaros 2012-11-29 19:11:58 UTC
No, does not change.

Still present with kernel 3.7rc6
Comment 27 melchiaros 2012-11-29 19:14:01 UTC
Sorry, I am not verry experienced with bugzilla. Could you please set it back to new(What is the right status here?)
Comment 28 Stefan Weiser 2013-01-03 09:17:14 UTC
I have the same problem (also in 3.7). The proprietary driver of AMD fglrx seems to fix the problem.

The requested values are:

cat /sys/class/backlight/acpi_video0/max_brightness
10

When pressing those fn-keys for brightness the value of /sys/class/backlight/acpi_video0/brightness changes between 0 and 10. Default is 6. Ubuntu also displays this change, but the brightness do not change. I guess there is something special with the ACPI internals of this display?
Comment 29 melchiaros 2013-01-12 10:29:22 UTC
Still there with kernel3.8rc3
Comment 30 Aaron Lu 2013-03-15 01:38:20 UTC
Is there a known working kernel? Or it always failed?
Thanks.
Comment 31 melchiaros 2013-03-16 11:08:19 UTC
There is no working kernel.
Comment 32 Aaron Lu 2013-03-18 05:43:31 UTC
Created attachment 95671 [details]
Test DSDT table

Please try this hacked DSDT table, see if manually poke /sys/class/backlight/acpi_video0/brightness works, and if hotkey works, thanks.
Comment 33 Aaron Lu 2013-03-21 06:48:14 UTC
Hi melchiaros,

Any update?

And here is a document on how to override DSDT table in initrd:

https://github.com/torvalds/linux/blob/master/Documentation/acpi/initrd_table_override.txt
Comment 34 melchiaros 2013-03-21 10:31:33 UTC
Sorry, my queqe is full in moment. I will not come up with the lest until the end of the next week.

There are 3 people affected by this.

Could anybody do in faster?

Thanks 

melchiaros
Comment 35 Aaron Lu 2013-03-28 07:53:22 UTC
(In reply to comment #28)
> I have the same problem (also in 3.7). The proprietary driver of AMD fglrx
> seems to fix the problem.

I'm confused by this, what do you mean by fix? Manually poke work or fn key work? And when it works, please list /sys/class/backlight, thanks.

> 
> The requested values are:
> 
> cat /sys/class/backlight/acpi_video0/max_brightness
> 10
> 
> When pressing those fn-keys for brightness the value of
> /sys/class/backlight/acpi_video0/brightness changes between 0 and 10. Default
> is 6. Ubuntu also displays this change, but the brightness do not change. I
> guess there is something special with the ACPI internals of this display?

This means acpi video driver can't handle backlight, it probably is a bug of the acpi table.
Comment 36 Stefan Weiser 2013-03-28 19:16:23 UTC
(In reply to comment #35)
> (In reply to comment #28)
> > I have the same problem (also in 3.7). The proprietary driver of AMD fglrx
> > seems to fix the problem.
> 
> I'm confused by this, what do you mean by fix? Manually poke work or fn key
> work? And when it works, please list /sys/class/backlight, thanks.

Both things work. Even if you use the radeon driver of the kernel, hitting fn keys will result in changing backlight value of the kernel. Ubuntu and Mint display these changes visually.

So the difference between radeon and fglrx is, that the lcd display of the laptop won't change brightness, when the kernel value in /sys/class/backlight does change.

I'm sorry, but I am not very experienced in kernel hacking. I think, that I am not able to apply the DSDT to my laptop. I tried to apply the file inspired by the linked site, but after this there are no dmesg lines, that indicate, that the custom DSDT table is used. Also changing the kernel values in /sys/class/backlight won't change brightness of the display.

I think I did something wrong. I will try it again with another tutorial.
Comment 37 Aaron Lu 2013-03-29 03:04:31 UTC
(In reply to comment #36)
> (In reply to comment #35)
> > (In reply to comment #28)
> > > I have the same problem (also in 3.7). The proprietary driver of AMD
> fglrx
> > > seems to fix the problem.
> > 
> > I'm confused by this, what do you mean by fix? Manually poke work or fn key
> > work? And when it works, please list /sys/class/backlight, thanks.
> 
> Both things work. Even if you use the radeon driver of the kernel, hitting fn
> keys will result in changing backlight value of the kernel. Ubuntu and Mint
> display these changes visually.
> 
> So the difference between radeon and fglrx is, that the lcd display of the
> laptop won't change brightness, when the kernel value in /sys/class/backlight
> does change.

Please list the output of the following command:
$ ls /sys/class/backlight

I need to know which file exists there, thanks.

> 
> I'm sorry, but I am not very experienced in kernel hacking. I think, that I
> am
> not able to apply the DSDT to my laptop. I tried to apply the file inspired
> by
> the linked site, but after this there are no dmesg lines, that indicate, that
> the custom DSDT table is used. Also changing the kernel values in
> /sys/class/backlight won't change brightness of the display.
> 
> I think I did something wrong. I will try it again with another tutorial.

Don't, unless your laptop is also HP 655. Is it the case?
Comment 38 Stefan Weiser 2013-03-30 12:19:37 UTC
$ ls /sys/class/backlight
acpi_video0

> Don't, unless your laptop is also HP 655. Is it the case?

That is the reason, why I am posting here!? It is an HP 655. But the product number is more important on HP laptops: It is B6M62EA#ABD.
Comment 39 Aaron Lu 2013-04-01 01:21:46 UTC
(In reply to comment #38)
> $ ls /sys/class/backlight
> acpi_video0
> 
> > Don't, unless your laptop is also HP 655. Is it the case?
> 
> That is the reason, why I am posting here!? It is an HP 655. But the product
> number is more important on HP laptops: It is B6M62EA#ABD.

Then please attach your acpidump.
Comment 40 Aaron Lu 2013-04-08 08:29:18 UTC
This is the _BCM for this system:

Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
{
    Store (One, DFBL)
    Store (Divide (Arg0, 0x0A, ), Local0)
    If (LEqual (^^^LPC0.EC0.VRID, Zero))
    {
        Acquire (^^^LPC0.PSMX, 0xFFFF)
        Store (BGTB (PBCM, ShiftLeft (Local0, One)), ^^^LPC0.EC0.LPWN)
        Release (^^^LPC0.PSMX)
    }
    Else
    {
        Store (BGTB (PBCM, ShiftLeft (Local0, One)), Local3)
        AFN7 (Local3)
    }
}

And this is AFN7:
Method (AFN7, 1, Serialized)
{
    CreateBitField (PSBR, 0x07, PBRT)
    Store (One, PBRT)
    CreateByteField (ATIB, 0x0C, BRTL)
    Store (Arg0, BRTL)
    Notify (VGA, 0xD0)
}

My guess is, when fglrx driver is not installed, the VRID variable in EC space will be zero, and EC firmware is expected to change the backlight on _BCM call, but obviously, nothing happened, so EC firmware doesn't do anything. And when fglrx is installed, it will change VRID to 1, and it will install a notify handler for VGA to handle the 0xD0 notification value, and then to change the backlight according to the value AFN7 has saved in PBRT/BRTL.

So quite frankly, I don't see anything we can do in video driver to fix this problem, you will always need the fglrx driver for backlight control here.

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