Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
ACPI: Battery Slot [BAT1] (battery absent)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
__Ankh__
n00b
n00b


Joined: 16 Feb 2011
Posts: 6

PostPosted: Wed Feb 16, 2011 3:59 pm    Post subject: ACPI: Battery Slot [BAT1] (battery absent) Reply with quote

Buenas. No soy nuevo, ocurre que perdí el correo asociado a mi antiguo y deshabilitado usuario: chonzow.
Como sea, les cuento por qué vine. Hace ya un tiempo me desquicia no entender porqué Linux no detecta mi batería. Fucking linux, i love it.
Uno del os problemas es que no conozco el modelo exacto de la batería como para deducir cual de todos los drivers del src de kernel tengo que compilar. Esto al margen que mas abajo lshw tira uno datos sobre este punto. El segundo inconveniente es que es posible que no sea un problema de drivers sino de ACPI.

He pensando en cambiar la batería, actualizar la bios, sustituirla, de ser posible, por un coreboot. Pero lo cierto es que no hice nada de eso porque me gustaría estar mas seguro. Lo único que intenté fue compilar y recompilar el kernel sin ningún criterio mas que tocar cosas de ACPI y drivers de batería.

Considero que estos datos deberían aportar algo:

Maquina: Toshiba S645-4007

Code:
# uname -a
Linux MyBox 2.6.36-zen1 #12 ZEN SMP PREEMPT Sat Feb 5 05:12:47 UYST 2011 x86_64 Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz GenuineIntel GNU/Linux


Zen1 es por Zen Kernel. El problema es el mismo para las gentoo-sources, y tambièn para el kernel de fedora, slackware y openbsd.

Code:
# dmesg | grep -i acpi
   ....
ACPI: ACPI bus type pnp unregistered
ACPI: AC Adapter [ACAD] (on-line)
ACPI: Power Button [PWRB]
ACPI: Lid Switch [LID]
ACPI: Power Button [PWRF]
ACPI: acpi_idle yielding to intel_idle
ACPI: Battery Slot [BAT1] (battery absent)
acpi device:01: registered as cooling_device4
ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
ACPI: resource 0000:00:1f.3 [io  0x5000-0x501f] conflicts with ACPI region SMBI [io  0x5000-0x500f window disabled]
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver


Llama mi atención el problema de SMBI. Pero no hace mas que eso, llamar mi atención.

Code:
# cat /usr/src/linux/.config | egrep -i "^[^#](.*)acpi"
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_POWER_METER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_SBS=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_PNPACPI=y
CONFIG_ATA_ACPI=y


Code:
# cat /usr/src/linux/.config | egrep -i "^[^#](.*)batt"
CONFIG_ACPI_BATTERY=y



Code:
#lshw
   ....
  *-power UNCLAIMED
       description: OEM_Define1
       product: OEM_Define5
       vendor: OEM_Define2
       physical id: 1
       version: OEM_Define6
       serial: OEM_Define3
       capacity: 75mWh
  *-battery
       description: Lithium Ion Battery
       product: CRB Battery 0
       vendor: -Virtual Battery 0-
       physical id: 2
       version: 10/12/2007
       serial: Battery 0
       slot: Fake


Code:
 # lspci
00:00.0 Host bridge: Intel Corporation Arrandale DRAM Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Arrandale Integrated Graphics Controller (rev 02)
00:16.0 Communication controller: Intel Corporation Ibex Peak HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation Ibex Peak USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation Ibex Peak High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation Ibex Peak PCI Express Root Port 1 (rev 05)
00:1c.4 PCI bridge: Intel Corporation Ibex Peak PCI Express Root Port 5 (rev 05)
00:1c.5 PCI bridge: Intel Corporation Ibex Peak PCI Express Root Port 6 (rev 05)
00:1d.0 USB Controller: Intel Corporation Ibex Peak USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation Ibex Peak LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation Ibex Peak 4 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation Ibex Peak SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation Ibex Peak Thermal Subsystem (rev 05)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8172 (rev 10)
03:00.0 Ethernet controller: Attansic Technology Corp. Device 1073 (rev c0)
ff:00.0 Host bridge: Intel Corporation QuickPath Architecture Generic Non-core Registers (rev 02)
ff:00.1 Host bridge: Intel Corporation QuickPath Architecture System Address Decoder (rev 02)
ff:02.0 Host bridge: Intel Corporation QPI Link 0 (rev 02)
ff:02.1 Host bridge: Intel Corporation QPI Physical 0 (rev 02)
ff:02.2 Host bridge: Intel Corporation Device 2d12 (rev 02)
ff:02.3 Host bridge: Intel Corporation Device 2d13 (rev 02)



