【RX62 DMI書き換え】

1.大トラブル発生・・・  (2003.07.19)

嫌だ嫌だといっていたDMIの書き換えなんですが、ひょんなことから実施せざるを得ないことになってしまいました(T_T) このネタはトラブルのお部屋にアップしようかとも思っていたんですが、何気にディープな内容なのでこのRX62のお部屋に書いちゃいますね〜
さて、前振りはこの程度にして本題へ・・・ 事の起こりはCPUをP4-2.5GHzに乗せ変えた結果、「VAIOシステム情報」の表示上、なぜか2300MHzとなるのが気になり始めたこのなんです。それをきっかけに、機種名も「RX62K」ではなくて「R2X60」にしてみたいなぁとか思ってしまい、知識もないのに「ここは確かDMI情報を引っ張ってきてるんだったなぁ」なんて考えてしまいました。
んで、DMIを弄くろうとすると、「DMIFLASH」が欲しくなります。敢えて場所は明記しませんが、某BIOS更新ファイルの中などから抽出することができます。で、どうやらこの抽出の際の実行ファイルがDMI情報をDELETEしてくれたのか(そんなことあるのかなぁ・・・)、記憶があいまいなんですがWin上でこの「DMIFLASH」を走らせてしまったのか・・・そんなあたりの原因で、DMI情報がVAIOアプリの一つである「VAIOシステム情報」から確認できなくなってしまいました。・・・ということは、DMIコールのあるVAIOアプリ(例えばDVgateなど)が動作しなくなります!! 起動時に「VAIOでしか動作しません」みたいなエラーメッセージが出るんですよね〜 どう見たってVAIOのRXシリーズなんですけどね・・・ 幸か不幸かGigaPocketは動作しますので、DMI情報に問題があることに気が付くのがかなり遅くなってしまったんです。そんなわけで原因の特定も非常にアバウトなんですけどね(^^;)



2.大トラブル解決!!  (2003.07.28)

今回は正直かなり参りました(T_T) なんと言っても相手はBIOSの中のDMI情報。BIOS更新のときに使用したASUSUpdateでは256KB分(DMI情報なし)しかBIOSをいじれませんし、そのバックアップBIOSにももちろんDMIは含まれていません。上のような流れで今回の問題が発生していますので、トラぶった時点で「DMIFLASH」からDMI情報まで含んだ形(512KB分)でBIOSをバックアップしているはずもありません。結構絶望的です・・・ が、まっくさんのところにはなんと「DMIFLASH」を使った簡単なDMI書き込み方法が紹介されているじゃありませんか!! 最近のASUS製M/Bには通用しないらしいですが*、運がいいのか悪いのかRX62には結構古いタイプの「P4T-M」のOEM「WTM-LX」が積まれていますので、駄目元で試してみることにしました。結果から言うと、M/BのBIOS用フラッシュROMチップは「SST 49LF004A」で、GETしたDMIFLASH(2002.11.05日付)で書き換え可能でした!! 
*P4P800 DeluxeとP4P800-E Deluxe&DMICFGで、DMI書き換えをされた方からの情報をBBSで頂きました。ただし、BIOSの設定画面で
 
AEDVANCEED CHIPSET FEATURES 〜 Flash BIOS Protection [Enb / Dis] 
 を[Enb]にする必要があるとのことです。
 なお、使用するDOSについて、Windowsの作成するPC-DOSと、販売されているPC-DOSでは、DMICFGの動きが違い、この方は販売用のDOSを使用したこと、Win9xシリーズのDOSでは、DMICFG自体動作しないとの情報も頂いておりますのでご注意ください。(2006.02.25加筆)



