2014年2月15日土曜日

LIFEBOOK WS2(SH90/M)のタッチパッド(クリックパッド)改善法

以前、LIFEBOOK WS2のタッチパッドの反応が悪いと書きましたが、こちらの情報を見つけて調整したところ、まずまずの感じになりました。要は、初期設定が良くなかったということのようです。

Synaptics ClickPadの調整のポイントは次の3点でした。

  1. クリックのためのタッピング操作を検知する範囲の設定
  2. タッピング時の圧力の感度
  3. ある操作から別の操作を検知し始めるまでのインターバル時間
まず、1のタッピング操作範囲の設定ですが、誤反応を恐れてか、初期状態ではタッピングをクリックと判定する範囲がかなり狭めに設定されていました。この範囲外でタッピングしても利かないことに気が付きませんでした。特に、2本指でのタッピングでは、大きな私の手では簡単に範囲から外れてしまいます。
2のタッピング時の圧力の感度についても、急いで操作するときは比較的軽くタッピングすることになるので、できるだけ弱い圧力でも検知するように調整しました。
最後のインターバル時間ですが、例えばスライド操作でカーソルをボタンの上に動かしたら、すぐにボタンを押したいですが、このインターバル時間が長く設定されていると、カーソル移動→(タッピングによる)クリックまでの操作に少し待ち時間を入れなくてはいけません。これを短く設定すれば、すばやく操作ができそうです。
以上の調整は、すべてSmartSenseというところで調整出来ました。「マウスのプロパティ」を開いて「設定」を押す。Synaptics ClickPadの設定画面が開いたら、SmartSenseを選択して、その右の歯車アイコンをクリックします。私の場合は、次のような感じにしました。

2014年2月13日木曜日

Google ChromeでAuthenTec TrueSuiteが動かなくなった

Google Chromeと書きましたが、実際に使っているのはIronの方です。同じChromium系ということで・・・。

処理速度やタッチパッドの操作性に不満がありながらもLIFEBOOK WS2/Mを使っているのですが、もう一つの不満があったのが指紋認証ソフトです。富士通のPCらしく、OmniPassというソフトがプリインストールされているのですが、まずこれがInternet Explorerにしか対応していない点がイマイチなところですね。それから、Webサイトのログイン認証で使う時ですが、ユーザIDとパスワードを覚えさせるのに、「どのテキストボックス」に「何を入れるか」をユーザIDとパスワードの両方についていちいち指定しなければならない。更に、入力後に「どのボタンを押すか?」も指定できるのだけれど、OmniPassがそのボタンを押してくれたことがない。とにかく、手間がかかるわりには、あまり楽になっていない気がします。

その点、AuthenTec TrueSuiteの方は、ユーザIDとパスワードを入力したと思われるWebサイトに来ると自動的にその内容を覚えてくれる(いちおう、覚えるかどうかの確認だけは出る)し、次回そのサイトに来ると、自動的にポップアップが出てきて指を通せば、必要な項目を入れてログインまでしてくれる。これは非常に使い勝手がいい。だからこそ、こんな書き込みをしたのです。OmniPassもこのくらい対応してくれて、Chromeにも対応してくれるといいのですがね。

話がだいぶんそれました。Ironをバージョンアップしたあたりから、TrueSuiteのログオン時ポップアップが出なくなってしまいました。しかし、自力で治せることが分かりましたので、紹介します。

Chromeの「拡張機能」タブを開いて、デベロッパモードに切り替えると、コンソールに次のようなエラーが確認されました。

websiteLogonBG.jsというJavaScriptの20行目でエラーが発生しているようです。更にそのソースを見てみると、
のようになっていて、port.tabの型が不明なので、idというメンバが見つからないということのようです。もしかすると、Chromeから渡される変数portの型が変わったのかも知れません。

そこで、ブレークポイントを設定してJavaScriptを止めて、変数portの中身を見てみました。型はPort型で以前とは変わっていないようですが、その中にtabというメンバが存在していません。その代わり、port.senderの中にtabというメンバが見つかりました。Port型の構造が変わったのでしょうか・・・。
とりあえず、問題のwebsiteLogonBG.jsスクリプト中のport.tabという部分を、すべてport.sender.tabに変更してみます。ChromeのExtensionは、ディレクトリ

  • %USERPROFILE%\AppData\Local\Chromium\User Data\Default\Extensions
