Lenovo G580。先週BIOSが復旧できたことから、ROMの書き換えが自由にできる環境となった。
で、そもそものWiFi高速化(ホワイトリストに無いWiFiモジュールに交換)に挑戦。
BIOSを解析したところ、ホワイトリストに無い場合、無限ループとなるようになっていた。そこで2つの案。
- ホワイトリストに無い場合のジャンプ先を正常なルートに変更する。
- ホワイトリストに交換するWiFiモジュールを登録する。
まず案1を実施。。。成功👍
次に案2を実施。案1の起動時に新WiFiモジュールのPCI ID(8バイト)を確認し、ホワイトリストを書き換え。これをROM書き込み。。。成功👍
WiFiモジュールは Intel® Dual Band Wireless-AC 7260。
802.11ac + Bluetooth4.0が1枚にまとまったもの。
ドライバを手動でインストールすることで、802.11acが使用できるようになり、5GHzのWiFiに接続することで、標準の10倍近い通信速度となった。
勉強代
さて、うまくいったところで、勉強代を整理してみた。
合計2,859円。う~ん、最終的に快適になったから良しとしよう。
名前 | 税込み価格(円) | 用途 |
LBT-UAN05C2 |
1,222 | Bluetooth付WiFiモジュールがうまくいかなかった場合の保険。。。しかし、うまくいったため、用済み |
EN25Q64 ROM |
640 |
184円×2個+送料272円 |
SOP8→DIP8変換基盤 |
98 |
DIP8化で取り外しできるようにしようと。。。したが、これは計画倒れ |
SOP8クリップ |
350 |
初期購入のクリップが挟めなくなったため、追加購入。。。しかし、ROM半田直付けにしたため、不要となった。 |
SPI Programmer |
549 |
初期購入の不良品の可能性を疑い、他社同等品を購入。。。しかし、不良品ではなかった。 |
とおる様
はじめして、阪口と申します。
G580の無線LANカードを交換したいと色々調べていたところ
とおる様のHPにたどり着きまして一通り読ませて頂きました。
半田付けはど素人で全く自信がないため、修正サイトへの依頼や
修正手順Aは諦め、修正手順BでのBIOS修正を考えておるのですが、
G580にはBIOSが二種類ある様で私のG580はCompalでした。
Lenovo公式サイト最新:5ecn96ww.exe
https://pcsupport.lenovo.com/lv/ja/products/laptops-and-netbooks/lenovo-g-series-laptops/lenovo-g580-notebook/downloads/ds039067
現状BIOSバージョン :5ecn92WW
UEFIToolにて5ecn96ww.exeの中身を確認してみましたが、
当然62cn97ww_64.exeとは記載が異なり、かつ私の知識が全く不足しているため、
「ホワイトリストに無い場合のジャンプ先を正常なルートに変更する」
の修正箇所が見つけられずおります。
※DxeOemDriver.efiはなく、近しい名前のものをバイナリエディタで見てみましたが、
BIOSの中身を見ること自体が初めてであり、どういった見方をすればいいかさえ
把握出来ておりません。
不躾なお願いで恐縮ですが、可能であれば修正箇所の見つけ方を
ご教示いただけないでしょうか。
はじめまして、阪口様。
本HPを見ていただきありがとうございます。
全体の手順は見ていただいたページの通りですが、見つけ方についてお答えします。
NGとなる無線LANカードで起動時に出力されるメッセージを確認することが、最初の手順となります。
下記のどちらかが出力され、停止するのではないでしょうか。
Unauthorized Wireless network card is plugged in. Power off and remove it
Unauthorized WWAN network card is plugged in. Power off and remove it
(Lenovo最新BIOS(5ecn96ww.exe)をサンプルに見てみました)
次にこのメッセージをUEFIToolにて検索します。
おそらく、UEFIL05BIOSLockが検索されるはずです。
このモジュールを取り出し、逆アセンブル(私はGhidraを使用)し、メッセージを出力しているプログラムを解析し、修正箇所を特定します。
おそらく、ここが一番難しいところとなると思います。
とおる様
返信ありがとうございました。
またレス遅くなり失礼しました。
プログラミングは触りぐらいの知識しか持ち合わせておらず、
初めて尽くしの内容で頭が混乱しまくりでしたが、とおる様にご教示頂いた
Ghidraでチマチマ確認していき、何とか修正箇所を特定できた、のでは無いか
というところまできました。
後は威勢よく適用するだけ!
・・・という状態ではありますが素人のにわか知識で全く自信がないため、
有識者のご意見が何かしら頂きたく、もし可能であればスクリーンショットを
見てコメントを頂けないでしょうか。。
https://drive.google.com/drive/folders/1-wYxtmE_fLFS0rBQ6a1qDAMjp2dDCKk8?usp=sharing
お願いばかりで申し訳ございません。。
もし上手くいったらブログのネタにでもして頂ければと思います。
G580を弄りたい人が今後どれだけいるのかわかりませんが、
もしかしたら今後も使える可能性もありますし、他の人に少しでも役立てば
私の苦労?も報われますので。。。
坂口様
「素人」とありますが、変更案まで辿りつかれているところから、それなりの知識と経験をお持ちなのではないでしょうか。
さて、スクリーンショット見させていただきました。
どちらの案でもLock回避できると思います。
案1 「Unauthorized…」メッセージは出ますが、無限ループ回避する。
案2 ENABLE_L05_WLAN_LOCK、ENABLE_L05_WWAN_LOCKのLock有効化設定(?)をoffにする。
どちらか片方であれば、案2のほうがメッセージを出さずいいと思いますが、念のため両方変更するのが安全かと思います。
古いPCですが、まだ使っている方はいると思いますので、このHPで紹介させていただこうかと思っています。
それでは、”威勢よく適用”した結果、お待ちしております。
とおる様
ご確認ありがとうございます!!
おっしゃる通り両方修正でやってみようと思います。
私もいちおうエンジニアの端くれではありますが、分野違いであり
ソースを読むのも学生の時以来、かつアセンブラ?は初めてでしたので
何度も投げ出そうかと思いました。。
さて、早速昨夜BIOSアップデートを走らせてみたんですが、
OS再起動後に下記のエラーにより適用できずにおります。
「InsydeH20-Secure Flash」
「Error:Invalid firmware image!!!」
これがBIOSを弄った影響なのか、OSがwindows10だからなのか、
はたまた違う問題なのか今のところ全く掴めてません。
※HW変更はメモリ追加、SSD換装だけなので影響なしかと。
なんとなくこうなる気はしていたんですが、ここまできて適用できない
のは残念過ぎるのでもう少し足掻いてみます・・・
もう一歩で成功しそうですね。
エラーメッセージでググってみると Secure Boot を無効にすることで成功した事例がありますね。
https://forums.lenovo.com/t5/Lenovo-P-Y-and-Z-series/bios-updare-problem/m-p/1664317
修正したBIOSファイルが壊れている可能性はありますが、UEFIToolで開いてエラーが無ければ問題無いと思います。
あとは、チェックサムとかCRCを別の場所に持っていて比較されてエラーなのかもしれません。
とおる様
はじめして、中口と申します。
先日、Lenovo G580を中古で購入し、無線LANカードの換装しようと調べていたところ、
とおる様のブログで使用しているPCと無線LANカードが一緒なのでとても参考させていただいております。
で、本題に入りたいのですが、サカグチさんと同様で、半田付けは難しくNGで修正サイトへの依頼や修正手順Aは諦め、修正手順BでのBIOS修正を考えております。
ブログ内の記事をたくさん読み漁り、見よう見まねでやっているのですが、うまくいかずに
新しい無線LANカードを換装しても以下のメッセージが表示されてしまいます。
104-Unsupported wireless network device detected
System Halted. Remove device and restart.
とても申し訳ございませんが、自分の手順があっているのかも不明でもあり、
詳細な手順をご教示いただけないでしょうか。
そして、ある程度の期間、返信にご回答いただけますと幸いです。
よろしくお願い致します。
ナカグチ様、はじめまして、とおるです。
本HPを見ていただきありがとうございます。
どこで失敗しているのか確認後、失敗していると想定される手順についてお伝えしていこうと思います。
手順Bは下記流れですが、「5.」のアップデートは成功しているでしょうか?
1.LenovoのサイトよりBIOSアップデートファイルをダウンロードする。
2.ダウンロードしたファイル起動する。
3.Phoenix SCT Flash 画面が開いた状態で、UEFIToolにて “%TEMP%\ExtractTemp” の拡張子が”WPH”のファイルを開く。
4.前記「BIOS修正」する。
5.Phoenix SCT Flash 画面に戻り、BIOSアップデート操作する。
成功している場合、BIOS修正手順のエディタで修正した箇所の修正前後(バイナリエディタの修正対象行)を返信してください。
失敗している場合、または、不明な場合、5.の操作後に出力されるメッセージを返信してください。
とおる様
ご返信ありがとうございます。
お忙しいところ、手順をご教示していただきありがとうございます。
>> 手順Bは下記流れですが、「5.」のアップデートは成功しているでしょうか?
手順通りに実施しましたが、最後のBIOSアップデートで「フラッシュ」を押下しても
数秒読み込みのポップアップ(次の処理が完了するまでアプリケーションを中断しないでください。)が表示されてその後再起動もせず、何も起きない状況です。
手順について色々とご教示いただきたいです。
> 1.LenovoのサイトよりBIOSアップデートファイルをダウンロードする。
→ダウンロードしたファイルは「62cn97ww_64,exe」ですが、“%TEMP%\ExtractTemp”に表示されているファイルは「62CN97WW.cap」です。「62cn44w_64.exe」をダウンロードすると手順3でおっしゃっている「62CN44WW,WPH」ファイルがあります。
で、手順3でおっしゃっているWPHのファイルの方で対応しましたが。上記の内容通りの結果になっております。
> 4.前記「BIOS修正」する。
→「BIOS修正」の「案2 ホワイトリストチェックプログラム修正」に記載している手順4の
「NG判断後のジャンプ先をOK判断後のアドレスに変更」で「BE」→「2B」へ変更しているについて
「BE」は規則性で対象を確認できますが、自分もブログに記載している通り、「2B」で良いのかが
わからず、「OK判断後のアドレス」とは何なのか理解できずにいるのでご教示よろしくお願いいたします。
何卒、宜しくお願い致します。
>数秒読み込みのポップアップが表示されてその後再起動もせず、何も起きない状況です。
これは私も同じだったと思います。
OSは何でしょうか?
私の場合OSをWindows10にしていたため、それが原因と考え諦めました。
修正手順はお伝えしますが、Windows10の場合、NGの可能性は大きいです。
>“%TEMP%\ExtractTemp”に表示されているファイルは「62CN97WW.cap」です。
確かに 62CN97WW.cap が展開されていました。
私のページの誤りのようです。
おそらくWindows7ではないと思いますので、62cn97ww_64.exeについて手順をお伝えしますね。
流れは同じですが、UEFIToolで選択する DxeOemDriver.efi の場所と修正箇所が異なります。
■場所
UEFI capsule
UEFI image
7A93(略)Volume / FFSv2
6C60(略)File / Raw
7A93(略)Volume / FFSv2
4A53(略)FIle / Volume image
Compressed section
Volume image section
7A93(略)Volume / FFSv2
608F(略) DxeOemDriver.efi
■バイナリエディタで修正する DxeOemDriver.efi の BE の場所
000F80: 75 BE 48 8B 05 A7 0D 00 00 48 8B 50 40 48 8B CA
↓
000F80: 75 2B 48 8B 05 A7 0D 00 00 48 8B 50 40 48 8B CA
*.WPHのファイルを 62CN97WW.cap に置き換えて、他の手順は実施してください。
OSはWindows10 Homeです。
なので、とおる様の通りで諦めるか、Windows8.1にダウングレードしてBIOS修正するか
若干悩んでおります。(システム初期化して間もないので別にダウングレードしてもいいかなと思っての発言です。)
どのBodyを抽出するかなどとても詳細な情報を展開していただきありがとうございます。
わかりやすい手順をご教示して頂いた後に全く同じように実施しましたが、
やはり、BIOSアップデート時に何も起きない状況になりました。
なので、とおる様のおっしゃる通りでWindows10が原因かなと収拾がつきそうです。
何卒宜しくお願い致します。
やはり同じでしたか。
ダウングレードしてうまくいく行くかは私としては興味がありますが、リスクもあるので、悩んでみてください。
もし、実施された場合、成功/失敗にかかわらず結果コメントを入れていただければ、ホワイトリスト修正のページに記載したいと思っています。
とおる様
お世話になっております。ナカグチです。
HDD→SSDに換装次いでにWindows8.1をインストールして実施してみました。
以前の通り、「62cn97ww_64.exe」を起動してホワイトリスト修正を実施しましたが、
Phoenix SCT Flash起動して「現在のBIOSを読み込み」した後に、以下のメッセージが表示されました。
ERROR 182 – BIOS image is equal or older than ROM!
多分、以前から色々とBIOS弄っていたせいのエラー182だと思っております。。。
もしかしたらと思い、Wifiモジュールを付け替えましたが、やはり最初にコメントしました通り、PC起動時に104のエラーが出力されました。
そのエラーは無視して「BIOS修正」の手順を実施し、フラッシュしましたが、同じくで「ERROR 182 ~」が表示されました。
ここまで行くともう諦めるしかないかと思っております。
何卒、宜しくお願い致します。
正しく処理されメッセージが出たということは、やはり原因はOSでしたね。
適用しようとしているBIOSイメージは最新なので、既に最新になっていたのではないでしょうか。
BIOSを起動して表示されるバージョンが 62CN97WW となっていると思います。
対処としては BIOSイメージにあるバージョンか日付を弄るか、フラッシュツールを弄るかどちらかになると思いますが、残念ながら簡単ではなさそうです。
とりあえず、ナカグチさんの結果については事例として書かせていただきます。
もしどちらかの対処ができそうならこのサイトにアップしますが、期待はしないでください。