[Pkg-acpi-devel] DSDT firmware patch
Conrad Albrecht
c.albrecht at thphys.uni-heidelberg.de
Mon May 13 01:10:07 UTC 2013
Dear Developer Teams,
I recently bought a new notebook and started configuring a Linux
distribution on it. There was some issues with battery, AC and LCD
brightness wich I fixed by patching the corresponding firmware.
In order to enhance notebook support for Linux users and to point out
which errors the Windows ACPI driver seems to tolerate compared to that
of Linux, please find attached the original *.dsl file as well as the
patch. All relevant details should be included in the header of the
patched file (explicitely listed below).
Best regards,
Conrad
_______________________________
Disassembly of dsdt.dat, Sat May 11 16:30:31 2013
--------------------------------------------------
PATCHED by C. Albrecht
WARNING: To be used completely on your own risk in all respects!
firmware extracted from:
notebook: TERRA MOBILE INDUSTRY 1580
similar to DURABOOK S15C (?)
vendor: Wortmann AG
manufacturer: Twinhead Int. Corp. (?)
note:
besides minor corrections to the code's syntax to properly compile
with iasl (Intel), e.g. renaming variables T_<n> and changing
some mutexes' SyncLevel-value,
the main issue was:
-booting Lubuntu (kernel 3.2.0-41-generic-pae) the ACPI driver
was not able to parse the routine \_SB_.PCI0.SBRG.EC0_._REG
declared
within the embeded controller device "EC0" (see code below)
-since "EC0" is used by e.g. the devices "AC" (external power
supply) and "BAT1" (battery), there was no battery status
available after booting
-moreover, LCD backlight was not adjustable via the Fn-keys
('xbacklight -set <percent>' did the job directly through the
Intel graphics driver)
solution:
-the method "_REG" in device "EC0" uses an internal variable
"ONCE" which is l o c a l l y defined within an if-statement,
therefore it was not declared within the "EC0" scope
-the patch simply removes the if-clause around the definition of
the variable "ONCE"
(this should be save since "ONCE" is only used when the
variable "HM55" is equal to "One")
it remains:
-the firmware written here does not include a "_BQC" method to
determine the brightness (claimed by the Linux ACPI-driver)
-although the kernel throws a "Firmware Bug", it does not seem
to affect adjusting the backlight via Fn-keys
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dsdt.dsl
URL: <http://lists.alioth.debian.org/pipermail/pkg-acpi-devel/attachments/20130513/939c0cc3/attachment-0001.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsdt.dsl.patch
Type: text/x-diff
Size: 45034 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-acpi-devel/attachments/20130513/939c0cc3/attachment-0001.patch>
More information about the Pkg-acpi-devel
mailing list