VirtualBox 4.1.2 + ubuntu11.04 で Nexus S が認識できないのはVirtualBox側のBugみたい

概要

Androidアプリを開発する環境作っている。
VitualBoxで動かしている仮想マシン(ubuntu)で実機のNexus Sでいろいろやってみたが、認識できないのはVitualBoxのせいなのでは?という結論を下したので、
今後の誰かが同様の轍を踏んでしまった時の参考までに、認識できない一例として情報発信しておくことに。

※ 未熟者ゆえに間違った解釈をしているかもしれません。間違いを発見した場合は、コメントなどでご指摘してもらえると助かります。

環境

Host OS Windows7 64bit
Guest OS ubuntu 11.04 i386
仮想ソフトウェア VitualBox 4.1.2

こんな感じ。
※ あくまでもVitual Box4.1.2では駄目だったけど、以後のバージョンだと改善されるかもしれないのであしからず。むしろ改善されることを期待してます。

現象

WindowsではOK!

Windowsでは、専用のドライバー
Google USB Driver (Revision 4)を入れて、しっかりと認識してる。

VB上のUbuntuでは認識してくれない.

VB上のUbuntuでは、lsusb をしても、それらしきデバイスは出てこない。
でdmesgを見てみた。

$ dmesg | less
...略...
[ 9456.324207] hub 1-0:1.0: unable to enumerate USB device on port 2
[ 9457.412238] hub 1-0:1.0: unable to enumerate USB device on port 2
[ 9458.500244] hub 1-0:1.0: unable to enumerate USB device on port 2
[ 9459.589202] hub 1-0:1.0: unable to enumerate USB device on port 2
[ 9460.677325] hub 1-0:1.0: unable to enumerate USB device on port 2
...こんなログがたくさん...

udevの設定よりもっと下のレイヤーの問題みたい。
困ったのでいろいろと調べてみた.

参考にした情報.

27. Jun 2011, 22:19の記事.公式のエンドユーザ向けのトラブルFAQサイトより。
Galaxy tabletでも同様な現象が起こっているみたい。監視員がバグとして報告したとのログが残っていた。

Re: Google Nexus S USB redirection to guest fails
by Technologov » 28. Jun 2011, 09:15

Report bugs in VBox bugzilla.

21st December 2010, 09:17 PMのFAQサイトより。同様な問題に対して、結局vitualboxから、Vmwareなら認識できたから、乗り換えればいいじゃんみたいな結論を出していた。

2011/08/06のGoogle+での日本人の方の声。やっぱり、VirtualBoxでは対応してないみたい。

ということで、VMwareに乗り換えた


普通に認識できた。ちなみに使用したVMwareのバージョンは最新の4.xxではなくて、3.1.4 build-385536。
ちなみにudevのルールは以下のように設定。

$ cat /etc/udev/rules.d/51-android.rules 
~以下出力~
# Google
SUBSYSTEM=="usb", ATTR(idVendor)=="18d1", MODE="0666"


最近は、ポートフォーワーディングの設定が初期状態で簡単にできるし、デザインがシンプルという理由でVirtualBoxの方を好んで使っていたのでとても残念。