(Missing) brightness controls of an Atom N455-based netbook

Vitaly Magerya vmagerya at gmail.com
Mon Jul 11 16:08:07 UTC 2011


Andriy Gapon <avg at freebsd.org> wrote:
>> From what I heard this isn't a problem with FreeBSD ACPI code, it's
>> a problem with Samsung firmware. AFAIK to get brightness controls
>> working on Windows you need to setup Samsung software that uses
>> undocument BIOS interface for it's function.
>>
>> Linux has what appears to be a reverse-engineered driver [1] that
>> does the same. Someone (probably me) needs to port it.
>
> Maybe, maybe not...  Can you please verify which driver Linux actually uses on
> your system?

Nothing but generic ACPI; samsung-laptop dirver is not used because
it doesn't white-list my laptop model (and for some reason fails
to attach when I load it with force=1, even though my BIOS definitely
has the signatures it is looking for).

At any rate, brightness controls don't work under Linux.

> So I can see how this behavior can easily confuse our acpi_video driver.
> I see that Linux acpi video driver has some quirks in it, but not sure if it is
> able to handle this kind of issues.  I would doubt that.
>
> Maybe you would feel adventurous enough to experiment with hacking your DSDT some
> more.  For a start I would just try to remove that level % 10 == 0 check.

Sure. I removed those checks, but there isn't much difference.
Here's a sample transcript:

    # sysctl hw.acpi.video
    hw.acpi.video.crt0.active: 0
    hw.acpi.video.lcd0.active: 0
    hw.acpi.video.lcd0.brightness: 5
    hw.acpi.video.lcd0.fullpower: 100
    hw.acpi.video.lcd0.ecoomy: 5
    hw.acpi.video.lcd0.levels: 100 5 15 24 30 45 60 80
    hw.acpi.video.ext0.active: 0
    hw.acpi.video.out0.active: 0
    # sysctl hw.acpi.video.lcd0.brightness=45
    hw.acpi.video.lcd0.brightness: 5 -> 45
    # sysctl hw.acpi.video.lcd0.brightness=100
    hw.acpi.video.lcd0.brightness: 45 -> 100

No brightness changes actually occur during this.


More information about the freebsd-acpi mailing list