平衡点


2014/04/28

_ Let's Note CF-SX3, その1

2014年3月末にLet's Note CF-SX3 を購入しました. 大学生協カスタマイズ・ブラックエディションの

  • SSD 512GB
  • メモリ 16GB

版です.

lspci -v

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0
   Capabilities: [e0] Vendor Specific Information: Len=0c <?>

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) (prog-if 00 [VGA controller])
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0, IRQ 65
   Memory at f7800000 (64-bit, non-prefetchable) [size=4M]
   Memory at e0000000 (64-bit, prefetchable) [size=256M]
   I/O ports at f000 [size=64]
   Expansion ROM at <unassigned> [disabled]
   Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
   Capabilities: [d0] Power Management version 2
   Capabilities: [a4] PCI Advanced Features
   Kernel driver in use: i915

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0, IRQ 66
   Memory at f7f3c000 (64-bit, non-prefetchable) [size=16K]
   Capabilities: [50] Power Management version 2
   Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
   Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
   Kernel driver in use: snd_hda_intel

00:04.0 Signal processing controller: Intel Corporation Device 0a03 (rev 0b)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: fast devsel, IRQ 255
   Memory at f7f30000 (64-bit, non-prefetchable) [disabled] [size=32K]
   Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
   Capabilities: [d0] Power Management version 3
   Capabilities: [e0] Vendor Specific Information: Len=0c <?>

00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) (prog-if 30 [XHCI])
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, medium devsel, latency 0, IRQ 62
   Memory at f7f20000 (64-bit, non-prefetchable) [size=64K]
   Capabilities: [70] Power Management version 2
   Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
   Kernel driver in use: xhci_hcd

00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0, IRQ 61
   Memory at f7f47000 (64-bit, non-prefetchable) [size=32]
   Capabilities: [50] Power Management version 3
   Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
   Kernel driver in use: mei_me

00:16.3 Serial controller: Intel Corporation Lynx Point-LP HECI KT (rev 04) (prog-if 02 [16550])
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: 66MHz, fast devsel, IRQ 19
   I/O ports at f0e0 [size=8]
   Memory at f7f45000 (32-bit, non-prefetchable) [size=4K]
   Capabilities: [c8] Power Management version 3
   Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
   Kernel driver in use: serial

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0, IRQ 68
   Memory at f7f00000 (32-bit, non-prefetchable) [size=128K]
   Memory at f7f44000 (32-bit, non-prefetchable) [size=4K]
   I/O ports at f080 [size=32]
   Capabilities: [c8] Power Management version 2
   Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
   Capabilities: [e0] PCI Advanced Features
   Kernel driver in use: e1000e

00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0, IRQ 67
   Memory at f7f38000 (64-bit, non-prefetchable) [size=16K]
   Capabilities: [50] Power Management version 3
   Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
   Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
   Capabilities: [100] Virtual Channel
   Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 1 (rev e4) (prog-if 00 [Normal decode])
   Flags: bus master, fast devsel, latency 0
   Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
   I/O behind bridge: 0000e000-0000efff
   Memory behind bridge: f7e00000-f7efffff
   Prefetchable memory behind bridge: 00000000f0200000-00000000f02fffff
   Capabilities: [40] Express Root Port (Slot-), MSI 00
   Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
   Capabilities: [90] Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Capabilities: [a0] Power Management version 3
   Kernel driver in use: pcieport

00:1c.2 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) (prog-if 00 [Normal decode])
   Flags: bus master, fast devsel, latency 0
   Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
   I/O behind bridge: 0000d000-0000dfff
   Memory behind bridge: f7d00000-f7dfffff
   Prefetchable memory behind bridge: 00000000f0100000-00000000f01fffff
   Capabilities: [40] Express Root Port (Slot+), MSI 00
   Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
   Capabilities: [90] Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Capabilities: [a0] Power Management version 3
   Capabilities: [100] #00
   Capabilities: [200] L1 PM Substates
   Kernel driver in use: pcieport

00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4) (prog-if 00 [Normal decode])
   Flags: bus master, fast devsel, latency 0
   Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
   I/O behind bridge: 0000c000-0000cfff
   Memory behind bridge: f7c00000-f7cfffff
   Prefetchable memory behind bridge: 00000000f0000000-00000000f00fffff
   Capabilities: [40] Express Root Port (Slot+), MSI 00
   Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
   Capabilities: [90] Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Capabilities: [a0] Power Management version 3
   Capabilities: [100] #00
   Capabilities: [200] L1 PM Substates
   Kernel driver in use: pcieport

