2012年3月31日土曜日

LANケーブルテスタを分解してみた

大阪のジャンク?で発掘したLANケーブルテスタを分解してみた。
まぁ、中身はだいたいの見当が付いているのですが・・・



MC4017+トランジスタで組んだ発信回路でした。(順次1本1本当たっているだけですね。)
部品代で500\って所ですかね。
これ、正しい結線かどうか分からないな。単に1本1本の導通を調べているだけなので、
誤った結線でも導通さえすればOKになるので。
100\の10BASEハブ買ってきて、実際に繋いだ方がマシかもw

しかし、半田も基板も酷いなぁ。LED一部刺さっていなかったり、足そろっていないし。芋も

2012年3月28日水曜日

ASUS W7SのGPU不良を修理してみた

大阪の某ジャンクPCショップにて、液晶不良のジャンクノートを7,000\円でゲットしてきました。

*2,000円引きのセール中でした。

スペックは中々のもの。ちょうどWindowsPhoneアプリ開発用マシンを探しているところだったので、
即購入。(まぁ、2007年製でnvidiaのチップ、液晶不良という段階で当然当たりは付けてました。)


で症状は以下の通り。

液晶は真っ白。外部ディスプレイは表示がぐちゃぐちゃ。
これは知っている人には有名なnvidiaの熱設計バグによる半田クラックの典型的症状です。
(一般的にファミコンバグのような表示になる症状は、グラフィックチップの半田クラックの症状でほぼ間違いないです。)
と言うわけで、早速分解。分解の仕方は割愛w



CPU、グラフィックチップは裏面にある。チップ部を拡大

見えるか分からないが、G86とある。こいつはググれば大量にリコールやら修理した等のページが見つかる。どうやら、熱設計に問題があって回収になったロットのようだ。当然こいつに保証なんて無いので、自力修理となる。
まず、GPUを覆っている黒いシールを慎重に剥がす。(写真は剥がした後)

次にフラックスをGPUとマザーボードの隙間に注射器やスポイト等で注入する。
本当は半田の種類や特性によってフラックスは異なるらしいが、広島で入手できたのは、
東急ハンズにこれしかなかった。


今回の主役。温度調整機能付きヒートガン。これがあると修理の幅がぐっと広がる優れもの。Amazonで購入。そんなに高いものではないが、電気食うので、使用の際はコンセントから直に取るなど注意。

GPU以外がヒートガンの熱で溶けたりしないよう、しっかりマスキングをする。100均のマスキング用紙テープでOKだが、3~5枚重ねた方がよい。

今回は、GPUの四隅に接着剤?が付いていたので、上から押さえることはしなかったが、
付いていない場合、チップの上に割り箸を置き、マザボの裏側には手ぬぐいを折りたたんだものをおいて、上下を万力で少し圧を掛けた方がよい。

チップから1~2Cm離した距離で、最初200度でチップの周りを満遍なく回すように1分加熱。その後350度で4分間加熱します。紙が少し焦げる感じです。その後70度で1分間ゆっくり冷ました後、自然冷却で冷えるまで待ちます。加熱中及び冷却中は絶対に基板に触れないこと!加熱により他の部品の半田が溶けている可能性があり、当たって位置がずれたり外れるとかな~り厄介です。


*注意*
本当はBGAのリフローは、半田の温度プロファイルに従う必要があります。(チップによっては220度を超えると壊れるものがあるらしい。)又、正しくは一端チップを完全に剥がした後、BGAの半田を綺麗にやりかえる高度な処置が必要であり、一般人が手が出せるものではありません(ヒートガンでの修理が一般人レベルかは置いておいて(笑))。今回は半田クラックにより接触不良になったBGAの半田をフラックスで再活性させ、再度接着させるという方法を取っています。

十分にさめたら、マスキングテープを剥がし、GPUに張ってあった絶縁用?の黒いテープを元のように貼り、元通りに組み立てます。

そして、いざ通電!


念のため、外部ディスプレイに接続して、手元にあったWin8のHDDを接続して起動。

問題なく修理完了。この後、GPUのベンチ動かして一晩放置して、問題が発生しないかチェック。
当然再発防止の為、ヒートシンクやファンの掃除、放熱グリスの塗布などと全体の掃除を行いました。

