# Lenovo X240 backligh do not work

## rkx1209

Hello,

I'm having problems setting up brightness keys (Fn+Home, Fn+End) on my Lenovo thinkpad X240.

When I hit Functional key and Home or End, it does not generate any acpi events.

(Only Fn+f1,f2 and f3 work. )

```

# acpi_listen 

button/mute MUTE 00000080 00000000 K

button/volumedown VOLDN 00000080 00000000 K

button/volumeup VOLUP 00000080 00000000 K

```

I can't also change it by xbacklight because of following errors.

```

# xbacklight -set 10%

No protocol specified

RANDR Query Version returned error -1

```

```

# grep BACKLIGHT /boot/config-3.17.8-gentoo-r1

# CONFIG_FB_BACKLIGHT is not set

CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_BACKLIGHT_CLASS_DEVICE=y

CONFIG_BACKLIGHT_GENERIC=y

CONFIG_BACKLIGHT_APPLE=m

CONFIG_BACKLIGHT_SAHARA=m

CONFIG_BACKLIGHT_ADP8860=m

CONFIG_BACKLIGHT_ADP8870=m

CONFIG_BACKLIGHT_LM3639=m

CONFIG_BACKLIGHT_LV5207LP=m

CONFIG_BACKLIGHT_BD6107=m

CONFIG_LEDS_TRIGGER_BACKLIGHT=m

# grep ACPI /boot/config-3.17.8-gentoo-r1     

# Power management and ACPI options

CONFIG_ACPI=y

CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y

CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y

CONFIG_ACPI_SLEEP=y

CONFIG_ACPI_PROCFS_POWER=y

CONFIG_ACPI_EC_DEBUGFS=y

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_VIDEO=y

CONFIG_ACPI_FAN=y

# CONFIG_ACPI_DOCK is not set

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_HOTPLUG_CPU=y

# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set

CONFIG_ACPI_THERMAL=y

# CONFIG_ACPI_CUSTOM_DSDT is not set

# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set

# CONFIG_ACPI_DEBUG is not set

# CONFIG_ACPI_PCI_SLOT is not set

CONFIG_ACPI_CONTAINER=y

# CONFIG_ACPI_SBS is not set

# CONFIG_ACPI_HED is not set

# CONFIG_ACPI_CUSTOM_METHOD is not set

# CONFIG_ACPI_BGRT is not set

# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set

CONFIG_HAVE_ACPI_APEI=y

CONFIG_HAVE_ACPI_APEI_NMI=y

# CONFIG_ACPI_APEI is not set

# CONFIG_ACPI_EXTLOG is not set

CONFIG_X86_ACPI_CPUFREQ=m

CONFIG_X86_ACPI_CPUFREQ_CPB=y

CONFIG_PNPACPI=y

# CONFIG_BLK_DEV_IDEACPI is not set

CONFIG_ATA_ACPI=y

CONFIG_PATA_ACPI=m

CONFIG_ACPI_I2C_OPREGION=y

# ACPI drivers

# ACPI drivers

# CONFIG_SENSORS_ACPI_POWER is not set

CONFIG_ACPI_INT3403_THERMAL=y

# CONFIG_MMC_SDHCI_ACPI is not set

CONFIG_DMA_ACPI=y

CONFIG_THINKPAD_ACPI=m

CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y

# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set

# CONFIG_THINKPAD_ACPI_DEBUG is not set

# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set

CONFIG_THINKPAD_ACPI_VIDEO=y

CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y

# CONFIG_ACPI_WMI is not set

# CONFIG_ACPI_CMPC is not set

```

[/code]

```

# lspci -k | grep -A3 VGA

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)

        Subsystem: Lenovo ThinkPad X240

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)

        Subsystem: Lenovo ThinkPad X240

# ls /sys/class/

ata_device  fc_remote_ports  iscsi_connection  misc           rtc             scsi_generic

ata_link    fc_transport     iscsi_endpoint    net            sas_device      scsi_host

ata_port    fc_vports        iscsi_host        pci_bus        sas_end_device  sound

bdi         firmware         iscsi_iface       pcmcia_socket  sas_expander    spi_host

block       graphics         iscsi_session     phy            sas_host        spi_transport

bsg         hidraw           iscsi_transport   power_supply   sas_phy         tty

dma         hwmon            leds              pps            sas_port        vc

dmi         ieee80211        mdio_bus          ptp            scsi_device     vtconsole

fc_host     input            mem               rfkill         scsi_disk

```

