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は使い終わったら、忘れずに抜いておくようにします。

2013年11月20日水曜日

Windows 8が、Status 0xc000000fで起動しなくなったら・・・

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

また、Windows8が起動しなくなって、焦りました。いま忙しい時なのに・・・。
ブートが始まってすぐに、水色の画面が出ました。スクリーンショットは取れなかったのですが、
BCDが正しくないとか、システム管理者に問い合わせなさい、とか書いてあったと思います。エラーコードらしき数値として、Status 0xc000000f というのがあったことだけはしっかりと覚えています。

以前にも同じ症状になったことがありましたが、そのときはUEFIの設定をごにょごにょ弄っているうちに直ったと記憶しているのですが、今回は直りませんでした。その時にやったことをちゃんと記録していれば、こんなにも焦ることはなかったのだろうと思い、今回の解決方法をここに記すことにしました。

解決方法は、結局はWEB検索の受け売りなのですが、こちら(http://yutakyunmnote.blogspot.jp/2013/02/windows-8.html)の書き込みが非常に参考になりました。というか、ただ感謝!感謝の気持ちでいっぱいです。

Windows8のDVDから起動して、回復コンソールを開き、bootrec /rebuildbcdと打ちこむだけです。

それにしても、何故こういうことになったのかがやはり解せません。前回は、「ドライバ署名の確認を無効にする」で再起動しようとすると、この現象が起きました。今回は、いったんSSD/HDDを全部外して、別のHDDで起動・インストールを試みて、再度元のSSD/HDDに戻したら、もう起動しなかった、という状況です。少なくとも、SSD/HDDを全部はずしておけば、起動環境は保たれると思っていたのですが、そうではないのでしょうか?

どうもブート方法がbcdになったり、UEFIセキュアブートになってから、この辺りが「弱く」なったような気がします。「弱く」というのは、ちょっとした変更が違いでブートしなくなるうえに、以前のようにboot.iniをちょっといじって直すということができなくなったことです。bcdやUEFIのことを、もっとちゃんと理解しなければいけないようです。

それと、Windows8の回復ディスクから起動したときの「自動修復」って、何をやっているんでしょうね。もちろん、今回もやってみたのですが、「修復できませんでした」と出るだけです。ブートに問題があって困ってこの「自動修復」をやっているわけですから、mbrやbcdあたりの修復をやってくれるものと思っていたのですが、違うようですね。

いずれにしても、PCを使うときの教訓が増えました。

 「触らぬPCに祟りなし」


PS.以前はブルースクリーン(BSOD)が出たらドキッとしていましたが、Windows8で落ち着いた淡い水色に変わっても、やはりドキッとしますね。色の問題ではないような気がします。

2013年11月17日日曜日

パナソニックのお掃除ロボ付きエアコンでエラーH51発生!

タイトルのとおりなのですが、リビングにつけているパナソニックのエアコンで、エラーH51というのが出ていました。
そういえば、最近は操作するたびにやたら「ピピピッ」と何度も音が鳴るし、「お知らせ」ボタンで外気温が表示されないなぁ、とは気づいていました。

インターネットで調べてみると、けっこういっぱい出ますね>エラーH51表示。お掃除ロボがらみのエラーらしく、いろいろとトラブルがあるようです。
フィルタ関係はこのところ触っていないのですが、取扱説明書によるとフィルタの取り付けミスでもこのエラーが出るらしいので、念のため開けてみました。フィルタの取り付け自体は問題無いようですが、よく見るとお掃除ロボらしい黒い物体が左側に寄っていて、フィルタ自体に覆いかぶさっています。これではフィルタは外せない。たぶん、この物体は通常一番右が定位置なのだろうと思ったので、手で戻してやろうとしましたが、てこでも動きません!

取説によると、「リセット」という操作があるそうなのでやってみるも、「ピッ」と鳴るだけで何の反応もありません。その場合は販売店に連絡するようにと書いてあったので、修理行きを覚悟しました。ネットによると、お掃除ロボ交換\10500-と技術料がかかるそうです。こんなことになるなら、自分でフィルタ掃除をすることにして、お掃除ロボなしの機種にしておけばよかった。

が、ふとした書き込みを発見。「一度コンセントを抜いて、電源を入れなおしてみてはどうか?」。やってみると、今度はリセット操作に反応し、何かが動き始めたようです。

とりあえず、これで直ったようです。エラーH51は出なくなりました。危うく無駄な修理費がかかるところでした。

2013年11月14日木曜日

Windows Installerのinternal error 2203

VMWare Playerをアンインストールしようとすると、途中でWindows Installerが内部エラーのようなものを出していました。"The error code is 2203"とあったので、このあたりのキーワードでgoogle先生に聞いてみると、Windows Installerがらみのエラーは結構出ますね。

エラーコードも2203以外にもいろいろあるようですが、ほとんどの場合で対処方法は


  • Windows Installerを入れ直す
  • msiexec /unreg & /regserverする
  • c:\Windows\Installerのアクセス権限を設定し直す
  • c:\Windows\Tempのアクセス権限を設定し直す
というようなものが多かったです。そして、面白いこと(失礼!)に「直った」というレポートが殆ど無く、掲示板関係での終わり方は「どの方法でもダメだった」というものが多かったですね。

かくいう私もいろいろと格闘したのですが、非常にツマラナイ原因であることが分かりました。それは・・・
  • システムの環境変数TEMPとTMPに指定したディレクトリがもう無かった
と、ただそれだけのことでした。
そういえば、先日RAMディスクはもう使わないことにしたので、そのドライブは無くなったのでした。その後、ユーザーの環境変数の方は修正したのですが、システムの環境変数の方は修正を忘れていました。

という訳で、TEMPとTMPを適当なフォルダに変更したら、直りました。ディレクトリは存在してもRAMディスクなんかだと容量が足りなくなっている場合でも同じようなエラーが出るのかもしれませんね。
同じようにMSIのエラーで悩んでいる方はそういう理由ではありませんか?

2013年10月21日月曜日

ThinkPad Edge E430のCPUファン問題の続き

表題の件ですが、ここ最近は起こっていないです。

スリープや休止状態からの復帰後にCPUファンが回らず、CPU温度がかなり高温になってしまっていたのですが、2013年9月25日のWindows Updateで「Lenovo PM Device」がインストールされた以降は一度も起きなかったです。この新しいドライバで修正されたのでしょうか?



このアップデートのリリースノートを見る限りでは、特に関係するような修正があったとは思えないのですが、とにかく直ればいいんです。
ということで、めでたしめでたし。


2013年10月13日日曜日

なんかズルいような気もしましたが・・・

ヤフオクでThinkPad Edge E430のLCDをHD+(1600x900)に交換するためのセット(LCDパネルとケーブル)を売っている人がいることを偶然知りました。
私のこのブログへのリンクも張られていることから、同じように改造しようと思って部品を揃えたけれど、いざとなると勇気が出なかったのでしょうか。まあ、その辺は本当に覚悟が必要ですからね。

しかし、入札がまったくありませんでしたね。ニーズがないのでしょうか、それとも価格が高かったのでしょうか。まあ、ここまで改造したらメーカ保証もなくなるでしょうから、そこまでのリスクを背負って改造しようと思う人がいないのでしょうね。
それに、最近はフルHDを搭載しても比較的買いやすい価格帯のノートPCもありますから、敢えてThinkpad Edge E430を改造しなくても・・・という考え方もあります。

2013年9月12日木曜日

ストリートビューの撮影車

昨日2013年9月11日の午前7時47分頃、通勤の途中でGoogle Maps ストリートビューの撮影車と思われる車とすれ違いました。

屋根の上には、何やらプラネタリウム投影機のような怪しい球体が乗っており、すれ違いなので一瞬のことではっきりとは見えませんでしたが、車体の側面にはいろいろなペイントが描かれていたように見えました。

もしかすると、後日ストリートビューで自分の車が見えるのかもしれません。
が、すれ違った道路は既にストリートビュー用の画像がついている道路なので、撮影車は単に通過しただけで、撮ってはいなかったのかもしれませんが。

2013年8月29日木曜日

ThinkPad Edge E430のいいところ

「ThinkPad Edge E430のいいところ」などというタイトルを付けましたが、「Sony VAIO Pro11/13を買わない理由」にした方が良いのかもしれません。そうなんです、いまVAIO Proにすごく惹かれているのです。あのコンパクトさ、軽さ、そしてバッテリーの持続時間にフルHDのトリルミナスディスプレイとかなりクラクラきています。

と、いいながら買わないです。私の性格からして、「欲しい」=「購入」ではないのです。もちろん、金銭的な理由から「買えない」という場合もありますが、今回の場合その点では買えないことはないのですが、だからといって欲望のままに行動することには抵抗を感じます。

VAIO Proの欠点をつらつらと書き連ねて、買わない「理由」とすることは簡単です。例えば・・・


  • 価格が高い。
  • メモリが少なく、増設できない。
  • CPUがクアッドコアではないし、超低電圧版しかない。
  • SSDの容量が少なく、交換はできなさそう。大容量モデルは、PCIe接続と特殊っぽい。
  • 有線LANがない。
  • 買ったところで、いま使ってるThinkPad Edge E430はどうするんだ?(死蔵?)
  • その他・・・


などなど。
しかし、こういう風に否定的に考えるよりは、Edge E430のいいところを考えて、もっと肯定的に「買わない理由」を考えてみたいと思います。


  • とにかく安い。買った後なのでどうでもよいのですが、当時は6万程度でした。
  • このサイズでクアッドコアのCore-i7が選べる。他のシリーズや他のメーカのノートPCでは、クアッドコアを選ぼうとすると最低でも15.6inchサイズになってしまいます。このサイズになるともう持ち運べる限界を超えてしまいます(唯一、マウスコンピュータだけが11.6inchのものを出していましたけど、今は・・・)
  • メモリもHDDも標準的なもので、交換しやすい構造になっている。CPUすら交換可能(PGAタイプ)で、実際に換装した人もいるようです。私のは、すでにCore i7-3612QMなので、これ以上で換装可能なのは3632QM?、、、換装する価値ないなぁ。
  • セパレートキーボードは意外とタイプミスが少なく、使いやすい。
  • m-SATAコネクタを持っていて、SSDとかを追加できる。
  • 光学ドライブ内蔵している。DVDドライブは必要なわけではなかったのですが、ついてくるのならウェルカムです。が、常用するわけではないので、SST-TS06Bのようなキットを使ってHDDに換装しました。SSDとHDDのデュアルドライブPCとして使えるのはありがたいです。
  • トラックポイントがついている(好みが分かれるところだけれど、ほとんど手を動かさずにマウスカーソルとキー入力を行えるのは非常にありがたい)。
  • バッテリーもまあまあもつ(使い方次第だけれど、3時間は大丈夫)。
  • 少なくともVAIO Proよりは丈夫そう(に見える)。

まあ、けっこういろいろあるじゃないか・・・と、いうわけで、VAIO Proはやっぱり見送りです。

2013年8月22日木曜日

Windows上でのUSBメモリとドライブの関係について

しつこいようですが、以前こちらに書いた内容がどうもまだしっくり来ていなかったので、再度まとめたいと思います。この件は、これで最後にしたいです。

話は、Windows PCに接続したUSBメモリ(マスストレージデバイス)とそのメモリ上のドライブとの関連をどうやって調べるか?ということです。

ポイントとなる概念は次の4つです。

  • USBデバイス
  • ディスク装置
  • ボリューム
  • ドライブ名
この4つの概念が、Windows上ではどのようにつながっているのか?どうやってその関係を調べることができるのか?という点をまとめます。


1.「USBデバイス」と「ディスク装置」の関係

これは一対一に対応しています。そして、デバイスツリー上(デバイスマネージャー上)でも親子関係が成立しています。つまり、CM_Get_Parent/CM_Get_Child APIを使って互いに行き来できます。もちろん、USBメモリが親で、ディスク装置が子になります。


2.「ディスク装置」と「ボリューム」の関係

ここが一番むずかしい部分です。一つのディスク装置に対して、複数のボリュームが対応づけられています。これは、1台のHDDに、複数のパーティションを作ることができるという事実に対応しています。
難しい理由は、Windows XPまでと、Vista以降とでは対応づけの方法が変わっているからです。
XPでは、「ディスク」と「ボリューム」はデバイスツリー上で親子関係を持っています(デバイスマネージャでも確認できます)。USBディスク装置のDEVINSTを得ることができたら、CM_Get_ChildやCM_Get_Sibling APIを使って、ディスク内のボリュームを列挙できます。
しかし、Windows8で確認してみると、「ディスク」の子として「ボリューム」は見あたりません。その代わりに、ディスク装置のDEVINSTを得たらCM_Get_Device_ID_List APIにCM_GETIDLIST_FILTER_REMOVALRELATIONSフラグを渡すことで、「ボリューム」のデバイスIDを得ることができます。


3.「ボリューム」と「ドライブ名(ドライブレター)」との関係

この2つを直接結びつけるものはありませんが、ボリュームのデバイスIDから得た「ボリューム名」と、ドライブレターから得た「ボリューム名」を比較することで、対応関係を調べることはできます。

というわけで、これらの関係を図にしてみました。



最初からこのような図があれば、こんなに悩むことはなかったんですがね。

誤りがあれば、教えてもらえるとありがたいです。

2013年8月20日火曜日

スウェーデンハウスでのエアコンつけっぱなしは不経済?

スウェーデンハウスのモデルハウスに行くと、こんな話を聞くことがあります。

「夏はエアコンをつけっぱなしにすることをおすすめします。気密性・断熱性が高いですから、室内が十分冷えたあとはエアコンはほとんど止まっているかときおり弱く回るだけなので電気代はあまりかかりませんよ。温度設定も28℃にしておけば、家全体が快適な温度に保たれます。」

ブログなどで検索すると、これを実践しているスウェーデンハウスのオーナーさんはそこそこいるようですが、私自身は電気代が怖くてまだ試していませんでした。

この話を営業担当から聞いたとき、
「へぇ~、そういうものなんだ。確かに、昼間留守の間に暖まった室内を夕方帰宅後にエアコンをブン回すと電気を一気にたくさん使いそうだ。まして、夕方といえばリビングタイムといって、一番電気の単価が高い時間帯。総合すれば、つけっぱなしの方が電気代は安くなるのかもしれない。」
そんな都合のよい理解をしていました。

しかし、よくよく考えるとこれはとても非科学的な気がしてきました。
ごく普通に考えて、私の家のように共働きで昼間留守にして誰もいないのであれば、その時間帯だけを考えればエアコンをつけているのは無駄であることは明らかです。
それに、いくらスウェーデンハウスでも“完全気密”“完全断熱”ではないのだから、やはり外部からの熱はそれなりに流入するはず。昔勉強した物理の知識を引き出すならば、熱の流入量は温度勾配が高いほど多くなるはずです。つまり、エアコンをつけて室内を冷やせば冷やすほど単位時間あたりの熱の流入量は多くなり、その一方で何もしなければ部屋の温度は高くなり熱の流入量はエアコンをつけているときよりは少なくなります。
そして、夕方に帰宅後にある決められた温度(たとえば28℃)まで下げるのであれば、家に対する全体的な熱収支という観点から考えると、日中より多くの熱量が流入した方がエアコンにより多くの消費電力を強いているのは明らかです。まして、エアコン自体の冷却効率や機械的ロスのことを考えると、やはりエアコンは必要のないときには切っておく方が得策のように思えます。

最近は、契約にもよりますが、電気の使用量を1時間単位で知ることができるようになってきています。私もこれを利用して、エアコンをつけっぱなしにした場合と、つけずに帰宅してからエアコンをつけた場合で、電気の使用量がどれくらい違うかを調べてみました。
ある程度暑くなった7月の平日から無作為に3日を選んで日中エアコンをつけていた場合と、その翌日に日中切っていた場合とで比較したのが次のグラフです。



横軸は、一日の中での時間帯(1時間単位)です。
縦軸は、各時間帯毎の3日間の電気使用量の合計です。単位はKWhになります。
平日は朝7時過ぎには出勤し6時ごろには帰宅するので、その時間帯とその直後の時間帯に着目します。他の時間帯は在宅しており、料理や洗濯、照明・テレビなどで電気を使っており、日によって使用量も違いますので無視します。ちなみに早朝4時~6時頃に電力消費が上がっているのはエコキュートのせいです。

総じて、エアコンをつけた方(青いグラフ)がつけいない方(赤いグラフ)より単位時間あたり消費電力が多いですが、不思議なことに帰宅後の時間帯(18時~20時)においても青いグラフの方が赤を上回っています。予想では、昼間暖められた室内を一気に冷やそうとして18時以降の1時間くらいは赤いグラフがグっと伸びてくると思ったのですが…。
これでは、エアコンをつけない方が明らかに得です。いったいどうなっているのでしょう。

帰宅後にエアコンをつける場合、確かに帰宅時点では室内はかなり暑いです。しかし、それを冷やすのにエアコンを何時間もブン回す必要はありません。せいぜい15分くらいは一生懸命頑張ってくれていますが、それで部屋は十分に冷えます。それ以降はそんなに回っていません。

というわけで、理由のほどは良く分からないですが、実測データから見る限りでは、共働きで日中不在にしているのであればエアコンをOFFにしてみる方が良さそうです。

2013年8月8日木曜日

ThinkPad Edge E430のFull-HD化は可能か?

ThinkPad Edge E430をHD+化(1600×900)してから、もう9か月も経ったのですね。もうWXGA(1366×768)には戻れないです。

さすがに14インチ程度のサイズで、Full-HD(1920×1080)は必要ないだろうと思っていましたが、最近VAIO Pro 11/13を知って、ちょっと羨ましくなってきました。それに各社Full-HDのノートPCを出してきていますしね。

正直なところ、VAIO Pro 11には、けっこう魅かれています。しかし、問題はCPUが超低電圧版であること、そしてクアッドコアの選択肢がないことです。通常の用途ではクアッドコアの必要性がないことは承知していますが、なんといっても自作したソフトのマルチコア対応化&パフォーマンス評価のために、どうしてもクアッドコア(+ハイパースレッド)が必要なのです。というわけで、VAIO Proのコンパクトさと軽さには非常に魅力を感じるものの、しばらくは見送りです。

そこで、そこそこ気にって使っているThinkPad Edge E430を更にFull-HD化できないかと考え始めました。前回の改造で、LCDケーブルのLVDS 2ch化は済んでいるので、あとはLVDS 2chインターフェースの14.0インチFull-HD LCDパネルを手に入れるだけなのですが、これがなかなかありません。11.6インチや15.6インチでは比較的よく見つかるのですが・・・。
探してみると、(悪名高き?)AUOにB140HAN01というモデルを見つけました。しかし、いつものごとく詳しい仕様書どころか、簡単な仕様すら分かりません。いろいろ調べた結果、おそらく信号インターフェースがeDPであるとの情報を得たので、残念ながらE430では使えそうにもありません。
海外の掲示板で、ThinkPad T420をFull-HD化した、という情報を見ましたが、ちょっと正気の沙汰ではありませんでした。マザーからeDPの信号を取り出してLCDにつなぎ、BIOSも改造した、とのことです。ちょっとそこまで時間をかけてやるほどのことでもないので、使えそうなLCDパネルが見つかるまで待つことにします。

2013年8月6日火曜日

Windows7/8 システムイメージの作成中のエラー

先日の謎のクラッシュ以来、システムイメージのバックアップの必要性をヒシヒシと感じています。PC購入時のHDDはそのままとって置いてあるのですが、単に放置しているだけだといざというときに本当に起動するのかどうかが気になるので、もう一つくらい何らかの方法でバックアップを取っておきたいです。

しかし、Windows8の「システムイメージの作成」が何故か動きません。
”バックアップをどこに保存しますか?”のダイアログでバックアップ先を探している途中で、次のようなメッセージが出てしまいます。


このエラー番号 0x81000036 や、"バックアップデバイスが見つかりませんでした”をキーワードにして検索してみたのですが、有効な対策は見つかりませんでした。

しかし、ひょんなことから回避策を見つけました。


  • RAMディスクをいったん無効にする
これだけです。
私が使っていたのは、RamPhantomEX LEなのですが、一時的にRAMディスクを削除したらイメージのバックアップがとれるようになりました。

理由は分かりませんが、「PCはダマシダマシ使うもの」という信念ですから、動けばOKとします。

本当に「スタート」ボタンは必要なのか?

かなり偏った個人的意見ですが、Windows8.1で追加されるらしい「スタート」ボタンですが、特に必要ないです。
アプリケーションの起動は、Windowsキー+”キーワード”入力+ENTERでサッと探して起動できますし、シャットダウンなどは毎回する必要はないと思います。

ノートPCではLCD画面を閉めてスリープにしてそのまま鞄に入れてしまいます。バッテリーの消費を抑えたいときやデスクトップ機の場合は、休止状態を電源ボタンに割り当てていますからボタンを押して電源LEDが消えたら、それでおしまいです。確かにたまにはちゃんとシャットダウンしないとWindowsがおかしくなることがありますが、たいていは大丈夫です。休止状態を使えば、前日の作業状態のまま立ち上がるので楽です。

コントロールパネルや、コマンドプロンプト、システムの管理などのツールを起動するのも、Windows+Xキーがかなり便利ですから、「スタート」ボタンを押してズラリと並んだメニューから探しながらマウスで選択するよりはよほど早いです。

それから、特にSSDを使用している人に「Windows Search機能を切る」という慣例が多いようですが、個人的にはWindows Searchは便利です。特に、アプリを起動するときにするWindowsキー+"キーワード"入力ではWindows Searchの検索結果が使われますから、この機能を切ってしまうとせっかくの恩恵が受けられなくなってしまいます。
確かに、最初はインデックスの作成にディスクアクセスが行われて鬱陶しいような気がしますが、それも最初だけです。ディスク容量を圧迫するとか、頻繁にSSDに書いてほしくないのであれば、インデックスファイルは別ディスクに移すこともできますし、「ライブラリ」全体のインデックスが必要なければインデックスの対象から外すこともできます。少なくとも、「スタート」画面の検索用だけにでもWindows Search機能は有効にしておく、というのはいかがでしょうか。

というわけで、Windows8はタブレットPC向けという印象が強いですが、キーボートショートカットを駆使すれば、むしろこれまでのWindowsよりデスクトップユースに向いているというのは、少し乱暴な意見でしょうか。

2013年8月2日金曜日

Setup.exeが起動しないとき...

Windows 8にしてから、setup.exeを実行しても何の反応もなく、インストーラが起動しない現象が起きていました。その解決方法(の一つ)を見つけました。

同じような現象に遭遇された人は、タスクマネージャをよく見てください。setup.exe自体は起動していませんか?タスクマネージャの「説明」とある列が、"32-bit Setup Launcher"と出ているにも関わらずインストーラが起動しない場合は、次の操作を試してみます。


Setup.exeで右クリックして、「待機チェーンの分析」をクリックします。すると、Setup.exeの動作が引っかかっているアプリケーションが次のように表示されました。

私の場合は、どうやらSetPoint.exeが何らかの影響を与えているようです。この影響を与えているアプリはPC環境や状況によって異なるようです。こちらの環境では、最初は_pn.exe(XilinxのProjectNavigatorというアプリ)が引っかかっていることもありました。
さて、このSetPoint.exeを終了させれば、目的のSetup.exeの動作を続行できる可能性があるということになります。このときSetPoint.exeを本当に終了させてもよいかどうかをよく判断してから、上の画像のようにチェックを入れて、プロセスの終了ボタンを押します。今回のSetPoint.exeは、Logicoolのマウス&キーボード用ユーティリティなので、一時的に止めてしまっても問題ありませんでした。

で、プロセスを終了させると、おもむろにsetup.exeが動き出して、インストーラが起動しました。

もし、Setup.exeが起動しない、反応がない、とお困りの人がいましたら、確認してみてはいかがでしょうか?

2013年7月24日水曜日

Cygwin環境でのmakeエラー

Cygwin環境でmakeを走らせると、

"複数のターゲットパターンです. 中止."

のような意味不明なエラーが出てしまいました。

以前はちゃんととmakeできていたはずですが、先日購入したVostro270sに環境を移した時に新しくインストールしたCygwinのmakeのバージョン違いが原因であろうことはだいたい推測がつきました。
単純に、makeのバージョンを下げる(今使っているのは3.82.90、以前はたしか3.79だったような)という方法もとれるのだけれど、それでは前進になっていないので、ちょっと調べることにしました。

しかし、ググってもほとんど情報がありません。あまり、この問題に遭遇する人はいないのかもしれません。見つかったのは、これとかこれくらいです。

問題は、自動生成された依存ファイル(*.d)にありました。同じCygwin環境でも、他のコンパイラを使う別プロジェクトでは、同じmakeを使ってもちゃんとビルドできます。もちろん、同じような依存ファイル自動生成makefileで動かしています。その別プロジェクトで生成される*.dと、問題の出る*.dファイルを比べると、違いはすぐに判りました。

依存ファイル(*.d)のパスに、DOS/Windows形式のパスが含まれていると、makeは上のエラーを出すことが分かりました。つまり、DOS/Windows形式のパスには、バックスラッシュが含まれているのが原因でしょう。

ということは、解決方法は2つになります。

  1. makeがDOS/Windows形式の依存ファイルを認識できるようにする。

  2. gccが-MDオプションで生成する依存ファイルのパスにDOS/Windows形式のパスを生成させないようにする。
1の方は、古いmakeに置き換えるというのも一つの手段ですが、こちらの方法はとらないことにします。
2の方はgccにパッチを当てることになりますが、残念ながらそのgccのソースが手元にないし、そういうパッチを作るにはそれなりに調査の時間がかかりそうなので、こちらも採用しないことにします。

代わりに、gccが生成した依存ファイルに含まれるDOS/Windows形式のパスを、UNIX形式のパスに変換することにしました。これなら、makefile中でsedとかを使って文字列変換するだけで対応できそうです。

というわけで、(かなり強引な)変換スクリプトをmakefileに入れました。

 cat < $(@F:.o=/d) | sed -e "s/.:[\]cygwin//g" | sed -e "s/[\]/\//g" | sed -e "s/[/]$$/\\\/" > $(@F:.o=.d)

ふう。
依存ファイル.dを読みだして、[ドライブ名:\cygwin]で始まるパスを消して、バックスラッシュを全部スラッシュに置き換えて、行末のスラッシュだけは再度バックスラッシュに戻し、最後に元の依存ファイルに書き戻す、ということをしています。
これを、makefile中の$(CC) -MD の次の行に挿入することで解決しました。

残念な結果・・・・

庭で育てていたスイカですが・・・

何とか一つだけ大きくなって子供の頭よりも大きくなっていたのですが、先日近くのカラスにつつかれてしまいました。

割れた訳ではなく、中の赤い部分が少し見えている程度だったので、収穫まであと1週間!と思って、収穫せずに粘ってそのまま畑に置いておきました(もちろん、カラス対策を強化しました)。
この炎天下ですから、傷口はすぐに乾いてカチカチになって中身への影響は少ないだろうと思っていましたが、むしろ中から白く濁った液体がジュクジュクと出ていました。さらに追い打ちをかけるように、先日の夕立のあと見てみたら、スイカの見た目は特に変化はなく元気そうでしたが、コバエが何匹がいて傷口が傷みはじめていました。

もうこれは限界だ!ということで収穫し、傷んだところは取り除いて食べられるところだけでも食べようと思ったのですが、状況は思ったより悪かったです。

半分に切ってみると、見た目にはなかなかのものです。少し白い皮の部分が厚いのと、中心部分に若干のすきまがあったくらいで食べられそうでした。
しかし、果肉を触ってみると少しヌルッっとして、スーパーなんかで買ってくるスイカに比べて脆い感じです。そして、匂いを嗅いでみると、臭いわけでもなく、酸っぱい匂いでもない、しかし、普通とは違う匂いがしました。強烈なにおいではなく、花を近づけなければ分からない程度の匂いですが、他の何かに喩えて言葉にしようにも説明が難しい匂いでした。

見た目は普通そうだけれど、危険な感じがします。というわけで、そのまま生ゴミ行きとなってしまいました。

その日、あとになって、ジワジワと無念な気持ちが押し寄せてきました。カラスに対する怒りではなく、「こんなことになるなら、カラスにつつかれた段階ですぐに収穫して、食べられるところだけでも食べておけばよかった・・・」、そんな気持ちです。
しかし、これで経験値がまた上がったので、来年はもっとうまくやれると思います。

2013年7月22日月曜日

64bit WindowsでXilinxのISEを動かす

仕事用もプライベート用も、基本的には64bit版Windowsに移行しました。基本的には、これまでのソフトウェアで動かないものはないのですが、Xilinx社のFPGAの開発環境であるISEだけは様子が違うようです。

というか、「ちゃんと64bit Windowsで動作確認しているの?」という疑問が拭いきれません。

現在のISEのバージョンは14.6なのだけれど、どうも12.xくらいのバージョンから既におかしいらしいです。何がおかしいのかというと、
  • ファイルダイアログを開くと、アプリが落ちる
というものです。ファイルダイアログを開くシーンはいくらでもありますから、これは致命的と言わざるを得ません。そして、それがバージョン12.xのころから14.6になった今でも、まだ改善されていないようです。

このISEをインストールすると、32bit版アプリと64bit版アプリがインストールされますが、32bit版を使う上ではこの問題は出ませんのでずっとこちらを使ってきましたが、このたび海外の掲示板で64bit版でのこの問題の回避策が書き込まれていたのでここで紹介します。(おそらく、日本語のサイトではまだ誰も書いていないようです。

原因はどうやら、libPortability.dllというDLLにあるようです。このDLL自体に問題があるか、または他のライブラリなどとの相性が合っていないようです。
このlibPortability.dllにはちょっとした仕様の違うものがあって、そちらと入れ替えるとうまく動くようになります。要点は、以下の通りです。

  1. c:\Xilinx\14.6\ISE_DS\ISE\lib\nt64\にあるlibPortability.libを削除する。
  2. c:\Xilinx\14.6\ISE_DS\ISE\lib\nt64\にあるlibPortabilityNOSH.libをコピーして、libPortability.libという名前に変える。
  3. 同じlibPortabilityNOSH.libc:\Xilinx\14.6\ISE_DS\common\lib\nt64\にコピーして、libPortability.libに名前を変える。
つまり、インストールされたlibPortability.dlllibPortabilityNOSH.dllと置き換える、ということです。
元ファイルを残しておきたい場合は、削除するのではなく、適宜リネームするなどでバックアップしておいてください。

2013年7月12日金曜日

Windows8のリフレッシュ機能

Vostro 270sが起動しなくなったので、仕方がありません。Windows8のリフレッシュ機能を使うことにしました。しかし、この機能を使うこと自体に関門がありました。

とにかく起動しないんです。Windowsのブートメニューも出ないんです。しかも、作っておいたファクトリリカバリ用のUSBメモリからも起動しないんです(以前、確認したときは起動していたんだけど)。
仕方がないので、別のPC用ですが、Windows8のインストールDVDがありましたので、それで起動して何とかリフレッシュをする画面にまで辿り着きました。

初めてWindows8のことをいろいろ調べたとき、この「リフレッシュ」と「初期化」の機能はなかなか良さそうだと期待していました(使わずに済むのが一番良いのだけれど)。しかし、リフレッシュ機能について、批判的なブログ記事も見ていましたので、「少なくともちゃんと起動するところまでは戻してくれる」「ユーザーファイルはそのまま残しておいてくれる」とこの2点だけに割り切って使うことに踏み切りました。しかし・・・

使えないです>リフレッシュ機能。

ふれこみでは、ストアアプリはすべて残る、あるいは、自動的に再インストールされる、とありましたが、実際には残るどころかほとんどありません。Windowsキーを押してスタート画面に表示されているのは「デスクトップ」「Internet Explorer」「ストア」と「MyDell」「Dell System Detect」だけです。スッキリして潔い!とは言うよりは、むしろ、「ちゃんとリフレッシュしたの?」と不安を覚えるほどです。でも、ストアアプリは基本的に使わないから、まあ目を瞑るとしましょう。

それから、なぜかCドライブにアクセスできません。エクスプローラでも、コマンドプロンプトでも「アクセスが拒否されました」となります。
なんとかアクセスできるのは「ライブラリ」の中だけです。幸い、重要なファイルはこのライブラリに入れていたので、何とか吸い出せそうですが、「リフレッシュって、個人用ファイルは残しておいてくれるはずじゃなかったのか?」と憤りを感じます(ファイル自体は残っているんだろうけれど、アクセスできないんじゃどうしようもないなあ)。

それ以外にもおかしなところだらけです。

Cドライブのプロパティは、使用領域0バイト、空き領域0バイトになっていますし、管理ツール系は軒並み起動できないです。とても、まともに使える状態ではないです。

ほんとうにどうしようもないので、再インストールにします。

2013年7月11日木曜日

マカフィーの呪い?

先日購入したDELLのVostro 270sには、マカフィーのセキュリティソフトがインストールされていました。マカフィーはいろいろ悪さをしてくれる(と聞いている)ので、あまり入れたくはなかったのですが、最初から入っているのなら使ってみるか?と思い、そのままにしておきましたが・・・。

やはり、ちょっとガマンできなかったです。


  • 個々のファイルをスキャンできるのはよいが、圧縮ファイルやsetupのようなファイルを内包しているものもちゃんとスキャンしてくれているのかなぁと思ってしまう(たぶん、しているんでしょうが・・・)
  • 一度、フルスキャンをかけてみましたが、時間がかかりすぎる。
  • 何よりも許せないのは、「McAfeeセキュリティセンター」という画面が消せない。いや、右上の×ボタンで消せるのだけれど、次の瞬間に別の「セキュリティセンター」が勝手に開く。これを10回くらい繰り返すともう表示されなくなることもあるけど、何十回とやってもゾンビのように表示される。たまに、セキュリティセンターが反応しなくなることもある。
  • タスクトレイにあるマカフィーのアイコンが反応しなくなることがあった。セキュリティソフトが止まってどうするの?(たぶん、セキュリティエンジン=サービスそのものは動いているんだろうけれど・・・)
というわけで、アンインストールしました。アンインストール時に、「まだ、有効期限が残っていますよ」と言われたけれど、未練はありませんのでバッサリと消しました。

翌日、Windowsが起動しなくなりました。

最初はSSDにエラーがあると報告され、chkdskをかけた後、どうにもならなくなりました。Windowsのブートが始まり、●がグルグル回っているのを見た後、画面が真っ黒になります。マウスカーソルは出て動かせますが、何も表示されずクリックしても何も起きません。電源ボタンを短く押すと、しばらくして電源は切れます。シャットダウン動作はしているような感じです。

セーフモードで起動したかったのですが、Windows8のブートメニューが出せません。F8連打とかやってもUEFIブートにしてしまっているせいか、効かないです。

困りました。マカフィーの呪いでしょうか・・・


2013年7月5日金曜日

XMPが使えなかった

先日購入したDELLのVostro 270sですが、静かでコンパクト、なかなか良いです。

ファンの音はぜんぜん聞こえないのは、◎
追加でSSDを2台入れたのですが、中は極めて狭い・・・、×

このPC用に購入したメモリ(W3U1600HQ-4G/N)ですが、XMPに対応しているけれど、マザーの方が対応していないみたいです。UEFI BIOSに入っても、XMPに関する設定がありませんでした。残念。
CL11がCL9になったところで違いは僅かですから、まあどちらでも良いのですが。


ニコス E-NEXCO passをもっと早く知っていれば・・・

通勤で高速道路を使いますので、毎月の高速料金がバカになりません。
ETCを使っての割引はもちろん、ETCマイレージに登録してポイントを無料走行分に自動還元させていますので、もうこれ以上オトクな方法はないだろうと、タカをくくっていました。

がっ、ありました!

ニコス E-NEXCO passというクレジットカードです。通常、クレジットカードのポイント還元率は0.5%が多いけれど、このカードはNEXCO高速道路でのETC支払に使うと還元率が1%になることを、今更ながらに知りました。しかも、ネットでいろいろ見ていると、1回でも使用すれば次年度は年会費不要ということで、これはいいことを知った!と喜んでいたのですが・・・。

なんと、2年目以降は条件にかかわらず年会費が発生するように変更されたそうです。その額、¥1837/年、これが高いか安いか。

私の場合は、毎月の高速料金はだいたい¥20,000から¥25,000くらいですから、最大で年間¥300,000くらいでしょうか。
これが普通のクレジットカードだと0.5%のポイント還元で、¥1500相当。
これが、E-NEXCO passだと1%のポイント還元で、¥3000相当。さらに、年間¥300,000以上の利用で、ポイントが20%upということなので、ポイント還元は¥3600相当に。
となると、普通のカードとの差額は¥2100。年会費¥1837を払うと手元に残るのは¥263ですから、敢えてこのカードを作るかどうかは微妙ですね。かける労力に見合わない気がします。

2013年6月26日水曜日

E430 CPUファンの問題・・・やはりダメか。

購入時よりちょくちょく発生しているThinkPad Edge E430のCPUファンの問題の件、先日のBIOSアップデートで直ったかも!と期待していたのですが、まだ解決していないようです。また、同じような症状が出ました。

今日もE430を使っていていると、何気にパームレストが熱くなっているのに気が付きました。左手側の方です。
HWiNFO64でCPU温度を調べてみると、だいたい全コアとも58.0~60.0℃くらいを指しています。温度自体は驚くような温度ではないのですが、そのときはPCにはほとんど何もさせていませんしたので、ちょっとおかしいと思います。テキストエディタでちょっと文章を書いていたぐらいですから、CPUの負荷も1%とかくらいでした。

CPUファンの排熱口は、微妙に風が出ているようでした。耳を近づけると、かすかにファンの音が聞こえた(ような気がする、という程度)。

で、いつものように、LCDを閉じていったんスリープに移行、数秒待っておもむろにLCDを開けると、やはりCPUファンが急に回りだしました。CPU温度も30秒後くらいには40℃台に下がり、今は42.0~46.0℃くらいで安定しています。


そして、パームレストはもう熱くありません!

大きな問題ではないのだけれど、これ、いつになったら直るのかな。

関係ないと思いますが、ちなみにOSはWindows8 Pro 64bitです。


(追記:2013年7月6日)

また、同じくファンの回転が少なくCPU温度が異常に上がる現象が起きました(もう、この話はええで!と聞こえそうですが・・・)

こんどは、その状態でWindowsの電源の設定を「バランス」←→「省電力」の間で切り替えてみました。・・・・、特に状況の変化はなく、CPU温度は高いままです。

更に、電源プランの詳細設定を開いて、「プロセッサの電源管理」→「システムの冷却ポリシー」を、パッシブ→アクティブに変えてみました。・・・・、やはり変化はありません。

そして、最後はいつものようにスリープしたあと、すぐに起動すると、ファンが勢いよく回り始めます。

やはりBIOSレベルでの問題だと思います。
Lenovoさん、早く直してくれないかな。


2013年6月22日土曜日

ケータイをauに変えました。

訳あって、ケータイをauに変えました。もちろんガラケーです。

まだ誰にもメールアドレスを教えていないのに、変なメールが来ます。・・・と思ったら、「ホットインフォ」というKDDIが配信している情報メールのようです。

が、内容があまりにもひどいです。例えば、最後に受け取ったメールは・・・

「もれなく貰える 最大10000円分プレゼント」
「簡単 挑戦無料」             
「キャンペーン実施中」           
「最大10000円ptプレゼント」        
「期間限定お急ぎください」         
「※auユーザー様限定※」          
「777が揃えば・・・10000円分GET」   
「ポイント利用で豪華賞品は今がチャンス!!」
「提供:もばいる商会」           

文字だけを抜き出してみると以上でした。
はて、結局何の情報提供を使用としているものなのかさっぱり分かりません。「キャンペーン」って、何の?マトモなところなら、どういう商品やサービスを提供したいのかを書くでしょう。そういうことは何も書かなくて、単に「10000円貰えるから来てね」って、フィッシング詐欺とまでは言いませんが、まともとは思えません。ネットで調べても「もばいる商会」なんて全然出てこないし、ますます怪しいですね。

しかも、メールの末尾にはこうあります。

「このメールはお客様の同意にもとづいて配信しております」
「スマートフォン端末、海外受信された場合は別途パケット通信料がかかります」
「配信元:KDDI株式会社」

・・・
第1に、同意した覚えはないのですが。ケータイショップでもそういう話はなかったですよ。
第2に、勝手にメールを送り付けておいて受信にパケット代がかかるなんて・・・、悪く言えば「押し売り?」
KDDIは審査もしないでこんなメールを提供しているんですかねぇ。呆れてしまいます。

もちろんメール配信は即刻中止しました。

2013年6月11日火曜日

Vostro 270s購入しました

先日、Core i5-3470Sを積んだDELLのVostro 270sを注文しました。条件付きですが、30,000円OFFクーポンが使えたので、ディスプレイも外して25,000円以下で買えたのですから、Haswellが出るこの時期としてもかなりのお買い得だったと思います。

注文日から8日が過ぎ、今日くらいに到着するかと期待していましたけど、まだのようです。DELLのオーダーステータスを見ると、到着予定日6/11となっていましたが、もう一つ奥のページを見るとそちらでは6/12日が到着予定になっています。


同じサイトなのに、どうして日付がずれるのか不思議でなりません。予定はあくまでも予定、あまり当てにならない、ということなんでしょうね。

しかも、ちょうど台風3号が接近しているそうなので、船便に遅れが出たらいやだなあ。既にCore i7なノートPCは持ってますが、やはりデスクトップ機はキビキビしているもの、という印象が強いので待ち遠しいです。






(6/12追記)

結局、予定より遅れるようです。やはり、台風の影響で船便が遅れているのでしょうか・・・。


2013年5月31日金曜日

CPUファンの問題、遂に解決・・・か?

前回前々回に書いたように、ThinkPad Edge E430のCPUファンが回らないことがある件ですが、新しいBIOS Ver2.52で遂に解決するかもしれません!

リリースノートによると、
[Problem fixes]                                                    
- Fixed an issue that is related to Fan speed unstable.

というのがあります。
解決された問題は「ファンが止まる」ではなく、「ファン速度が不安定だ」という問題らしいですが、そういえば数日前に見た現象はCPUファンが完全に止まっていたのではなく、微速で回っていましたがCPU温度はほとんど何もしていないのに70℃近くまで上がっている、という現象にも遭遇していました。

確実な再現方法がありませんので、直ったかどうかはしばらく使ってみないと判断できませんが、とりあえずはBIOSを変えて様子見です。

2013年5月29日水曜日

ドクターイエローの運行頻度

先月か先々月だったと思いますが、TV番組のリアルスコープで新幹線の特集があったときに、

「ドクターイエローは月に3回しか走っておらず、JRに聞いてもいつ運行するのか教えてくれない」

というコメントがありました。
しかし、私の職場は新幹線の高架が見える場所にあり、わざわざカウントはしていませんでしたが、少なくとも週に2~3回くらいは見ていたので、TVでのコメントは何かヘンだなと思っていました。

が、その番組の放送後は確かに運行回数が減っていたようで、最近はあまり見ないなぁと思っていましたが、5月に入るとまた以前のペースで見かけるようになりました。
今月はいつ見たかを記録してみたところ、少なくとも


  • 5月9日、17日、20日、21日、27日、28日、29日


の7回は目撃しています。ずっと窓の外ばかり見ているわけではないので見落としもあると思いますので、7回よりも多いのは確実です。

ちなみに、ドクターイエローは走行音が通常とはかなり違い、「ギュイィィィーーーン」というような感じの音なので、その音が聞こえたら慌てて窓の外を見る、というような感じで確認しています。

2013年4月16日火曜日

E430 バッテリー充電しない病

そんな"病気"があるのかは定かではありませんが、ThinkPad Edge E430でバッテリーの充電が34%で止まるというおかしな現象が起こっていました。

最初は、ACアダプタの接触不良か何かで充電が止まっただけなのかな?と思ったのですが、確認してみると、確かにACアダプタは繋がっていて、タスクトレイの電源(バッテリー)表示もACアダプタのマークがついています。しかし、バッテリーメータは34%のままで何時間たっても増えも減りもしないし、"充電していません"の表示も出ていました。
普段からシャットダウンせずに、スリープだけで放置して、使いたいときにいつでも使えるようにしているので、バッテリーの充電頻度は週に2~3回くらいですが、そのせいでバッテリー自体がもうへたってきたのかと思いました。が、それにしてもいきなり満充電が34%になるのは酷すぎます。

一度試しに、十分に放電してから再充電してみることにしました。バッテリー駆動して、残り0%(!)の表示になるまで使ってからシャットダウン、その後電源を切ったまま充電を3時間ほどしてみました。すると、今度は99%まで充電できていました。その状態では、たぶん最後のトリクル充電に入っていたのだと思います。

いったい、何だったのでしょうか?
LenovoのHPで検索すると、BIOSのバージョンが上がっており、バッテリー関係と思われる修正がありました。「充電できない」というものではありませんでしたが、「充電時のエラー(?)が通知されない」というような問題があったようなので、何らかの期待をしてアップデート(2.07→2.51)しておくことにしました。これで、再発しなければよいのですが・・・。

2013年3月23日土曜日

ドライブ名とディスクの対応関係を調べる方法

以前から少し気になっていたことを調べてみました。またすぐに忘れそうなので、記録として残しておきます。
おおざっぱには次のようになります。


  1. ディスクの一覧を取得して、それぞれのディスクに対して、そのディスクの下に繋がっているボリューム名一覧を得ます。
  2. 個々のボリューム名と、それに対応する物理デバイスオブジェクト名(SPDRP_PHYSICAL_DEVICE_OBJECT_NAME)の対応関係を調べます。
  3. その一方で、個々のドライブレター(A~Z)とそれに対応する物理デバイスオブジェクト名の対応関係を調べます。
これで、ドライブレター<-->物理デバイスオブジェクト名<-->ボリューム名<-->ディスクまで繋がりました。もちろん、ボリューム名<-->ディスクの関係は一対一とは限りません。

具体的には次のようなAPIを使いました。
  1. SetupDiGetClassDevs()にGUID_DEVINTERFACE_DISKを渡して物理ディスクの一覧を得て、SetupDiEnumDeviceInfo()で個々のディスクに対して、そのディスクのDEVINSTをCM_Get_Device_ID_List()関数にCM_GETIDLIST_FILTER_REMOVALRELATIONSフラグ付きで渡すと、そのディスクの下にあるボリューム名の一覧が得られます。
  2. SetupDiGetClassDevs()にGUID_DEVINTERFACE_VOLUMEを渡してボリュームの一覧を得て、SetupDiEnumDeviceInfo()で個々のボリュームに対して、そのボリュームのSP_DEVINFO_DATAをSetupDiGetDeviceRegistryProperty()関数にSPDRP_PHYSICAL_DEVICE_OBJECT_NAMEフラグ付きで渡すと、物理デバイスオブジェクト名が得られます。
  3. A~Zまでのドライブレターに対して、QueryDosDevice()を実行することで、物理デバイスオブジェクト名が得られます。

「物理デバイスオブジェクト名」という名称は正しくないのかもしれませんが、上の1~3の説明の中で同じものであることを示すために便宜的にそう呼ぶことにしています。

またまたCPUファンが回らない現象が・・・

またこの現象が発生しました。
今度はWindows 8 Proで、前回この現象を確認したときからLenovo PM Deviceドライバを1.66.0.21→1.66.0.22にアップデートしていたのですが、そのアップデートではやはり改善されなかったようです(ドライバのリリースノートにも、それらしいことは書かれていなかった)。
そして、今回は休止状態からの復帰時でした。その後の再現性はありませんから、たまたまそのタイミングで起きたようで、休止状態からの復帰で起きるというわけでもないようです(以前はスリープからの復帰時だった)。

今回もまだ寒い季節で、CPUファンが回ってなくてもCPU温度は75℃~80℃くらいで安定していたので、すぐにはシャットダウンせずにしばらく様子を見ていました。
PowerShellを起動して、Get-WmiObjectコマンドレットあたりをつかえば、WMI経由でFANの関係のステータスが見られるのかな?と思っていろいろ試してみましたが、Win32_FANクラスは何も返してくれませんでした。可能であれば、FANの設定(ActiveCoolingプロパティ)とかをいじって、どうなるか様子を見たかったのですが・・・。

結局、問題はまだ解決しないままです。

2013年3月18日月曜日

[備忘録]Windows8でi-simが動かない件

Windows 8をインストールしたThinkPad Edge E430にFPGAの開発環境を入れる必要が出てきたので、XilinxのISE WebPacket 14.4をインストールしてみました。余談ですが、ISEはバージョンアップごとに肥大しますね。14.4では、15.5GByteもSSDを占有していました。

ISEをインストールした理由はISimを使ってシミュレーションをしたかったからです。が、ISimのコンパイラであるfuseが何故かエラーを出すので、調べてみたところ回避方法がありましたので、また忘れてしまわないように残しておこうと思います(要は、海外の掲示板にあった情報の受け売りなのですが、英語だとなかなか見つけにくいので・・・)

(エラー表示)
ERROR:Simulator:861 - Failed to link the design

(回避策)
ISEをインストールしたときに入るcollect2を使わないようにリネームする

具体的には、C:\Xilinx\14.4\ISE_DS\ISE\gnu\MinGW\5.0.0\nt\libexec\gcc\mingw32\3.4.2\にインストールされているcollect2.exeを適当な名前(collect2_.exeとか)にリネームしておきます。

fuseは、collect2が必要だから呼び出すものだと思うんですが、なぜかリネームして呼び出せないようにするとコンパイルが通ります。とりあえず、これでISimが起動して、波形の確認ができるようになったのでヨシとします。

P.S.持論「PCなんてダマシダマシ使うもの」



2013年3月8日金曜日

[備忘録]USBデバイスの検索方法on Windows

Windows上でUSBデバイスを列挙したり、特定のUSBデバイスを探したりするのは非常に面倒です。というか、Windows上でデバイスを管理するの使われる用語がいろいろあって理解しずらいうえに、紛らわしいもので多いです。例えば、
  • device information set
  • device information element
  • device node (devnode)
  • device instance (DEVINST)
  • device instance ID
  • device interface
  • device interface path
とか…。他にもありそうですが、自分でもちゃんと理解しているかどうかは怪しいです。更に、SDKで定義されている構造体の種類とか含めると頭はバクハツ寸前です。

今回も、例のごとく学習能力が低い私のことですから過去の経験を思い出せずに、四苦八苦してWEBで調べまくって分かったことを備忘録として残しておきたいと思います。
WEBにはサンプルコードがいろいろ上がっていて非常に助かったのですが、結局コピペしてしまうと「何を」「どうやって」いるのかが把握できないままになってしまいますので、要点のみを残しておきます。

  1. USBデバイスの一覧を得るには

    SetupDiGetClassDevs()APIにGUID_DEVICEINTERFACE_USB_DEVICEを渡して呼び出す。もし自作ドライバなどで自前のデバイスインターフェースGUIDが定義されているなら、それを渡せば自分のUSBデバイスだけの一覧が得られる。

  2. USBデバイスにアクセスするためのデバイスインターフェースパスを得るには

    SetupDiGetInterfaceDeivceDetail()APIを呼び出す。

  3. USBデバイスがつながっているHUBのデバイスインターフェースパスを得るには

    SetupDiEnumDeviceInfo()APIで、デバイス一覧から一つのデバイスを取り出す。得られたdevice instanceをCM_Get_Parent()APIに渡して、親デバイスであるHUBデバイスのdevice instanceを得る。
    CM_Get_Device_ID()APIでHUBデバイスのdevice IDを得て、更にそれをCM_Get_Device_Interface_List()APIに渡すことで、HUBのデバイスインターフェースパスが得られる。
    これをCreateFile()APIに渡せばHUBデバイスを開くことができる。

  4. あるUSBデバイスが親であるHUBの何番目のポートに繋がっているかを知るには

    SetupDiEnumDeviceInfo()APIで特定のデバイスを取り出した後、それをSetupDiGetDeviceRegistryProperty()APIに渡す。このとき取り出すプロパティ値としてSPDRP_ADDRESSを指定すると、返される値はHUB中ののポート番号となっているようです。
    (どこにもそういう情報は見つけられませんでしたが、実験した限りではそういうことになっているようです)

  5. USBデバイスのデバイスディスクリプタを得るには

    上の3で得られた親HUBデバイスのデバイスインターフェースパスでHUBをCreateFileしたのち、そのデバイスにIOCTL_USB_GET_NODE_CONNECTION_INFORMATIONリクエストを投げます。このとき、4で得たポート番号を使います。
    このリクエストで渡したUSB_NODE_CONNECTION_INFORMATION構造体にはデバイスディスクリプタの内容が書き込まれて返されます。

特に3と4は今回発見した新しい方法でした。

2013年3月6日水曜日

LogicoolのK230を購入

職場でもThinkPad Edge E430がメインPCになりつつあるので、これまでメインとして使ってきたデスクトップと切り替えて使うために、USB切替器とLogicoolのワイヤレスキーボードK230を買ってみました。
本当はUSB切替器だけ買うつもりだったのですが、ちょっとついでに見てみたらワイヤレスキーボードが本当に安くなっているので、つい衝動的に買ってしまいました。Logicoolはワイヤレスマウスで非常に満足しているので、キーボードも特に迷うことなく、「これでええやん!」的に・・・。

Amazonで注文して翌日には届きました。開けてみて驚いたのは、小さい!そして軽いということ。なるほど、これだったら1500円そこそこで売っているのも理解できる。とにかく机の上がすぐに散らかってしまうので、このくらい小さいキーボードはまさに求めていたもの。意外な収穫だと思いました。

キーボードのタッチは悪くないです。カタカタ安っぽい音はしないし、打鍵はちょっと重い気がしますがしっとりしているとも言えます。ファンクションキーは普通の大きさにしてほしかったけど、押しにくいということはないです。ネット上ではいろいろ言われているENTERキーもさほど押しにくくはないけれど、いまいちなのでやはり右SHIFTキーが小さいこと、それからENTERの横の鍵カッコ[と]キーが小さくされていること(C++でソフトを書く人間としては[と]キーは頻繁に使う)、それからカーソルキーが小さすぎること、この3点がNGなところだと思います。

それと、個人的意見ですけど、テンキーは要らないです。このテンキー部分にフルキーボードと同じサイズのカーソルキーとHOME&ENDキー、PgUp/PgDnキーがあると最高によかったんですけどね。そういうキーボードを探すとテンキー付のフルキーボードになってしまうんですよね・・・。

と、いいつつ探してみるとショックなことを発見。K230ではなくて、K270というワイヤレスのフルキーボードがあるじゃないですか!しかも、K230より安いorz。
とはいえ、K230のコンパクトさは捨てがたい。これまで何台ものノートPCを渡り歩いてきて、その都度ちょっとずつ違うキーボードに戸惑いつつも慣れで乗り切ってきたのだから、K230も慣れてくるでしょうか。
せっかく買ったので、もうちょっと使い込んでみようかと思います。

2013年1月23日水曜日

Lenovo自動スクロールユーティリティのハンドルリーク

先日から気になっていたことがあります。

Windows8のタスクマネージャを見ていると、使用中のハンドル数が半端なく多かったです。多かったときはハンドル総数が70万を超えていることがありましたが、当初は特に気にしていませんでした。64bit OSだしそれくらハンドルを使っても問題ないだろうし、実際特にメモリ不足やリソース不足といったエラーが出ているわけでもありませんでした。

しかし、よくよく見てみると、ハンドル数は徐々に増えていることに気づきました。スリープを常用しているのでまともなシャットダウンor再起動は月に1~2回くらいで、連続使用時間が伸びるとともにハンドル数も増えているようでした。

何かのアプリorサービスがリソースリークしているのだろうとは思いましたが、特に問題は出ておらず、再起動のタイミングなどでリセットされるので、まあいいと思って使っておりましたが、ちょっと気になって調べてみました。

すると、リソースを大量に使っているのは、virtscrl.exeというプロセスでした。調べてみると、これはLenovoの「自動スクロールユーティリティ」というものらしいです。

名前から勝手に想像していたのは、「タッチパッドでスクロールさせるとき、アクティブな(最前面の)ウィンドウをスクロールするのでなく、カーソルの真下の(アクティブではないかも知れない)ウィンドウをスクロールする」ようにしてくれるものだろうと思っていましたが、いま改めて調べ見るとそうではないようです。このユーティリティの機能は、
  • ウィンドウが画面からはみ出しているときに、そのウィンドウを使おうとマウスカーソルを近づけたり、アクティブにすると、ウィンドウが画面内に入るように自動的に調整される
というものでした。

はっきり言って、要りません!ましてや、何のためのハンドルかは分かりませんが、ハンドルを無駄にリークしているようなアプリ/サービスは御免です。

というわけで、アンインストールしました。いまはハンドル数40000程度で落ち着いています。

2013年1月8日火曜日

ThinkPad Edgeに新型が

ThinkPad Edge E430/E530に、いよいよ新型(E431/E531)が出るようですね。

(→情報ソース

まあ、PCなんて次々新しいものが出て、古い機種は陳腐化していくのは常ですから仕方ないのですが、今回はどうやら14インチタイプのE431にもHD+液晶(1600x900)が選択できるようになるというのは意外でした。いま使っているこのE430をHD+化してプチ優越感に浸っていたところなので、ちょっと残念です。高解像度モデルは、T/Xシリーズなどの高級モデルだけに搭載するという販売戦略なのかなと思っていたものですから・・・。

でも、まあ発売は5月でまだ少し先ですし、詳しいスペックは分かりませんが最も安いモデルで$539ということですから、円高の間にi7-3612QM搭載機が6万円そこそこで買えて、そしていま現在使えているという事実はありますので、それはそれでよかった(と思いたい)です。

2013年1月1日火曜日

ムラーノの燃費

昨年2012年の1年間を通した燃費を記録しておきます。初代ムラーノの前期型350XV(PZ50)です。


  • 年間走行距離 45337.4km
  • 消費した燃料 3892.82L
  • 平均燃費 11.65km/L
でした。
季節変動を示すために月別の燃費をグラフ化してみたのですが、運転の仕方によって結構ギザギザになるのであまり参考にならないと思い省きました。ただ、全体としての傾向(冬は燃費が下がり、夏は多少高め)というものは見られるような気がします。

この初代ムラーノ前期型は発売から8年以上経過しますから、もう中古でも欲しい人は少ないかも知れませんが、購入検討時の参考になればと思います。