00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04) (prog-if 20 [EHCI])
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: medium devsel, IRQ 23
   Memory at f7f43000 (32-bit, non-prefetchable) [size=1K]
   Capabilities: [50] Power Management version 3
   Capabilities: [58] Debug port: BAR=1 offset=00a0
   Capabilities: [98] PCI Advanced Features
   Kernel driver in use: ehci-pci

00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, medium devsel, latency 0
   Capabilities: [e0] Vendor Specific Information: Len=0c <?>
   Kernel driver in use: lpc_ich

00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04) (prog-if 01 [AHCI 1.0])
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 63
   I/O ports at f0d0 [size=8]
   I/O ports at f0c0 [size=4]
   I/O ports at f0b0 [size=8]
   I/O ports at f0a0 [size=4]
   I/O ports at f060 [size=32]
   Memory at f7f42000 (32-bit, non-prefetchable) [size=2K]
   Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
   Capabilities: [70] Power Management version 3
   Capabilities: [a8] SATA HBA v1.0
   Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: medium devsel, IRQ 18
   Memory at f7f41000 (64-bit, non-prefetchable) [size=256]
   I/O ports at f040 [size=32]

00:1f.6 Signal processing controller: Intel Corporation Lynx Point-LP Thermal (rev 04)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: fast devsel, IRQ 255
   Memory at f7f40000 (64-bit, non-prefetchable) [disabled] [size=4K]
   Capabilities: [50] Power Management version 3
   Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-

02:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
   Subsystem: Intel Corporation Dual Band Wireless-AC 7260
   Flags: bus master, fast devsel, latency 0, IRQ 64
   Memory at f7d00000 (64-bit, non-prefetchable) [size=8K]
   Capabilities: [c8] Power Management version 3
   Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
   Capabilities: [40] Express Endpoint, MSI 00
   Capabilities: [100] Advanced Error Reporting
   Capabilities: [140] Device Serial Number 7c-7a-91-ff-ff-56-fe-00
   Capabilities: [14c] Latency Tolerance Reporting
   Capabilities: [154] Vendor Specific Information: ID=cafe Rev=1 Len=014 <?>
   Kernel driver in use: iwlwifi

03:00.0 SD Host controller: O2 Micro, Inc. Device 8620 (rev 01) (prog-if 01)
   Subsystem: Matsushita Electric Industrial Co., Ltd. Device 8338
   Flags: bus master, fast devsel, latency 0, IRQ 19
   Memory at f7c01000 (32-bit, non-prefetchable) [size=4K]
   Memory at f7c00000 (32-bit, non-prefetchable) [size=2K]
   Capabilities: [6c] Power Management version 3
   Capabilities: [48] MSI: Enable- Count=1/1 Maskable+ 64bit+
   Capabilities: [80] Express Endpoint, MSI 00
   Capabilities: [100] Virtual Channel
   Capabilities: [200] Advanced Error Reporting
   Capabilities: [230] Latency Tolerance Reporting
   Capabilities: [240] L1 PM Substates
   Kernel driver in use: sdhci-pci

Debian の install

UEFI です. legacy BIOS モードもあるので, そちらで起動しても問題無いのかもしれしません. ただ legacy BIOS モードだとデバイス初期化に失敗する機械 (MacBook Air とか)もあるらしいので, ここでは UEFI でインストールすることにします.

install 前の準備

今迄通り, 起動画面で F2 を押すと UEFI の設定画面に移行できます. そこで SecureBoot を無効化しておきます.

初期の/リカバリ後のパーティション構成のうち, 第1/第2パーティションを弄ると何もできなくなりましたので, ここは弄らずに Windows 領域を縮小します.

あと Windows 側でバッテリーのキャリブレーションと eco モードへの切り替えを行なっておきます. eco モード(80%充電で充電停止)を Linux から設定できると楽なんですけれどね.

Windows の「ディスク」ツールで, ディスクを縮小します. ディスク縮小が自由にできない場合には, Windows の「復旧」と「ページングファイル」を無効化すると良いでしょう.

install 後のディスク構成は以下の通り:

Model: ATA TOSHIBA THNSNF51 (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  840MB   839MB   ntfs         Basic data partition          hidden, diag
 2      840MB   1113MB  273MB   fat32        EFI system partition          boot
 3      1113MB  1247MB  134MB                Microsoft reserved partition  msftres
 4      1247MB  84.8GB  83.5GB  ntfs         Basic data partition          msftdata
 5      84.8GB  84.9GB  128MB   ext4         Boot(Grub)
 6      84.9GB  512GB   427GB                                              lvm

こんだけディスク大きいと, 先頭に数GB取られてもまったく気にならない(笑). Windows8 は殆ど使う気が無いので 80 GB まで減らしてます.

install 作業

初の UEFI にドキドキしつつ USB インストーラを試そうとしたら, UEFI の画面で起動デバイスに選択できません.

しょうがないので(数年振りに) installer として 2014/04/07 の snapshot 版の DVD イメージを DVD に焼いて試してみたら, boot デバイスの選択画面にもドライブが表われて, さらに installer 自体が EFI モードで起動し, 特に何も設定せずとも grub-efi が走って幸せになれました. Windows 領域も認識して, dual boot で綺麗に動いてくれています.

相変わらず Panasonic の機械は素直で良いですね.

...ところで「インストーラを日本語環境で実行した際に LVM の削除に失敗する」というバグはどうしたら良いんでしょう.

省電力設定

まず xfce4-power-manager を purge します. ちゃんと調べる気力が無いのですが, AC on <-> off(Battery) の際の挙動が変です.

  • AC on/off の際に, 常に輝度を最低値に変更する
  • (/proc/sys/vm/ 以下をどう触っているのか知らないが)切り替え時に 5 秒ほどディスクが読めなくなる

というわけで. バッテリの状況は conky で表示させているから, それで良いか, みたいな.

省電力については, VAIO Pro に関する以下のリンクが参考になるでしょう.

powertop を導入して, その出力を眺めつつ作成したスクリプトはこちら

# source: sh
#! /bin/sh
# -*- mode: sh; coding: utf-8; indent-tabs-mode: nil -*-
#
# Copyright(C) Youhei SASAKI <uwabami@gfd-dennou.org> All rights reserved.
# $Lastupdate: 2014-04-19 17:02:04$
# License: MIT/X11.
#
# Code:
## USB auto suspend
sudo sh -c "echo auto > /sys/bus/usb/devices/usb1/power/control"
sudo sh -c "echo auto > /sys/bus/usb/devices/usb2/power/control"
sudo sh -c "echo auto > /sys/bus/usb/devices/usb3/power/control"
## wifi powersave
sudo iw dev wlan0 set power_save on
## sound powersave mode
sudo sh -c "echo 1 > /sys/module/snd_hda_intel/parameters/power_save"
## laptop-mode
sudo sh -c "echo 5 > /proc/sys/vm/laptop_mode"
sudo sh -c "echo 0 > /proc/sys/kernel/nmi_watchdog"
sudo sh -c "echo 1500 > /proc/sys/vm/dirty_writeback_centisecs"
## PCI powersave mode
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:00.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:02.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:03.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:04.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:14.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:16.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:16.3/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:19.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1b.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1c.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1c.2/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1c.3/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1d.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.2/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.3/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.6/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:02:00.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:03:00.0/power/control"
# SATA powersave mode
sudo sh -c "echo min_power > /sys/class/scsi_host/host0/link_power_management_policy"
sudo sh -c "echo min_power > /sys/class/scsi_host/host1/link_power_management_policy"
sudo sh -c "echo min_power > /sys/class/scsi_host/host2/link_power_management_policy"
sudo sh -c "echo min_power > /sys/class/scsi_host/host3/link_power_management_policy"

で, これをどっかのタイミングで動作させても良いのですが...

pm-utils を install すると /usr/lib/pm-utils/power.d/ 以下に おしい 感じのスクリプトが instal されます. ここにあるスクリプトが結構重複しているので, これを弄ることにします.

ログ(/var/log/pm-powersave.log)を眺めていると, AC on <-> off の際に pm-powersave false/true が呼ばれています. その際に

  1. /etc/pm/config.d/ を見て, 設定値があれば, 以下のスクリプト実行時にそれを使用
  2. /usr/lib/pm-utils/power.d, /etc/pm/power.d/ にあるスクリプト(C sort order, 名前重複時は /etc/ 以下を優先)を true/false を与えつつ順番に実行

と動作している模様です.

さて, 中身を見てみましょう.

USB auto suspend

自作スクリプトの該当部分は以下:

# source: sh
## USB auto suspend
sudo sh -c "echo auto > /sys/bus/usb/devices/usb1/power/control"
sudo sh -c "echo auto > /sys/bus/usb/devices/usb2/power/control"
sudo sh -c "echo auto > /sys/bus/usb/devices/usb3/power/control"

対応する pm-utils のスクリプトは...ありませんでした. というわけで, usb_powersave スクリプトを作成します.

# source: sh
#! /bin/sh

my_set_usb_powercontrol(){
    echo $1 > /sys/bus/usb/devices/usb1/power/control
    echo $1 > /sys/bus/usb/devices/usb2/power/control
    echo $1 > /sys/bus/usb/devices/usb3/power/control
}
case $1 in
    true)
        logger 'call 51usb_powersave in pm-powersave $1'
        my_set_usb_powercontrol auto
        ;;
    false)
        logger 'call 51usb_powersave in pm-powersave $1'
        my_set_usb_powercontrol on
        ;;
    ,*)
        exit 254
        ;;