Acepto todo tipo de sugerencias. Incluso sobre comprar otra notebook.
Back to top
View user's profile Send private message
edgar_uriel84
Guru
Guru


Joined: 21 Dec 2008
Posts: 485
Location: Tultitlan, México

PostPosted: Fri Feb 18, 2011 3:56 am    Post subject: Reply with quote

Si pones el comando acpi_listen y quitas el adaptador de corriente lo detecta? no te dice que si hay batería?
_________________
Algún día habrá una persona mejor que yo, pero esa persona no eres tú ni ese momento es ahora.
Back to top
View user's profile Send private message
__Ankh__
n00b
n00b


Joined: 16 Feb 2011
Posts: 6

PostPosted: Fri Feb 18, 2011 12:16 pm    Post subject: Reply with quote

Al conectar y desconectar el adaptador de corriente la salida de acpi_listen es vacía. Sin embargo si responde a otros eventos como bajar y levantar el monitor.

Last edited by __Ankh__ on Fri Feb 18, 2011 2:37 pm; edited 1 time in total
Back to top
View user's profile Send private message
agdg
Guru
Guru


Joined: 15 Aug 2010
Posts: 320

PostPosted: Fri Feb 18, 2011 1:24 pm    Post subject: Reply with quote

Tal vez es una pregunta tonta pero... ¿Tienes compilado el soporte ACPI para la batería?

Code:
Power management and ACPI options  ---> 
 [*] ACPI (Advanced Configuration and Power Interface) Support  --->
  < >   Battery 
  < >   Smart Battery System   

Code:
agd-desktop linux # grep -i  CONFIG_ACPI_BATTERY .config
# CONFIG_ACPI_BATTERY is not set
agd-desktop linux # grep -i  CONFIG_ACPI_SBS .config
# CONFIG_ACPI_SBS is not set

_________________
Antonio Guillen · USAM · Un SysAdmin Más
Back to top
View user's profile Send private message
__Ankh__
n00b
n00b


Joined: 16 Feb 2011
Posts: 6

PostPosted: Fri Feb 18, 2011 2:34 pm    Post subject: Reply with quote

Si. De hecho lo puse al comienzo del hilo:

Code:
# cat /usr/src/linux/.config | egrep -i "^[^#](.*)batt"
CONFIG_ACPI_BATTERY=y


Así tengo la config del ACPI:
Code:

 --- ACPI (Advanced Configuration and Power Interface) Support                           
  │ │                                            [*]   Deprecated /proc/acpi files                       
  │ │                                            [*]   Deprecated power /proc/acpi directories   
  │ │                                            <*>   ACPI 4.0 power meter                           
  │ │                                            [*]   Future power /sys interface                       
  │ │                                            < >   EC read/write access through /sys/kernel/debug/ec
  │ │                                            [*]   Deprecated /proc/acpi/event support                       
  │ │                                            <*>   AC Adapter                                                         
  │ │                                            <*>   Battery                                                               
  │ │                                            -*-   Button                                                                 
  │ │                                            -*-   Video                                                                   
  │ │                                            <*>   Fan                                                                   
  │ │                                            [ ]   Dock                                                                   
  │ │                                            <*>   Processor                                                         
  │ │                                            < >     Processor Aggregator                                       
  │ │                                            <*>     Thermal Zone                                                 
  │ │                                            -*-   NUMA support                                                     
  │ │                                            [ ]   Debug Statements                                               
  │ │                                            < >   PCI slot detection driver                                     
  │ │                                            -*-   Container and Module Devices (EXPERIMENTAL)     
  │ │                                            <*>   Smart Battery System                                       
  │ │                                            < >   Hardware Error Device                                       
  │ │                                            [ ]   ACPI Platform Error Interface (APEI)         
Back to top
View user's profile Send private message
agdg
Guru
Guru


Joined: 15 Aug 2010
Posts: 320

PostPosted: Fri Feb 18, 2011 3:34 pm    Post subject: Reply with quote

Efectivamente era una pregunta tonta, porque lo tenías puesto en el primer post.

