Skip to content

Compiling the kernel for T100TAF

Luka Karinja edited this page Feb 10, 2017 · 4 revisions

Compiling the kernel for T100TAF

I WAS ABLE TO GET WORKING EVERYTHING EXCEPT THE CAMERA:

  • sound

  • screen brightness

  • multitouch touchpad

  • bluetooth

  • wifi

  • rotation/brightness

  • sensors

great work to all the community and a few dedicated intel devs

!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!

ONLY PROCEED OF YOU OWN A T100TAF and HAVE ADVANCED LINUX KNOWLEDGE

I don’t guarantee that you will not fry your speakers or your device if you proceed…​

Everything works perfectly on mine.

!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!

TOUCHSCREEN:

  • working perfectly in Gnome 3.22

SOUND:

MULTITOUCH TOUCHPAD:

SCREEN BRIGHTNESS + POWER SAVING

CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y

CONFIG_PWM_LPSS=y
CONFIG_PWM_LPSS_PCI=y
CONFIG_PWM_LPSS_PLATFORM=y

# CONFIG_STANDALONE is not set

CONFIG_ACPI_CUSTOM_DSDT_FILE="/PATH_TO_THIS_FILE/T100TAFdsdt.hex"
CONFIG_ACPI_CUSTOM_DSDT=y

or patch it yourself:

  • Extract ACPI tables (as root):

# cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  • Decompile:

iasl -d dsdt.dat
  • open and find in dsdt.dsl

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (((P10A == Zero) || (L11D == One)))
                {
                    Return (Zero)
                }

                If ((OSSL & 0x80))
                {
-                    Return (Zero)
+                    Return (0x0F)
                }

                Return (0x0F)
            }
  • Recompile:

iasl -tc dsdt.dsl
  • Use the generated *.hex in your kernel

SENSORS:

BLUETOOTH:

# btattach --bredr /dev/ttyS4 -P bcm

could be on your system:

# btattach --bredr /dev/ttyS1 -P bcm

WIFI:

PREPATCHED KERNEL:

  • You can use my pre-patched kernel source

$ git clone https://github.com/Asus-T100/kernel.git
$ cd kernel
$ git checkout linux-4.9.x
  • Be sure to use the linux-4.9.x branch (currently its stable)