Cannot load on T430 #14

Closed
Ralith opened this Issue Jun 28, 2012 · 38 comments

Comments

Projects
None yet

Ralith commented Jun 28, 2012

I'm trying to get safe battery charge/discharge thresholds set up on my T430, and tp_smapi appears to be the way to do that. Unfortunately, the following happens when I try to load the module:

% sudo modprobe tp_smapi           
ERROR: could not insert 'tp_smapi': No such device or address
% journalctl
...
Jun 27 21:59:17 flow kernel: [244233.264849] thinkpad_ec: thinkpad_ec_request_row: arg0 rejected: (0x01:0x00)->0x00
Jun 27 21:59:17 flow kernel: [244233.264858] thinkpad_ec: thinkpad_ec_read_row: failed requesting row: (0x01:0x00)->0xfffffffb
Jun 27 21:59:17 flow kernel: [244233.264863] thinkpad_ec: initial ec test failed

+1 I have the exact same error message on my W530

I have a similar (same?) error on my Thinkpad X230.

$ uname -a
Linux jonas-X230 3.4.0-030400-generic-pae #201205210521 SMP Mon May 21 09:35:19 UTC 2012 i686 i686 i386 GNU/Linux
$ sudo modprobe -v tp_smapi
insmod /lib/modules/3.4.0-030400-generic-pae/updates/dkms/thinkpad_ec.ko 
WARNING: Error inserting thinkpad_ec (/lib/modules/3.4.0-030400-generic-pae/updates/dkms/thinkpad_ec.ko): No such device or address
FATAL: Error inserting tp_smapi (/lib/modules/3.4.0-030400-generic-pae/updates/dkms/tp_smapi.ko): No such device or address
$ dmesg | grep thinkpad_ec
[13124.382026] thinkpad_ec: thinkpad_ec_request_row: arg0 rejected: (0x01:0x00)->0x00
[13124.382036] thinkpad_ec: thinkpad_ec_read_row: failed requesting row: (0x01:0x00)->0xfffffffb
[13124.382042] thinkpad_ec: initial ec test failed
$ sudo tlp stat
--- TLP 0.3.6 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
USB_AUTOSUSPEND=1
RESTORE_DEVICE_STATE_ON_STARTUP=0

+++ System Info
System = LENOVO ThinkPad X230 2325CN3
BIOS = G2ET31WW (1.11 )
Release = Ubuntu 12.04 LTS
Kernel = 3.4.0-030400-generic-pae i686
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=82d56263-812e-4a86-bbad-456086cd7811 ro quiet splash vt.handoff=7

+++ System Status
TLP power save = enabled
power source = ac

+++ Processor
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq =  1200000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq =  1200000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies =  2601000 2600000 2500000 2400000 2300000 2200000 2100000 2000000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 [kHz]

/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq =  1200000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq =  2601000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies =  2601000 2600000 2500000 2400000 2300000 2200000 2100000 2000000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 [kHz]

/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq =  1200000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq =  2601000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_available_frequencies =  2601000 2600000 2500000 2400000 2300000 2200000 2100000 2000000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 [kHz]

/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq =  1200000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq =  2601000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_available_frequencies =  2601000 2600000 2500000 2400000 2300000 2200000 2100000 2000000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 [kHz]

/sys/devices/system/cpu/sched_mc_power_savings = 0
/sys/devices/system/cpu/sched_smt_power_savings = 0
/proc/sys/kernel/nmi_watchdog = 0

+++ Undervolting
PHC kernel not available.

+++ ThinkPad Temperatures
/proc/acpi/ibm/thermal = (not available)
/proc/acpi/ibm/fan     = speed:            0

+++ File System
/proc/sys/vm/laptop_mode = 0
/proc/sys/vm/dirty_writeback_centisecs = 1500
/proc/sys/vm/dirty_expire_centisecs = 1500
/proc/sys/vm/dirty_ratio = 60
/proc/sys/vm/dirty_background_ratio = 1
/proc/sys/fs/xfs/age_buffer_centisecs = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs = (not available)

