2 votos

Dispositivos de Samsung: redes dual

Tengo la siguiente configuración: una red Wi-Fi del dispositivo que NO está conectado a internet, como un avión no tripulado o IoT dispositivo. Los datos del dispositivo deberá ser subido a la internet.

Mientras que es posible conectarse a redes dentro de una aplicación a través de la ConnectivityManager, no es posible utilizar el internet móvil fuera de la app. Los dispositivos que tienen Android 6.0 o superior, por lo que debe ser compatible con el sistema Android. Pero a mí me parece, que Samsung no ha implementado ese apoyo.

¿Cómo puedo usar el internet móvil, por ejemplo, a recibir correos electrónicos o notificaciones push mientras estoy conectado a una red Wi-Fi que no tiene internet en sí misma.

Gracias.

3voto

xavier_fakerat Puntos 1

Preguntas similares han sido frecuentes aquí:

Sin embargo, debido a la abundancia de descripción de voy a tratar de agregar estos hechos y expandir un poco ya que las respuestas no se han marcado como aceptado.

Respuesta corta es posible tener dos redes pero soluciones difieren ligeramente.


  1. A partir de esta fuente : cambie fácilmente entre wi-fi y Celular con Multipath TCP Usted puede hacer uso de Multi-TCP.

Multipath TCP (MPTCP) es Multipath-TCP es una extensión de TCP que permite que el paralelo de uso de varias conexiones a Internet. Multipath-TCP, ya se está aplicando para el Kernel de Linux, pero aún no se han integrado en el oficial kernel.

El código fuente (y algunos kernels precompilados, incluyendo Android construye) se puede encontrar aquí: http://multipath-tcp.org