というわけで、
早速起動FDDに「DMIFLASH」をコピーし、そのFDからブート。
A:>の後にDMIFLASH /DDD:"Sony Corporation" とコマンド入力し、エンター
・・・見事書き込み成功〜(^^♪
同様に
DMIFLASH /DDD:"RX62K"
DMIFLASH /DDD:"12345678-1234567"
で機種名とシリアルナンバー(ここに書いてあるのは架空のナンバーです)を書き込み。

ちなみにここは英語版のDOSになるので、「:」は[Shift]+[;]、「"」は[Shift]+[:] と打鍵することになりますのでご注意ください。DOSに免疫がない‘み’は、実はここでもちょっと戸惑いましたけどね・・・(^^;)
ちなみにJPBLナンバーは分からなかったのでそのままにして手をつけていません。
Ctl+Alt+Delで再起動します。
もちろん無事にOSが立ち上がったのですが、なぜかシステム情報は反映されず・・・VAIOアプリもNG・・・ コマンドや内容を間違えたかと思い、再度DMI情報書き込みを行いましたがやはり駄目・・・ ちゃんと書き込みが出来ていないのかと思い、再度「DMIFLASH」のFDからブートし、今度は
DMIFLASH /DUMP:RX62K.bin
と打鍵してBIOSをFDにバックアップ(:以降は任意のファイル名です)し、これをバイナリエディタで開いて見ました。すると・・・

ちゃんと書き込まれてますね。 WEBを彷徨えば似たような機種の情報はあると思いますが、それと見比べても書き込み場所が違ったりはしていないようです。 どうにも訳がわからないので、藁をもつかむ思いでDMICFGを入手し(このツールではASUSのM/BのDMIは書き換えられないが、中身は確認可能)、これを起動FDにコピーしてブート。「dmicfg.exe」を実行してみると、やはり問題なく書き込まれているようです。あ、そのまま書き込みも試しましたがもちろんNGでしたよ(^^;) CMOSクリアやASUSUpdateを使用してのBIOS更新なども試しましたが、全く効果なし・・・

こうなると訳がわからないんですが・・・ DOSレベルではDMI情報を参照できるが、OS側からは認識できないということになります。こうなれば最後の手段・・・OSの再セットアップと行きたいところですが、YANさんのところに気になる記事がありました。
〜DMIコールは「Sony Shared Library」インストール時に作成される 「C:\Program Files\Common Files\Sony Shared\SonyChk\SONYCHK.DLL」を参照して行われている〜
・・・ということは、「Sony Shared Library」だけを再インストールすればひょっとしたら復旧するかも・・・ということで早速実行すると・・・なんとビンゴ!!! 

ひょっとしたら元からBIOSやDMIレベルの問題ではなく、OS上っていうかソフト(Sony Shared Library)上の問題だったのかもしれません。「DMIFLASH」入手時にいろいろいじったときにDMI情報を認識できなくなってしまっていたのではないでしょうか・・・ だとすると大騒ぎした自分は一体なんだったんでしょう・・・ まあ、今となっては検証の余地もありませんが、どうもまともに動き始めてから再度RX62⇒R2X60と機種名を書き換えた時には特に問題がなかった?????ことを考えると、その可能性が非常に高いですね〜(^^;)

で、最終的なVAIOシステム情報はこんな形になりました。

ん、PIIになってますね・・・しかもやはり2300MHz。まあ、ここはよく言われるところで、BIOS上で倍率23倍までしか認識できないことなどが原因のはずです。
では、 「うるりの物置き」さんにある「Micro Code Viewer」でBIOSのマイクロコードを見てみると・・・

FSB400のP4-2.5GHzにあたる「0xF27H」なんてかけらもありません・・・ これで2.5GHzで動作しているのが不思議ですが・・・下駄の成せる技なんでしょうか・・・ ベンチをとってもちゃんと動いているみたいですし、これ以上突っ込むのは危険なのでやめましょう・・・???  ちなみに「Crystal Dew World」さんにある「CrystalCPUID」の結果はこんな感じになります。

ちゃんと2500MHzになってますぅ(^。^)
まあ、怪我の功名というかなんと言うか、取り敢えずRX62のDMI情報が書き換えられることがわかったので良しとしましょうかね(^_^;)