2012-02-13 10 views
6

E 'possibile avere entrambe le connessioni 3G e WiFi attive e funzionanti. Voglio trasmettere allo stesso tempo attraverso entrambe le interfacce.Abilita simultaneamente l'interfaccia wifi e 3G su Android

Tuttavia, ho notato che quando il Wi-Fi è attivo, il 3G sta andando giù. In realtà sembra che la tabella di routing sia aggiornata on/off delle interfacce.

UMTS 1) tabella di instradamento su/WiFi su

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) Percorso tavolo WiFi attivato/UMTS su

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

3) con WiFi sopra ho eseguito:

# 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 

Quando ho visto che pensavo di essere riuscito a mettere in funzione entrambi i dispositivi. Tuttavia, questo non è il caso. Quando faccio ping ad un indirizzo internet pubblico (a.b.c.3), nel caso 1) e 2) tutto va bene. Nel caso 3) non ho risposta.

Dove diavolo Android imposta che può essere disponibile un solo dispositivo alla volta? Come posso fare in modo che entrambe le interfacce siano disponibili e disponibili, come su una normale macchina Linux.

P.S .: Ho provato la soluzione in [1] per abilitare la connessione dati quando il wifi è attivo e in nessun modo.

[1] How to enable data connection on Android 2.3

[2] How to block calls in android -> utilizzando ITelephony per ottenere il telephonyService.enableDataConnectivity(); ma ottengo un'eccezione

+3

Probabilmente non è quello che vuoi sentire, ma penso che questo sarà piuttosto complicato. Ogni implementazione ho visto praticamente tutti gli usi _la_ connessione attiva per inviare dati (_il_ come in uno solo, a seconda di cosa ha priorità più alta). C'è una ragione importante per cui vorresti trasmettere attraverso entrambi allo stesso tempo? Potresti forse scegliere di trasmettere prima e poi l'altro? – blindstuff

+0

Sono un ricercatore e per il sistema di comunicazione che sto sviluppando ho bisogno di avere entrambe le interfacce attive contemporaneamente. Ho letto che mi sembra che Google abbia rimosso l'opzione per lavorare con l'interfaccia ITelephony [1] (http://code.google.com/p/android/issues/detail?id=15031) che sembra essere la via. Tuttavia mi piacerebbe sapere se è possibile farlo sviluppando in C nativo ed eseguirlo su console. Qualsiasi aiuto è più che benvenuto. – jlanza

+0

Un altro punto. Le attuali versioni di Android supportano il Tethering. Alla fine in quel caso entrambe le interfacce sono attive e funzionanti.Quindi, questo potrebbe essere un punto di partenza per personalizzare Android per abilitare sia iface a connettersi a Internet. – jlanza

risposta

0

Questo non sarà possibile ... a meno che non siate disposti a fare di tutto per farlo funzionare. Stai essenzialmente chiedendo che il tuo dispositivo diventi un router.

Per fare ciò è necessario trovare un programma (scusate non ricordo alcun nome al momento) che lo compirà su una normale distribuzione linux. Quindi ricompilalo per adattarlo al sistema operativo Android e installalo nel sistema nativo.

Questa spiegazione potrebbe avere un po 'più senso per voi. Se vai nella tua shell ADB ed esegui netcfg (o ifconfig in modo dettagliato) vedrai le opzioni di networking dei dispositivi. È possibile eseguire un comando ifconfig per impostare il dispositivo o modificarne lo stato, ma non è possibile avere più dispositivi per instradare i dati da e verso il telefono, allo stesso tempo non penserei.

Questa sarebbe la mia ipotesi migliore ...

Problemi correlati