PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backlight Steuerung will nicht. Lenovo Z570



zyrusthc
25.09.11, 14:48
Hallo zusammen.

Habe mir eine neues Notebook gekauft und bin nun dran den Feinschliff zu machen. Problem ist das die Hintergrundbeleuchtung des LCD sich nicht steuern lässt. Was sehr zu lasten des Akkus geht.

Beim drücken der Hotkeys erscheint folgendes in der Syslog:

ACPI: Failed to switch the brightness
Was ich schon versucht habe sind die Kernelparamter:

acpi_backlight=vendor
acpi_backlight=video
acpi_backlight=acer
Wobei bei vendor die Meldung in der syslog nicht mehr auftaucht aber das Display trotzdem unverändert hell bleibt bei drücken der Hotkeys.
Dann habe ich die /etc/modprobe.d/video.conf mit folgenden Inhalt erstellst:

options video brightness_switch_enabled=1
Leider kleine Änderung.

Infos zu System:

00:00.0 Host bridge: Intel Corporation Sandy Bridge DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Sandy Bridge PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation Cougar Point HECI Controller #1 (rev 04)
00:1a.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 2 (rev b5)
00:1c.3 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 4 (rev b5)
00:1d.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation Cougar Point LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation Cougar Point 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation Cougar Point SMBus Controller (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)
01:00.1 Audio device: nVidia Corporation Device 0bea (rev a1)
03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)

Distro ist Mandriva 2011 , Kernel 2.6.38.7-desktop-1mnb2

Vielleicht habt ihr noch eine Idee was ich noch versuchen kann.


Greeez Oli

zyrusthc
25.09.11, 16:25
Habe jetzt noch folgendes gefunden:
https://github.com/tetromino/lenovo-sl-laptop

Allerdings kommt das beim komplilieren bei raus:

make -C /lib/modules/2.6.38.7-tmb-laptop-1mdv/build M=/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f modules
make[1]: Entering directory `/usr/src/2.6.38.7-tmb-laptop-1mdv'
CC [M] /home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.o
/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.c: In Funktion »backlight_init«:
/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.c:674:4: Fehler: Zu wenige Argumente für Funktion »backlight_device_register«
include/linux/backlight.h:105:33: Anmerkung: hier deklariert
/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.c: In Funktion »hkey_inputdev_init«:
/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.c:1224:28: Warnung: Zuweisung von inkompatiblem Zeigertyp [standardmäßig aktiviert]
/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.c:1225:28: Warnung: Zuweisung von inkompatiblem Zeigertyp [standardmäßig aktiviert]
make[2]: *** [/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f/lenovo-sl-laptop.o] Fehler 1
make[1]: *** [_module_/home/zyrusthc/Downloads/tetromino-lenovo-sl-laptop-b19a08f] Fehler 2
make[1]: Leaving directory `/usr/src/2.6.38.7-tmb-laptop-1mdv'
make: *** [all] Fehler 2

Hat jemand eine Idee ?

EDIT:
Konnte es mit patchen mit:

--- lenovo-sl-laptop.c.old 2010-10-21 18:01:14.221433370 +0200
+++ lenovo-sl-laptop.c 2010-10-21 18:17:18.690494769 +0200
@@ -652,6 +652,7 @@

static int backlight_init(void)
{
+ struct backlight_properties props;
int status = 0;

lcdd_handle = NULL;
@@ -670,9 +671,13 @@
if (status || !backlight_levels.count)
goto err;

+ /* At least according to other platform drivers, brightness can stay at 0.
+ * max_brightness code was originally calculated right after register. */
+ memset((void *)&props,0,sizeof(struct backlight_properties));
+ props.max_brightness = backlight_levels.count - 1;
backlight = backlight_device_register(LENSL_BACKLIGHT_NAME,
- NULL, NULL, &lensl_backlight_ops);
- backlight->props.max_brightness = backlight_levels.count - 1;
+ NULL, NULL, &lensl_backlight_ops,
+ &props);
backlight->props.brightness = lensl_bd_get_brightness(backlight);
vdbg_printk(LENSL_INFO, "Started backlight brightness control\n");
goto out;


