(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