Skip to content

Instantly share code, notes, and snippets.

@dweinstein
Last active March 24, 2016 18:37
Show Gist options
  • Save dweinstein/8648ac0ba45b7e827c35 to your computer and use it in GitHub Desktop.
Save dweinstein/8648ac0ba45b7e827c35 to your computer and use it in GitHub Desktop.
EHCI Extension Pack, USB, VirtualBox

so I learned two things with usb on virtualbox (OS X):

    1. it sucks, 2) it sucks less if you enable the extension pack for ehci:
  • w/ out ehci I could not install a 28 MB APK from within boot2docker. maybe if I was willing to wait long enough but AFAICT it would not complete.

± % docker run --privileged -v=/dev/bus/usb:/dev/bus/usb --rm -t -i -v pwd:/provision analysis /bin/bash

  • w/out EHCI
root@ff7ef3c21f64:/provision/device_provision# dd if=/dev/urandom of=rand bs=1M count=1
± %
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.0547376 s, 19.2 MB/s
root@ff7ef3c21f64:/provision/device_provision# adb push rand /sdcard/
76 KB/s (1048576 bytes in 13.453s)
  • w/ ehci USB 2.0 extension pack:
root@4b8897324ec4:/provision/device_provision# adb push rand /sdcard/
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
514 KB/s (1048576 bytes in 1.990s)
  • w/ ehci enabled the gms apk will now install:
root@4b8897324ec4:/provision/device_provision# adb install -r com.google.android.gms-6.7.74_1723905-036-6774036-minAPI9.apk
534 KB/s (29280700 bytes in 53.525s)
    pkg: /data/local/tmp/com.google.android.gms-6.7.74_1723905-036-6774036-minAPI9.apk
Success
@giantpune
Copy link

w/ out ehci I could not install a 28 MB APK from within boot2docker. maybe if I was willing to wait long enough but AFAICT it would not complete.

In my experience with Linux host and VMware, you must have usb2 support or else "adb push" just hangs. The "adb install" uses "adb push" internally. So neither command works without usb2 enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment