kkaldでEpgTimer_Bonの自動録画予約がうまくできなくなったときの対処

kkaldはどうやら「ここまで予約した(・∀・)」みたいなデータをiniに保存してるらしい。
で、実際に自動予約できてないのにできたと思い込んでしまうとその日時から前の録画予約はどうがんばってもできなくなる。
試行錯誤の末にたどり着いたのがこんな簡単なことだったなんて…忘れないようにメモ。

  1. kkald本体のフォルダにあるkkal.iniを開く
  2. 「AUTORESERVEHISTORY=なんちゃら」の「なんちゃら」の部分を削除

以上。ちなみにあらかじめEpgTimer_Bonの自動予約済みの番組を削除しとかないと二重予約されちゃうかも。

twitterクライアント「twksr」の自動アップデータを作ってみました


tweenやYoruFukurouなどの有名twitterクライアントには必ずと言っていいほど対応している自動アップデート機能。個人的に応援しているtwksrというクライアントにもあればいいなーと思い、試しに作ってみました。
ダウンロードはこちら(ver.0.4.0)

■使い方

  1. ダウンロードしたファイルを展開し、中のファイルをtwksr本体があるフォルダにコピー
  2. twksrup.exeを起動

■動作
簡単に動作を説明すると、twksrのサポートページにアクセスしてHTMLを解析し、最新バージョンの確認を行ってローカルのものと違っていれば入れ替えるという簡単なものです。当然HTMLの構成が変わってしまうと動かなくなる可能性が高いですが、今のところ順調に動いている模様。

■旧バージョン
ver 0.3.0
ver 0.2.0
ver 0.1.0
■更新履歴

  • ver 0.4.0 - 11/06/06
    • 小数第四位以下の更新に対応
  • ver 0.3.0 - 10/05/15
    • 更新情報の表示
    • ローカルのtwksrが最新版のときはダイアログなしで終了するように
  • ver 0.2.0 - 10/02/27
    • サーバアクセス中にアップデータがフリーズしたようになる現象を修正
    • アップデート前に確認をするように
    • アップデート時にtwksr本体が起動していた場合、自動的に終了処理をするように
    • アップデータ終了直前にtwksr本体を起動するように
  • ver 0.1.0 - 09/12/11
    • 初回リリース

coLinuxで任意のディストリ/バージョンをandLinuxライクに使えるようにする!


coLinuxWindows上で動作するLinuxカーネルで、PCエミュレータよりも軽快に、Cygwinよりもネイティブに、デュアルブートよりもシームレスにWindowsLinuxを共存させるソフトです。

また、coLinuxをより簡単に使えるパッケージとしてandLinuxがあります。これは、coLinuxUbuntuがインストールされたディスクイメージを使い、Xmingを用いてGUIを利用できるようにまでしたものです。

andLinuxはインストールするだけですぐに使うことができ非常に便利なのですが、ディストリビューションがUbuntu7.10以外に選べないことが難点でした。特に、7.10は今年の4月にサポートが終了してしまったので、インストール直後にアップグレードしなければaptも使えません。

また、coLinux用のイメージファイルも存在するのですが、全てのディストリビューションが存在するわけではなく、最新バージョンのリリースからかなり遅れて出ることも多いです。

そこで、どうせならイメージファイルから自分で作って好きなLinuxを入れ、andLinux程度の使用感になるまでを一気に手順化してしまおう、というのが今回のモチベーションです。

用意するもの

まず用意するものは以下の通り。

  1. coLinuxの本体
  2. Linuxのisoイメージ
  3. QEMU
  4. CygwinLinuxなど、ddコマンドが使える環境
  5. XmingXming-fonts
coLinux本体

Cooperative Linux
coLinuxのサイト左側の「Downloads(binary and source)」から「coLinux-stable」の最新版をダウンロードします。

Linuxのisoイメージ

任意のディストリビューションのサイトからisoイメージ(CDもしくはDVD)をダウンロードします。
ダウンロードしたイメージを置くディレクトリを決め、そこを今後作業の拠点とします。場所はどこでも構いませんが、インストール後もファイル類を動かさないで済む場所(例えば後述するcoLinuxのインストールフォルダなど)にしましょう。このディレクトリを今後「IMAGEDIR」と表記します。

QEMU

http://homepage3.nifty.com/takeda-toshiya/
サイト左側の「QEMU on Windows」から「QEMU on Windows Ver 0.10.6」をダウンロードします。

XmingXming-fonts

Xming X Server for Windows download | SourceForge.net
サイトの「Download Now!」からXming本体をダウンロード。さらに下のほうの「Xming-fonts-(最新のバージョン)-setup.exe」をダウンロード。

各アプリケーションのインストール

必要なものが揃ったら、まずはインストールをしていきます。順番は関係が無いので好きな順でインストールしてください。

coLinuxのインストール

ごく普通にインストールしていきます。ただしイメージは自分で作成するので、「Choose Components」の画面で「RootFile system image Download」のチェックをはずします。
また、途中で「ハードウェアのインストール」の警告が出ますがそのまま続行してください。

なお、coLinuxをインストールしたディレクトリを今後「COLINUXDIR」と表記します。

QEMUのインストール

ダウンロードしたファイルを解凍し、適当な場所に保存します。

なお、QEMUをインストールしたディレクトリを今後「QEMUDIR」と表記します。

Xmingのインストール

ダウンロードしてきたインストーラXmingXming-fontsの順でごく普通にインストールしましょう。Select ComponentsはFull Installationで特に問題ありません。

イメージファイルの作成

ここからが気合の入れどころです。1つ1つしっかりと手順を踏みましょう。
まずコマンドプロンプトを開いてIMAGEDIRまで移動してください。
ここで、以下のようにコマンドを打ちます。

"QEMUDIR\qemu-img" create rootfs.img 5G
"QEMUDIR\qemu-img" create swap.img 256M

これで「rootfs.img」という5GBのファイルと「swap.img」という256MBのファイルが生成されるはずです。続いて次のコマンドを一行で打ちます。

"QEMUDIR\qemu" -hda rootfs.img -hdb swap.img -cdrom (CD/DVDイメージのファイル名) -net nic -net user -no-acpi -vga std -no-reboot -m 256 -L . -boot d

これでQEMU上でLinuxインストーラが起動するので、手順に従ってインストールしていきます。

Linuxインストール上の注意

Linuxをインストールする上で、大部分は自分の好みに設定しても良いのですが、パーティションの部分だけは十分注意しなければいけません。
パーティションを設定する画面では、rootfs.imgがsdaとして、swap.imgがsdbとして見えています。
ディストリビューションによって多少違いはありますが、「ディスクの全ての部分を使う」、「sdaとsdbを使う」、「パーティションの確認/変更を行う」という方針で選択していくと、パーティションの設定をする画面になります。
ここで、論理パーティションを一切使わずに(デフォルトで設定されていたら削除してください)、sdaの全ての領域を基本パーティションにし、ファイルシステムext3、マウントポイントは「/」(ルート)に、プライマリパーティションとして設定してください。またsdbも同様に、全ての領域で基本パーティションファイルシステムはswap、プライマリパーティションに設定します。
sdaのext3に関しては、ext2ext4、その他のファイルシステムでも可能かもしれません。とにかくパーティションを切らずに1つのディスクに対して1つのパーティションとなるようにします。
ここが終わればあとは自由にしても大丈夫だと思います。ただQEMUは動作が非常に遅くインストールに時間がかかるので、最小限のパッケージをインストールし、後からyumやaptで追加するのが良いかと思われます。

さて、次の作業には(本末転倒気味ですが)CygwinLinuxが必要になります。
先程Linuxをインストールしたイメージファイルを使い、Cygwin/Linux上でrootfs.imgに対して以下のコマンドを実行します。

dd if=rootfs.img of=rootfs-colinux.img bs=512 skip=63

ここで作成された「rootfs-colinux.img」がcoLinuxで使用するファイルになります。IMAGEDIRに移動させましょう。rootfs.imgは削除してもかまいません。swap.imgはそのままで大丈夫です。

coLinuxの起動

さて、いよいよ起動です。まず以下のようなバッチファイルを作り、「boot.bat」という名前でIMAGEDIRに保存します。

set P=
set P=%P% kernel="COLINUXDIR\vmlinux"
set P=%P% initrd="COLINUXDIR\initrd.gz"
set P=%P% mem=256
set P=%P% cobd0="rootfs-colinux.img"
set P=%P% cobd1="swap.img"
set P=%P% cofs0="C:\\"
set P=%P% eth0=slirp,52:54:00:12:34:56
set P=%P% eth1=tuntap,"TAP-coLinux",00:FF:77:C6:30:00
set P=%P% root=/dev/cobd0
set P=%P% fastboot

