LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   ACPI Issue: Battery not detected on 64 bit Toshiba Satellite L650-BT2N23 with Fedora 14 (https://www.linuxquestions.org/questions/linux-hardware-18/acpi-issue-battery-not-detected-on-64-bit-toshiba-satellite-l650-bt2n23-with-fedora-14-a-851624/)

rvsh07 12-21-2010 12:23 PM

ACPI Issue: Battery not detected on 64 bit Toshiba Satellite L650-BT2N23 with Fedora 14
 
Hello all,

I recently bought a Toshiba Satellite L650-BT2N23 laptop (i3-core, 4GB RAM) and have Fedora 14 (kernel 2.6.35.6-45.fc14.x86_64) installed on it along with Windows7 64 bit. I am having a hard time getting linux to detect the battery, even when the laptop is running on battery power.

The battery appears as not present and the power management applet always indicates that the laptop is running on AC. Setting acpi=on or acpi=force did not remedy the problem, neither did disabling acpi altogether (acpi=off).

I have 'Insyde H2O BIOS' version 1.70, which appears to support acpi.

Code:

$ uname -a
Linux eikoh 2.6.35.6-45.fc14.x86_64 #1 SMP Mon Oct 18 23:57:44 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux

Code:

$ cat /proc/acpi/battery/BAT1/state
present:                no

Code:

$ dmesg | grep battery
[    0.875398] ACPI: Battery Slot [BAT1] (battery absent)

$ dmesg | grep acpi
[    0.000000] Command line: ro root=/dev/mapper/vg_eikoh4002-lv_root rd_LVM_LV=vg_eikoh4002/lv_root rd_LVM_LV=vg_eikoh4002/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet acpi=force
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x05] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x00] disabled)
[    0.000000] Kernel command line: ro root=/dev/mapper/vg_eikoh4002-lv_root rd_LVM_LV=vg_eikoh4002/lv_root rd_LVM_LV=vg_eikoh4002/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet acpi=force
[    0.868721] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.868987] acpiphp: Slot [1] registered
[    0.870751] ACPI: acpi_idle yielding to intel_idle
[    2.471981] acpi device:01: registered as cooling_device4

Code:

$ acpi -V
Adapter 0: off-line
Cooling 0: LCD 0 of 7
Cooling 1: Processor 0 of 10
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10

When the laptop is started on battery, "acpi -V" returns "Adapter 0: off-line", and when it is started on AC power, it returns "Adapter 0: on-line".

'lshw' appears to return some battery related information, however system doesnt recognize the battery:

Code:

<lshw-snippet>
  *-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
</lshw-snippet>

<lshw-snippet>
    *-firmware
          description: BIOS
          vendor: INSYDE
          physical id: 0
          version: 1.70
          date: 09/15/2010
          size: 1MiB
          capacity: 1472KiB
          capabilities: pci upgrade shadowing cdboot bootselect edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int9keyboard int10video acpi usb biosbootspecification
    *-memory
          description: System Memory
          physical id: 19
          slot: System board or motherboard
          size: 4GiB
</lshw-snippet>

Not sure why the battery slot says 'Fake'.

All help much appreciated..

markush 12-22-2010 09:10 AM

Hi rvsh07 and welcome to LQ,

there is a kernelmodule "acpi_toshiba". This has to be loaded in order to use ACPI with the machine. You may check this with
Code:

lsmod | grep -i acpi
if it is not loaded, you can load it with
Code:

modprob acpi_toshiba
if this command doesn't show any output, it worked correctly and the module is loaded, if you get an errormessage, you'll have to rebuild your kernel in order to build the module.

Markus

rvsh07 12-22-2010 05:20 PM

Thanks Markus. Doesnt look like I have this module loaded. lsmod doesnt list this module. I guess you meant module toshiba_acpi as opposed to acpi_toshiba?

Code:

$ lsmod | grep -i acpi
acpi_cpufreq            7329  1
freq_table              3955  2 cpufreq_ondemand,acpi_cpufreq
mperf                  1481  1 acpi_cpufreq

Code:

$ modprobe acpi_toshiba
FATAL: Module acpi_toshiba not found.
$ modprobe toshiba_acpi
FATAL: Error inserting toshiba_acpi (/lib/modules/2.6.35.6-45.fc14.x86_64/kernel/drivers/platform/x86/toshiba_acpi.ko): No such device

So, should I just rebuild my current kernel version locally and then try to add this module 'toshiba_acpi' on the rebuilt kernel via modprobe?

markush 12-22-2010 05:29 PM