にある(ただし、↑のはIronの場合)ということなので、その下を探してみるとありました。
そして、問題のJavaScriptを修正して、Ironを再起動すると・・

 直りました!


ログオンするサイトにいくと、True Suiteのポップアップが出るようになり、指紋を読ませるだけでログオンできるようになりました。

Chromeの拡張機能についての仕組みも少し勉強ができてよかったです。

2014年2月7日金曜日

ムラーノ、20万km突破

遂に20万kmの大台に乗りましたので、記念撮影です。


これまで、ドライブシャフトのブーツが破れるとかのマイナートラブルは多少ありましたが、致命的なトラブルはなかったです。次の車検が近づいていますが、もう1回車検を通してもう2年乗るつもりです。次々回の車検時には30万kmに到達しているでしょうか?ここまで来ると、どこまで走れるのか、もっともっと試してみたくもなります。

とはいえ、やはりこの燃費とハイオク仕様はキツイです。乗り換えも検討するのですが「コレだ!」と思えるような車がなかなかなくて。
でも最近は、ゴルフ7がなかなか良さそうな感じです。走行性能、乗り心地、装備どれをとっても評価はいいですしね。ただ、ゴルフ5/6のDSGトラブルの話はちょくちょくネットで見かけるので、そこだけがネックです。原因不明でいきなり走れなくなる状況というのは、ちょっと国産車であればあり得ないレベルだと考えています。車は趣味じゃなくて、完全に生活必需品(通勤手段)なので、壊れない(壊れにくい)ツールであることが第一条件になりますね。ゴルフ7でそういった不具合が解消されているなら、次々回の車検時にもう一度検討してみたいです。今から2年以上経てば、そういった不具合の情報が出揃うと思いますので。

2014年1月23日木曜日

UEFIブートについて調べてみました

Windows8を使っていると、ちょっとしたことでブートできなくなることがちょいちょいありましたので、この際UEFIブートについて調べてみました。結論としては、
やっぱりよく分からない
ということなのですが、分かったことだけでも備忘録として残しておこうかと思います。

事の始まりは、いまこれを書いているThinkpad Edge E430がUEFIブートではなく、BIOSブートになっていることです。せっかくだから、UEFIブートにしようと思って調べてみますと、再インストールしなくてもBIOSブートからUEFIブートに変更する方法があるそうではないですか!さっそく試してみたくなりました。

ここでやろうとしていることをまとめてみます。間違っている可能性も大ですが・・・。

  • 従来のMBRパーティションに、GPTパーティション情報を追加する。
  • EFIブートファイルを置くパーティションを作る。
  • EFIブート用のファイルを作成する。
  • BCDを正しく設定して、Windowsを起動できるようにする。
だいたい、以上のようなことをやっているようです。
  • 従来のMBRパーティションに、GPTパーティション情報を追加する。

    MBRとGPTは共存できるようです。
    MBRパーティション情報は、従来の方法でディスクのセクタ0に置かれている。一方、GPTパーティション情報はセクタ1以降に置かれている。
    gptgenというツールで、MBRパーティション情報からGPTパーティション情報を構築するようです。

  • EFIブートファイルを置くパーティションを作る。

    diskpartコマンドを使って操作します。UEFIブートでは、「EFIシステムパーティション」というパーティションタイプのパーティションから起動することになっているようです。
    パーティションタイプがこの特別なタイプですが、ファイルシステムとしては普通のFAT32です。つまり、UEFIファームウェアはFAT32を直接認識してファイル/ディレクトリにアクセスできるようになったようです。以前のMBRブートでは、単にセクタ0の内容を読んで所定のアドレスに飛ぶだけだったことを考えると、かなり柔軟性・拡張性が出たと思います。

  • EFIブート用のファイルを生成する。

    bcdbootコマンドを使うと、BIOS/UEFIブート用のファイルを作成できるようです。これにより、先に作ったEFIシステムパーティションに、EFIブート用のファイル(\EFI\Boot\bootx64.efi)を作成します。推測ですが、BIOSブートのときはMBR(セクタ0)の内容をメモリに読んで+1Eオフセットにジャンプしていたのに代わって、UEFIブートではこのファイル(ファイル自体は普通のexeと同じ形式?)を呼んでそれを実行することになった、と理解しています。
    先のdiskpartコマンドとこのbcdbootコマンドを使うために、Windows8の起動ディスクかシステム修復ディスクが必要となります。

  • BCDを正しく設定して、Windowsを起動できるようにする。

    先のbcdbootコマンドを使う段階でブートするWindowsの場所も教えますので、BCDの情報も適宜作成・更新されるようです。
