Samsung R700 backlight control

OS: openSUSE 11.2, KDE desktop, fully patched.

During the kernel boot the backlight dims; once fully booted I cannot control the backlight with the function keys. The dimmed backlight presents a usability problem if you eyesight is not that great. OpenSUSE 10.3 effectively inherited whatever the BIOS left; i.e. mains-powered then backlight full-on, battery powered backlight dimmed; I could not control the backlight with 10.3. For 11.2 I captured the following through the “dmesg”.

    7.008632] sky2 0000:02:00.0: Yukon-2 EC Ultra chip revision 3
    7.009475]   alloc irq_desc for 28 on node 0
    7.009479]   alloc kstat_irqs on node 0
    7.009611] sky2 0000:02:00.0: irq 28 for MSI/MSI-X
    7.011093] sky2 eth0: addr 00:13:77:69:43:a8
    7.011137] i801_smbus 0000:00:1f.3: PCI INT C -> GSI 19 (level, low) -> IRQ 19
    7.011144] ACPI: I/O resource 0000:00:1f.3 [0x1c00-0x1c1f] conflicts with ACPI region SMBI [0x1c00-0x1c0f]
    7.011771] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    7.016111] ACPI: Battery Slot [BAT1] (battery present)
    7.016245] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input5
    7.023162] ACPI: Lid Switch [LID0]
    7.054806] Linux video capture interface: v2.00

The backlight always dims at the point that the line relating to the I/O resource conflict is printed during the boot. For completeness the dump of PCI devices for the R700 is as follows:

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.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (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 G86 [GeForce 8400M GS] (rev a1)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E Gigabit Ethernet Controller (rev 13)
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

I can use the kernel parameter “acpi=off” to resolve the conflict and keep the backlight on full, but then I lose all battery monitoring and the machine will not power-down cleanly.

Has anybody come across a similar problem and come up with a solution?

Thanks in advance.

I have seen the same problem on my Lenovo 3000 C200. The backlight buttons worked correctly in 11.1. I suspect this is an issue with kernels later that 2.6.29, since Fedora 11 running the 2.6.30 kernel has this problem, as does Fedora 12 (2.6.31). Fedora 11 running the 2.6.29 kernel seems to work correctly.

I don’t have a solution. As a work-around you may be able to manually set the brightness by writing to /proc. On my machine, the current screen brightness can be read by executing the command “less /proc/acpi/video/GFX0/LCD/brightness”. It returns two lines – the first being the available settings and the second being the current setting. You may be able to set the brightness by writing to that file as root. For example, on my machine the second highest setting is 86, so the command

su -c “echo 86 > /proc/acpi/video/GFX0/LCD/brightness”

sets it to that setting.