Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to enable VPN support in Android Emulator

I like to use a PPTP VPN in the Android emulator. My VPN provider is Witopia. The settings work on a real phone (HTC Desire).

It does not work, the connection just times out after a while.

adb logcat prints:

D/VpnManager( 1527): succeeded to connect to VPN service
D/com.android.settings.vpn.AuthenticationActor( 1527): ~~~~~~ connect() succeeded!
I/SProxy_mtpd( 2211): Stop VPN daemon: mtpd
D/VpnSettings( 1527): received connectivity: Witopia: connected? CONNECTING   err=0
D/SProxy_mtpd( 2211): mtpd is stopped after 0 msec
D/SProxy_mtpd( 2211): stopping mtpd, success? true
I/SProxy_racoon( 2211): Stop VPN daemon: racoon
D/SProxy_racoon( 2211): racoon is stopped after 0 msec
D/SProxy_racoon( 2211): stopping racoon, success? true
D/VpnService( 2211):   Local IP: 10.0.2.15, if: eth0
D/VpnService( 2211):        VPN UP: down
I/SProxy_mtpd( 2211): Start VPN daemon: mtpd
D/SProxy_mtpd( 2211): mtpd is running after 0 msec
D/SProxy_mtpd( 2211): service not yet listen()ing; try again
D/mtpd    ( 2224): Waiting for control socket
D/mtpd    ( 2224): Received 19 arguments
I/mtpd    ( 2224): Using protocol pptp
I/mtpd    ( 2224): Connecting to 203.131.247.213 port 1723
I/SProxy_mtpd( 2211): got data from control socket: 19
I/mtpd    ( 2224): Connection established (socket = 10)
D/mtpd    ( 2224): Sending SCCRQ
D/mtpd    ( 2224): Received SCCRP -> Sending OCRQ (local = 32087)
I/mtpd    ( 2224): Tunnel established
D/mtpd    ( 2224): Received OCRQ (remote = 52286)
I/mtpd    ( 2224): Session established
I/mtpd    ( 2224): Creating PPPoX socket
F/mtpd    ( 2224): Socket() Address family not supported by protocol

Followed by the user message: Unable to connect to the network. Do you want to try again?

Meanwhile in adb logcat

E/VpnService( 2211): onError()
E/VpnService( 2211): java.io.IOException: Connecting timed out
E/VpnService( 2211):    at com.android.server.vpn.VpnService.waitUntilConnectedOrTimedout(VpnService.java:206)
E/VpnService( 2211):    at com.android.server.vpn.VpnService.onConnect(VpnService.java:136)
E/VpnService( 2211):    at com.android.server.vpn.VpnServiceBinder$2.run(VpnServiceBinder.java:114)
E/VpnService( 2211):    at java.lang.Thread.run(Thread.java:1096)
I/VpnService( 2211): disconnecting VPN...
D/VpnSettings( 1527): received connectivity: Witopia: connected? DISCONNECTING   err=0
I/SProxy_mtpd( 2211): Stop VPN daemon: mtpd
D/SProxy_mtpd( 2211): mtpd is stopped after 0 msec
D/SProxy_mtpd( 2211): stopping mtpd, success? true
I/SProxy_racoon( 2211): Stop VPN daemon: racoon
D/SProxy_racoon( 2211): racoon is stopped after 0 msec
D/SProxy_racoon( 2211): stopping racoon, success? true
D/VpnService( 2211): onFinalCleanUp()
I/VpnService( 2211): restore original suffices --> null
D/VpnSettings( 1527): received connectivity: Witopia: connected? IDLE   err=101

I guess this is either a permission problem or the Android emulator does not support it.

My platform is MacOSX, Emulator is running Android 2.2.

This question is related to:

  • https://stackoverflow.com/questions/3223344/does-vpn-in-the-android-emulator-2-2-work
  • https://stackoverflow.com/questions/3442865/setting-up-a-vpn-in-the-emulator
  • will android emulator access a network using a vpn on the host machine
like image 379
Sebastian Roth Avatar asked Jan 04 '11 03:01

Sebastian Roth


People also ask

How do I enable VPN on BlueStacks?

Open BlueStacks on your Mac device. Go to the Play Store and download the ExpressVPN app. Press “Sign in” and enter your email address and password since you've signed up using our discount. Press “Ok” to allow setting up the VPN connection.

How do I enable Internet on Android emulator?

Go to your Android\Sdk\emulator folder and open command prompt. Type emulator -list-avds to see available emulator names. Type emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8. 8.8 command and press enter.

Does Android emulator have different IP?

Network address space Note that the same address assignments are used by all running emulator instances. That means that if you have two instances running concurrently on your machine, each will have its own router and, behind that, each will have an IP address of 10.0. 2.15.


1 Answers

yes it is like kernal issue:

  1. No tun.ko module (see http://forum.xda-developers.com/showthread.php?t=630703&page=2)
  2. No support lkm (loadable kernel module) (http://code.google.com/p/get-a-robot-vpnc/issues/detail?id=100)

So I think you need custom kernel http://code.google.com/p/batterymine/wiki/BuildingInModuleSupport

Also you will need copy to emulator other modules: slhc.ko, ppp*.ko

like image 57
sibnick Avatar answered Oct 06 '22 16:10

sibnick