今回は無事修理完了しましたが、液晶が真っ白になる他の原因としては、ヒンジのところで液晶の信号線が断線するという症状が多いです。
液晶の画面に縦線が入る故障も多いですね。これは、液晶のガラス基板とコントロール基板を結ぶフィルムケーブルの接着が剥離する事が原因です。古くはゲームボーイとかの時代から良く見る故障で、修理方法も簡易的なものから、ちゃんとしたものまでやり方はあるのですが、又機会があれば書くかも。

2012年3月13日火曜日

Windows8 Consumer PreviewでWindowsPhoneSDKを動かしてみた。

*初めに注意*
・WIndows8 Consumer Previewは開発途上のものであり、今後仕様変更により動作しなくなる可能性があります。
・私の環境(ThinkPad X60)では、WindowsPhoneエミュレータが起動しませんでしたが、実機でのデバックは出来ました。
・動作環境は32bitです。64bitだと落ちました。


Windows8も、デベロッパプレビューからコンシューマプレビューとなり、いよいよWindowsもタブレットベースになりつつあります。
そんな中、WindowsPhoneSDKが動作するか検証してみました。

まずは、普通にここからSDKをダウンロードし、インストールしてみた。しかし、以下のようにエラーが出てインストールに失敗する。(まぁ無事動作するならブログのネタにしないので。)

ならばと、VisualStudio11をインストールするも、そもそもWindowsPhoneの開発環境が入っていない。
仕方がないので、いろいろ調べてみると、どうもWindows8では動かないようなブログを見つける。
いつもなら、動かないのかぁと諦めるのだが、今回はWindows Phone ハンズオン in 広島の参加を明日に控えていたので、何としてでも環境を構築せねばならぬ。
コンシューマプレビューが悪いかもしれないので、デベロッパプレビューを再インストールし、テストしたが、SDKのインストール自体は終了するものの、コンパイルが出来ません。
改めて、コンシューマプレビューを再インストール。前回出たエラーはXNAまわりだったので、エラーメッセージでググってみたら、解決法らしきブログを発見。要約すると以下の通り。(統合されたXbox Live周りが悪さをしているのかなぁ。)

1:先にここから最新のGames for Windows Marketplace Clientをダウンロードし、インストールする。
2:ここからSDKをダウンロードし、インストール。エラーは出ず、インストールができる。(推測するに、既に最新のXNA Game Studioがインストールされているので、スキップされるのではないかと。)
3:Visual Studio 2010 Express for Windows Phoneを起動。プロジェクトを新規作成し、空のままデバックボタンを押す。以下のようなプログラム互換性アシスタントが起動する。

WindowsPhoneエミュレータは現時点ではWindows8で動かないことが分かっているので、互換モードで動くか試してみた。(結論から言うと、私の環境では動かなかった。ハンズオンで伺ったところ、どうもWindows8の問題ではなく、単にグラフィック能力が低いので起動できないのでは?との事)
4:「ヘルプ情報を使用せずにプログラムを実行する。」を押す。
5:WindowsPhoneエミュレータが起動する(ただしエラーメッセージを出しているが)ので、タスクバー上のアイコンを右クリックー>ジャンプリスト内にある「Windows® Phone Emulator」をさらに右クリックー>プロパティを実行する。

6:互換性のタブで、Windows7互換にする。
っと試してみたのですが、以下のようなエラーが出て、結局起動できませんでした。
その後、ハンズオンで伺ったところ、グラフィック能力が低いと、このようなエラーになるそうです。
あいにく、グラフィック性能の高いマシンを保有していないので、試せていません。
*その後、グラボを積んだマシンで動かしたところ、無事動作いたしましたので、エミュレータを動かすには、ある程度グラフィック能力がある程度必要なようです。(DirectX10対応は必須?i945チップセットグラフィックでは動作不可でした。DirectX9までしか対応していないようです。)


では、実機でのデバックはどうなのかということで、ハンズオンで実機をお借りできたので、テストしてみました。

実機でのデバックを行うには、まずZuneというものが必要になるので、ダウンロードし、インストールします。(要.NET Framework3.5ですが、ない場合はインストール時にダウンロード&インストールされます。)
Zuneを起動するときには、先にWindowsPhoneをUSBに指して認識させておきます。
Zuneを起動したままで、VisualStudioのデバックを実機に切り替えます。(画像参照)

左にあるデバック開始ボタンを押すと、アプリが転送されます。この時、WindowsPhoneがロック状態だと失敗します。デバック開始する前に、ロックされていないことを確認しましょう。