BIOSブートからUEFIブートに変更する具体的な操作については、こちらをご覧ください。

こんな解釈で合っているのかなぁ。間違いがあれば、指摘していただけると幸いです。

で、結局良くわからなかったのは・・・
  • UEFIブートにすると、なぜブートが速くなる(と言われている)のか?
  • UEFIブートにすると、なぜセキュアなブート方法が実現できるのか?
という点です。
前者については、ThinkPad Edge E430ではBIOSブートでも十分速かったです。いわゆる「BIOS設定」画面に入るのに、電源ボタンを押してからキーボードを連打してようやく入れるくらいです。
後者については、結局はEFIシステムパーティションの内容を勝手に書き換えられたら、意図しない方法でブートされてしまうのでは?と思うのですが。もしかし、UEFIファームウェアと連携して、ダイジェストでも保存していて、ダイジェストが合わないブートファイルは読まないようになっているのでしょうかね。


2014年1月16日木曜日

備忘録:VMWare Playerを使用してドライバのカーネルモードデバッグ

自分に対する備忘録です。

VMWare Player上のゲストOSをデバッグターゲット(通称「生け贄」)とすることで、(物理的な)PC1台でカーネルモードデバッグができることが分かりました。これは便利です。


  1. VMWarePlayerを起動して、「仮想マシン設定」を開く。
  2. ハードウェアの「シリアルポート」の設定を次のようにする。
    名前付きパイプを使用するをチェックして、"\\.\pipe\com_1"と入力。
    この端末はサーバです」「接続先は仮想マシンです」を選んでおく。
  3. ホスト側OSでWinDbgを起動する。カーネルモードデバッグを起動して、pipeにチェック、パイプ名は上と同じものを入れる。reconnectにもチェックする。
基本的には、以上の設定で動きました。

しかし、上の2のところでシリアルポート自体がデバイス一覧に表示されていませんでした。そこで、次のようにしました。

仮想マシンの設定ファイル*.vmxをテキストエディタで開いて、下の方にあるserial0.presentという項目を探します。これが”FALSE”になっていれば、"TRUE"に変更します。
ついでに、serial0.fileType = "pipe"serial0.fileName = "\\.\pipe\com_1"というエントリも足しておきます。

2014年1月11日土曜日

不思議なVostro270s

昨年購入したVostro270sですが、USBメモリからのブートができなくて困っていました。

しかし先日、たまたまそのUSBメモリを挿したまま電源を切って、翌日電源を入れてみるとUSBメモリから起動していました。果たして、その差はいったい・・・

なんと、USBハブを介してつなぐとUSBメモリブートができる

ということだったようです。
これまでは、本体正面のUSBポートに直挿ししていてブートできていませんでした。

普通に考えれば正面に挿すと思うのですが、なぜ正面だと起動できないのでしょう。USBアナライザで起動時のログを調べて見たのですが、特におかしなところはなかったです。途中までは順調にUSBメモリを認識しているのですが、突然PCからアクセスしなくなります。
ただただ、不思議です。

2014年1月4日土曜日

LIFEBOOK WS2/M(SH90/MのWEBカスタマイズ版)のインプレッション

また悪い癖が出てしまい、ThinkPad Edge E430を持っているにもかかわらず、年末に富士通のLIFEBOOK WS2/M(SH90/MのWEB限定版)を買ってしまいましたので、そのインプレションなどを書いてみます。

このWS2/Mを選んだ理由は、

  • バッテリーの持ちがよさそうなこと
  • 13.3インチで理想的なサイズだったこと
  • WQHD(2560x1440)の高解像度液晶で、作業効率が上がりそうだったこと
  • 光学ドライブを内蔵していて、HDDへの換装もできそうだったこと
