雑記 - VAIO Pro 11 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

最近の ThinkPad の変質(アイソレーションキーボードはギリギリ及第点だけど、独立したクリックボタンを廃止してタッチパネルのみにしたのは…)に少々ガッカリしていて、それならば別にこの VAIO でもいいんじゃないのか?と思って発注。(2013年7月下旬)如何にも Sony らしい薄くとても軽量な note PC。Haswell で省電力(11時間)、full-HD の IPS 液晶はとても綺麗。私的には、タッチパッドなこととキーボードが小さめなところが NG なのだけど、まぁそこは目を瞑ることに。(他にもバッテリー交換ができないとかいったこともあるけど、それは VAIO Pro に限らないので)

もちろん例のごとく、Linux を入れて使います。

Plamo Linux 5.1 を入れ、kernel 等の update することで無線も使えている。
きちんと整理してないが、以下気付いたことなどを列挙していく。(そのうち整理するかもしれないが)

2013/12/31 大晦日の夜に、Plamo Linux 5.2 に。

2014/02、VAIO 事業部がドナドナに。というわけで、これが 2台目にして最後の VAIO となりそうです。次、何を買えば良いんだろう… ThinkPad の劣化は激しいしなぁ…

2014/12/30 Plamo 5.3 に。

2015/03, [[ThinkPad X250]] が届いた後から全く使っていません。全体的に華奢な作りとキータッチの悪さが、ね…画面は綺麗だったけどさ。というわけで、もう VAIO を使うことはないでしょう(何か[[酷いスマホ|http://trendy.nikkeibp.co.jp/article/column/20150316/1063183/]]を出したのを見て愛想が尽きたというのもあるかも)

2015/06, 職場の方で使うとの話になったので、WinPE64 で ディスクを真っ新にして譲渡。Windoze 8.1 とかの検証用などで第二の余生(?)を過ごすことになるでしょう。

! GPT(GUID Partition Table) から MBR に
この Vaio のディスクは、GPT を使っている。GPT な環境に Linux を入れるのはちと面倒。そもそも 256GB の SSD だから GPT に拘る必要も無いし、不要な Windows はバッサリ決して、legacy な MBR にしてしまうことに。fdisk では GPT を扱えないので、GNU Parted が使える ubuntu などの DVD を使って、MBR にしてしまう。(なおこの際あらかじめ BIOS で EFI から legacy にしておくこと。)後は Plamo 5.1 の DVD でインストール。

GPT や MBR については、たとえば以下が参考になるかな
*[[http://mimumimu.net/blog/2012/02/01/hybrid-mbr-%E3%82%92-gpt-mbr-%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%80%82/]]
*[[http://natural-born-minority.blogspot.jp/2012/05/linux-cannot-boot-using-gpt.html]]

! wireless の認識
intel wireless 7260 という新しいチップなので、まだ正式に対応していない。まず firmware は以下から git で取ってくる。

git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

取ってきたものの中から iwlwifi-7260-7.ucode と iwlwifi-3160-7.ucode を /lib/firmware/ にコピーする

この firmware に対応した code は kernel 3.11.0-rcX に入っているので 3.11.0-rcX を入れて、iwlwifi を使えば ok

! SD Card Reader の認識
何故か SD カードを差し込んだ状態で Linux を起動しないとカードデバイスを認識しない。とりあえずカードを入れて boot しさえすれば lspci でデバイスが表示される。(これは Plamo だけでなく、Ubuntu 13.04、Fedra 19、CentOS 等でも同様)

使われている SD コントローラは、 Realtek RTS5209 PCI Express Card Reader のようだ。
使うべき driver は rtsx_pci_sdmmc なので、これを有効にすればよい。
kernel config で、
Device Drivers -> Multifunction device drivers -> Realtek PCI-E card reader を有効にすると、Device Drivers -> MMC/SD/SDIO card support の中に Realtek PCI-E SD/MMC Card Interface Driver
が現れるので、それも有効にして build すればよい。
(なおこの RTS5209 コントローラは memory stick 等にも対応しているもの。ハードウェアが対応していればそれらも使えるんでしょう。Sony としては memory stick も使えるようにしたいと考えていたんじゃないかな。)

さて、OS 起動後に SD Card Reader を認識させるには、
SD カードを刺した後に次のコマンドを発行すれば OS が PCI デバイスを再スキャンして利用可能になる。
echo 1 > /sys/bus/pci/rescan

何でカードが刺さってない状態でデバイスを認識しないのかは、、、よくわからん。System wakeup disabled by ACPI とか表示が出るので、ACPI 絡み?

蛇足だが、PCI 周りを制御する方法については、[[ここ|https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci]]の情報が役立つ。

suspend/resume すると認識しなくなる。さて、何が悪いのか?

!!/etc/crypttab not found
udisksd が
Error opening /etc/crypttab file: Failed to open file '/etc/crypttab': No such file or directory (g-file-error-quark, 4)
とか言っているが、plamo のサイトに修正版の udisk2 があるみたいなのでそれを入れる。

! グラフィック周り
Vaio Pro 11 のグラフィックは Intel HD Graphics 4400 なので、
xorg の intel driver は新しい物でないと駄目。
plamo 5.1 では intel driver がちょっとだけ古くて対応していないためか vesa を使ってしまうのだが、これだと外部出力の制御等で不便。というわけで、新しい intel video driver (xf86-video-intel-2.21.9) を[[ここ|https://01.org/linuxgraphics/downloads]]から取ってきて入れた。
./configure --prefix=/usr --libdir=/usr/lib64
make && make install
その後、以下の内容を記述した /usr/share/X11/xorg.conf.d/20-intel.conf を作成して完了。
Section "Device"
         Identifier  "Card0"
         Driver      "intel"
         Option      "DefaultDepth" "24"
EndSection

実家の Bravia に HDMI で繋いで出力してみたが、美しいですねぇ。

! disk 周り
ext4 で運用しているが、時々ディスク周りで固まる。これがかなり問題。インストール時にゴタゴタやったこと(仮想ディスクドライブ ZM-200SE が不調だった)が悪かった可能性があるので、disk partition の切り直しからやり直して入れ直したい。
無線 driver が悪さをしている可能性もあるが...

なお、ディスクは  SAMSUNG の mSATA MZNTD256HAGL SSD 256GB らしい。

AC 接続のまま1日以上何事もなく動いていたのに、Battery 運用にしたら固まった。もしかすると sata の power management 周りに何か問題があるのかもしれない。3.10 kernel にしてテストしてみたいところだけど、3.10 だと wireless が使えないからなぁ。

なかなかまとまった時間が取れないが、partition の作成し直しを含めてシステムを入れ直して、固まってしまう問題は多少回避できた感じだなと思っていたが、AC-off から AC-on にすると sata disk 周りの問題で固まることがある... 出るメッセージは sata 周りの "hard resetting link" とか "link is slow to respond"。どうも AC-on にしたタイミングで SATA 周りの電源かリンクが切れているようだ。(==下の shutdown / reboot 時の問題も同根かもしれないという気がしてきた==)

X を立ち上げないと固まらない。ということは、X window manager (xfce) の立ち上げ時にセットされる何かが原因か。(X 起動時には例えば
/sys/class/scsi_host/host*/link_power_management_policy が max_performance から min_power に変わる。この辺りのパラメータなどを変更する奴 daemon? がいるんじゃないかな→いた!upowerd だ)

upower がパラメータを弄っていて、それを切っ掛けに sata 周りの link が切れていた模様。設定の見直しをする前に、最新の upower-0.9.21 を入れたところ、固まる事象は抑制された。(その代わり電力制御(一部?)も抑制されてしまい、消費電力が 3W台から4W台へ 1W弱増えた。)upower 関連の設定の見直しは後ほど。

!fw_shutdown_notify ?

それよりも深刻なのは、shutdown / reboot 時に kernel panic を起こしてしまうことがあること。Call Trace に fw_shutdown_notify といった事が書かれており、firmware 周りの処理に問題がありそうな感じ。(よく分かってない)

さてどうしたものかと思ったら、VAIO Pro 11/13 用の BIOS update など(あまり関係なさそうな更新だけど...)が幾つか出ていた。しかし、Windows 用の BIOS アップデートプログラムなんだよなぁ。(Windows は消してしまっているので)困ったな。
外部デバイスにでも Windows を入れてアップデートしてみたらよさそうだが、何にしても時間がないのですぐにはできない。(追記) Windows PE3.0 を入れた USB メモリを用意して BIOS アップデートプログラムを実行してみたが「サブシステムがない」と言われてダメだった。とりあえず BIOS アップデートはしばらく放置。

ふと思いたって、kernel を 3.10.9 で動かしてみた。(wireless 7260 は使えないですが。)何度か試してみたが、この 3.10.x 系列では問題なく shutdown / reboot できる。ということは、kernel 3.11.0-rcX 系列に加えられた何かに問題があるような気がする。ちなみに kernel 3.11.0-rcX で iwlwifi を disable にしたものでも shutdown / reboot がうまく動作しないので、wireless 7260 の code / firmware のせいではなさそう。

!しばらくペンディング
軽いのでこのところ常に持ち歩いているんだけど、うまく動かない点が気になってしまう。これを弄っていると仕事が滞ってしまいそうなので、今の仕事が片付くまで放置することに。

仕事が一段落付いたら、BIOS のアップデートから何から全て見直すことにしよう。というわけで少なくとも 10 月以降までペンディング。

!BIOS アップデート
ようやく少し時間ができたので、BIOS アップデートした。上述のように、この Vaio Pro に入っていた Windows8 はバッサリ消してあるので、アップデートプログラムを実行するには工夫が必要。WinPE な USB メモり等を使うことで BIOS アップデートができたので以下にメモを書いておく。これでシステムの安定度が増せばいいのだけどな。→ いくらか改善した(気がする)→間違いなく安定度が高まった

[[WinPE を使った Vaio Pro 11 の BIOS update]]

なお BIOS update によって、BIOS 設定が default 値に戻ってしまうことに注意。

!kernel update
3.11.3 + tuxonice

tuxonice は suspend はできるけど resume で失敗する(他の環境では動いているようなので、この note 固有の問題っぽい。要調査。)

!kernel update
3.11.4 + tuxonice

suspend / resume 成功。

*kernel config : {{attach_anchor('config-3.11.4')}}
*haswell pstate patch: {{attach_anchor('haswell_pstate.patch')}}

resume 時に失敗していたのは LZO_COMPRESS が disable になっていた(これは結構恥ずかしい ^-^;)ことに原因の一端がありそう。ただこれだけが原因では無かったのは確か。というのも以前 ThinkPad の .config 等を流用して古い kernel で試した時も suspend/resume を失敗してたので。

BIOS update 以前の不安定な挙動(reboot や shutdown 時に途中で止まるなど)も解決したようなので、BIOS (ACPI) 周りの問題も関係していた可能性が高そうな気がしている。

まぁ、いずれにせよ、一通りうまく動作するようになったので、安心して仕事に使えそうだ。
あとは細かいチューニングだけですね。

!/etc/hibernate/blacklist-modules
以下を追加してみたけど、suspend/resume すると SD card reader が使えなくなる… さて、何が悪いのか…
mei_me
rtsx_pci_sdmmc
mmc_block
mmc_core

!/usr/share/X11/xorg.conf.d/10-evdev.conf
keyboard の section に
Option "XkbOptions" "ctrl:swapcaps"
を追記(外付け keyboard 用)

!kernel update
3.11.6 + tuxonice

!BIOS update
[[Sony のサイト|http://vcl.vaio.sony.co.jp/product/sv/svp1121a1j.html]]から EP0000309325.exe をダウンロードして、展開していれた。BIOS version R1040V7 に。

手順は [[WinPE を使った Vaio Pro 11 の BIOS update]] と同じ

!kernel update
3.11.7 + tuxonice

!SD card reader の問題、一応解決
ようやく suspend / resume 後も使えるようになった。

通常起動後は module の load 後に /sys/bus/pci/rescan を叩く程度で使えることから、何らかの初期化処理に問題があるのだろうと予想。それならば、suspend/resume 後に初期化してしまえばよかろうと考え、 module の unload/load や /sys/bus/pci/devices/ 以下を叩いてみた結果、(真っ当な方法かどうか怪しいけど)対処方法が分かった。

まとめると
*rtsx_pci や mmc_core を kernel 組み込みに、rtsx_pci_sdmmc と mmc_block のみ module にした {{attach_anchor('config-3.11.7')}}
*/etc/hibernate/blacklist-modules に rtsx_pci_sdmmc と mmc_block を
*suspend/resume 後、SD card を差し込んだら、手動で以下を実行
modprobe -r mmc_block
modprobe -r rtsx_pci_sdmmc
echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/remove
echo 1 > /sys/bus/pci/devices/0000\:00\:1c.3/reset
modprobe rtsx_pci_sdmmc
modprobe mmc_block
echo 1 > /sys/bus/pci/rescan
この操作が適切かどうかは分からない。きっともっと賢い方法があるのだと思うけれど、まぁ、使えるようになったので良しとしよう(本当は module の方を弄るべきだろうけどね)

ちょっとメモ
* 0000:02:00.0 は RealTek RTS5209 SD Card Reader
* 0000:00:1c.3 は RTS5209 がぶら下がっている Lynx Point-LP PCI Express Root Port 4

!X window system 更新
[[Plamo のサイト|ftp://ftp.ne.jp/pub/Linux/distributions/plamolinux/Plamo-5.1/x86_64/plamo/02_x11/]] から、更新されている package を取ってきて、updatepkg で入れる。

!fxlinuxprint-src-1.1
fuji xerox 複合機 C6500 から印刷するために入れる

!exiftool
Image-ExifTool-9.39 を入れる

!kernel update
3.11.8 + tuxonice

!音量調整
amixer sset Master 10%+
amixer sset Master 10%-
amixer sset Master toggle
これらを XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute に割り当てる

!辞書
辞書ライブラリ eb-4.4.3 を入れた後、ebmini-1.0-fb4 だとか ebview-0.3.6.2 を入れる

!kernel update
3.11.9 + tuxonice

!powertop-2.5
2.5 が出ていたので入れる

!kernel update
3.12.2 + tuxonice

!kernel update
3.12.3 + tuxonice  {{attach_anchor('config-3.12.3')}}

!Thunar
xfce 4.10 でファイルビューアの Thunar の起動が遅いとき、 /usr/share/gvfs/mounts/network.mount 中の AutoMount=true を AutoMount=false にすればよい

!kernel update
3.12.4 + tuxonice

!kernel update
3.12.5 + tuxonice

!kernel update
3.12.6 + tuxonice

!plamo 5.2 テストバージョン(b2)
テスト予定(ふゆやすみのしゅくだい :p)

今回 isohybrid イメージなので USBメモリから起動可能。光学ドライブ不要なので助かります。

!plamo 5.2 インストール
大晦日の夜、/dev/sda6 に領域を 50GB ほど確保して、インストール。/home は以前のものをそのまま利用。
インストール後にしたことは、kernel の rebuild と /usr/share/X11/xorg.d.conf/20-intel.conf の作成、grub や hibernate script の修正。
その後、辞書関連、印刷設定、写真関連(ImageMagick, exiftool, ufraw,zphoto)を入れる。

!BIOS update
R1043V7 にアップデート。

アップデート後に resume しようとしたら固まった。BIOS アップデートに伴い、suspend image に不整合が出たのでしょうね。ちゃんとシャットダウンしてから BIOS update すべきでした。迂闊ですね。

!upowerd
AC off 状態から AC on にすると固まってしまう。以前のシステムでも発生していた upowerd 関連の現象。とりあえず upowerd を止めれば問題を抑制できるが、upowerd を入れ替えるなり、設定を見直すなり、きちんと解決しておくべき。

!upower-0.9.23
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 --localstatedir=/var --mandir=/usr/share/man --disable-static
make
make install
自前 build し入れ直しただけで、固まる問題は解決。

再度 plamo の pkg を上書きインストールすると AC-off/on 時をきっかけとしてディスク I/O に問題が生じてトラブルが再発。

plamo の build スクリプトをちゃんと読んで、build option を幾つか試した結果、--enable-deprecated オプションを付けていると固まることが分かった。このオプション、必要なのかなぁ… (→ xfce の終了画面に「サスペンド」や「ハイバネーション」を表示する為に付けられたらしい。)

!kernel update
3.12.7 + tuxonice

!discard
mount option に付け忘れてたので付けた

!kernel update
3.12.8 + tuxonice

!kernel update
3.12.9 + tuxonice

resume 時に kernel panic になったため、3.12.8 に戻す

!VAIO事業、JIP への譲渡発表(2014/02/06)
何とまぁ。テレビ事業も分社化するらしい。

それはともかく、この VAIO Pro の保証は大丈夫なのだろうか?

!kernel update
3.12.10 + tuxonice

!kernel update
3.13.3 + tuxonice

!bluetooth mouse
Logicool bluetooth mouse M577 を使えるように設定する。

しばらくするとプチッと接続が切れてしまう。多分本体側の省電力設定のせいじゃないかな。そのうち調べること。

!kernel update
3.13.4 + tuxonice

tuxonice パッチの中で、間違って kernel version の sublevel を 4 ->2 しちゃってて、kernel version が 3.13.2 になっている ^-^;
まぁ、特段実害はないので放置 :-p

!kernel update
3.13.5 + tuxonice

!外付け Keyboard で Caps <-> Ctrl
いつもは ~/.Xmodmap に Ctrl <-> Caps 設定をしている。だが Xmodmap だと USB keyboard を挿した時に Ctrl <-> Caps 設定がされない。

卓上で ThinkPad USB Keyboard with TrackPoint を使う際にも Ctrl と Caps の入れ替えをさせたかったので、 /usr/share/X11/xorg.conf.d/10-evdev.conf に以下を追加
Section "InputClass"
         Identifier "ThinkPad USB Keyboard with TrackPoint"
         MatchIsKeyboard "on"
         MatchDevicePath "/dev/input/event*"
         Option "XkbLayout" "us"
         Option "XkbOptions" "ctrl:swapcaps"
EndSection

!kernel update
3.13.6 + tuxonice

!convert to ogv
ffmpeg を使って ogv (ogg) に変換するには
ffmpeg -i input.xxx -codec:v libtheora -q:v 7 -codec:a libvorbis -q:a 5 output.ogv
video の quality は -q:v の後に 0 から 10 の数値で指定、audio の quality は -q:a の後に 0 から 10 の間の数値で指定(数値が大きい方が高クオリティ)
[[http://trac.ffmpeg.org/wiki/TheoraVorbisEncodingGuide]]

サイズを指定するには -s 1280x720 のように指定する


!html5 による動画音声コンテンツの埋め込み
[[https://developer.mozilla.org/ja/docs/Web/HTML/Using_HTML5_audio_and_video]]

!kernel update
3.13.7 + tuxonice

!kernel update
3.13.9 + tuxonice

!kernel update
3.14.1 + tuxonice

!kernel update
3.14.4 + tuxonice

!BIOS update
2014/04/07 付けの R1044V7 にアップデート

もしかしたら、これが提供される最後のアップデートかもしれないなぁ…

!kernel update
3.14.5 + tuxonice

!kernel update
3.14.7 + tuxonice

!kernel update
3.15.2 + tuxonice

!kernel update
3.15.5 + tuxonice

!kernel update
3.15.6 + tuxonice

!kernel update
3.15.7 + tuxonice

!kernel update
3.15.8 + tuxonice

!kernel update
3.16.0 + tuxonice にしてみたところ、console framebuffer 辺りに問題があるのかブラックアウトしてしまう。が X を起動しさえすれば画面表示される。また X を起動後、wireless も何故か使えないことに気付く。はて???
(ちなみに他の note (ThinkPad)では無問題で 3.16.0 系に)

で、wireless については iwlwifi module をロードする時のログから、新しい firmware を必要としていると分かったので
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
し、取得した iwlwifi-7260-8.ucode と iwlwifi-7260-9.ucode を /lib/firmware/ にコピー。これで wireless は解決。

!update-pciids
PCI ID のリストを更新

!fbcon
起動時にコンソール画面が真っ暗けになる件

ふと、fbcon module が load されてないせいじゃないかと思って load してみたら、あっさりコンソール画面が表示。ちゃんちゃん。(間抜けだなぁ…)

それにしても 3.5.18 までは手で load しなくても良かったのに、何が変わったのかな

!kernel update
3.16.1 + tuxonice

!kernel update
3.16.2 + tuxonice

!kernel update
3.16.3 + tuxonice

!kernel update
3.16.4 + tuxonice

!kernel update
3.16.5 + tuxonice

!Plamo Linux 5.3
2014/12/30 に Plamo 5.3 がリリースされたので、/dev/sda1 にインストール。kernel を rebuild し、firmware を新しいものに。使わないサービスを停止。

!kernel update
3.19.0 + tuxonice

!固まる現象
AC power off/on でディスク周りが固まる現象が発生。以前のシステムでやった、 upower-0.9.23 を --enable-deprecated オプションなしで rebuild し直して入れた。しばらく様子見。

!bye!
職場(ユーザ対応の現場)に譲渡。大事に使ってもらいな :-)