Bug 11949

Summary: ACPI brightness control doesn't work when X is started- Samsung R70 T7300 notebook, nVidia GeForce 8600M GS
Product: Drivers Reporter: Adrian Scisly (drunkenkilla)
Component: PlatformAssignee: Zhang Rui (rui.zhang)
Status: REJECTED INVALID    
Severity: normal CC: acpi-bugzilla
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.27-7-generic Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: video_brightnessup
video_brightnessdown
acpidump
brightness

Description Adrian Scisly 2008-11-03 14:44:39 UTC
Latest working kernel version:none
Earliest failing kernel version:
Distribution:Ubuntu 8.10
Hardware Environment: Samsung R70 T7300
Software Environment: gnome 2.24.1
Problem Description:

The screen-brightness hotkeys doesn't work. i can't regulate the brightness...

Steps to reproduce:try to change brightness using hotkeys, gnome-applet, etc

drunkenkilla@drunkenkilla-laptop:~$ uname -r
2.6.27-7-generic

[11883.878455] atkbd.c: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
[11883.878473] atkbd.c: Use 'setkeycodes e008 <keycode>' to make it known.
[11884.073022] atkbd.c: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
[11884.073039] atkbd.c: Use 'setkeycodes e008 <keycode>' to make it known.
[11884.272721] atkbd.c: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
[11884.272738] atkbd.c: Use 'setkeycodes e008 <keycode>' to make it known.
[11884.600406] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[11884.600424] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.
[11884.789846] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[11884.789863] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.
[11884.974169] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[11884.974183] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.
[11885.178988] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[11885.179009] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.
[11885.363303] atkbd.c: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
[11885.363313] atkbd.c: Use 'setkeycodes e008 <keycode>' to make it known.
[11885.644919] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[11885.644931] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.
[11885.834358] atkbd.c: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
[11885.834373] atkbd.c: Use 'setkeycodes e008 <keycode>' to make it known.
[11886.059638] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[11886.059652] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.

drunkenkilla@drunkenkilla-laptop:~$ lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation GeForce 8600M GS (rev a1)
03:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E Gigabit Ethernet Controller (rev 13)
05:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4)
05:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18)
05:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 09)
05:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 04)
05:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)
Comment 1 Zhang Rui 2008-11-03 18:18:41 UTC
does the backlight sysfs I/F work for you?
i.e. can poking /sys/class/backlight/acpi_videoX/... change the backlight?

please run "grep . /sys/firmware/acpi/interrupts/*" both before and after pressing the hotkey and attach the test result.

please attach the acpidump as well.
Comment 2 Adrian Scisly 2008-11-04 00:01:10 UTC
Created attachment 18647 [details]
video_brightnessup
Comment 3 Adrian Scisly 2008-11-04 00:02:35 UTC
Created attachment 18648 [details]
video_brightnessdown
Comment 4 Adrian Scisly 2008-11-04 00:11:11 UTC
1)
drunkenkilla@drunkenkilla-laptop:~$ cat /sys/class/backlight/acpi_video0/max_brightness 
5

drunkenkilla@drunkenkilla-laptop:~$ cat /sys/class/backlight/acpi_video0/brightness 
5

root@drunkenkilla-laptop:~# echo -n 3 > /sys/class/backlight/acpi_video0/brightness 

root@drunkenkilla-laptop:~# echo -n 1 > /sys/class/backlight/acpi_video0/brightness 

nothin' changed.