Allerdings bekomme ich bei versuch das Modul zu laden das:

[root@localhost tetromino-lenovo-sl-laptop-b19a08f]# insmod lenovo-sl-laptop.ko control_backlight=1
insmod: error inserting 'lenovo-sl-laptop.ko': -1 No such device

Und dmesg meldet:

lenovo-sl-laptop: Failed to get ACPI handle for \_SB.PCI0.SBRG.EC0.HKEY


Greeez Oli

zyrusthc
05.10.11, 21:09
Also aktueller Stand.
Stromsparen konnte ich nachdem ich an meinen hybrid graphics laptop die 2 Grafikkarte "discrete card" deaktiviert habe mittels acpi_call.

modprobe acpi_call
echo "\_SB.PCI0.PEG0.PEGP._OFF" > /proc/acpi/call
Schon hällt der Akku ne Std länger.

Aber leider bin ich noch nicht mit der Backlightsteuerung weiter gekommen.
Verwendet wird der Kernel 2.6.38.7-desktop-1mnb2 sowie das lenovo-sl-laptop von tadzik --> https://github.com/tadzik/lenovo-sl-laptop

Komplieren läuft durch doch beim laden des Moduls die bereits genannte Fehlermeldung "-1 No such device" und dmesg meldet "Failed to get ACPI handle for \_SB_.PCI0.SBRG.EC0.HKEY"

Die betreffende Zeile befindet sich in der lenovo-sl-laptop.c in Zeile 86-87
Kommentiere ich diese beiden Zeilen + Zeilen 1392-1403 aus, dann lässt dich das Modul ohne Fehlermeldung laden. Aber genau das sind ja die Funktionen für das Backlight Hotkey. Dem zufolge kann ja der Fehler nur in Zeile 86-87 liegen das der ACPI Parameter in meinen System nicht gefunden wird. Ich habe nun mit acpidump,acpixtract & iasl meine ACPI-Systemtabellen exportiert und nach den Werten gesucht die \_SB_.PCI0.SBRG.EC0 und \_SB_.PCI0.SBRG.EC0.HKEY ähnlich sind, leider habe ich nix gefunden.
Ich hänge den Export hier mal an, vielleicht habe ich etwas übersehen und ihr könnt mir einen Tip geben wie ich das Problem in Griff bekommen kann.

Hier noch mein Exportscript für den ACPIDUMP:

#!/bin/sh
mkdir ~/acpiinfo ; cd ~/acpiinfo
acpidump > acpidump.txt
acpixtract acpidump.txt
ls *.dat | while read i; do iasl -d "${i}"; done
pid=`sudo dmidecode -s system-product-name`
vid=`sudo dmidecode -s system-version`
name=${pid// /}.${vid// /}
dmidecode -s system-product-name > ~/acpiinfo/systeminfo.txt
dmidecode -s system-version >> ~/acpiinfo/systeminfo.txt
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA >> ~/acpiinfo/systeminfo.txt
mkdir "${name}" && cp *.dsl "${name}"/ && cp *.txt "${name}"/
tar czf "${name}.tar.gz" "${name}"/ && ls -l "$( pwd )/${name}".tar.gz
cp "${name}.tar.gz" ~
rm -rf ~/acpiinfo


Danke für eure Hilfe.

Greeez Oli

zyrusthc
05.10.11, 23:37
Hmmm, jetzt bin ich Baff...
Mit:

xrandr --output LVDS1 --brightness 0.5
Lässt sich die Helligkeit regeln.

Trotzdem währe ich an der lenovo-sl-laptop Lösung interessiert.
EDIT: Das Backlight bleibt ja hell deswegen.


Greeez Oli

zyrusthc
03.12.11, 00:19
So Update und gelöst, nach dem Update auf Kernel 3.1.4 hat sich das Problem von alleine erledigt. lsmod listet ein Modul names ideapad_laptop . das scheints zu sein. Funzt nun 1a Out of the Box :)

Greeez Oli