I have problem with backlight kontrol trough SABI intreface.
Override DSDT - using standart backlight control - perfect working.
Override DSDT without compiling kernel - using grub2
http://blog.michael.kuron-germany.de/2011/03/patching-dsdt-in-recent-linux-kernels-without-recompiling/ Patched DSDT for n145
Modifications:
Code:
Field (IGDP, AnyAcc, NoLock, Preserve)
{
Offset (0x12),
, 1,
GIVD, 1,
, 2,
GUMA, 3,
Offset (0x14),
, 4,
GMFN, 1,
Offset (0x18),
SSRW, 32,
Offset (0xA4),
ASLE, 8,
Offset (0xA8),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset (0xB0),
Offset (0xB1),
CDVL, 5,
Offset (0xB2),
// access to offset 0xF4 - set brigtness setpci -s 00:02.0 F4.B !!
Offset (0xB4),
BRT4, 8,
Offset (0xBC),
ASLS, 32
}
Method (_BCL, 0, NotSerialized)
{
Store ("_BCL", Debug)
Or (VDRV, 0x01, VDRV)
// correct brightness value
Return (Package (0x08)
{
0xff,
0x80,
0x20,
0x40,
0x60,
0xa0,
0xc0,
0xe0
})
}
Method (_BCM, 1, NotSerialized)
{
// Return value from offset 0xf4 - from pci
/* Divide (Arg0, 0x0A, Local0, Local1)
If (LEqual (Local0, 0x00))
{
BRTW (Arg0)
}*/
Store ("_BCM", Debug)
Store (Arg0, Debug)
Store (Arg0, BRT4)
}
Method (_BQC, 0, NotSerialized)
{
// Set value from offset 0xf4 - from pci
/* Divide (BRTL, 0x0A, Local0, Local1)
If (LEqual (Local0, 0x00))
{
Return (BRTL)
}*/
Store ("_BQC", Debug)
Store (BRT4, Debug)
Return (BRT4)
}
And some modification for good compiling.
Compiling .dsl
Code:
iasl -tc DSDT_N145.dsl
For overriding with grub2 needed .asl file.
For compiling in kernel needed .hex file.
This method worked for models where braghtnes corrected with
Code:
sudo /usr/sbin/setpci -s 00:02.0 F4.B=xx