BAKの日記: 続・某ボード
HUB 機能付き PHY
TX/RX がひっくり返ってる・LED が左右逆,というのは,原因も対処も分かりきってるのでよしとする.
で,「通信できない」という大問題だが,とりあえず tcpdump をコンパイルして実行してみる.
「む.全然ダンプしない」
生きている方の NIC のほうをダンプするが,何もダンプしない.
nfsroot で起動してるのだから,トラフィックが何も無い訳はない.
「プログラムが腐ってるな」ということで,この手は放置プレイにする.
「それでは」
と,MII インターフェースのネットワークのトラフィックデータが流れる線をオシロのプローブで当たってみる.
野蛮人モード突入である.
「む,何も信号が出てない」
これでは通信できないのも当たり前.
そうこうするうちに,基板を設計・製造した会社からデータシートが届く. とある理由からドキドキしながら見てみる. で,やはり,設定レジスタは一切存在しない. あとは,ピン設定を見るぐらいなので,見てみる. すると…
「ぐは」
原因発見.
ピン設定が standalone HUB のモードになっている.
これでは CPU 側は何も相手してくれないはずだ.
件のピンをプルアップして,HUB + PHY のモードに設定する.
すると,今度はぜんぜんおっけー.
やったね.
もう一つの ether ポート
オートネゴシエーションができない,という話である.
google で検索かけてみると,ヒット.
ML のログなのだが,やはり同じ悩みを抱えていた人がいたようだ.
というわけで,教えて君モードになる. メイルの日付は 1 年ぐらい前なので,すでに解決してるか,解決してるならスペシャルなリセット手順とか教えてくれ,とメイルする. メイルアドレスが hotmail.com だったので,アドレスがまだ存在するかドキドキだったのだが,20 分ほどで返事が来た.
素早い. 返事の内容は「やはりダメである.ディジタルの電源端子に規格より高い電圧をかけるとうまくいくときもあるが,確実ではない. 結局別の PHY にとっかえた」ということであった. がっくし.
で,ボードメーカとのミーティング. 「電源オンで勝手にオートネゴシエーション」という設定ピンがあるのだが,このピンが怪しい. データシートでは「チップ内部でプルアップ」となってるが,ピンの電圧を当たってみると,プルアップされてる雰囲気ではない,とのこと. 他の設定ピンも同様である,とのこと. 「それでは,とりあえずそれらのピンを explicit に pull-up してもらってみる」ということで落ち着く.
む,そうすると hotmail.com の人の「過電圧をかけると動くこともある」という話と辻褄が合うな. 今気がついた. をを.
あと,「それでもだめだった」という,悪いシナリオに備えて代替チップの選定もしておく. 当該 CPU の評価ボードの PHY は discon しそうな雰囲気であるので,シリーズの別の CPU の評価ボード上の PHY も候補としておく.
USB デバイスポート動作せず.
件のボードには USB デバイスポートがある.
が,実は,CPU 側を USB ホストモードで動作させて, USB-USB リンクケーブルのチップをボード上に載せて,デバイス側のコネクタを外に出している,という,非常にぶらぼーなことをしている.
USB ポートはもう1つあり,こちらはホスト側ポートとしている. 製品ではこれは要らんので,未実装にする予定ではあるが. こちらは良好に動作している. USB-USB リンクケーブルをつなぐと,ちゃんとデバイスを認識して,ネットワークデバイスとして動作する.
こいつについては,ボードメーカの方もメーカとうまくコンタクト取れてないようで,データシートもいまいちよーわからん,という話である.
で,「実は内部にファームウェアを書き込まんと動かんのじゃないか」とかいう説も浮上. 取り敢えずは「USB-USB ケーブルのチップをボードに載せてみる」という,これまたぶらぼーな実験をしてもらうことに. 少なくともこれで動かん原因が「チップ自体」か,「外の回路」かぐらいは見当がつくだろう.
あと,これも最悪のシナリオに備えて,隠し機能の A コネクタを外に出して USB-USB で接続,というあたりも検討する. 実は,参考にしたケーブルは,納入先のライバル会社のものだったので,ちと困る. が,納入先会社も同様のケーブルを出しているので,帰りしなに買ってみて電車の中で VAIO につないでみると… やはり同じ石でした. らっきー. これで「最悪のシナリオ」は成立するな. あと,「このケーブルの回路も参考にする」というおまけもついている.
過電流と異常発熱
納品直後に電源を入れるとあっちっち,という話.
ボードメーカでも確実に現象が再現する,とのこと.
で,しばらく電源スイッチをガチャガチャやってると現象が起きなくなる,というのも一緒だそうである.
で,過電流の犯人は CPU であることが発覚. ボードメーカのほうも入出力の衝突などについては何度もチェックした,とのこと. こいつについては「CPU ベンダに話を持っていってみる」ということで落ち着く.
あと,「しばらくすると収まる,というのは一緒なのだが,再発する危険性はないか」という話も. 今のところ原因は不明なので,これが正しいかどうかも不明. 過電流→異常発熱→火事,という可能性も.
が,これについては「ヒューズを入れる」という,大変効果的な対策があるので,心配はないのである. というか,良く考えたら,今までどこにヒューズ入れるか考えてなかったな. 基板側か AC アダプタ側か. まずいな.
ここで上司が「故障で返ってくる台数が増えるのではないか」という心配をするが「故障で人は死なないが火事では人が死ぬ」と切り返す. まぁ,ポリヒューズと言う手もあるのだが. しかし,電流が流れ過ぎるということは,それ自体異常なのであるから,やはりここは陽に故障の状態になった方がいいのかな,という気分にもなってきた.
しかし,この問題,何が困るかというと「そのうちマトモに動いてしまうようになる」というところ. 調査する個体が無くなってしまうのである. 社内でやってた時も「しまった,とっとくんだった. 信じてくれなかったり,バックレられたらどうしよう」と思ったのであった. で,CPU ベンダーに説明する時も現象を生で見てもらったほうが説得力があるのだが. ううむ.
続・某ボード More ログイン