+++ Storage Devices
/dev/sda:
          Model     = HITACHI HTS725050A7E630                 
          Firmware  = GH2ZB390
          APM Level = 254
          scheduler = cfq

        SMART info:
            4 Start_Stop_Count          =      139 
            5 Reallocated_Sector_Ct     =        0 
            9 Power_On_Hours            =       74 [h]
          193 Load_Cycle_Count          =      647 
          194 Temperature_Celsius       =       37 (Min/Max 19/41)  [°C]


+++ SATA Aggressive Link Power Management
/sys/class/scsi_host/host0/link_power_management_policy = max_performance
/sys/class/scsi_host/host1/link_power_management_policy = max_performance
/sys/class/scsi_host/host2/link_power_management_policy = max_performance
/sys/class/scsi_host/host3/link_power_management_policy = max_performance
/sys/class/scsi_host/host4/link_power_management_policy = max_performance
/sys/class/scsi_host/host5/link_power_management_policy = max_performance

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = default (disabled by kernel)

+++ Intel Graphics
/sys/module/i915/parameters/powersave = 1
/sys/module/i915/parameters/i915_enable_rc6 = -1
/sys/module/i915/parameters/i915_enable_fbc = -1
/sys/module/i915/parameters/lvds_downclock = 0
/sys/module/i915/parameters/semaphores = -1

+++ Wireless
bluetooth = off (software)
wifi      = on
wwan      = none (no device)

wlan0(iwlwifi): power management = off

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

+++ Battery
ThinkPad extended battery info not available (missing tp_smapi kernel module).
/sys/class/power_supply/BAT0/manufacturer = SANYO
/sys/class/power_supply/BAT0/model_name = 45N1023
/sys/class/power_supply/BAT0/cycle_count = 0
/sys/class/power_supply/BAT0/energy_full_design = 62160 [mWh]
/sys/class/power_supply/BAT0/energy_full = 63710 [mWh]
/sys/class/power_supply/BAT0/energy_now = 63390 [mWh]
/sys/class/power_supply/BAT0/power_now = 0 [mW]
/sys/class/power_supply/BAT0/status = Charging

+++ Runtime Power Management
/sys/bus/pci/devices/0000:00:00.0/power/control = on [Host]
/sys/bus/pci/devices/0000:00:19.0/power/control = on [Ethernet]
/sys/bus/pci/devices/0000:00:1b.0/power/control = on [Audio]
/sys/bus/pci/devices/0000:02:00.0/power/control = on [Card]
/sys/bus/pci/devices/0000:03:00.0/power/control = on [Wireless]

+++ USB
tlp usb autosuspend = enabled
tlp usb blacklist = (not configured)

Bus 001 Device 002 ID 8087:0024 control = auto, autosuspend_delay_ms =  2000 -- Intel Corp. Integrated Rate Matching Hub (hub)
Bus 002 Device 002 ID 8087:0024 control = auto, autosuspend_delay_ms =  2000 -- Intel Corp. Integrated Rate Matching Hub (hub)
Bus 003 Device 002 ID 046d:c52f control = on,   autosuspend_delay_ms =  2000 -- Logitech, Inc. Wireless Mouse M305 (usbhid)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =  2000 -- Linux Foundation 2.0 root hub (hub)
Bus 002 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =  2000 -- Linux Foundation 2.0 root hub (hub)
Bus 003 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =  2000 -- Linux Foundation 2.0 root hub (hub)
Bus 004 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =  2000 -- Linux Foundation 3.0 root hub (hub)
Bus 001 Device 003 ID 147e:2020 control = auto, autosuspend_delay_ms =  2000 -- Upek  (no driver)
Bus 001 Device 004 ID 5986:02d2 control = auto, autosuspend_delay_ms =  2000 -- Acer, Inc  (uvcvideo)

@JonasGroeger The error message is different, but the generation of hardware (eg: 30) is the same. Have to leave it to people who know more to draw the connection.

