Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Tp smapiのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Tp smapi
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{DISPLAYTITLE:tp_smapi}} [[Category:Lenovo]] [[Category:カーネル]] [[en:Tp smapi]] tp_smapi は ThinkPad ノートパソコンのハードウェアから情報を取得したりコマンドを送信したりするカーネルモジュールのセットです。tp_smapi の情報は {{ic|/sys/devices/platform/smapi}} ファイルシステムに存在します。{{ic|/proc}} ファイルシステムと同じように、ファイルから情報を読み書きしたりハードウェアにコマンドを送信することが可能です。サポートされている ThinkPad ノートパソコンを使っている場合は、tp_smapi をインストールすることが強く推奨されます。 ==サポートされているノートパソコン== まず、あなたのノートパソコンがサポートされているかどうか確認してください。Thinkwiki に [https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status サポートされている Thinkpad の完全なリスト] が載っています。あなたの TP が stop_threshold をサポートしておらず start_threshold しかサポートしていない場合は [[#部分的にサポートされているノートパソコンの対処方法]] を見て下さい。 Ivy Bridge プロセッサあるいはそれよりも新しいプロセッサ (型番が {{ic|*30}}, {{ic|*40}}, {{ic|*50}} のモデル) が搭載された最新の Thinkpad にインストールしても、tp_smapi は動作しません。{{Pkg|tpacpi-bat}} か {{AUR|tpacpi-bat-git}} を使って下さい。 == インストール == {{Pkg|linux}} の場合は {{Pkg|tp_smapi}} パッケージ、または {{Pkg|linux-lts}} の場合は {{Pkg|tp_smapi-lts}} を [[インストール]] します。他のすべてのカーネル (例:{{Pkg|linux-zen}}) の場合は、{{AUR|tp_smapi-dkms}} の使用を検討してください。 ''tp_smapi'' (およびそのバリエーション) は、次の [[カーネルモジュール]] を提供します。 ; tp_smapi: ThinkPad SMAPI サポート ; hdaps: IBM ハードドライブアクティブ保護システム ([[HDAPS]]) ドライバー ; thinkpad_ec: ThinkPad 組み込みコントローラーのハードウェアアクセス ({{ic|tp_smapi}} と {{ic|hdaps}} は両方ともこれに依存します) 再起動後、{{ic|tp_smapi}} とその依存関係が自動ロードされ、{{ic|/sys/devices/platform/smapi/}} の sysfs インターフェイスが完全に機能するようになります。 ==機能== 以下は tp_smapi を使って行えることの一部です。自由に追加してください。 ===バッテリーの充電の制御=== [https://www.thinkwiki.org/wiki/Maintenance#Battery_treatment 長時間にわたってノートパソコンのバッテリーを満充電の状態にしておくことは良いことではありません] 。長時間バッテリーを使わなければならない状況ではないかぎり、できるだけバッテリーは 40-80% ほど残っている状態にしておくべきです。 ====一般的な方法==== tp_smapi を使うことで充電を開始したり停止する閾値を制御することができます。以下のコマンドを実行して適当な値を設定してください: echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh echo 80 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh 上記の場合、バッテリーが 40% 以下になると充電が開始され、80% を超えるとそれ以上充電しなくなります。このように設定することでバッテリーの寿命を伸ばすことができます。 バッテリーを一度抜いて、再挿入したりすると、設定した閾値はデフォルトの値にリセットされることがあります。リセットを回避するには、値を設定するスクリプトを作成して、起動時やバッテリーが接続されたときにスクリプトを実行させるようにしてください。より詳しい手順は以下のとおりです。 スクリプト {{ic|/usr/sbin/set_battery_thresholds}} を作成: #!/bin/sh # set the battery charging thresholds to extend battery lifespan echo ${2:-40} > /sys/devices/platform/smapi/BAT${1:-0}/start_charge_thresh echo ${3:-80} > /sys/devices/platform/smapi/BAT${1:-0}/stop_charge_thresh [[ヘルプ:読み方#実行可能属性の付与|実行可能]] にします。このスクリプトを使用すると、バッテリーのしきい値を設定するのが非常に簡単になります。 次のように入力するだけです (set_battery_thresholds がスクリプトの名前の場合): set_battery_thresholds 0 96 100 または、引数を指定せずに実行すると、デフォルトで BAT0 になり、しきい値が 40% と 80% になります。 起動時に [[systemd]] にスクリプトを実行させます。したがって、{{ic|tp_smapi_set_battery_thresholds.service}} ユニットを作成し、その後 [[起動/有効化]] します。 {{hc|/etc/systemd/system/tp_smapi_set_battery_thresholds.service|2= [Unit] Description=Set Battery Charge Thresholds by tp_smapi [Service] Type=oneshot ExecStart=/usr/sbin/set_battery_thresholds RemainAfterExit=yes [Install] WantedBy=multi-user.target }} バッテリーで動作させることも可能です。これには、[[acpid]] がインストールされ、実行されている必要があります。{{ic|/etc/acpi/handler.sh}} を編集します。 #... other ACPI stuff battery) case "$2" in BAT0) case "$4" in 00000000) ;; 00000001) '''/usr/sbin/set_battery_thresholds''' ;; #... more ACPI stuff ====設定が反映されているかどうか確認==== 設定が反映されたかどうか確認するには、以下の出力を確認します: cat /sys/devices/platform/smapi/BAT0/start_charge_thresh cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh ===ハードディスクを落下から保護=== tp_smapi にはノートパソコンの加速度計を読み取って、ハードドライブにダメージを与える落下などの動きを検出できるドライバーが含まれています。この機能に関する情報は [[Hard Drive Active Protection System|HDAPS]] のページを見て下さい。 ==部分的にサポートされているノートパソコンの対処方法== 部分的にしかサポートされていないノートパソコンでも、バッテリーの制御ができることがあります。まず実際にサポートされている機能を確認してください: cat /sys/devices/platform/smapi/BAT0/start_charge_thresh cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh {{ic|start-charge_thresh}} はサポートされているのに {{ic|stop_charge_thresh}} はサポートされていない場合でも、コンピュータに充電を止めさせる方法が2つあります。 {{Note|最初の2つのオプションは、T42p では機能しません。3つ目は E540 に対応しています。}} === 1番目のオプション, カスタムスクリプト === * 上述のようにスクリプト {{ic|/usr/sbin/set_battery_thresholds}} を作成 * オリジナルの {{ic|/etc/acpi/handler.sh}} を {{ic|/etc/acpi/handler.sh.start}} にコピー * 上述のように {{ic|/etc/acpi/handler.sh}} を編集して {{ic|/etc/acpi/handler.sh.stop}} にコピー 次に、以下のスクリプトをコピーして実行可能にし、好みに合わせて値を調整し、root cron として数分ごとに実行します。 #!/bin/bash CURRENTCHARGE=$(acpitool -b | cut -d, -f2 | cut -d. -f1 | cut -b2-) if [ $CURRENTCHARGE -gt 80 ]; then cp /etc/acpi/handler.sh.stop /etc/acpi/handler.sh echo 99 > /sys/devices/platform/smapi/BAT0/start_charge_thresh exit 0 fi if [ $CURRENTCHARGE -lt 60 ]; then cp /etc/acpi/handler.sh.start /etc/acpi/handler.sh echo 0 > /sys/devices/platform/smapi/BAT0/start_charge_thresh exit 0 fi exit 0 === 2番目のオプション, tpacpi-bat === バッテリーの充電の閾値を制御するには、AUR から Perl スクリプトの {{Pkg|tpacpi-bat}} または {{AUR|tpacpi-bat-git}} をインストールします。 手動で閾値を設定するには以下を実行: tpacpi-bat -v -s startThreshold 0 40 tpacpi-bat -v -s stopThreshold 0 80 上記の例で指定している 40 や 80 はバッテリーの最大容量からのパーセンテージです。必要に応じて調整してください。また、上記の行を {{ic|/etc/rc.local}} に追加することで起動時に実行させることができます。上記の値は永続的なはずですが、バッテリーを抜いたときに値がリセットされることがあります。 {{Note|コマンドのリストは tpacpi-bat のヘルプを見て下さい: {{ic|perl /usr/lib/perl5/vendor_perl/tpacpi-bat -h}}}} === 3番目のオプション, カーネル === カーネル 4.17 には、ThinkPad のバッテリ充電のしきい値を直接調整するオプションが追加されました。 echo 60 > /sys/class/power_supply/BAT0/charge_stop_threshold echo 40 > /sys/class/power_supply/BAT0/charge_start_threshold 値を表示しようとすると最後のセットのみが表示され、128が追加されます。 これは既知の問題ですが、バッテリの動作からわかるように実際は別の値が設定されています。 他の興味深いパラメータは {{ic|/sys/class/power_supply/BAT 0/}} にあります。 ==参照== [https://www.thinkwiki.org/wiki/Tp_smapi tp_smapi on ThinkWiki]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Box
(
ソースを閲覧
)
テンプレート:META Box Blue
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Tp smapi
に戻る。
検索
検索
Tp smapiのソースを表示
話題を追加