esac

exit 0

/usr/share/doc/pm-utils/HOWTO.hook.gz によれば

HOOK EXIT CODES

In normal operation, hooks should only return either 0 or 254 as exit codes.
0 indicates that the hook performed its task normally.
254 indicates that the hook is not applicable to this system.

とのことですんで, exit は 0 or 254 にしています. これを /etc/pm/power.d/usb_powersavel として置いておきます.

Wifi powersave

自作スクリプトの該当部分は以下:

# source: sh
## wifi powersave
sudo iw dev wlan0 set power_save on

対応する pm-utils のスクリプトは /usr/lib/pm-utils/wireless です. /var/log/pm-powersave.log を見てみると

Running hook /usr/lib/pm-utils/power.d/wireless true:
cat: /sys/class/net/wlan0/device/enable: そのようなファイルやディレクトリはありません
/usr/lib/pm-utils/power.d/wireless true: success.

と不穏当. 正しくは /sys/class/net/wlan0/device/enabled ですね. 同名のファイルが /etc/pm/power.d/ 以下にある場合には /etc/ 以下が優先されるので, とりあえず /usr/lib/pm-utils/power.d/wireless/etc/pm/power.d/ 以下に置いて 該当行を修正しました.

# source: diff
--- /usr/lib/pm-utils/power.d/wireless  2013-11-06 17:27:47.000000000 +0900
+++ /etc/pm/power.d/wireless    2014-04-27 17:04:21.514310732 +0900
@@ -20,7 +20,7 @@
     # Skip if not a wireless card.
     [ -d "/sys/class/net/$1/wireless" ] || return 1
     # Also don't do anything if the device is disabled
