Nexus S 4G: WLAN für LAN, 3G/4G für WAN verwenden?

Ich entwickle eine Fernbedienungs-App, die WLAN verwendet, um mit meinem Autoradio zu kommunizieren. Das Autoradio hat Ethernet, und ich habe das Ethernet mit einem drahtlosen AP in meinem Kofferraum verkabelt. Das funktioniert großartig, aber da das Telefon über eine WLAN-Verbindung verfügt, möchte es diese verwenden, um auf das Internet zuzugreifen, was nicht möglich ist, wenn mein Auto nicht zu Hause ist.

Ich möchte ein Skript entwickeln, das ich ausführen kann, um den LAN-Verkehr über WLAN zu leiten, den WAN-Verkehr (Internet) jedoch über die Zelldatenverbindung. Ich habe mich ein wenig mit diesem Problem befasst und Folgendes gefunden , aber es scheint nicht zu funktionieren, selbst nachdem die Routing-Tabelle mit einer Standardroute durch die rmnet0-Schnittstelle angepasst und die rmnet0-Schnittstelle mit ifconfig aufgerufen wurde.

Es scheint, als ob etwas im Betriebssystem die 3G-Hardware deaktiviert, wenn WLAN aktiv ist. Ist das ein bekanntes Verhalten, und wenn ja, hat jemand einen Hinweis, wie ich es umgehen kann? Ich habe diesen Beitrag gefunden, in dem jemand an einem anderen Telefon gearbeitet hat. Geht das auf dem Nexus S?

Hmm, interessant. Ich weiß, dass ich von Telefonen gehört habe, die sowohl das Mobilfunknetz als auch WLAN gleichzeitig nutzen können, aber ich kenne das Nexus S nicht.
Was ist die Ausgabe des route-Befehls, nachdem Sie rmnet0 aufgerufen haben?
Ich glaube, es ist das Standardverhalten, Daten zu deaktivieren, wenn eine WLAN-Verbindung besteht.

Antworten (1)

Standardmäßig kann 3g/4g nicht mit WLAN koexistieren, 3g/4g wird deaktiviert, wenn WLAN verfügbar ist. Wenn Sie dies so dringend benötigen, können Sie die Quelle eines benutzerdefinierten Roms verwenden und den folgenden Code ändern, um 3g während WLAN zu aktivieren Route, wie du es bereits tust.

http://gitorious.org/0xdroid/frameworks_base/blobs/234551c44102003c1fb2de5c16f60f9f0cefe71d/services/java/com/android/server/ConnectivityService.java#line224