mh, it seems the module toshiba_acpi is not the appropriate one for your machine, otherwise it would have been loaded.
Did you ever build your own kernel? When you run "make menuconfig" in the kernel-sourcedirectory you'll find in the sections "Device Drivers->X86 Platform Specific Device Drivers" the configurations for Laptops, I'd recommend to look at this. There's also help available. You may get an idea which modules are available and what they do.
The modules you find there should be already built for your kernel, so you probably don't have to rebuild your kernel in order to use such a module, you may try to load it with modprobe.

Markus

rvsh07 12-23-2010 10:29 AM

I tried rebuilding my kernel (2.6.35.6-45.fc14.x86_64) from the source rpm, but that did not seem to help. I looked in "Device Drivers->X86 Platform Specific Device Drivers" after running "make menuconfig", and the only relevant configuration appeared to be Toshiba Extras. Here is the corresponding help information:

Quote:

CONFIG_ACPI_TOSHIBA
This driver adds support for access to certain system settings on "legacy free" Toshiba laptops. These laptops can be recognized by their lack of a BIOS setup menu and APM support.
On these machines, all system configuration is handled through the ACPI. This driver is required for access to controls not covered by the general acpi drivers, such as LCD brightness, video output, etc."
From the driver information page (http://memebeam.org/toys/ToshibaAcpiDriver):
Quote:

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.

This driver does not work on all Toshiba laptops, particularly those models which seem to have a BIOS or other firmware which was not developed by Toshiba itself. New reverse engineering work will have to be done on these machines, or Toshiba will have to disclose the necessary details. (For support of machines with Phoenx BIOS, try the [Omnibook driver].) The error you will see in this case is:

$ modprobe toshiba_acpi
FATAL: Error inserting toshiba_acpi (.../kernel/drivers/acpi/toshiba_acpi.ko): No such device
I did not try installing this driver since my laptop does offer a BIOS setup menu and the BIOS was developed by Insyde (H2O BIOS). In fact, I got the same error as described on the driver information page.


I tried setting the acpi=copy_dsdt flag in grub.conf, but no joy.

Also tried rebuilding the kernel with the acpi patch described here - https://bugzilla.kernel.org/show_bug.cgi?id=14679 but that did not solve the problem either. On the rebuilt kernel, the battery is still not detected (no power management feaures).

Any suggestions? Could this be something to do with the dsdt?

markush 12-23-2010 11:59 AM

Well, did you look into the "Powermanagement and ACPI Options" while you configured the Kernel, there are settings referring to the batterymanagement. Otherwise I'm sure that in the default kernel of your distribution this options are enabled. But you may look into this section and compare with lsmod if the apropriate modules are loaded on your system.

Markus

rvsh07 12-25-2010 04:41 PM

I looked under power management and ACPI options and for the most part, those settings seem to be default values. Is there a specific value I need to change? Here is the complete set of values in the kernel config that have something to do with ACPI or BATTERY or TOSHIBA:

Code:

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=m
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=m
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_YENTA_TOSHIBA=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_PNPACPI=y
CONFIG_ATA_ACPI=y
CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_ACPI=m
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_MAX17040=m
CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_ACPI_WMI=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
CONFIG_ACPI_CMPC=m

Also, here is the list of modules from lsmod:

Code:

Module                                            Size  Used by
-------------------------------------------------------------------
fuse                                                 
cpufreq_ondemand                           
acpi_cpufreq                                     
freq_table                                       
mperf                                             
ip6t_REJECT                                   
nf_conntrack_ipv6                           
ip6table_filter                                   
ip6_tables                                       
ipv6                                               
uinput                                             
snd_hda_codec_intelhdmi                 
snd_hda_codec_conexant               
snd_hda_intel                                 
snd_hda_codec                               
snd_hwdep                                     
snd_seq                                         
snd_seq_device                             
snd_pcm                                       
uvcvideo                                         
toshiba_bluetooth                           
snd_timer                                     
videodev                                       
v4l1_compat                                 
v4l2_compat_ioctl32                       
snd                                               
soundcore                                     
rfkill                                             
iTCO_wdt                                       
iTCO_vendor_support                     
wmi                                               
serio_raw                                       
snd_page_alloc                             
atl1c                                             
joydev                                           
i2c_i801                                       
microcode                                     
usb_storage                                 
i915                                             
drm_kms_helper                           
drm                                             
i2c_algo_bit                                 
i2c_core                                       
video                                           
output


markush 12-25-2010 05:11 PM

Hello,

from your list above, I mean the kernelconfiguration for ACPI, I'd recommend to load some of the related modules which are not shown in lsmod.
Code:

CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_PATA_TOSHIBA=m
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_MAX17040=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m

(where e.g. PATA has nothing to do with the battery) you know, all lines ending with an m are modules, all lines ending with y are compiled into the kernel. I'd load the modules and find out what happens.

Markus


All times are GMT -5. The time now is 03:15 AM.