Fuente Extra con referencia al dispositivo de Samsung: MPTCP en los Dispositivos Android , y MultiPath TCP - Kernel de Linux la aplicación.


  1. En otra fuente, activar la conexión inalámbrica y 4g al mismo tiempo, los Usuarios afirman que fueron capaces de habilitar el doble de redes con la siguiente solución (citado):

    1. Desactivar wifi en la forma habitual (a partir de la interfaz de usuario del teléfono), si no está ya apagado.

    Todos los siguientes pasos que se hacen en una shell de root:

    1. cargar los controladores

      busybox insmod /system/lib/modules/cfg80211.ko busybox insmod /system/lib/modules/wlan.ko

    2. inicio wpa_supplicant para conectarse a la primera red inalámbrica disponible. El wpa_supplicant.conf el archivo de la lista de abajo es la que mantiene automáticamente por el teléfono como unirse a nuevas redes. Si desea más control (por ejemplo, conectarse a una red), copia de la wpa_supplicant.conf archivo en algún lugar, modificarlo según sea necesario, y se especifique en la línea de comandos.

    wpa_supplicant -B -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf

    1. dhcpcd

    busybox pkill dhcpcd rm /data/misc/dhcp/* dhcpcd wlan0

    1. compruebe la ruta

    busybox route

    Para mí esto está mostrando el original de forma predeterminada la primera en la lista (que pasa a través de la rmnet_usb0), seguido por el nuevo uno configurado para la red lan inalámbrica wlan0. Traceroute muestra el tráfico que sale de la primera.

    Ahora, en este punto, si intenta activar wifi normalmente desde el teléfono no funcionará. Para que funcione:

    ifconfig wlan0 down ifconfig wlan0 unplumb rmmod wlan rmmod cfg80211

    Y puede activar inalámbrica de nuevo

Por otro lado, con secuencia de comandos:

# enable dual-networking:
pkill dhcpcd
svc wifi disable
svc data enable
netcfg wlan0 up
cd /data/misc/wifi/.
wpa_supplicant -B -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
dhcpcd wlan0
ip route add x.x.x.x via x.x.x.y # add any desired local route

# disable dual-networking:
ip route del x.x.x.x/x via x.x.x.y
pkill dhcpcd
pkill wpa_supplicant 
rm -rf /data/misc/wifi/wlan0
netcfg wlan0 down
svc wifi disable
svc data disable

(Un script runner es necesario para ejecutar estos scripts y root; usted puede conseguir uno aquí: SH Script Runner

Y señaló:

Funciona a la perfección, pero tenga en cuenta que en realidad no se ve el icono de wifi encendido, pero si corres netcfg | grep UP usted verá que el wlan0 interfaz está en marcha y funcionando (así como el rmnet_usb0 mobile data interface, ambos serán y tendrán la espera de direcciones IP) y puedes acceder a tu área local (LAN) mientras tu plan de datos móviles 3g/4g, lo que ofrece la ruta por defecto para el mundo exterior.


  1. Otras soluciones:

El Uso De Super Lite Descargar

Los desarrolladores de la aplicación dicen que tiene la capacidad de realizar la doble red en los dispositivos android peinando 3G/4G y Wi-Fi.


  1. La modificación de la tabla de enrutamiento

Otra fuente: http://ironings4.rssing.com/chan-3701516/all_p2.html.

Proporciona detalles sobre la creación de un script en bash con el fin de modificar hacerlo en la mesa para permitir tanto el 3G/4G de trabajo con conexión Wi-Fi gratuita. Aquí está la secuencia de comandos:

pkill com.android.phone sleep 30 route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp0 route add -net 15.0.0.0 netmask 255.0.0.0 dev ppp0

El anterior es un ejemplo de un par de rangos de direcciones a la que redirigir la conexión 3G a la tabla de enrutamiento a través de la shell de linux para el uso de la INTRANET a través de la ppp0 para algunos rangos de direcciones, mientras que todas las otras direcciones de destino normalmente ir a través de Wi-Fi.

El truco aquí es la fuerza de una aplicación en el teléfono (o tal vez se trata de un servicio, called com.android.phone) probablemente en relación con la radio 3G de la interfaz a un accidente mientras estás conectado a wifi, el 3G indicador de señal se van por un par de segundos y poco después volverá a la normalidad, pero esta vez con tanto H(AGPD) y Wifi iconos que muestran en el área de notificación en la parte superior derecha de la pantalla.


  1. En otro artículo: Vamos a WiFi y conexión 3G trabajar juntos por la piratería ConnectivityService.java (emigrado a los foros de XDA) La oferta de cómo realizar la tarea por la piratería servicio de conectividad:

Totalmente citado:

"El objetivo de la MONEDA del proyecto es el uso de WiFi y 3G conexiones simultáneamente. Así, se contradice con la política de Servicio de Conectividad, pero no hay ninguna configuración para modificar la política, y es codificada. Usted puede encontrar la clave en ConnectivityService.java:handleConnect función.

Nuestra solución actual es bastante brutal, que es la máscara de los ojos del Servicio de Conectividad mediante la modificación de su controlador de mensaje de entrada como la siguiente:

// must be stateless – things change under us.
 private class MyHandler extends Handler {
 @Override
 public void handleMessage(Message msg) {
 NetworkInfo info;
 //added by COIN to disable Connectivity Service
 int networkState = 8; //not any following state
 /*use static google dns server for wifi and 3g*/
 if (msg.what == NetworkStateTracker.EVENT_STATE_CHANGED) {
 SystemProperties.set("net.dns1″, "8.8.8.8″);
 SystemProperties.set("net.dns2″, "8.8.4.4″);
 bumpDns();
 }
 //////////////////////////////////////////////
 //switch (msg.what) {
 switch (networkState) {
 case NetworkStateTracker.EVENT_STATE_CHANGED:
 info = (NetworkInfo) msg.obj;
 int type = info.getType();

…..

And then compile the modified ConnectivityService.java in the android source code tree, you can get an new services.jar file in framework directory. Replace the existing services.jar on the cell phone with the following adb commands, then reboot the phone

 adb shell "mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system"
adb shell "chmod 0777 /system/framework"
adb push services.jar /system/framework
 adb shell "chmod 0644 /system/framework/services.jar"
adb shell "chmod 0755 /system/framework"
."

Conclusión

Mientras que yo no podía poner a prueba algunas de las soluciones a mí mismo, he aprendido que la mayoría de estos podría haber funcionado en versiones anteriores de android construye (basado en la evidencia), así que no estoy seguro de si el mismo es aplicable en android 6. Esta característica parece probable que se apliquen con las tecnologías emergentes se evidencia por Multipath TCP tecnología descrita. Para todas las soluciones requieren de la root.

Espero que esto trae un poco de luz.

Referencias

(Incluido en el cuerpo del texto)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X