が挙げられます。
実際にちょっと使ってみた感想としては、
  • バッテリーは10時間も持ちそうもない。
    まだバッテリーでの本格稼働はさせていないけれど、減り方が早く感じられる。「電源プラン」を省電力にしてWEBブラウズや文書作成くらいであれば10時間くらいは持つのだろうけれど、やはり「省電力」設定では、個人的にはモッサリし過ぎです。Core i7-3612QM→Core i5-4200Uの移行では、ストレスを感じます。電源プランを「バランス」にすれば、まあまあのレベルになりますが、それでもやっぱり遅いと感じます。
  • 画面サイズと持った時のなじむ感じはなかなかよかったです。
    1.5Kg程度の重さも、最近のウルトラブックからするとかなり重い方ですが、ThinkPad E430が2.2Kgくらいあったことから考えると、全然軽いし、薄くて気に入っています。
  • WQHDのIGZO液晶はかなりいいですね。
    文字がかなり滑らかです。または、文字サイズを小さくしても文字が潰れないです。読めるかどうかは別ですが。Visual Studioなどの大きめのアプリを開いても、半分くらいはテストアプリの表示に残しておける感じです。
  • 光学ドライブは9.5mm厚なので、これまで使ってきたHDDマウンタキットSST-TS06Bが使えないです。
という感じです。ちなみにHDDは速攻でSSD(東芝HD5dシリーズ、7mm厚)に換装しています。メモリも2+2GByteを2+8GByteに変更しました。(DDR3Lが要求仕様のところ、気が付かずにDDR3の8Gを買ってしまいました。取り付けたところ問題なく動いているようで、Windowsのメモリテストもパスしました。消費電力は増えているのでしょうが・・・。)



初のウルトラブックということで、キーボードのストロークがかなり少ないことに少し戸惑いました。最初は打ちにくいと思いましたが、慣れればそうでもないです。セパレートキーボードでピッチも十分空いているので問題ありません。

それよりも、タッチパッドの方が問題です。2回タップ&ドラッグでウィンドウなどを動かそうとしても効かないことがよくあります。少しコツがあるようですが、それでもやりたいことがすぐに出来ないのはちょっとイラッとします。その点では、ThinkPad Edge E430のタッチパッドは非常によく出来ています(とはいえ、トラックポイント、通称「赤ポッチ」を常用するのであまり関係ないのですが)。

それから、指紋認証機能についてですが、Windowsのログオンに使えるのは当然としても、Google Chrome系ブラウザでのパスワード入力に使えないのは想定外でした。LIFEBOOKに付属のOmni Passというツールでは、IE以外のブラウザには対応していないようです。こちらも、ThinkPad Edge E430の、AuthenTecのTrue Suiteに軍配が上がります。

バッテリーの持ちが期待したほどではなさそうであることもさることながら、やはり動作のモッサリ感が一番残念です。そのあたりを少し調べてみました。
「省電力」設定では負荷をかけてもすぐにはturbo boostが効かず、負荷が少し続く状態(0.5秒くらいか?)になると、最高周波数である2.25GHzまで上がるようになっているからのようです。つまり、瞬時に終わるような処理が断続的に続くような状態では、CPU本来の性能を出しきれないのでしょう。
次の画像は、「省電力」で負荷をかけた場合のタスクマネージャの表示です。自作アプリ(マルチコア対応済み)を実行して、いきなり全コアをブン回します。
立ち上がりが若干緩いのがわかります。
一方、「バランス」で負荷をかけたのが次のものです。
クロックの立ち上がり急峻であることが分かります。
というわけで、「省電力」は使わず、基本的に「バランス」で運用することになりそうです。

それと、ちょっと気がついたのですが、上の画像でハンドル数がやたら多いことに気がつきました。そして、時間とともに増えていっています。どうやら、プロセスのどれかがハンドルリークを起こしているのではないでしょうか?
調べてみると、DoOPControl.exeというプロセスのハンドル数はやけに高いです。そして、時間とともに増えています。これのせいでしょう。調べてみると、DiMix関係のサービスのようです。LIFEBOOK WS2/Mにプリインストールされているものですが、特に使う予定はないので削除してもいいですかね。必要になった時、これだけ再インストールできるのでしょうか?とにかく、ハンドリリークを起こすようなサービスはお断りです。当面はサービスの再起動で対処しますが、修正版が提供されないようでしたら、そのうちに削除します。DiMixを開発しているDigiOnさんとは仕事で少し関わったことがありますので、ちょっと残念な気持ちです。

