Nexus4やNexus5ではイヤホンジャックからUARTが出てるということだったので、他のAndroidデバイスでも試してみた。
準備
参考にしたサイトによるとイヤホンジャックに挿したケーブルがUARTだと認識されるためには、MIC入力に3.3Vが必要らしい。
また、UARTの信号レベルは1.8Vでないといけないらしい。
というわけで、3.3Vの電源と信号レベル1.8VなUSB-シリアル変換ケーブル、イヤホンジャックに接続する3.5mm 4極ステレオミニプラグを用意することにした。
実際に使用したパーツ
実際に使用したパーツは以下のとおり。
1.8Vな信号レベルが出ているUSB-シリアル変換ケーブルは探した限り1つしかなかった。
残念なことにこのケーブルの電源電圧も1.8Vだったので、それを3.3Vにするためレギュレータも必要になった。
つなぎ方
- 1の橙(TXD)と2の白
- 1の黄(RXD)と2の赤
- 1の黒(GND)と2の黄
- 1の黒(GND)と3のGND
- 1の赤(VCC)と3のVIN
- 2の裸の線(MIC)と3のVOUT
結果
電源を入れるとログが取れた機種は以下
L-01F
電源ONから電源OFFまでの全ログ
Nexus4やNexus5ではbootloaderのログも取得できているみたいなのに、L-01FではLinuxカーネルが起動してからのログしか取れなかった。
ただ、カーネルのcmdlineに
uart_console=detected
と出ているので、bootloaderもUARTケーブルが挿さっていることは認識しているよう。
LGL22
電源ONから電源OFFまでの全ログ
L-01Fと同じくLinuxカーネルが起動してからのログしか取れていない。
SC04D
電源ONからLinuxカーネルが起動するまでのログ
L-01FやLGL22と違い、Linuxカーネルが起動する前のPBLのログから取れた。
SC04DはUSBからもイヤホンジャックからもUARTが出てるちょっと変わった機種だということが分かった。