ノートパソコンのバッテリーの充電しきい値を調整するには?


13

私のラップトップはLenovo T400で、OSはUbuntu 12.04です。

バッテリーの充電開始と充電停止のしきい値を調整できませんでした。現在の充電開始しきい値は約40%、停止充電しきい値は約60%であることがわかりました。それが自分かどうか、そしてどのプログラムを使用して60%で充電を停止し、40%で充電を開始するかを忘れていました。

以前の投稿/ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholdsをフォローしましたが、見つかりません/sys/devices/platform/smapi。また、私は持っている/proc/acpi/battery/BAT0/が、私は3つのファイルだけを持っている alarminfostate

しきい値を調整したい。どうすればいいのかな?


modprobe tp_smapiルートとして試してみて、その下/sys/devices/platform/smapiにあるファイルがあるかどうかを確認してください。
Renan

@Renan:モジュールが見つかりませんFATAL: Module tp_smapi not found.
Tim

1
そこの指示に従ってtp_smapiをインストールします:thinkwiki.org/wiki/…その後、再試行してください。
Renan

@Renan:tp_smapiはLenovoラップトップ専用ですか?バッテリー充電管理モジュールは、ラップトップのブランドによって異なりますか?
Tim

一部のLenovoラップトップには、tp_smapiからアクセスできる特定の機能があります。他のブランドについては知りませんが、おそらく同じようなツールを持っています(たとえば、デルのラップトップを持っているのでdell_laptopdell_wmiモジュールが搭載されていることがわかります。たとえば、その機能を確認するために調べたことはありません)
Renan

回答:


4

インストールする必要がありtp_smapi-dkmsます。

apt-get install tp_smapi-dkms

終了したら、を使用lsmod | grep tp_smapiしてモジュールがロードされているかどうかを確認し、充電しきい値を調整するには、次のようなことを行います

echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 60 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

これらの行を/etc/rc.localに追加して、ブート時に実行します。

このモジュールは少なくともX220で動作します。


sudo権限があっても拒否された権限を取得している人は、を試してください echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
Andrey Kaipov

8

新しいLenovo ThinkPads(私のE540など)は、tp_smapi-dkmsと互換性がありません。幸いにも、TLPユーティリティは2つの異なるモジュール(tp_smapiまたはthinkpad_acpi DKMSモジュール)のいずれかを使用して、しきい値をバッテリーに通知できることを発見しました。

現在、TLPは標準のUbuntuまたはDebianリポジトリから入手できます。(ただし、TLP Webサイトを使用してパッケージをインストールすると、最新バージョンを利用できる場合があります。)

TLPをインストールした後、構成ファイル/ etc / default / tlpの2行を使用してバッテリー充電しきい値を設定します

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

この例では、バッテリーのしきい値を65%で充電を開始し、80%で停止するように設定するようTLPに指示しています。TLPがインストールされていない別のOSで起動した場合でも、しきい値が正しく維持されることがわかりました。(Windowsまたは電源管理ツールがインストールされている別のOSで起動したと仮定しますが、そのOSは以前に設定された充電しきい値を上書きする可能性があります。)

バッテリーを一時的にフル充電するには、次の端末コマンドを発行します。

 $ sudo tlp fullcharge

その後、バッテリーは最大容量まで充電され、その後以前のしきい値に戻ります。

注:ラップトップが「ThinkPad」でない場合、TLPはおそらくバッテリーの充電レベルを設定できません。ベンダーがWindows用の電源管理ユーティリティを提供している場合、おそらく何らかの形のWindowsを使用して起動し、バッテリーの充電レベルを設定してから、Linuxで再起動できます。私の経験では、システムを再起動しても、バッテリーの充電しきい値の設定は保持されます。


これはThinkPadsでのみ機能しますが、他のモデルについてはどうですか?
Akronix 2018年

@Akronix TLPはさまざまな種類のラップトップにインストールでき、ハードウェア、ファームウェア、およびアーキテクチャに応じて、さまざまなライブラリに依存していると思います。私の最近のLenovoが古いThinkPadとは少し異なるTLPを使用しているので、私は最近、さまざまなライブラリーにさらに気づきました。
Tommy Trussell、2018

ただし、私のGシリーズLenovoでは機能しません
Akronix '20

@Akronix私は見なければなりませんでした...私のThinkPadはE540です。support.lenovo.comのメニューをたどることにより 、私は「Edge Series Thinkpad」として知られていると判断しました。ほとんどすべてのハードウェアを思い通りに機能させる前に、多くのサイトを探索する必要がありました(たとえば、指紋センサーをあきらめました)。
Tommy Trussell、

1
@Akronixええ、私は私のWindowsを起動したことがありません。私はおそらくまだディスクを持っていますが、私は「純粋」のままでいることを試みました。残念ながら、Lenovoは購入したにもかかわらず、UbuntuとRed Hatで「認定」されているため、私のモデルでもLinuxのサポートを静かに中止したようです。
Tommy Trussell、

1

私のラップトップ(Yoga 260)では、acpi_callカーネルモジュールを提供するacpi-call-dkmsを取得する必要がありました。

sudo apt install tlp acpi-call-dkms
sudo tlp setcharge 40 60 #set the start and stop thresholds to 40% and 60%

の出力sudo tlp stat -b

--- TLP 1.1 --------------------------------------------

+++ ThinkPad Battery Features
tp-smapi   = inactive (unsupported hardware)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 00HW027
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  44000 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  37970 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  18910 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown (threshold effective)

tpacpi-bat.BAT0.startThreshold                              =     40 [%]
tpacpi-bat.BAT0.stopThreshold                               =     60 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   49.8 [%]
Capacity                                                    =   86.3 [%]

なぜ40 60?充電は本当に60%で止まりますか?なぜそこにあるのかBAT0/status = Unknown-奇妙に思われる。
hrvoj3e

@ hrvoj3eデイジーの回答との一貫性を保つために、例として40 60を選択しましたが、60%で充電を停止する必要があるのは、バッテリーの寿命を延ばすことができるためです:superuser.com/questions/502328/…「不明」ステータスは、充電も放電もしていないときの状態です。私はそれを49.8%まで放電してから充電器を再び接続しましたが、それでもまだstartThresholdを超えているため、充電を開始しませんでした。
タキシス

情報をありがとう。私のYoga S740はACPIバッテリーコントロールでは動作しませんが、ターミナルで多くの時間を費やしているため、シェルプロンプトで通知機能をセットアップしました。次に、しきい値を上回っている/下回っているのを確認したら、充電器を手動で接続/切断しました。
hrvoj3e
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.