"COLINUXDIR\colinux-daemon" %P% -t nt

このバッチファイルを起動してcoLinuxがログイン画面まで行ければcoLinuxの起動は成功です!ひとまず第一関門は突破しました。なお、普段使うユーザアカウントはここで早々に作っておきましょう。

coLinuxのサービスへの登録

coLinuxWindows起動時に自動的に起動するサービスとして登録します。先程のバッチファイルの最終行を以下のように書き換えます。

"COLINUXDIR\colinux-daemon" %P% -t nt --install-service "coLinux"

これで起動をするとサービスに「coLinux」という名前のサービスが登録されます。
コントロールパネル→パフォーマンスとメンテナンス(Vistaはシステムとメンテナンス)→管理ツール→サービス
coLinuxという名前のサービスがあることを確認してください。ダブルクリックして「スタートアップの種類」を「自動」にすれば次回以降のWindows起動時に自動的にcoLinuxが起動します。
サービスから起動したcoLinuxにアクセスするには、coLinuxのインストールフォルダにある「colinux-console-fltk.exe」または「colinux-console-nt.exe」を使います。

cofsの設定

WindowscoLinuxでファイル共有するためのcofsの設定です。sambaを使って共有することも可能ですが、cofsの方が簡単なのでこちらを使います。まずマウントするディレクトリを作成します。

# mkdir /mnt/win

つぎにエディタで/etc/fstabに以下の行を追加します。

cofs0 /mnt/win cofs uid=ユーザ名 0 0

これで再起動すると/mnt/winにCドライブがマウントされます。お好みでandLinuxのように~/windowsでアクセスしたい場合は以下のようにシンボリックリンクを張ります。

$ ln -s /mnt/win ~/windows

ネットワークの設定

coLinuxのネットワーク設定は色々な方法がありますが、ここではslirpで外部ネットワークと接続し、TAPでホストWindowsにXを転送します。

Windows側の設定

スタート→接続の表示→すべての接続の表示(Vistaではコントロールパネル→ネットワークとインターネット→ネットワークと共有センター→ネットワーク接続の管理)で、「TAP-Win32 Adapter V8 (coLinux)」を「TAP-coLinux」に書き換えます。
次にTAP-coLinuxをダブルクリックし、プロパティ→インターネット プロトコル (TCP/IP)を選択→プロパティをクリックして、以下のように設定します。

次のIPアドレスを使う
 IPアドレス                    192 168 200 1
 サブネット マスク             255 255 255 0
 デフォルト ゲートウェイ
次のサーバーのアドレスを使う
 優先DNSサーバー
 代替DNSサーバー
Linux側の設定

Linuxのネットワーク設定方法はディストリビューションに依存しますが、ルーティングが最終的に以下のようになればOKです。

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.0        *               255.255.255.0   U     1      0        0 eth0
192.168.200.0   *               255.255.255.0   U     1      0        0 eth1
default         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

以下は設定方法の一例です。環境によって変わるので各自ifconfigなどで確認しながら設定してください。

Redhat

まずrootでログインし、以下のコマンドを実行します。

LANG=C system-config-network-tui

Edit a device paramsを選択し、eth0を選びます。何も変更をせずにOKを選択してください。次にEthernetと選択し、以下のように設定します。

Name                     eth1
Device                   eth1
Use DHCP                 [ ]
Static IP                192.168.200.150
Netmask                  255.255.255.0
Default gateway IP
Primaty DNS Server
Secondary DNS Server

設定をセーブし、rebootで再起動します。以上でネットワークの設定ができているはずです。yumなどを使ってみましょう。

Debian

sudoで/etc/network/interfacesを以下のように設定します。

auto lo
auto eth0
auto eth1
iface lo inet loopback
iface eth1 inet static
  address 192.168.200.150
  netmask 255.255.255.0

再起動してaptなどを試してみましょう。

Xmingの設定

XmingWindowsにXを転送します。事前にGNOMEKDEXFCEなどのデスクトップ環境がインストールされていることを確認してください。
スタート→全てのプログラム→XmingからXLaunchを起動します。

  • Multiple windowsを選択し、次へ
  • Start a programを選択し、次へ
  • Start programにターミナル名(terminal、gnome-terminalなど)を入力し、Run Remoteを以下のように設定
