2015年3月13日金曜日

Buffalo WHR2-A54G54 のシリアルコンソールは使えない

OpenWrt をインストールした後、初期化を行ったことで動作不良となってしまった WHR2-A54G54 を復旧すべく、シリアルコンソールによるアクセスを試みましたが、どうやら無駄な時間を費やしただけのようでした。

今回同時に分解をしている WHR3-AG54 と 本機(WHR2-A54G54)のシリアルコンソール付近のパターン配線を確認してみました。すると IC8 の裏側に配置されている抵抗器の4個のうち、3個が欠品(R164, R166, R168)で1個だけ(R167)が装着されていることを発見しました。これが原因で接続できていないのではないかと判断しました。

WHR3-AG54 のシリアルコンソール付近(抵抗器が4個)
WHR2-A54G54 のシリアルコンソール付近(抵抗器が1個だけ)

そこでとても小さなチップ抵抗ですが、ジャンク基盤からそれらしいもの(抵抗値不明)を取り出して、ハンダ付けを行なってみました。

ハンダ付けの後、シリアルコンソールの Tx と Rx の端子の部分と電源の GND または Vcc との間の抵抗値を電気テスタで計測してみました。人間の皮膚の表面でさえ大きく針が振れる 10K オームのレンジにも係わらず、一切針が動かないのです。何らかの接続があれば、反応を示すものですが、全然針が振れないのです。どうも IC8 とシリアルコンソール用のピンの周りのパターンと制御チップ(BCM4704)の間の接続が全く(一切)途絶えているようです。

制御チップの近くのパターンからリード線を引き出して、シリアルコンソールへ接続する方法も考えられますが、他の方法を今回は採用してみたいと思います。それは JTAG によるアクセスです。DD-WRT や OpenWrt でも JTAG による復旧作業の解説などが行われているので、一度は行なってみたいと思っていました。

私の少ない経験では、NVRAM の部分を初期化さえすれば復活しそうなので、JTAG 経由でフラッシュメモリへアクセスして、問題の NVRAM の部分を消去してしまえば、なんとかなりそうだと考えたからです。

そこで JTAG に必要なケーブルを調達することとしました。どうも市販のものは USB 接続でプリンタ・ポートをシミュレートしたもののようで、結構なお値段がします。しかし古いパソコンに装備されたプリンタ・ポート(D-SUB 25 pin)を利用したケーブルは、自作もできるようです。そこで自作を試みることとしました。

D-SUB 25 pin のケーブルは、もうすっかり使わなくなったプリンタ用のケーブルを中間付近で真っ二つに切って使用することとしました。そしてルータ側のプリント印刷基盤で接続するコネクタも、以前自作パソコン用に購入したマザーボードに付属してきたリボンケーブルのもの(2 x 8 = 16 pin)を流用することとしました。

もう使わなくなった D-SUB 25 ピンのプリンタ・ケーブルを流用しました。
どうも VGA 出力引き出し用のケーブルのようです、

自作用の JTAG ケーブルの接続図は、インターネット上にいろいろ紹介されていますが、私が以下のものも参照して作りました。100 オームの抵抗器4本を新しく調達することとなりました。
File:Router JTAG Schematic.gif
http://www.tiaowiki.com/w/File:Router_JTAG_Schematic.gif

製作途中の様子ですが、写真のものは失敗して、新しく作りなおしています。
プリンタ・ケーブルが意外と堅く、写真のように短いケーブルだといろいろと無理が掛かるためです。

ケーブルは製作することができましたが、動作させるソフトウェアに何を選択すればよいのか全く不明です。JTAG による操作の経験がゼロのため全くの手探りとなります。

最終的に出来上がった JTAG 用のケーブルです。
かなり荒っぽい作りとなっています。

参考 URL

Debrick Routers Using JTAG Cable
http://www.tiaowiki.com/w/Debrick_Routers_Using_JTAG_Cable

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。