謎のシンクライアント,ION A603 で遊ぶ

 無くなりそうで無くならない秋葉原某店の300円ジャンクシンクライアントの話。記事を書こうと思いつつ棚から無くなりつつあるのを見て「やっぱりいいか……」となるのを何度か繰り返しましたが,先週行った時にはまたみっちり並んでいたので,まだたくさん隠し持っている(?)と見なしてひとまず記事にします。
 
 まず,本体シールからこいつの機種名は「ION A603」であることが判明しています。これで検索してみると,いくらか情報が出てきます。早速タイトルの「謎」が謎でなくなっていますが,気にしないこと。
・製造元らしき FIC のページ http://www.fic.com.tw/product/iona603.aspx
・AMD ウェブサイトでも紹介されている http://wwwd.amd.com/catalog/salescat.nsf/doclookupweb/CEF3492F57763CCF8625725800148E8D
 これらの表によると,CPU は AMD Geode LX800 (500MHz) のようです。この石の性能は同クロックの C3 よりはマシという程度の模様。もっともグラフィックやメモリのおかげか体感的にはもうちょっと速いです。また,4ポート USB 2.0,100M イーサ,RAM は最大1GB対応と,今でもアプライアンスサーバ的な使い方なら充分使えるスペックだということがわかります。また,定格電流が3.33Aであることも判明しました(以前 AC 付きも売られていた時にも購入しており,その AC アダプタも 12V 3.33A センタープラスで,Li Shin International Enterprise Corp. 製 LSE0107A1240 というものでした。FIC ロゴなどはありませんが,おそらくこれが純正品だと思います)。3A でも代用可能だと思います。HDD の消費電力分を考えると 2.5A でもたぶん行けるでしょう。

 それでは実物を見ていきましょう。「ROUTER」のシールは自分で貼ったものなので気にしないように(ラズパイルータの代替ハードウェアとして導入予定……だがなかなか取り掛かれず)。金属製のしっかりした上質な筐体です。萌えー
 前面には USB 2.0 ポートが4つ,インジケータ,電源ボタン,スピーカ,マイク端子とヘッドフォン端子。

 背面には LINE OUT,VGA 端子,LAN,電源コネクタ,ケンジントンロック用の穴。電源コネクタは一般的な外径5.5mm/内径2.1mmではなく5.5mm/2.5mmですが,千石などでアダプタを購入できます(100円程度)。入力は上記の通り 12V 3.33A センタープラスです。

 マザーボードはこんな感じ 1。筐体に排気口がないことからもわかりますが,ファンレス仕様です。萌えー
 一般的なケーブルを用立てれば 2.5 の IDE HDD が乗るようです。キャパシタは変なのも多いですが大きいやつは一応三洋の105℃品です。

 裏側。オンボードではなく 512MB の DDR SODIMM が挿されています。これはなかなか!

 ところでこれ…… SoC にヒートシンクも何も付いてないんですが,元々こんなものなんでしょうか? どうも心配です。HDD マウンタまで熱を逃してやりたいところですが,基板から直接外装へ熱を逃がす作りになっているようにも見え,かえってキャパシタの寿命を縮めるのではないかという感じもします。

 組み立ては逆にすればいいのですが,少々コツがいります。まず,下の赤丸の部分にプラスティックのツメがあるので,筐体下側から先にはめること。

 また,下の赤丸部分に金属の細かな接点?があるので,これを破壊しないよう,気をつけながら挿していきます。

 BIOS は一般的な Award BIOS で,特に面白そうな項目はありませんでした。
 目論見通り USB ブートに対応しており,Debian Jessie を USB メモリに普通の i586 用インストールメディアを使って難なくインストールできました。
 (なお,今回インストールした環境では,そのままでは”atempt to read or write outside of disk ‘hd0′”というエラーが出て起動できませんでした。起動ドライブの UUID が変わって発生するエラーのようだと踏んで,Grub の設定を UUID でなく /dev/* の指定を渡すよう記述を変えましたが効果はないようです。とりあえず起動時に Grub のオプションを適当にいじる 2,たとえば noacpi を指定してやる 3と(なぜか)起動できるので,今回はそれで済ませました。しばらく前に別のマシンにインストールした環境は大丈夫なのでカーネル絡み,何らかのデータ破損,BIOS 設定のいずれかだと思いますが目下検証する時間がないので……時間ができたらまた書きます。)
 17/3/26追記:追記を忘れていましたが,デスクトップ環境とディスプレイマネージャもインストールしたところ問題なく起動しました。ここにきて再びの謎です。ハードウェア省電力機能とかの話なのかもしれません。

/proc/cpuinfo はこんな感じ。

processor		: 0
vendor_id		: AuthenticAMD
cpu family		: 5
model			: 10
model name		: Geode(TM) Integrated Processor by AMD PCS
stepping		: 2
microcode		: 0x8b
cpu MHz			: 498.027
cache size		: 128 KB
fdiv_bug		: no
f00f_bug		: no
coma_bug		: no
fpu				: yes
fpu_exception	: yes
cpuid level		: 1
wp				: yes
flags			: fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow vmmcall
bogomips		: 996.05
clflush size	: 32
cache_alignment	: 32
address sizes	: 32 bits physical, 32 bits virtual
power management:

 一応 i686 互換対応っぽいです。

lspci はこんな感じ。ちゃんと 100M イーサですね。

00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode companion] Host Bridge (rev 33)
00:01.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD] Geode LX Video
00:01.2 Entertainment encryption device: Advanced Micro Devices, Inc. [AMD] Geode LX AES Security Block
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev 10)
00:0f.0 ISA bridge: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode companion] ISA (rev 03)
00:0f.2 IDE interface: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode companion] IDE (rev 01)
00:0f.3 Multimedia audio controller: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode companion] Audio (rev 01)
00:0f.4 USB controller: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode companion] OHC (rev 02)
00:0f.5 USB controller: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode companion] EHC (rev 02)

 lsusb には 1.1/2.0 の root hub しかありませんでした。
 とりあえず今回はこんな感じで!

17/3/26:記事タイトルから「(1)」を削除

Notes:

  1. 特にこの季節は,基板類に触る前に必ず大きな金属製品などに触れて静電気を逃しましょう!
  2. リスト画面で E キー,起動は Ctrl-X
  3. “linux /boot/vmlinux-… ro quiet” とある行が起動時カーネルオプションです。

Linux におけるラップトップマシン向け電力管理スイートの紹介(Pm-utils, Laptop-mode-tools, Powertop, TLP)

 Linux をラップトップマシンにインストールすると Windows に比べてバッテリの持ちが悪い,ということが言われることがあります。
 これは事実でしょう。最大の理由は,電力管理の設定が最適化されていないことです。Windows ではメーカが機種ごとに作成した環境のリカバリディスク,あるいはドライバやユーティリティ類がありますが,大半の Linux ディストリビューションでは,32コアのワークステーションでもポケットサイズのモバイルマシンでも同じ DVD を使ってインストールします。したがって初期設定はまずはどんな環境でもそつなく動くようにしておく必要があり,マシンの特性に合わせた最適化は施されていないのです。
 幸い,Linux ではさまざまな省電力機能がサポートされていますし,それらを一括して管理できる見通しの良いツールもあります。数十分ほどの時間をかければメーカが用意した Windows 環境並み,そして(大抵は Linux 環境の方が負荷が軽いこともあり)それを超える電力管理をも実現できます。私のメインモバイルマシンである CF-SX1 は Windows より Debian の方がファンが静かな上に快適に動きますし,バッテリの持ちも良いです。
 この記事では Linux 環境の代表的な電力管理スイートを4つ簡単に紹介します。あくまでも私の個人的な意見であることに注意してください。公式サイトに加え Arch Linux Wiki (Arch Linux ユーザでなくとも極めて役立つ必見リソースです)の該当記事へのリンクも付けましたので参考にしてください。

Pm-utilsArch Linux Wiki 記事
 他のツールと組み合わせることで電源管理にも利用できるため Laptop-mode-tools 等と並べて名前が出ることも多いですが,pm-utils 自身はあくまでもコマンドラインから電源を操作するためのツールです。
 電源管理スイートとして使うためには様々な設定・スクリプト作成が必要で,しかも利用できる機能は限定的です。そのうえ systemd 移行により機能が被ってメリットが失われ,それどころか問題の原因となりうることもあって,今ではあまり人気がないようです。既に pm-utils を利用するスクリプトを多く書いて利用しているという方はともかく,今から導入するメリットは薄いように思います。

Laptop-mode-toolsArch Linux Wiki 記事
 長らくラップトップ用電源管理スイートとしてスタンダードの地位を占めてきたツールです。名称は,カーネルに組み込まれている機能である「Laptop mode」を利用する(しやすくする)ためのツールという意味で,ラップトップマシンのための電源管理スイートの草分け的存在と言えるでしょう。私が最初に導入したツールがこれで,4年ほど前まで使用していました。
 現在でも使われていますが,いかんせん古いソフトという印象で,どうも設定が煩雑でわかりにくいです。よいソフトではあるのですが,他と比較すると,今から導入するメリットは薄いかもしれません。
 もっとも現在も開発は続いていますし,最近は github のコミットも活発になっているようです。これから大きく変わることもありえます。今後の発展に期待です。

PowertopArch Linux Wiki 記事
 Intel 謹製の電源管理スイート……というより,電源管理診断ツールといったものです。公式ウェブサイトでも「a Linux tool to diagnose issues with power consumption and power management」とされています。電源管理機能はあくまでも診断の便宜のためといったスタンスで,再起動すると設定は失われてしまいます。設定を永続化させるためには起動時に自動で powertop に命令するスクリプトを組むなどする必要がありますが,これが少々手間です。また,あくまでも診断のための機能のため,バッテリ駆動時と AC 駆動時でプロファイルを分けるといったこともできず(やるならこれも自前でスクリプトを組んでステートが変わるたびいちいち命令させる必要がある),あまり細かいことをするとデバッグの手間が出てきます。手抜きの荒業としては rc.local に(今なら systemd のサービスを)書いて /usr/sbin/powertop --auto-tune を起動時に自動実行させるというのもありますが(TLP 導入に先立って一時期そうしていました),細かい設定ができないことによる副作用があるうえ,マシンによっては大きな問題が発生することもありえます。
 一方で設定のチューニングには非常に使いやすいツールです。下記の TLP と併用している人が多いようです。概算の消費電力が表示されるのもなんだか楽しいです。

TLPArch Linux Wiki 記事
 結論です。今から入れるならコレ! 機能と手軽さの両面で他の3つを上回っています。
 公式サイトには「TLP comes with a default configuration already optimized for battery life, so you may just install and forget it」と頼もしいことが書かれています(もちろん,実際にはマシンや利用スタイルに合わせた調整もしたほうがより良いのですが)。Powertop と違いシステムの一部を構成する電源管理スイートとして設計されており,解説付きの設定ファイルを少しいじるだけで電源管理を最適化することができます。また,バッテリ駆動時と AC アダプタ利用時での別のプロファイルの利用に標準対応しています。systemd との親和性も高いです。
 現状では主として linrunner 氏という匿名の個人のみによって開発されていて開発の継続性や方向性がやや不透明なのが短所といえば短所ですが(cf. xscreensaver),既に6年以上開発が続いており,実績は充分です。
 Debian の場合,TLP はターミナルから以下を実行することで導入され,機能を開始します(詳しくは Arch Linux Wiki を参照)。

$ su
# aptitude update
# aptitude install tlp tlp-rdw
# systemctl enable tlp.service
# systemctl enable tlp-sleep.service
# systemctl disable systemd-rfkill.service
# tlp start