(*) Using PuTTY
Connect to computer  192.168.200.150
Login as user        ユーザ名
Password             パスワード
  • そのまま次へ
  • Save configurationをクリックして設定を保存。推奨はしませんがInclude PuTTY Password as insecure clear textにチェックして保存するとパスワードも保存されます。

これで保存したファイルをダブルクリックするとターミナルがWindowsに転送されるようになります。

まとめ

以上で大体andLinuxと同じ構成になっていると思います。正確にはandLinuxのインストール時に、

  • Do you want to enable sound for andLinux? - no
  • run andLinux automatically as a NT service + use Windows shortcuts
  • using CoFS (easy configuration)
  • All files below this folder can be accessed from andLinux: C:\

をそれぞれ選択した形になります。また、インストールの基本的な手順はhttp://www.geocities.jp/xmlinux2004/coLinux/colinux.htmlの「coLinux 0.7.4 (20090415) 対応 インストールツール Version 2009-05-09」を参考にさせていただきました。この場を借りてお礼を申し上げます。
作業で気をつけるというか、はまりそうなところはインストール時のパーティション設定、ネットワークの設定、それからXmingcoLinuxに接続する部分でしょうか。あとはQEMUでのインストールがかなり時間がかかるので、本を読みながら作業したりすると良いかもしれません。
coLinuxはバイナリレベルの互換性を持つLinuxWindows上で軽快に動き使い勝手が良いという点で、VMwareCygwinに劣らぬ選択肢のひとつになりうると思います。WindowsLinuxの両方の環境を使いたいという方は、一度試してみてはいかがでしょうか。

Twitterのwebからの投稿でOAuthのクライアント偽装に挑戦→失敗

大したことではないのですが、発言を投稿する際にクライアントの表示をしたいと思い、とりあえずsctでOAuthのクライアント登録をしました。
ところがOAuthに登録したクライアント名を表示するにはOAuth経由でpostをしなければならないらしい。sctからpostする際はその特徴からweb経由の投稿になるので、OAuth経由でのpostができない。これは困った…
一応Webからのpostはクッキーとauthenticity_token、それにstatus(発言)とオプションとしてin_reply_to_status_idを/statuses/update.(xml|json)に投げればいいということになっているようですが、Twitter API 仕様書 (勝手に日本語訳シリーズ)によると、sourceという隠し?コマンドがあり、これを利用すれば一部の、というかほとんどのクライアント偽装はできるのですが…
最近整備されたOAuthの偽装はできないようです。以下試してみたクライアント。

  • 偽装できたもの
    • API
    • mobile web(source="mobile")
    • movatwitter
    • NatsuLiphone
    • iTwitter
    • P3:PeraPeraPrv(source="P3")
    • pocket*(source="pocket")
    • Termtter
    • tmitter
    • tokotto
    • Tween
    • TweetDeck
    • Tweetie
    • twicli
    • twitterfeed
    • TwitterFon
    • TwitterFox
    • TwitterIrcGateway
    • YoruFukurou
    • ちーたん(source="tiitan")
  • 偽装できなかったもの
    • MobsterWorld
    • Movatter
    • Spymaster
    • 安心と信頼の駄目bot

基本的にsctはIDおよびパスワードを保存しないで(ログイン時のみ使用)クッキーのみを保存してセッションを維持するのですが、本当はIDとかパスワードをログイン時含めて一切渡さないのがベスト。OAuthはID、パスワードを他サービスに渡さずにアクセス権を委譲できるのでそれを使えばいいのですが、OAuthはAPIを叩くためのもので、webにアクセスができるのか「わからない」。*1
postだけOAuthを利用するという手もあるけど「なんでOAuth使ってるのにIDとパス入力しないといけないの」ってなるし…
ID、パスを使わずOAuthで「API」を叩いてしまえばその時点でsctを改名しなければならないので最悪諦めてmobile webあたりで妥協かなぁ。
まぁ、API制限が150回/hになったようなのでこいつの意義もあんまりなくなったんですけどね…

*1:調査していないので。でもたぶん無理な気がする。今度試してみようと思います

件の携帯用twitterサイト、命名「sct」についていろいろ

携帯用クライアントについてと自分の方針

