2012-02-13 9 views
6

¿Es posible tener las conexiones 3G y Wifi en funcionamiento? Quiero transmitir al mismo tiempo a través de ambas interfaces.Habilite simultáneamente la interfaz wifi y 3G en Android

Sin embargo, he notado que cuando Wi-Fi está funcionando, 3G está bajando. En realidad, parece que la tabla de enrutamiento se actualiza con el encendido/apagado de las interfaces.

UMTS 1) Tabla de ruta en/Wifi en

a.b.c.1 dev rmnet0 
a.b.c.0/24 dev rmnet0 src a.b.c.2 
default via a.b.c.1 dev rmnet0 

2) Ruta tabla Wifi en/UMTS en

192.168.1.0/24 dev eth0 src 192.168.1.147 
default via 192.168.1.1 dev eth0 

3) Con wifi en He RUN:

# ip link set rmnet0 up 
# ip route 
192.168.1.0/24 dev eth0 src 192.168.1.147 
a.b.c.0/24 dev rmnet0 src a.b.c.2 
default via 192.168.1.1 dev eth0 

Cuando vi que pensé que había logrado poner ambos dispositivos en funcionamiento. Sin embargo, éste no es el caso. Cuando hago ping a una dirección pública de Internet (a.b.c.3), en el caso 1) y 2) todo va bien. En el caso 3) no recibo respuesta.

¿Dónde demonios establece Android que solo un dispositivo puede estar disponible a la vez? ¿Cómo puedo hacer que ambas interfaces estén disponibles y disponibles, como en un linux box normal?

P.S .: He intentado la solución en [1] para habilitar la conexión de datos cuando wifi está encendido, y de ninguna manera.

[1] How to enable data connection on Android 2.3

[2] How to block calls in android -> usando ITelephony para obtener el telephonyService.enableDataConnectivity(); pero obtengo una excepción

+3

Probablemente no sea lo que quieres escuchar, pero creo que esto va a ser bastante complicado. Cada implementación que he visto usa casi _la_ conexión activa para enviar datos (_la_ como en una sola, según lo que tenga mayor prioridad). ¿Existe una razón de gran importancia por la que desearía transmitir a través de ambos al mismo tiempo? ¿Podría elegir transmitir a través de uno primero y luego del otro? – blindstuff

+0

Soy investigador y para el sistema de comunicación que estoy desarrollando necesito tener ambas interfaces activas simultáneamente. He estado leyendo una y parece que Google ha eliminado la opción de trabajar con la interfaz ITelephony [1] (http://code.google.com/p/android/issues/detail?id=15031) que parece ser la manera. Sin embargo, me gustaría saber si es posible hacerlo desarrollándolo en C nativo y ejecutarlo en la consola. Cualquier ayuda es más que bienvenida. – jlanza

+0

Otro punto. Las versiones actuales de Android son compatibles con Tethering. Al final, en ese caso, ambas interfaces están en funcionamiento.Entonces, este podría ser un punto de partida para personalizar Android para permitir que ambas señales se conecten a internet. – jlanza

Respuesta

0

Esto no va a ser posible ... a menos que lo haga todo lo posible para que funcione. Básicamente, estás pidiendo que tu dispositivo se convierta en enrutador.

Para hacer esto, necesitará encontrar un programa (lo siento, no recuerdo ningún nombre por el momento) que logre esto en una distribución de Linux normal. A continuación, vuelva a compilarlo para adaptarlo al sistema operativo Android e instalarlo en el sistema nativo.

Esta explicación puede tener un poco más de sentido para usted. Si va a su shell de ADB y ejecuta netcfg (o ifconfig para verificar esto), verá las opciones de red de los dispositivos. Puede ejecutar un comando ifconfig para configurar el dispositivo o cambiar su estado, pero no puede permitir que varios dispositivos encaminen datos hacia y desde el teléfono al mismo tiempo, no creo.

Esta sería mi mejor conjetura ...

Cuestiones relacionadas