```

# lsmod

Module                  Size  Used by

ctr                     3471  3 

ccm                     6846  3 

ipv6                  254355  26 

coretemp                5084  0 

arc4                    1816  2 

kvm_intel             121332  0 

iwlmvm                119404  0 

mac80211              245979  1 iwlmvm

kvm                   233372  1 kvm_intel

snd_hda_codec_realtek    48931  1 

iwlwifi                78248  1 iwlmvm

cfg80211              179892  3 iwlwifi,mac80211,iwlmvm

nvram                   5119  0 

joydev                  8215  0 

e1000e                137102  0 

snd_hda_codec_generic    39119  1 snd_hda_codec_realtek

rfkill                 13361  2 cfg80211

serio_raw               3977  0 

microcode               7558  0 

rtc_cmos                7763  0 

pcspkr                  1747  0 

snd_hda_intel          16879  3 

snd_hda_controller     13921  1 snd_hda_intel

snd_hda_codec          67795  4 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller

snd_hwdep               5373  1 snd_hda_codec

snd_pcm                62983  3 snd_hda_codec,snd_hda_intel,snd_hda_controller

snd_timer              15326  1 snd_pcm

snd                    49675  13 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel

xts                     2727  0 

gf128mul                5242  1 xts

aes_x86_64              7263  6 

cbc                     2456  0 

sha512_generic          4728  0 

sha256_generic          9620  0 

sha1_generic            1830  0 

libiscsi               31451  0 

scsi_transport_iscsi    60988  1 libiscsi

tg3                   130394  0 

libphy                 20623  1 tg3

e1000                  86297  0 

fuse                   65858  1 

nfs                    98770  0 

lockd                  52398  1 nfs

sunrpc                151868  2 nfs,lockd

jfs                   135431  0 

btrfs                 659350  0 

zlib_deflate           17619  1 btrfs

multipath               5248  0 

linear                  3231  0 

raid10                 33416  0 

raid456                51858  0 

async_raid6_recov       1241  1 raid456

async_memcpy            1342  1 raid456

async_pq                3780  1 raid456

async_xor               2801  2 async_pq,raid456

async_tx                1734  5 async_pq,raid456,async_xor,async_memcpy,async_raid6_recov

xor                    10248  2 btrfs,async_xor

raid6_pq               89350  3 async_pq,btrfs,async_raid6_recov

raid1                  23352  0 

raid0                   6491  0 

dm_snapshot            24077  0 

dm_bufio               12910  1 dm_snapshot

dm_crypt               14625  0 

dm_mirror              10939  0 

dm_region_hash          6167  1 dm_mirror

dm_log                  7427  2 dm_region_hash,dm_mirror

dm_mod                 67941  5 dm_log,dm_mirror,dm_bufio,dm_crypt,dm_snapshot

hid_sunplus             1400  0 

led_class               2867  1 iwlmvm

hid_samsung             2765  0 

hid_pl                  1352  0 

hid_petalynx            1897  0 

hid_gyration            2035  0 

sl811_hcd               8887  0 

ohci_pci                2840  0 

ohci_hcd               16991  1 ohci_pci

uhci_hcd               18605  0 

usb_storage            44221  0 

aic94xx                63622  0 

libsas                 54174  1 aic94xx

lpfc                  478044  0 

crc_t10dif              1031  1 lpfc

crct10dif_common        1252  1 crc_t10dif

qla2xxx               484443  0 

megaraid_sas           80035  0 

megaraid_mbox          23676  0 

megaraid_mm             6768  1 megaraid_mbox

megaraid               33859  0 

aacraid                68394  0 

sx8                    10844  0 

DAC960                 61942  0 

cciss                  43739  0 

3w_9xxx                29090  0 

3w_xxxx                20764  0 

mptsas                 32858  0 

scsi_transport_sas     21333  3 libsas,mptsas,aic94xx

mptfc                  10188  0 

scsi_transport_fc      39365  3 lpfc,qla2xxx,mptfc

mptspi                 11202  0 

mptscsih               16081  3 mptfc,mptsas,mptspi

mptbase                54327  4 mptfc,mptsas,mptspi,mptscsih

atp870u                22200  0 

dc395x                 26688  0 

qla1280                19120  0 

imm                     8729  0 

parport                26491  1 imm

dmx3191d                9026  0 

sym53c8xx              61643  0 

gdth                   71653  0 

advansys               44056  0 

initio                 14876  0 

BusLogic               19039  0 

arcmsr                 23914  0 

aic7xxx               103914  0 

aic79xx               108306  0 

scsi_transport_spi     17275  5 mptspi,sym53c8xx,aic79xx,aic7xxx,dmx3191d

sg                     21833  0 

pdc_adma                5245  0 

sata_inic162x           6565  0 

sata_mv                23393  0 

ata_piix               22567  0 

sata_qstor              5028  0 

sata_vsc                3977  0 

sata_uli                2964  0 

sata_sis                3597  0 

sata_sx4                7867  0 

sata_nv                18226  0 

sata_via                7635  0 

sata_svw                4285  0 

sata_sil24             10055  0 

sata_sil                7167  0 

sata_promise            9783  0 

pata_sl82c105           3597  0 

pata_via                8268  0 

pata_jmicron            2419  0 

pata_marvell            2867  0 

pata_sis               10214  1 sata_sis

pata_netcell            2201  0 

pata_pdc202xx_old       4414  0 

pata_triflex            3127  0 

pata_atiixp             4435  0 

pata_opti               2761  0 

pata_amd               10191  0 

pata_ali                9061  0 

pata_it8213             3386  0 

pata_pcmcia             9724  0 

pcmcia                 29243  1 pata_pcmcia

pcmcia_core            10792  1 pcmcia

pata_ns87415            3220  0 

pata_ns87410            2760  0 

pata_serverworks        5436  0 

pata_artop              4838  0 

pata_it821x             8349  0 

pata_optidma            4465  0 

pata_hpt3x2n            5436  0 

pata_hpt3x3             2992  0 

pata_hpt37x            10896  0 

pata_hpt366             4848  0 

pata_cmd64x             6802  0 

pata_efar               3534  0 

pata_rz1000             2701  0 

pata_sil680             4529  0 

pata_radisys            2914  0 

pata_pdc2027x           6227  0 

pata_mpiix              2854  0 

usbhid                 22361  0 

ehci_pci                3240  0 

ahci                   23427  2 

libahci                18718  1 ahci

libata                140419  49 ahci,pata_pdc202xx_old,sata_inic162x,pata_efar,pata_opti,sata_sil,sata_sis,sata_sx4,sata_svw,sata_uli,sata_via,sata_vsc,pata_marvell,sata_promise,sata_mv,sata_nv,libahci,sata_qstor,sata_sil24,pata_netcell,pata_ali,pata_amd,pata_sis,pata_via,pata_sl82c105,pata_triflex,pata_ns87410,pata_ns87415,libsas,pdc_adma,pata_artop,pata_atiixp,pata_mpiix,pata_cmd64x,pata_hpt3x2n,pata_optidma,pata_hpt366,pata_hpt37x,pata_hpt3x3,pata_it8213,pata_it821x,pata_serverworks,pata_pcmcia,pata_sil680,pata_rz1000,ata_piix,pata_jmicron,pata_radisys,pata_pdc2027x

xhci_hcd               82500  0 

ehci_hcd               34587  1 ehci_pci

ptp                     8828  2 tg3,e1000e

usbcore               139230  9 uhci_hcd,usb_storage,ohci_hcd,ohci_pci,ehci_hcd,ehci_pci,usbhid,xhci_hcd,sl811_hcd

usb_common              1512  1 usbcore

pps_core                5672  1 ptp

# service acpid status

 * status: started

```

What should I do anymore?

----------

## chithanh

In order to manage the backlight, CONFIG_BACKLIGHT_CLASS_DEVICE=y should give you a /sys/class/backlight directory with the controls inside. This appears to not happen on your system. Check dmesg why.

It may be that CONFIG_THINKPAD_ACPI_VIDEO competes with CONFIG_ACPI_VIDEO over control of the backlight device.

----------

## Roman_Gruber

wikis are your friend. e.g.: https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X240

http://blog.gabrielsaldana.org/debian-on-lenovo-thinkpad-x240/

 *Quote:*   

> The screen brightness control keys by default didn’t work for me, but there is a fix. You need to load the thinkpad acpi kernel module on boot. So edit /etc/modules file and add:
> 
> thinkpad_acpi
> 
> Then you’ll need to add this to your /etc/default/grub file and check that your kernel options are as follows:
> ...

 

http://www.ubuntu.com/certification/hardware/201307-14019/

http://www.tfiu.de/x240/

----------

## Roman_Gruber

question to the topic poster: Does this works or not? Feedback appreciated, thank you

----------

