Hello all! Fn + F2(down) and Fn + F3(up) doen't change brightness level of backlight on my Samsung NP300V5A laptop. Display is simply flickering. I have OpenSUSE 12.3 with bumblebee installed as described in Wiki ( Repo URL: Index of /repositories/home:/Overman79:/Laptop/openSUSE_12.3 ). There we no brightness change before installation of bumblebee (so I don't think it has influence). I have used attached patch (samsung-laptop-newline.patch), it only add missing newline to make debug info readable. And I think it already can be inserted to real code. So there is different information about problem. I have used attached script(samsung-generate-report.sh) to make reports with huge amount of different information that could be very helpful. See it to know how report is organized. ************first mode with NO acpi_backlight=vendor ******************* *****There are 3 backlight drivers: acpi_video0 acpi_video1 intel_backlight *****Fn behavior: Brightness can be lowered. Trying to increase it causes set *real* brightness to MAX value. *****See attached samsung-brightness-report-acpivideo.txt Additional comments: brightness has been changing *real* (when I say real I mean brightness that I can see with my eyes) correctly with setting brightness through acpi_video0, acpi_video1 and intel_backlight. But sending commands through debugfs of samsung-laptop making screen only flickering. It seems that problem is in handling of Fn keys, maybe.... ************second mode with acpi_backlight=vendor ******************* *****There are 2 backlight drivers: intel_backlight samsung *****Fn behavior: Brightness can only be lowered. Trying to increase it causes flickering. *****See attached samsung-brightness-report-acpivendor.txt Additional comments: brightness *really* correctly has been changing only through intel_backlight driver. Behavior of samsung driver and debugfs commands is very specific: if you have brightness for ex. 4 and want to make it 7, first such command will set it to 5, second to 6 and >=3rd will make it 7. This behavior has been mentioned in module code as stepping_quirk, but comments says that "if you will place brightness to 0 and then to needed all will be OK", but my system seems to be an exception. ************second mode with acpi_backlight=vendor and whileloop patch ***** So knowing it, I have decided to make a patch (samsung-laptop-whileloop.patch), that will call set_brightness until it get needed result. And you can see appropriate report(samsung-brightness-report-whileloop.patch) for it. All still is good with intel_backlight and debugfs behavior is same, but changing samsung driver brightness causes to set brightness randomly to MAX or MIN, and in log you can see that brightness doesn't change after same 0x11 command and fallbacks with "Brightness can't be set" message. And it is pretty strange because through debugfs all is fine. Fn causes to decrease/increase brightness with very big steps. Maybe driver 0x11 commands are buffered and it makes such behavior?? So now questions I have: 1) Should system work properly with both acpi_backlight=vendor and without? 2) Where I can found code that handles Fn keys? 3) Is SABI commands are buffered? I really want to get rid with this bug. Here you can see previous thread at openSUSE mailing list, to know history of my investigations: http://lists.opensuse.org/opensuse-kernel/2013-05/msg00063.html Best regards, Denis Kuplyakov
Attachment:
samsung-files.tar.gz
Description: GNU Zip compressed data