Ubuntu13.10でFirefox OS端末をadbに認識させる方法

ZTEのFirefox OS端末を入手した。早速Ubuntu13.10上でOSをビルドをして最新のFirefox OSを試そうと思ったのだが、adbがデバイスを認識してくれない。

$ adb devices
List of devices attached 
????????????	no permissions

上記のように正しく認識されていない場合、ビルドが実行できない。adb用のudev設定を正しく実施する必要がある。

端末のベンダIDを調べる

Firefox OSの端末のベンダIDが必要になる為、lsusbコマンドを使ってそれを調べる。以下の例の場合、19d2がベンダIDとなる。

mikamikuh@mikaubuntu:~/project/firefox/B2G$ lsusb
...
Bus 003 Device 073: ID 19d2:1350 ZTE WCDMA Technologies MSM
...

udev rulesの作成

次に、以下のパスにrulesファイルを作成する。

  • /etc/udev/rules.d/51-android.rules

内容は以下のようにする。"19d2"の部分は使用する端末のベンダIDに置き換える。

SUBSYSTEM=="usb", ATTR{idVendor}=="19d2" MODE="0666" GROUP="plugdev"

udev rulesとは(補足)

udevはLinuxカーネル2.6.13以降に搭載されている/dev以下のデバイスを管理する為のツールである。
新しくデバイスが認識されると、/etc/udev/rules.d/に書かれているルールを辞書順に解析し、最初に見つかったルールを適用する。
51-android.rulesと50-hogehoge.rulesの2つのファイルがあった場合、50-hogehoge.rulesが先に評価される。

- (参考) http://www.gentoo.gr.jp/transdocs/udevrules/udevrules.html

動作確認

これで端末が認識されるようになった。

mikamikuh@mikaubuntu:~/project/firefox/B2G$ sudo service udev restart
mikamikuh@mikaubuntu:~/project/firefox/B2G$ adb devices
List of devices attached 
roamer2	device