polymond commented Aug 2, 2012

I have the exact same problem like @Ralith on my T430

CheariX commented Aug 7, 2012

Same Problem on T430s, i'm afraid :(

Owner

evgeni commented Aug 12, 2012

I guess the ..30 series are as the ..20 series to be controlled with the acpi interface.
Can you all have a look at the workaround posted in #3 (comment)?

The "workaround" tpacpi-bat is now contained in TLP 0.3.7 http://linrunner.de/tlp . Tested with *30 models.

nomo17k commented Sep 29, 2012

I am on Debian Wheezy. I have the same issue with tp_smapi on T430s. Compiled against kernel v3.5.4. It builds fine it seems, but module insert fails as described above.

mog422 commented Dec 1, 2012

how to use hdaps on t430 with tlp?

@mog422 you don't need hdaps on T430, at least it didn't work on my T430s (you can read ThinkWiki, they also didn't recommend). Looks like tpacpi-bat is the only way to get everything working.

bobpaul commented Apr 15, 2013

@electronick ThinkWiki says that tp_smapi doesn't work on T430S, ThinkPad Edge, and several newer models (and probably won't for quite a while). But it still says that HDD sudden shock protection requires a software driver and that it's not implemented in the hardware/BIOS/EFI. So it reads to me is that we're currently unable to read the motion sensor and thus hdapsd will not work and we are unprotected.

"didn't work" doesn't mean you don't need it, it just means you can't currently use it.

jotrk commented Sep 5, 2013

So.. will this ever be fixed?
It's quite a step backward right now without tp_smapi.

Owner

evgeni commented Sep 11, 2013

No, this will probably never be fixed, as (to my knowledge) the *30 models (and newer) do not contain the SMAPI interface to the EC anymore.

Someone would need to reverse the Windows hdaps driver and understand how they read the sensor these days.

jotrk commented Sep 11, 2013

Hi,

thanks for your reply!
On the bright side, I figured that the *30 models (at least my T430) is
supported by the built-in ACPI system well enough (e.g. acpi -V,
setting acpi_osi='!Windows 2012' as boot option also helps a lot), so
that I do not miss tp_smapi too much. The only thing that's missing are
better battery information like cycle_count, but I can live without that.

However, tp_smapi has served me very well in the past, so I'd like to
just say thank you for your effort!

On 11.09.2013 07:27, Evgeni Golov wrote:

No, this will probably never be fixed, as (to my knowledge) the *30 models (and newer) do not contain the SMAPI interface to the EC anymore.

Someone would need to reverse the Windows hdaps driver and understand how they read the sensor these days.


Reply to this email directly or view it on GitHub:
#14 (comment)

dos5gw commented Oct 17, 2013

If you are installing on a recent Thinkpad that has an Ivy Bridge processor (X230, T430, T530, etc.), tp_smapi will not work. Use thinkpad-acpi.
(from thinkwiki)

anko commented Jan 30, 2014

Confirming @dos5gw -- tp_smapi is also unsupported on my ThinkPad X240 with a Haswell processor. journalctl is as @Ralith's:

