Bug 43280

Summary: Intel GMA in Atom n2600 backlight brightness control keys not working in HP Mini
Product: ACPI Reporter: Joaquín Aramendía (samsagax)
Component: Power-VideoAssignee: Aaron Lu (aaron.lu)
Status: CLOSED OBSOLETE    
Severity: normal CC: aaron.lu, alan, lenb, nucleo, riccardo.brasca, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.4.0-030400-generic-pae Subsystem:
Regression: No Bisected commit-id:
Attachments: lspci from HP Mini 4100
dmesg from key backlight controls
dmesg after kernel 3.4 boot
acpidump of HP Mini 110-4100
Dmesg of 3.5-rc6 kernel after complete boot

Description Joaquín Aramendía 2012-05-22 19:45:36 UTC
Created attachment 73357 [details]
lspci from HP Mini 4100

Problem: Function keys don't control de backlight brightness and can't be controled by System Configuration either.

With stock Ubutnu distribution (both kernel and Xorg server) I get this:

No entries in /sys/class/backlight whit or withtout "acpi_backlight=vendor" grub line

Low level setpci command works
$ sudo setpci -s "00:02.0" F4.B="XX"
Where "XX" is anything between 00 and FF

On dmesg when pressing keyboard funciton keys:

Fn+F3 (Bright UP)
[17431.095998] atkbd serio0: Unknown key pressed (translated set 2, code 0xab on isa0060/serio0).
[17431.096022] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.
[17431.251467] atkbd serio0: Unknown key released (translated set 2, code 0xab on isa0060/serio0).
[17431.251484] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.

Fn+F3 (Bright DOWN)
[17464.391092] atkbd serio0: Unknown key pressed (translated set 2, code 0xab on isa0060/serio0).
[17464.391116] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.
[17464.487995] atkbd serio0: Unknown key released (translated set 2, code 0xab on isa0060/serio0).
[17464.488019] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.

Same happens with newwer kernel version: 3.4.0-030400-generic-pae
Comment 1 Joaquín Aramendía 2012-05-22 19:46:36 UTC
Created attachment 73358 [details]
dmesg from key backlight controls
Comment 2 Joaquín Aramendía 2012-05-22 19:48:19 UTC
Forgot bug reported on launchpad about this: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1001767
Comment 3 Zhang Rui 2012-05-23 06:36:57 UTC
please attach the dmesg output after boot.
please attach the acpidump output.
Comment 4 Alan 2012-05-24 12:11:50 UTC
Zhang: N2600 is Cedartrail so Imagination SGX545 graphics not Intel graphics. I know there are some things left to sort here on the graphics side too so it may be that not ACPI. I've added myself to the Cc.

Is the Ubuntu kernel built with the GMA500 driver or with the legacy gma500 stub driver ? If you are not sure the dmesg should answer this too
Comment 5 Joaquín Aramendía 2012-05-24 15:16:57 UTC
@Alan: I don't think is a Ubuntu bug only. Tested on Fedora too and the backlight controls didn't work either. Look at comment #6 in Launchpad bug:

"
On Fedora 17 beta Live session. 3d acceleration works, performance is not that great, but i can use Gnome-shell from live. The brightness issue is still the same as described, the same message in dmesg about the keycodes and the same non-existent /sys/class/backlight/* entries. Can't use the system settings brightness control either. So the problem is still the same but the 3d acceleration works for the Intel GMA.

Just to complete the answer:
$ uname -r
3.3.0-1.fc17.i686
"
Comment 6 Joaquín Aramendía 2012-05-24 15:24:07 UTC
Created attachment 73376 [details]
dmesg after kernel 3.4 boot
Comment 7 Joaquín Aramendía 2012-05-24 15:25:32 UTC
Created attachment 73377 [details]
acpidump of HP Mini 110-4100
Comment 8 Alan 2012-05-24 15:48:06 UTC
The GMA has no hardware acceleration support even in FC17 - thats the new software llvmpipe engine in use.

The Ubuntu case doesn't appear to be loading either the stub driver or the gma500 driver so ACPI video wouldn't have been initialised on the 3.4 kernel. Doesn't explain the keycode mystery. Not yet grabbed FC17 to see what it has enabled.

Alan
Comment 9 Joaquín Aramendía 2012-07-10 17:27:04 UTC
Some news in 3.5-rc6 kernel. Now keys are recognized but doesn't affect the brightness. Maybe a Xorg issue by now. Here are the details:

$ uname -r
3.5.0-030500rc6-generic
Running Ubuntu 12.04

Driver gma500_gfx loaded on boot.
Entries under /sys/class/backlight previously non-existent.
$ ls /sys/class/backlight/*
/sys/class/backlight/acpi_video0:
actual_brightness  brightness  max_brightness  subsystem  uevent
bl_power           device      power           type

/sys/class/backlight/psb-bl:
actual_brightness  brightness      power      type
bl_power           max_brightness  subsystem  uevent

Brightness is not changing but indicator both in OSE and System Configuration appear (before they didn't). I'll attach the dmesg
Comment 10 Joaquín Aramendía 2012-07-10 17:41:36 UTC
Created attachment 75181 [details]
Dmesg of 3.5-rc6 kernel after complete boot

Correction: gma500_gfx is not loaded at boot. Had to load it manually with modprobe. After that and restarting X brightness control didn't work.
Comment 11 Alan 2012-07-11 14:52:49 UTC
I can duplicate that on one of the netbooks I have here. Still investigating further.
Comment 12 Zhang Rui 2012-11-28 13:34:17 UTC
Alan,

any update on this?
Comment 13 Joaquín Aramendía 2012-12-23 00:51:43 UTC
Tested on Fedora 18-Beta (kernel 3.6.6). The keys for backlight control now work with kernel argument "acpi_backlight=vendor".

The monitor hotplug is not working, should I report a new bug on that one? If so, which information should I get?
Comment 14 nucleo 2012-12-23 13:57:07 UTC
I am not sure that my problem related with this bug but last kernel with working Fn+F5/F6 keys on Asus X101CH with Intel GMA 3600 was kernel-3.5.6, running with Fedora 17 and KDE.

With kernnel-3.5.6 and "acpi_backlight=vendor" kernel parameter acpi_listen output when Fn+F5/F6 keys pressed

video/brightnessdown BRTDN 00000087 00000000
 PNP0C14:00 000000d2 00000000
video/brightnessup BRTUP 00000086 00000000
 PNP0C14:00 000000d2 00000000

But with any 3.6.x or 3.7.0 kernels with and without "acpi_backlight=vendor" parameter acpi_listen don't show BRTDN/BRTUP

 PNP0C14:00 000000d2 00000000
 PNP0C14:00 000000d2 00000000

so impossible to change brightness with Fn+F5/F6 keys but brightness can be changed from KDE "Battery Monitor" widget.
Comment 15 Riccardo Brasca 2013-01-27 16:45:14 UTC
Any news about this? With kernel 3.7.3 on debian it still does not work.
Comment 16 Aaron Lu 2013-03-04 07:30:48 UTC
(In reply to comment #13)
> Tested on Fedora 18-Beta (kernel 3.6.6). The keys for backlight control now
> work with kernel argument "acpi_backlight=vendor".

This means acpi video driver can't handle backlight, and the gma driver can work.

And the _BCM control method is pretty simple, it just did a memory write in the EC memory space to change brightness level, so it is perhaps a EC firmware bug.

> 
> The monitor hotplug is not working, should I report a new bug on that one? If
> so, which information should I get?

Yes please. Information like which kernels have the problem and which don't, dmesg, acpidump.out would be helpful, thanks.
Comment 17 Aaron Lu 2013-03-04 07:56:27 UTC
(In reply to comment #14)
> I am not sure that my problem related with this bug but last kernel with
> working Fn+F5/F6 keys on Asus X101CH with Intel GMA 3600 was kernel-3.5.6,
> running with Fedora 17 and KDE.
> 
> With kernnel-3.5.6 and "acpi_backlight=vendor" kernel parameter acpi_listen
> output when Fn+F5/F6 keys pressed
> 
> video/brightnessdown BRTDN 00000087 00000000
>  PNP0C14:00 000000d2 00000000
> video/brightnessup BRTUP 00000086 00000000
>  PNP0C14:00 000000d2 00000000
> 
> But with any 3.6.x or 3.7.0 kernels with and without "acpi_backlight=vendor"
> parameter acpi_listen don't show BRTDN/BRTUP
> 
>  PNP0C14:00 000000d2 00000000
>  PNP0C14:00 000000d2 00000000
> 
> so impossible to change brightness with Fn+F5/F6 keys but brightness can be
> changed from KDE "Battery Monitor" widget.

Please file a new bug for your problem, this is not the same, thanks.
And please attach acpidump when filing the bug:
# acpidump > acpidump.out

It would be great if you can give the offending commit with a git bisect :-)
Assume the bug code lies in drivers/platform/x86, you can try the following 2 commits to start with:
possibly bad:  eceeb4371240aff22e9a535a2bc57d2311820942
possibly good: 17621e11fda095459e2f986c019f52686c7a4ffb
Thanks.
Comment 18 Aaron Lu 2013-03-14 05:43:06 UTC
Fixed somewhere by Intel graphics driver in v3.6 for Joaquín, acpi video driver still does not work, need acpi_backlight=vendor to work.