ACPI modules (Español)
De ACPI site:
- ACPI (Advanced Configuration and Power Interface) es una especificación abierta de la industria co-desarrollada por Hewlett-Packard, Intel, Microsoft, Phoenix y Toshiba.
Los módulos ACPI son módulos del kernel para diferentes partes de ACPI. Permiten funciones ACPI especiales o añaden información en /proc
o /sys
. Esta información puede ser analizada por acpid para eventos u otras aplicaciones de supervisión.
Contents
¿Qué módulos están disponibles?
Esta es una pequeña lista y un resumen de los módulos del kernel de ACPI:
- ac (estado del conector de alimentación)
- asus-laptop (útil en portátiles ASUS/medion)
- battery (estado de la batería)
- bay (estado de las bahías)
- button (eventos de botón de captura, como LID o POWER BUTTON)
- container (estado del contenedor)
- dock (estado de la estación de acoplamiento, docking station)
- fan (estado del los ventiladores)
- i2c_ec (driver EC SMBUs)
- thinkpad_acpi (útil en portátiles Lenovo Thinkpad)
- processor (estado de los procesadores)
- sbs (estado de la batería inteligente)
- thermal (estado de los sensores de temperatura)
- toshiba_acpi (útil en portátiles Toshiba)
- video (estado de los dispositivos de vídeo)
lista completa de su kernel en ejecución:
$ ls -l /usr/lib/modules/$(uname -r)/kernel/drivers/acpi
total 112 -rw-r--r-- 1 root root 2808 Aug 29 23:58 ac.ko.gz -rw-r--r-- 1 root root 3021 Aug 29 23:58 acpi_ipmi.ko.gz -rw-r--r-- 1 root root 3354 Aug 29 23:58 acpi_memhotplug.ko.gz -rw-r--r-- 1 root root 4628 Aug 29 23:58 acpi_pad.ko.gz drwxr-xr-x 2 root root 4096 Aug 29 23:59 apei -rw-r--r-- 1 root root 7120 Aug 29 23:58 battery.ko.gz -rw-r--r-- 1 root root 3700 Aug 29 23:58 button.ko.gz -rw-r--r-- 1 root root 2181 Aug 29 23:58 container.ko.gz -rw-r--r-- 1 root root 1525 Aug 29 23:58 custom_method.ko.gz -rw-r--r-- 1 root root 1909 Aug 29 23:58 ec_sys.ko.gz -rw-r--r-- 1 root root 2001 Aug 29 23:58 fan.ko.gz -rw-r--r-- 1 root root 1532 Aug 29 23:58 hed.ko.gz -rw-r--r-- 1 root root 3241 Aug 29 23:58 pci_slot.ko.gz -rw-r--r-- 1 root root 17742 Aug 29 23:58 processor.ko.gz -rw-r--r-- 1 root root 3073 Aug 29 23:58 sbshc.ko.gz -rw-r--r-- 1 root root 7098 Aug 29 23:58 sbs.ko.gz -rw-r--r-- 1 root root 6311 Aug 29 23:58 thermal.ko.gz -rw-r--r-- 1 root root 8891 Aug 29 23:58 video.ko.gz
Cómo seleccionar los adecuados
Debe ir probando los módulos que funcionan en su máquina:
# modprobe <módulo>
A continuación, compruebe si el módulo es compatible con su hardware utilizando:
$ dmesg
$ dmesg | grep acpi [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x04] enabled) [ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) [ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x05] enabled) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1]) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1]) [ 5.066752] ACPI: acpi_idle yielding to intel_idle [ 5.438998] acpi device:04: registered as cooling_device4
Añada los que estén funcionando a los archivos de configuración en /etc/modules-load.d
. /etc/modules-load.d
se describe en Kernel modules#Automatic module handling.
Obteniendo información
Para obtener la información de la batería, simplemente instale el paquete acpi de los repositorios oficiales y ejecute:
acpi -i
El uso de /proc
para almacenar información ACPI ha sido desaconsejado y desaprobado desde Linux 2.6.24. Los mismos datos están ahora disponibles en /sys
, y las partes de interés pueden (deberían) suscribirse a los eventos ACPI desde el kernel a través de netlink. Por ejemplo, para la batería:
/sys/class/power_supply/BAT0/
Solución de problemas
Corregir DSDT
Si persisten los problemas con la administración de energía a pesar de haber cargado los módulos adecuados, un DSDT poco amistoso para Linux podría ser la causa. Véase el artículo de la wiki en DSDT.
Corregir ACPI para portátiles
A veces verá "ACPI: EC: input buffer is not empty, aborting transaction". Este es un problema con ACPI, más específicamente una incompatibilidad de la BIOS. Puede haber cuatro formas de resolver este problema:
- Si está disponible, actualice la BIOS.
- Utilice
acpi=off
como parámetro del kernel, sin embargo, esto matará todas las funciones ACPI, como la carga de la batería y el ahorro de energía.
- En algunos casos, se informó que desactivando DPMS se solucionó el problema [1]. Sin embargo, el brillo de la pantalla ya no puede ser totalmente controlable:
$ xset dpms force off
- Construir un kernel a medida con los parches en bugs.launchpad.net.