Prueba a compilar, si no lo tienes ya compilado:
Code:
  ┌──────────────────────────── Search Results ─────────────────────────────┐
  │ Symbol: ACPI_TOSHIBA [=n]                                               │ 
  │ Type  : tristate                                                        │ 
  │ Prompt: Toshiba Laptop Extras                                           │ 
  │   Defined at drivers/platform/x86/Kconfig:516                           │ 
  │   Depends on: X86 [=y] && X86_PLATFORM_DEVICES [=n] && ACPI [=n] && BAC │ 
  │   Location:                                                             │ 
  │     -> Device Drivers                                                   │ 
  │       -> X86 Platform Specific Device Drivers (X86_PLATFORM_DEVICES [=n │ 
  │   Selects: LEDS_CLASS [=n] && NEW_LEDS [=n] && INPUT_POLLDEV [=y] && IN │ 
  │                                                                         │ 
  │                                                                         │ 
  │ Symbol: TOSHIBA [=n]                                                    │ 
  │ Type  : tristate                                                        │ 
  │ Prompt: Toshiba Laptop support                                          │ 
  │   Defined at arch/x86/Kconfig:901                                       │ 
  │   Depends on: X86_32 [=n]                                               │ 
  │   Location:                                                             │ 
  │     -> Processor type and features                                      │

_________________
Antonio Guillen · USAM · Un SysAdmin Más
Back to top
View user's profile Send private message
__Ankh__
n00b
n00b


Joined: 16 Feb 2011
Posts: 6

PostPosted: Sat Feb 19, 2011 1:41 am    Post subject: Reply with quote

Bueno, recuerdo haber activado la primera. Pero fue un manotazo de ahogado puesto había leído la documentación:

Quote:
Please note: This driver is only intended to provide the extra support for ACPI functionality specific to Toshiba laptops. In other words, this driver is not intended to cover standard ACPI functions such as shutdown, reboot, suspend, hibernate, battery info, etc. Such generic functions are being supported by the ACPI4Linux project and the Software Suspend 2 project.


Es decir que es para funciones extras que no tienen que ver con la batería.

La segunda pide el simbolo x86_32 y yo uso Gentoo Amd64.
Back to top
View user's profile Send private message
__Ankh__
n00b
n00b


Joined: 16 Feb 2011
Posts: 6

PostPosted: Sun May 27, 2012 9:52 pm    Post subject: Re: ACPI: Battery Slot [BAT1] (battery absent) Reply with quote

__Ankh__ wrote:
Buenas. No soy nuevo, ocurre que perdí el correo asociado a mi antiguo y deshabilitado usuario: chonzow.
Como sea, les cuento por qué vine. Hace ya un tiempo me desquicia no entender porqué Linux no detecta mi batería. Fucking linux, i love it.
Uno del os problemas es que no conozco el modelo exacto de la batería como para deducir cual de todos los drivers del src de kernel tengo que compilar. Esto al margen que mas abajo lshw tira uno datos sobre este punto. El segundo inconveniente es que es posible que no sea un problema de drivers sino de ACPI.

.


Al final, me compré otra notebook y esa fue mi solucion. Pero hace poco volví a usar la anterior y conseguí arreglar el problema.
Bastó con modificar el DSDT y decirle al kernel que los use.


Code:
GentooBox ~ # cat /sys/firmware/acpi/tables/DSDT > DSDT.dat
GentooBox ~ # iasl -d DSDT.dat  #Decompilo
GentooBox ~ # cp DSDT.dsl DSDT-old.dsl #Una copia para evaluar las diferencias.
GentooBox ~ # vim DSDT.dsl #Edito
GentooBox ~ # diff DSDT-old.dsl DSDT.dsl
5971c5971
<                     OperationRegion (EMEM, SystemMemory, 0xFF808001, 0xFF)
---
>                     OperationRegion (EMEM, EmbeddedControl, 0x00, 0xFF)

GentooBox ~ # iasl -tc DSDT.dsl #Compilo las moficaciones.



Esto me genera dos archivos, DSDT.hex y DSDT.aml
El .hex se puede pasar en la configuración del kernel que se incluya al compilar el mismo. El aml se puede pasar como argumento del kernel al bootear. Yo opté por usar el .hex, ya que lo otro es en realidad más complicado.


Code:
GentooBox ~ # cp DSDT.hex /usr/src/linux/include


Modifico la configuración del kernel para que quede así:
Code:

GentooBox ~ # cat /usr/src/linux/.config | grep DSDT.hex
CONFIG_ACPI_CUSTOM_DSDT_FILE="DSDT.hex"



Ahora solo queda recompilar e instalar el kernel, y al rebootear se solucionan todos los problemas.
Espero que a alguien le sea útil.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum