[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