Jan 30 20:02:14 39 kernel: thinkpad_ec: thinkpad_ec_request_row: arg0 rejected: (0x0
Jan 30 20:02:14 39 kernel: thinkpad_ec: thinkpad_ec_read_row: failed requesting row:
Jan 30 20:02:14 39 kernel: thinkpad_ec: initial ec test failed

As recommended, tpacpi-bat works well as a substitute.

Exact same problem on a T440

Owner

evgeni commented Oct 1, 2014

@pschichtel that's expected, see @dos5gw 's comment. tp_smapi works up to the *20 series (sandy bridge), not later.

@evgeni what are the alternatives? Are there even any?

Owner

evgeni commented Oct 1, 2014

@pschichtel for bat-settings there is ltp and tpacpi-bat, as mentioned above. Rest of the functionality is missing.

deki commented Oct 29, 2014

So the resolution is to remove the tp-smapi-dkms package?

Owner

evgeni commented Oct 29, 2014

@deki on an unsupported machine? yes.

Having the same issue here. How can I find out from the command line what ThinkPad model I have here? This before I consider removing tp-smapi-dkms ...

diggit commented Feb 26, 2015

20 seconds with google...
with root privileges: dmidecode -t 1

Ah. Thanks. I have a ThinkPad X1 Carbon 2nd here. Should I remove this package or replace it with another one?

diggit commented Feb 26, 2015

Have you read through this thread?
tp_smapi does not work on *20 models and newer, this includes your machine according to Haswell processor in X1 gen2. You can try tpacpi-bat for battery thresholds setting.

So, just to confirm:

  1. I should remove tp-smapi-dkms with apt-get purge
  2. And run that tpacpi-bat once

And all is fine again?

But what if the makers of tp-smapi-dkms are going to release a newer version we can fetch with an apt-get update in the near future?

diggit commented Feb 26, 2015

Way how to remove package depends on your distro's package manager, that applies to updates too. What's the point of executing something that you obviously don't even know what it does? tpacpi-bat is alternative way for newer Thinkpads how to setup various battery charging thresholds. It depends on acpi_call kernel module.

I understand, basically you are right. I just want to make these error messages disappear:

Jan 30 20:02:14 39 kernel: thinkpad_ec: thinkpad_ec_request_row: arg0 rejected: (0x0
Jan 30 20:02:14 39 kernel: thinkpad_ec: thinkpad_ec_read_row: failed requesting row:
Jan 30 20:02:14 39 kernel: thinkpad_ec: initial ec test failed

As long as I do not remove the tp-smapi-dkms package, they will still appear. That's my point. I assume that tpacpi-bat is unable to do this. Correct me if I am wrong. Thanks.

diggit commented Feb 27, 2015

this is caused by loading module not compatible with your HW, so tp-smapi-dkms is useless for you, as expected...

Owner

evgeni commented Feb 27, 2015

@binarykitchen I also happen to be the Debian maintainer of tp-smapi. Just remove the package from your machine and you won't have these errors after a reboot anymore.

Ok, thanks for clarification

Now that I have tp-smapi removed I see temperature warnings :(

[23525.863746] CPU1: Core temperature above threshold, cpu clock throttled (total events = 144)
[23525.863748] CPU0: Core temperature above threshold, cpu clock throttled (total events = 144)
[23525.863750] CPU2: Package temperature above threshold, cpu clock throttled (total events = 144)
[23525.863751] CPU3: Package temperature above threshold, cpu clock throttled (total events = 144)
[23525.863752] CPU0: Package temperature above threshold, cpu clock throttled (total events = 144)
[23525.863761] CPU1: Package temperature above threshold, cpu clock throttled (total events = 144)
[23525.865735] CPU1: Core temperature/speed normal
[23525.865736] CPU0: Core temperature/speed normal
[23525.865737] CPU2: Package temperature/speed normal
[23525.865739] CPU3: Package temperature/speed normal
[23525.865740] CPU0: Package temperature/speed normal
[23525.865744] CPU1: Package temperature/speed normal
[23542.663876] mce: [Hardware Error]: Machine check events logged

What now?

diggit commented Mar 3, 2015

tp_smapi covers battery charging setup, monitoring and HDAPS control. more here. Your problem looks like CPU overheating. You can use lm-sensors to monitor HW temperatures, but this in not related to this bug. Use adequate forums to resolve this issue.

That helped - thanks!

@kas kas referenced this issue in linrunner/TLP Aug 6, 2016

Closed

T450s and tp_smapi #160

Owner

evgeni commented Mar 10, 2017

closing this as the mentioned models are not supported and will never be. Lenovo changed the interface starting with the SandyBridge models and tp-smapi cannot work with the new interface.

You can (maybe) control the battery using acpi-call, see http://linrunner.de/en/tlp/docs/tlp-faq.html and http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html

@evgeni evgeni closed this Mar 10, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment