おは代々木ダイアリー

いろいろ試したメモを書きます

NCP-CC100いじり ②USBで繋ごう

はじめに

前回はNCP-CC100をハードウェアの観点から調査し、AmbarellaのSoCを積んだカメラということがわかりました。

ohayoyogi.hatenablog.com

今回は、どうにかしてNCP-CC100とパソコンをつなぎ、何か試せることはないか考えてみようという記事です。

ここからの内容は実施を推奨するものではありません。当然ながら実施される際に何らかの問題が起こったとしても当方では責任を負いかねますので、自己責任でお願いいたします

UART?で繋いでみる

前回記事では「RX1」「TX1」と記載されたパッドがあるということを書きました。今回は実際にそれを使ってみようということで調査しました。

まずは、DCコネクタのGNDからGNDをとって、RX1とTX1にテスタをあててみると「3.3V」を示しました。UARTではRX, TXは何も接続していない状態でHighになるのが正しい状態らしいので、「これは3.3Vで駆動しているUARTだろう」とあたりを付けました。

ちょうど、手元にはESP32_Core_board_V2があったので、それをシリアル通信用に使うことにしました。

ohayoyogi.hatenablog.com

が、結果としては何も出力されず、起動ログ等読み取ることはできませんでした。

何をハックするにもまずはシリアルコンソールみたいなところがあるので、出鼻をくじかれた感がありますが、他の方法を考えてみます。

USBで繋いでみる

前回記事では以下の内容について触れました。

  • microUSBの空きパターンがあること
  • 謎のスイッチSW1があること

据え膳食わぬは男の恥、空きパターンがあればはんだ付けしたくなるというのがオタクの性。ということで、実際にはんだ付けしてみました。今回使用したのは以下のパーツ

スイッチ↓

microUSBコネクタ↓。ただ、こちらは適合しておらず、後ろの固定用の部分を切り取ってはんだ付けする必要がありました。固定が甘くなるのであんまりケーブルを抜き差しするとポロリといくので他のパーツを探すべきでしょう。

というわけで付けてみたらこんな感じ↓。サイコーにはんだが汚いけど・・・

NCP-CC100にスイッチとmicroUSBコネクタを付けてみる

はんだ付けが完了したので、さっそくパソコンとつないでみたのですが、うんともすんとも言わず。SoftBank AirのようにD+/D-がTX/RXになっているというようなこともなさそうでした。そこでいろいろと試してみると、、、

  • SW1を向かって右側と真ん中を短絡した状態でUSBで繋いでみると、VEN_4255&PID_000Aとして認識される

ということがわかりました。この状態の時にはLEDが光らなくなりますので、それが目安になるかなと思います。

パソコンからUSB経由で認識されるようになったので、今度はこのベンダID・プロダクトIDから必要となるドライバを特定するというのが目下の課題です。

ドライバの入手

Ambarella社のSoCを詰んだカメラを検索してみると、海外のフォーラム ipcamtalk や、4PDA では「AmbaUSB」「DirectUSB」というソフトウェアがROM焼きに使用されていることがわかりました。

AmbaUSBもDirectUSBもAmbarellaのボードと通信をするソフトですが、DirectUSBの方が多くのことを試せそうです。

今回はファームを読み取りたかったのでDirectUSBを探したところ、ロシアのTrendVisionという会社が出しているようなので、今回はそれをインストール。

trend-vision.ru

そしてなんと、DirectUSBのドライバは古く、デジタル署名がされていないということなので(マジか)、Windows10をテストモードにしてドライバの署名を無効化してインストールしました。これはちょっと危ないので、開発用の捨てマシンもしくはVMなどでやるのがベターかもしれませんね。今回は例によってThinkPad X220にWindows10を導入しました。

trend-vision.ru

DirectUSBでいじる

(執筆中・・・できなくなりました)

何の成果も!!得られませんでした!!

終わりに

うーむ、現在のファームウェアの内容がわかれば、なんとかいじることもできたのかなと思いますが、そんな簡単な話じゃありませんでしたね。

しかし、UARTで繋げないのは解せない!解せぬぞ~~

悲報

残念なことに、私のアホなミスでNCP-CC100を文鎮化させてしまいました。

スイッチを入れてもLEDが青色に点灯するだけで緑色にならず、DirectUSBでも接続できないようになってしまいました。

ブログ記事も書き途中で本当はDirectUSBでの作業手順なども書きたかったのですが、認識されなくなってしまったのでもう書けなくなりました・・・

ガーーーーン

簡単に経緯を書くと、記事冒頭でUART通信できませんでした、と書きましたが、どうしても納得できず、色々と試行錯誤(テスタで電圧を測りまくる)していたことが発端です。 試行錯誤しているうちに、TX1,RX1の近くにある TP17 というパッドが1.5Vという数値を表していて、どうもTX1の電圧も 1.5V と 3.3V を行ったり来たりしているような(要検証)気がしたので、「あーーこれはGNDが宙ぶらりんになってて通信できていないのかな?」と安直にTP17をGNDに繋いでしまいました。結果TP17が短絡された形になるので、おそらくICに過電流がながれ、故障してしまったという流れなのかなと考えています。

コンソールに入れたところで何ができるかはまだわかりませんが、まだ全然調べられていない状態でボードを壊してしまったこと非常に後悔しております・・・ みなさんも試行錯誤される際はどうかお気をつけください。