-    [ "$(cat /sys/class/net/$1/device/enable)" = "1" ] || return 1
+    [ "$(cat /sys/class/net/$1/device/enabled)" = "1" ] || return 1
     driver="$(readlink "/sys/class/net/$1/device/driver")"
     driver=${driver##*/}
     case $driver in

あとで Bug 報告しておきます.

sound powersave

自作スクリプトの該当部分は以下:

# source: sh
## sound powersave mode
sudo sh -c "echo 1 > /sys/module/snd_hda_intel/parameters/power_save"

対応する pm-utils のスクリプトは /usr/lib/pm-utils/intel-audio-powersave です. スクリプトの中身を見てみると, 変数 INTEL_AUDIO_POWERSAVEtrue にしておくと このスクリプトが良い感じに実行されます.

というわけで /etc/pm/config.d/cf-sx3.conf を作成し,

# source: conf
INTEL_AUDIO_POWERSAVE=true

としておきます(設定ファイルは *~ にマッチしなければなんでも良いようです).

laptop-mode

自作スクリプトの該当部分は以下:

# source: sh
## laptop-mode
sudo sh -c "echo 5 > /proc/sys/vm/laptop_mode"
sudo sh -c "echo 0 > /proc/sys/kernel/nmi_watchdog"
sudo sh -c "echo 1500 > /proc/sys/vm/dirty_writeback_centisecs"

対応する pm-utils のスクリプトは /usr/lib/pm-utils/laptop-mode です. このスクリプトでは

# source: conf
LAPTOP_MODE=${LAPTOP_MODE:-5}
LAPTOP_DIRTY_RATIO=${LAPTOP_DIRTY_RATIO:-60}
LAPTOP_DIRTY_BG_RATIO=${LAPTOP_DIRTY_BG_RATIO:-40}
LAPTOP_DIRTY_WRITEBACK=${LAPTOP_DIRTY_WRITEBACK:-60000}

と設定されており, 特に弄る必要は無いように思えます. powertop の設定に合わせるのであれば

# source: conf
LAPTOP_DIRTY_WRITEBACK=1500

でしょうか? (60000 = 10 分) でも良い気もしますが. これを /etc/pm/config.d/cf-sx3.conf に設定しておきます.

PCI powersave

自作スクリプトの該当部分は以下:

# source: sh
## PCI powersave mode
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:00.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:02.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:03.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:04.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:14.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:16.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:16.3/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:19.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1b.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1c.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1c.2/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1c.3/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1d.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.2/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.3/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:00:1f.6/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:02:00.0/power/control"
sudo sh -c "echo auto > /sys/bus/pci/devices/0000:03:00.0/power/control"

対応する pm-utils のスクリプトは /usr/lib/pm-utils/pci_devices です. このスクリプトでは

# source: conf
PCI_DEVICES_PM_ENABLE="${PCI_DEVICES_PM_ENABLE:-true}"

でスクリプトの実行の有効/無効をきりかえています.

というわけで /etc/pm/config.d/cf-sx3.conftrue にしておきます.

SATA powersave mode

自作スクリプトの該当部分は以下:

# source: sh
# SATA powersave mode
sudo sh -c "echo min_power > /sys/class/scsi_host/host0/link_power_management_policy"
sudo sh -c "echo min_power > /sys/class/scsi_host/host1/link_power_management_policy"
sudo sh -c "echo min_power > /sys/class/scsi_host/host2/link_power_management_policy"
sudo sh -c "echo min_power > /sys/class/scsi_host/host3/link_power_management_policy"

対応するスクリプトは /usr/lib/pm-utils/power.d/sata_alpm で,

# source: conf
SATA_ALPM_ENABLE=${SATA_ALPM_ENABLE:-false}

で切り替え可能です. これを有効にしておきます.

その他

/var/log/pm-powersave.log を眺めていると /usr/lib/pm-utils/pcie_aspm において

Running hook /usr/lib/pm-utils/power.d/pcie_aspm true:
sh: echo: I/O error
/usr/lib/pm-utils/power.d/pcie_aspm true: success.

なんてメッセージが出ています. 中身は以下

# source: sh
#!/bin/sh

aspm="/sys/module/pcie_aspm/parameters/policy"

[ -w "$aspm" ] || exit $NA

case $1 in
    true) echo powersave > "$aspm";;
    false) echo default > "$aspm";;
    ,*) exit $NA;;
esac

exit 0

で, /sys/module/pcie_aspm/parameters/policy の中身は

% cat /sys/module/pcie_aspm/parameters/policy
[default] performance powersave

となっている. んー.

特に弄る必要性を感じないので, 中身が空な /etc/pm/power.d/pcie_aspm を転がしておくことに.

NMI_WATCHDOG の無効化は, どこでやるのが良いのかね. とりあえず /etc/pm/power.d/nmi_watchdog として放り込んでおく

# source: sh
#!/bin/sh

disable_watchdog(){
  [ `cat /proc/sys/kernel/nmi_watchdog` -eq 0  ] || \
    echo 0 > /proc/sys/kernel/nmi_watchdog
}

case $1 in
  true|false)
    disable_watchdog
    ;;
  ,*)
    exit 254
    ;;
esac

exit 0

まとめ?

一ヶ月ほど使ってみての感想ですが

  • 以前使っていた Let's CF-S9 に比べて, 薄くてバッテリの持ちも良い端末
    • LバッテリとSバッテリを購入しましたが L だと一日電源いらず, ですね.
  • キーピッチが微妙に狭い. 以前は矢印キーが一段下がっていたのに, これを無理矢理最下段に指し込んだから, かな?
    • US 配列 マダァ?(・∀・ )っ/凵⌒☆チンチン
    • 刻印無しキーボード選べなかった, ような. むー.

他の設定については, 気がむいたら書きます.


連絡先など
最近の日記
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
  • 2024/06/12
    • 1. wsl2 で systemd
    • 2. wslg の設定
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|
Back to Top ▲