現時点での総評としては、このLIFEBOOK WS2/Mを買ったのは勇み足だったかな?という感触です。円相場が違うとはいえ、6万円台で買えたThinkPad Edge E430に対して、このLIFEBOOK WS2/Mは13万円台であり、省電力と謳われたHaswelなのである程度負荷をかけてもバッテリのもちがそこそこ良いものと期待していたのですが、結局は負荷をかけるとカタログスペックには遠く及ばない感じなので残念です。良かったのは、液晶画面の広さ&キレイさと、ウルトラブックならでは薄さとそこそこの軽さだけですかね。

2013年12月30日月曜日

ムラーノの燃費記録(2013年)

昨年に引き続き、ムラーノ(PZ50)の燃費記録です。測定方法は、ODDメータ+満タン法です。

走行距離:47173.3km
消費燃料合計:4046.36L
年平均燃費:11.66km/L

今年は、月別の平均値を出してグラフにもしてみました。

年平均は、去年とほとんど同じですね。走行距離はもうすぐ20万kmですが、燃費の方への影響はあまり無いようです。
ただし、この燃費はあまり参考にならないかもしれません。といいますのも、走行パターンが「郊外の田舎道」「自動車専用道路や高速道路」が多いため、平均速度が異常に速めです。信号待ちはもちろん、駐車場でのアイドリングやノロノロ運転も全て含めた平均車速は56.5km/hぐらいで推移しています。

2013年12月19日木曜日

勇み足だったか・・・

また、悪い虫が出てしまいました。富士通のウルトラブックを買ってしまった。ThinkPad Edge E430があるのに・・・。

購入したのはLifebook SH90のWEBカスタムモデルです。グッと来てしまったポイントは、

  • カタログスペック上の数値ですが、21.1時間ものバッテリーのもち
  • 13.3インチの画面は、持ち運ぶにはもっとも理想的な大きさだったこと
  • WQHDなIGZO液晶
  • それでいて光学ドライブを内蔵できるところ(←最近のウルトラブックではめずらしい!)
です。
最後の「光学ドライブ内蔵」は本当はどちらでもいいのですが、このドライブを外して代わりにHDDを付けられるというのが結構重要なポイントでした。開発中のソフトをテストするとき、GB単位のファイルうをバンバンつくるので、SSDでは寿命がちょっと心もとない気がします。もちろん、起動ドライブの方はSSDに交換する予定です。

しかし、CPUがCore i5-4200Uと低電圧版でしかも2コアなのはちょっと失敗だったかな。以前Core2DUOの「U」タイプを使っていて、それ自体では遅いと感じなかったのですが、その後通常電圧版のi5-520Mに乗り換えたときははっきりとした性能差を感じました。それ以来、「U」版は避けてきたのですが。

やはり、開発ソフトのテスト&検証には、クアッドコアが必要な気がします。このあたりは、少し使ってみないと分からないので、買ってみることにしました。通常は、軽くてバッテリの持ちが良いLifebookを使って、必要な時だけE430を使ってもいいですし。
このLifebookか、いまこれを書いているThinkPad EDGE E430は、自宅のPC用にします。自宅のPCはまだWin XPですし、さすがにPentium Mは苦しくなってしましたので。

2013年12月17日火曜日

Vostro270sが起動しなくなる意外な原因

今年2013年の6月に購入したVostro270sですが、先日またまた起動しなくなってちょっと焦りました。

とはいえ、今回はすぐに起動しない原因が分かったので、そんなに焦ったわけではないのですが、その原因が本当に意外なものでびっくりしています。その原因とは・・・・

 PICkit 3

でした。
これは、ご存じの方には説明は要らないと思いますが、ワンチップマイコンPIC用のICEです。

このICEをVostro270sにつないだ状態で電源を入れると、DELLのロゴが出たまま、ウンともスンとも言わなくなります。このICEを外して、電源を入れなおすと起動します。

いったい、なぜなんでしょう?このICEはただのHIDデバイスです。USBアナライザで調べても、PC起動時には怪しいやり取りは見当たらなかったです。もしかすると、Vostro270sのBIOSのバグで、予想外のHIDデバイス(USBキーボードやマウス以外)を検出すると、予測不能な動作をするという可能性はあり得るでしょうかね。

とりあえずは、PICkit3は使い終わったら、忘れずに抜いておくようにします。