2)
drunkenkilla@drunkenkilla-laptop:~$ grep . /sys/firmware/acpi/interrupts/*
/sys/firmware/acpi/interrupts/error:       0
/sys/firmware/acpi/interrupts/ff_gbl_lock:       0	enable
/sys/firmware/acpi/interrupts/ff_pmtimer:       0  invalid
/sys/firmware/acpi/interrupts/ff_pwr_btn:       0	enable
/sys/firmware/acpi/interrupts/ff_rt_clk:       0  invalid
/sys/firmware/acpi/interrupts/ff_slp_btn:       0  invalid
/sys/firmware/acpi/interrupts/gpe00:       0  invalid
/sys/firmware/acpi/interrupts/gpe01:       0	enable
/sys/firmware/acpi/interrupts/gpe02:       0	enable
/sys/firmware/acpi/interrupts/gpe03:       0  invalid
/sys/firmware/acpi/interrupts/gpe04:       0  invalid
/sys/firmware/acpi/interrupts/gpe05:       0  invalid
/sys/firmware/acpi/interrupts/gpe06:       0  invalid
/sys/firmware/acpi/interrupts/gpe07:       0  invalid
/sys/firmware/acpi/interrupts/gpe08:       0  invalid
/sys/firmware/acpi/interrupts/gpe09:       0  invalid
/sys/firmware/acpi/interrupts/gpe0A:       0  invalid
/sys/firmware/acpi/interrupts/gpe0B:       0	enable
/sys/firmware/acpi/interrupts/gpe0C:       0  invalid
/sys/firmware/acpi/interrupts/gpe0D:       0  invalid
/sys/firmware/acpi/interrupts/gpe0E:       0  invalid
/sys/firmware/acpi/interrupts/gpe0F:       0  invalid
/sys/firmware/acpi/interrupts/gpe10:       0  invalid
/sys/firmware/acpi/interrupts/gpe11:       0  invalid
/sys/firmware/acpi/interrupts/gpe12:       0  invalid
/sys/firmware/acpi/interrupts/gpe13:       0  invalid
/sys/firmware/acpi/interrupts/gpe14:       0  invalid
/sys/firmware/acpi/interrupts/gpe15:       0  invalid
/sys/firmware/acpi/interrupts/gpe16:       0  invalid
/sys/firmware/acpi/interrupts/gpe17:     440	enable
/sys/firmware/acpi/interrupts/gpe18:       0	enable
/sys/firmware/acpi/interrupts/gpe19:       0  invalid
/sys/firmware/acpi/interrupts/gpe1A:       0  invalid
/sys/firmware/acpi/interrupts/gpe1B:       0  invalid
/sys/firmware/acpi/interrupts/gpe1C:       0  invalid
/sys/firmware/acpi/interrupts/gpe1D:       0  invalid
/sys/firmware/acpi/interrupts/gpe1E:       0  invalid
/sys/firmware/acpi/interrupts/gpe1F:       0  invalid
/sys/firmware/acpi/interrupts/gpe_all:     440
/sys/firmware/acpi/interrupts/sci:     440

and now pressing FN-Keys:

drunkenkilla@drunkenkilla-laptop:~$ grep . /sys/firmware/acpi/interrupts/*
/sys/firmware/acpi/interrupts/error:       0
/sys/firmware/acpi/interrupts/ff_gbl_lock:       0	enable
/sys/firmware/acpi/interrupts/ff_pmtimer:       0  invalid
/sys/firmware/acpi/interrupts/ff_pwr_btn:       0	enable
/sys/firmware/acpi/interrupts/ff_rt_clk:       0  invalid
/sys/firmware/acpi/interrupts/ff_slp_btn:       0  invalid
/sys/firmware/acpi/interrupts/gpe00:       0  invalid
/sys/firmware/acpi/interrupts/gpe01:       0	enable
/sys/firmware/acpi/interrupts/gpe02:       0	enable
/sys/firmware/acpi/interrupts/gpe03:       0  invalid
/sys/firmware/acpi/interrupts/gpe04:       0  invalid
/sys/firmware/acpi/interrupts/gpe05:       0  invalid
/sys/firmware/acpi/interrupts/gpe06:       0  invalid
/sys/firmware/acpi/interrupts/gpe07:       0  invalid
/sys/firmware/acpi/interrupts/gpe08:       0  invalid
/sys/firmware/acpi/interrupts/gpe09:       0  invalid
/sys/firmware/acpi/interrupts/gpe0A:       0  invalid
/sys/firmware/acpi/interrupts/gpe0B:       0	enable
/sys/firmware/acpi/interrupts/gpe0C:       0  invalid
/sys/firmware/acpi/interrupts/gpe0D:       0  invalid
/sys/firmware/acpi/interrupts/gpe0E:       0  invalid
/sys/firmware/acpi/interrupts/gpe0F:       0  invalid
/sys/firmware/acpi/interrupts/gpe10:       0  invalid
/sys/firmware/acpi/interrupts/gpe11:       0  invalid
/sys/firmware/acpi/interrupts/gpe12:       0  invalid
/sys/firmware/acpi/interrupts/gpe13:       0  invalid
/sys/firmware/acpi/interrupts/gpe14:       0  invalid
/sys/firmware/acpi/interrupts/gpe15:       0  invalid
/sys/firmware/acpi/interrupts/gpe16:       0  invalid
/sys/firmware/acpi/interrupts/gpe17:     468	enable
/sys/firmware/acpi/interrupts/gpe18:       0	enable
/sys/firmware/acpi/interrupts/gpe19:       0  invalid
/sys/firmware/acpi/interrupts/gpe1A:       0  invalid
/sys/firmware/acpi/interrupts/gpe1B:       0  invalid
/sys/firmware/acpi/interrupts/gpe1C:       0  invalid
/sys/firmware/acpi/interrupts/gpe1D:       0  invalid
/sys/firmware/acpi/interrupts/gpe1E:       0  invalid
/sys/firmware/acpi/interrupts/gpe1F:       0  invalid
/sys/firmware/acpi/interrupts/gpe_all:     468
/sys/firmware/acpi/interrupts/sci:     468

where can i find the acpidump? i attached the video_brightnessup and down.
Comment 5 Zhang Rui 2008-11-04 00:17:53 UTC
please get the latest pmtools here
http://www.lesswatts.org/projects/acpi/utilities.php

make and run "./acpidump > acpidump.log". :)
Comment 6 Adrian Scisly 2008-11-04 01:23:32 UTC
Created attachment 18649 [details]
acpidump
Comment 7 Zhang Rui 2008-11-04 18:13:06 UTC
Problem: ACPI backlight I/F doesn't work.
    I checked your BIOS and it uses a SMI call to ask BIOS to change the backlight.
From the test result, it seems that BIOS doesn't actually change the backlight, while we can do nothing here from the OS perspective of view...

in order to make the hotkey work on your laptop, please do the following two test.

1. try xbacklight/xrandr to see if it can change the backlight for you.
2. please kill acpid, run "cat /proc/acpi/event" and press the hotkey, then attach the output.
Comment 8 Adrian Scisly 2008-11-05 06:55:10 UTC
1. xbacklight/xrander doesn't work.
2. drunkenkilla@drunkenkilla-laptop:~$ sudo cat /proc/acpi/event 
cat: /proc/acpi/event: Device or resource busy



i tested even now pre-release of fedora 10 and i could change the brigthness with the applet in the panel. But the FN-Keys doesn't work too. I'm using ubuntu 8.10 and the applet in the panel doesn't work.
Comment 9 Adrian Scisly 2008-11-06 11:12:11 UTC
my small workaround to change the brightness:

1. ctrl+alt+F1
2. type user und password
3. sudo -s
4. echo -n xx > /proc/acpi/video/NVID/LCD/brightness
5. ctrl+alt+F7

*4. f.e. xx = 30
Comment 10 Len Brown 2008-11-06 11:32:27 UTC
/sys/class/backlight/acpi_video0/brightness
fails?

while
/proc/acpi/video/NVID/LCD/brightness

works?

Please respond to question 2. in comment #7
you need to kill acpid first.
Comment 11 Adrian Scisly 2008-11-06 22:19:30 UTC
1. ctrl+alt+F1
2. type user und password
3. sudo -s
4. echo -n x > /sys/class/backlight/acpi_video0/brightness
5. ctrl+alt+F7

4* x=1-5

this works too.

i killed acpid and tipped this common but nothing happened, see the picture.
Comment 12 Adrian Scisly 2008-11-06 22:20:06 UTC
Created attachment 18716 [details]
brightness
Comment 13 Adrian Scisly 2008-11-06 22:22:05 UTC
i posted this bug also in launchpad:

https://bugs.launchpad.net/ubuntu/+bug/219116
Comment 14 Zhang Rui 2008-11-09 23:04:06 UTC
so poking the backlight sysfs/procfs I/F doesn't work until you do a chvt?
Comment 15 Adrian Scisly 2008-11-10 00:01:08 UTC
when i'm in a chvt(CTRL+ALT+F1), i can change the brightness in sysfs/procfs.You can see it in comment 9 and 11.
Comment 16 Adrian Scisly 2008-11-10 00:13:56 UTC
when i'm in a chvt(CTRL+ALT+F1), i can change the brightness in sysfs/procfs.You can see it in comment 9 and 11.
Comment 17 Len Brown 2008-11-11 21:45:45 UTC
So from a text console...
/proc/acpi/video/NVID/LCD/brightness
/sys/class/backlight/acpi_video0/brightness

both work.

However, when X is in graphics mode,
both of them fail?

This sounds like ACPI is actually working,
but is prevented from working by the nvidia graphics driver.
Perhaps you can try X with a different nvidia graphics driver?
Comment 18 Adrian Scisly 2008-11-12 03:44:21 UTC
Hey,when X is in graphics mode, both of them fails.

I tested it with an other driver too. And it doesn't work. In launchpad, an Ubuntu-Bugs-Team member is working on this problem too. He is working on the hal-info. He changed something and i could change the brightness with the FN-Keys. It works only with the nv driver but it has some bugs at this moment.
Comment 19 Zhang Rui 2008-11-25 23:17:58 UTC
IMO, as the ACPI brightness control works well in console mode, this is a graphics bug rather than an ACPI bug.

Adrian,
please open a nvidia graphics bug at bugs.freedesktop.org.