Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Tp smapiのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Tp smapi
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{DISPLAYTITLE:tp_smapi}} [[Category:ノートパソコン]] [[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}} を使って下さい。 ==インストール== 最近 community リポジトリに移動された {{Pkg|tp_smapi}} パッケージを[[インストール]]してください。カスタムカーネルの [[linux-ck]] を使っている場合は [[AUR]] からインストールできる {{AUR|tp_smapi-ck}} が存在します。 パッケージによって3つの新しい[[カーネルモジュール]]が追加されます: {| class="wikitable" align="center" style="width:100%; text-align:left;" |- style="text-align: center;" | colspan="2" | '''カーネルモジュール''' |- style="text-align: center;" | width="30%" |'''名前''' | |'''説明''' |- |tp_smapi | ThinkPad SMAPI サポート |- style="border-top:1px solid #aaaaaa;" |hdaps | IBM [[Hard Drive Active Protection System]] (HDAPS) ドライバー |- style="border-top:1px solid #aaaaaa;" |thinkpad_ec | ThinkPad の組み込みコントローラハードウェアへのアクセス (tp_smapi と hdaps のどちらも依存) |} 再起動後、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 上記のスクリプトを使ってバッテリーの閾値を設定するのはとても簡単で、({{ic|set_bat_thresh}} がスクリプトの名前だとして) 以下のコマンドを入力するだけです: set_battery_thresholds 0 96 100 引数を付けないで実行すると、BAT0 の閾値が 40% と 80% に設定されます。 スクリプトに実行可能属性を付与してください: # chmod 744 /usr/sbin/set_battery_thresholds 起動時に [[systemd]] でスクリプトを実行します (initscripts の {{ic|rc.local}} を使うのはもう非推奨になりました)。まず {{ic|/etc/systemd/system/tp_smapi_set_battery_thresholds.service}} を作成: {{bc|<nowiki> [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 </nowiki>}} そして systemd で有効化: # systemctl enable tp_smapi_set_battery_thresholds.service バッテリーが接続されたときもスクリプトを実行させるには、[[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|どちらの方法も T42p では使えません。}} === 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}} にコピー 以下のスクリプトをコピーして、実行可能属性を付与し、自由に値を調整して、cron などで数分ごとに root で実行するようにしてください。 {{bc|<nowiki> #!/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 99 > /sys/devices/platform/smapi/BAT0/start_charge_thresh echo 0 > /sys/devices/platform/smapi/BAT0/start_charge_thresh exit 0 fi exit 0 </nowiki>}} === 2番目のオプション, tpacpi-bat === バッテリーの充電の閾値を制御するには、AUR から Perl スクリプトの {{Pkg|tpacpi-bat}} または {{AUR|tpacpi-bat-git}} をインストールします。 次を実行して {{ic|acpi_call}} カーネルモジュールをロードしてください: # modprobe acpi_call もしくは {{ic|/etc/rc.config}} の MODULES にカーネルモジュールを追加します。 手動で閾値を設定するには以下を実行: 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
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Tp smapi
に戻る。
検索
検索
Tp smapiのソースを表示
話題を追加