なんか前のエントリ公開した次の日くらいにMovatter(Movatter)というサービスが公開されて全部持ってかれた感がありますが、まぁ当方は大々的にやろうとは思ってなかったのでちょうどいい感じです。むしろ思ってた以上のPV&ブクマでちょっと驚いてたところだったので…
でもまぁ、そのMovatterとの差別化を図らないと自分のモチベーションにも関わってくるので、ちょいとメモ。

  1. movatwitter、公式モバイルに代わるサイトとして作った
  2. HTMLを解析してスクレイピングすることによるタイムライン取得
  3. 主に自分が使う目的で作り、せっかくなので他のついたったーにも使ってもらう

1はまぁあっちこっちでやられてるとは思うんですが、携帯電話の通信仕様が各キャリアで全然違ったりとかauが少数派の諸君!*1だったりとかで丁度いいサイトがない。Javaアプリにしろiアプリばっかりだったりとかauオープンアプリ通信制限あってすごい使いづらかったりとかいろいろあってせっかくだから俺仕様のものでサイト作ればよくね?っていう結論に至ったわけです。
そして2は1つ前にも書きましたがAPIの取得制限が嫌で、携帯からはAPIで取ってくるしかない→制限くらうとしばらくTL取ってこれなくて('A`)ヴェーってなるってのがあったので勉強がてらスクレイピングをしようと。他のサービスに比べてここが一番差別化されてる部分かと思います。API死んでも私がいるもの的な。
3はこのサイトの基本方針というか、無理せずまったりというスタンスを表明したいので。「○○つくってください!」という意見があっても自分がそれでよくなると思わない限り作らないと思います。逆に「そいつぁすげぇや!」って思ったらすぐ作ると思いますけども。

まぁmovatwitterやMovatterなんかとは方向性が違うのかなーというのは確か。各ユーザーの設定を保存してたりもしておらずセッションだけで管理してるのでMovatterみたいな豊富な設定項目!みたいなこともできないですし。誰も使わないので軽くて使えりゃいいって人にはうってつけかもしれませんw

サイト名「すくつ」!

twitterのサイトとして名前どーしよーかなー、もばったーじゃありきたりだよなーとか思ってたら先に使われてしまったので、せっかくだからもっと俗っぽいものにしようと思って考えたのが "sct" 読みは「すくつ」。「『スク』レイピングして見る『つ』いったー」の略だけど、「移動中にそこまでしてtwitterが見たい廃人がいる『巣窟(すくつ)』」という意味も込めて…w

前回からの更新とこれからの方針

前回のTODO
  • Replyボタンの追加
  • favoriteボタンの追加

使ってて真っ先に不便だって思ってたものの追加。ただしReplyはin_reply_to付かないし、favは自分がその発言をふぁぼっているかどうかはわかりません。後者は近々実装しようと思いますが前者は、というか「〜宛」関連の機能は個人的にそこまで必要じゃないので実装するかはわかりません。あとReTweetも賛否両論あるし自分もあんまり使わないので実装しないかも。

DoCoMoSoftbankの対応

ログを見てるとやっぱりというか意外とというかドコモユーザの人からのアクセスがそこそこあって、どうせなら対応させたいなーとは思ってるんですが、いかんせんCookieが使えないのと自分が持ってないのでどうしようかと思ってるところです。リファラ対策で外部リンクにクッションかませてるんですけどねー*2。一応ドコモケータイのエミュレータを落としてきたんですが信用ならんw
それからSoftbankiPhone/それ以外共にどうなってるのか把握できてません。最近のはCookie使えてるはずなんですが…

フォロー関係

following/followerのリストやフォロー/リムーブ/ブロックなんかは時間とモチベとの相談。実際そこまで必要か、家に帰ってからでよくないか、携帯液晶という狭い画面の中で違和感なく入れられるかなども要検討。

デザイン

いかにも個人サイトな不自然さがあるのでなんとかしたい。
 
 
あ、ちなみになんだかんだ言って使ってもらえると嬉しいのでこれいいと思った方はどんどん使ってくださいm(_ _)m

*1:そうでもない…?

*2:と思ったらDoCoMoのケータイはリファラ吐かないらしい?んだった…

携帯電話のTL取得制限にさようなら!twitterをスクレイピングして携帯用HTMLに変換するサイト作った

最近twitterAPIのPOSTメソッド裏技が通用しなくなって、タイムラインをAPIで持ってくるのにも制限がかかるようになりました。
ここで困ったのが、今まで使っていたmovatwitterがAPIを利用しているために制限にひっかかるようになってしまったこと。
携帯でも容赦なく更新しまくる自分にとってはこれは痛い。
そこで「自分でスクレイピングして変換すればいいんじゃね?」と思い立ち、実装してみました。

ログインからTL取得まで

Twitterのログインは普通にPOSTメソッドで投げるわけですが、その際にauthenticity_tokenなるランダム文字列を一緒に渡す必要があります。
そのためスクレイピングでその値とそこで渡されるクッキーを取得し、ID、パス他もろもろと一緒に/sessionsに投げます。
以降はクッキーをやりとりすることでセッションを維持しつつ自分のTLを持って来れます。*1

post

postはログイン時同様にtokenが必要となるので持ってきてPostメソッドで/status/updateに投げればOK

replyの取得

replyは普通に/repliesか/#repliesで取ってこれるのかと思ったらこれがうまくいかなくて、いろいろ試したところ/→/replies→/#repliesで取得できました。

セキュリティ

前述のように一旦ログインするとクッキーのやりとりでいろいろやるのでパスワードそのものの送信はログイン時の1回だけでWebからログインするときはSSL通信もしてるっぽい。でもそれ以降は普通に流してるので通信傍受されてたらセッションハイジャックされるかも?自分が作ったサービスもPHPでセッション管理してるので同様の危険性はあるけど、一応それ+αで細工してます。まぁえろい人に本気出されるとあんまりあてにはならないけど気休め程度にはなるかと思って。
ちなみにIDやらパスはサーバに保存してません。



んでできたサイトがこちら 公開中止

注意事項

  • このWebサービスを使ったことによって生じたいかなる損害に対しても責任を負いません。
  • 基本的に「自分が使う」という目的で作っているので自分が持ってるau以外の動作保障はしません。というかできません。
  • 個人サーバを使ったサイトですのでメンテナンス等で不定期に利用できなくなることがあります。
  • バグいっぱいあると思いますorz

TODO

@とかfavとかReTweetとか



言い訳みたいになってしまいますがまともに開発したことがないので例外処理とかは鋭意勉強中です…
個人的には普段movatwitter使ってもばつい重かったり制限食らったらこっち使うみたいなことしてます。
あ、あとサービス名募集w

*1:セッション管理がクッキーだけって…

うちのデスクトップ機をPhenom 9350eからPhenomII 940BEに換装した

最初は省電力の録画エンコVMその他諸々PCを作ろうと思って構成したんだけど、エンコ速度があんまりにも遅いのでついつい換装してまいました。
レビューとか書こうと思ったんだけどベンチマークの比較なんて散々出てるので実用的なところで温度とエンコ速度の実測値でも公開します。本当は消費電力とかも測りたかったんだけどワットチェッカーを持っていないので断念。

まず換装前の構成。

CPU AMD PhenomX4 9350e 2GHz×4
CPUファン 3R SYSTEM iCEAGE 120 PRIMA
OS Microsoft Windows Vista Ultimate 32bit
マザボ GIGABYTE GA-MA790GP-DS4H
メモリ CFD FSH800D2BK4G 2GB×4
HDD Western Digital WD10EACS-00D6B0 1TB×3@RAID5
光学ドライブ Plextor PX-B910SA/T1B
ケース SCYTHE SCBC01-BK
電源 ケース付属電源*1
その他 sknet MonsterTV HDUS(地デジ)
日立 HX520UJJ(B-CAS読み込み用)

少し説明すると、マザーボードはSocket AM2+の790GX+SB750でグラフィックはオンボ使用、メモリはDDR2 PC-6400、ケースはフロント吸気ファン1発にリア排気ファン1発、サイドダクト無しの静音仕様*2となっています。

で、AMD OverDriveを使って各種データのスクリーンショットを撮りました。

見てもらうとわかるように、HTの参照クロックを上げて10%ほどオーバークロックしてます。CPUの電圧は定格の1.1V。

アイドル時の各種数値。さすがに省電力CPUなだけあって静音ケースでもコア温度29度と低いですね。

CPUのOC耐久テストでよく使われるPrime95を回して十分時間が経ったあとの数値。

ffmpegでx264変換しているときのスクリーンショット。見づらいですがタスクマネージャの下がエンコードのオプション、左のコマンドプロンプトが実際のエンコードをしている画面。この設定で9FPSとなっています。ニコニコうp用とかではなく保存用に圧縮してかつできるだけ高画質で残そうとしているので遅い…これを打開するために940BE換装を決意したわけです。


さて、ここで換装しようと思ってケースを開け、動作確認のためにその状態で電源をつけると、なんとリアファンが動いていない。
もともと動いていなかったのか、それともそのとき動かなくなったのかはわかりませんが、とりあえず排気ファンを変えると比較できないのでそのままで換装。ついでに電源変えたりファンコンつけたり…

CPU AMD PhenomX4 9350e AMD PhenomII X4 940BE
電源 ケース付属電源 Corsair CMPSU-450HXJP
ファンコン なし SCYTHE KAMA METER

ぶっちゃけ電源変えちゃうと正確に測れないかなーとは思ったんですがそこはご愛嬌ということで…
無事交換できたのでデータの確認。

動作周波数は3.0GHzと9350eの1.5倍、動作電圧は0.25V高い1.35V。またBlackEditionの名を冠する通りクロック倍率の制限が解除されていてとんでもないところまで上げられるようになっています。またPCIeの速度がなぜか最初からクロックアップされていましたがスロット使わないので無視。
さて問題は温度のほう。

まずアイドル。排気ファン止めてるせいもあってさすがに高い…
ちなみにCPUファンの回転数が0になっていますがこれは制御をファンコンに移したせいです。回転数はファンコン読みで約1050RPM。おそらく換装前と同等程度。

そしてPrime95回したときの高負荷時。実はこのときファン回転数をいっぱいまで上げて約1900RPMになっています。アイドル時と同じ回転数でがんばったんですがコア温度が70度超えそうになり断念。

そしてエンコの実力のほどは…13FPS。うーん、周波数の差と同じくらいですね。まぁPhenomとPhenomIIで大きくアーキテクチャが変わっているわけではないのであれですが、キャッシュも増えてるし…正直もうちょっと伸びるかと思ってました。

最後に940BEを周波数2.0V電圧1.1Vの9350e同様にしたときのアイドル時数値。9350eより15度ぐらい高い…


以上の結果を表にまとめてみます。

9350e idle 9350e busy 940BE idle 940BE busy*3 940BE idle 940BE now*4
Freq. 2.2GHz 2.2GHz 3GHz 3GHz 2.2GHz 3GHz
CPU Core 29 46 51.875 67.75 44 43.5
TMPIN1 43 47 47 48 43 40
TMPIN2 38 57 33 48 24 24
TMPIN3 46 61 54 68 46 46
CPU VCORE(V) 1.07 1.09 1.34 1.34 1.09 1.18

ここで突然登場した940BE nowは今の状態、つまりSonicStageで音楽を聴きながらブログを書いているCPU使用率的にはアイドルに近い状態です。
改めて表で見てみると、9350e→940BEで電圧と動作周波数が上がっているにも関わらずTMPIN2の温度は下がっています。この温度がノースブリッジかサウスブリッジか、はたまたGPU温度なのかは定かではありませんが、940BE nowで電圧を定格の1.35Vから安定動作限界の1.2Vまで下げることによって5度近く(TMP1,3は3度程度)下がったので、回路の電気的な性質が温度の重要な要素になっていることがわかります。ここに45nmの恩恵があるのではないでしょうか。
一方でエンコ速度が周波数程度しか伸びなかったのは少し残念。まぁ速度が1.5倍になれば1週間に10時間分くらい録画している身にとっては絶対的な時間が大分短縮されるので嬉しいのですが、損得勘定を考えるとしたらあとは消費電力との兼ね合いですね…。


これからすることは、AODで940BE下限周波数の800MHzから定格電圧オーバークロック限界(実験済)の3.4GHzまでの最低安定動作電圧を測り、K10statというツールを用いて周波数可変の環境を作ること。C'n'Qでもいいんだけどオンボのサウンドボード使うとノイズ入るのと自由度が高いのでK10stat使おうかと思っています。これでアイドル時低消費電力、エンコ時フルスピードのPCを目指しますよっと。

*1:サイズ製剛力450W同等品らしい?

*2:あるいは窒息ケース

*3:高速ファン

*4:リア排気ファン動作