2012-02-13 50 views
6

是否有可能同時啓用和運行3G和Wifi連接。我想通過兩個接口同時傳輸。在Android上同時啓用wifi和3G接口

但是我注意到當Wifi啓動時,3G正在關閉。實際上,路由表似乎更新了接口的開/關。

1)路線表上/ WIFI上

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)路由表WiFi開/ UMTS上

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

3)帶有WiFi UMTS上我已經運行:

# 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 

當我看到我認爲我已經設法啓動和運行這兩個設備。然而,這種情況並非如此。當我ping一個公共互聯網地址(a.b.c.3)時,在情況1)和2)中一切順利。在情況3)我沒有得到答案。

Android在哪裏設置一次只有一個設備可用?我怎樣才能使兩個接口都可用,就像在一個普通的Linux機器上一樣。

P.S .:我已經嘗試了[1]中的解決方案,以便在wifi打開時啓用數據連接,並且沒有辦法。

[1] How to enable data connection on Android 2.3

[2] How to block calls in android - >使用ITelephony得到telephonyService.enableDataConnectivity();但我得到一個例外。

+3

它可能不是你想聽到的,但我認爲這將是非常複雜的。我見過的每個實現都使用主動連接來發送數據(僅在一個實例中,取決於具有更高優先級的實體)。是否有一個很重要的原因,爲什麼你想同時通過兩個傳輸? 你可能會選擇先通過一個再通過另一個來傳輸? – blindstuff 2012-02-13 20:57:02

+0

我是研究人員,對於我正在開發的通信系統,我需要同時激活兩個接口。我一直在閱讀,似乎Google已經刪除了使用ITelephony接口[1](http://code.google.com/p/android/issues/detail?id=15031)的選項,這似乎是方式。不過,我想知道是否可以通過在本機C中開發並在控制檯上運行來實現。任何幫助都比歡迎。 – jlanza 2012-02-14 11:03:37

+0

另一點。目前的android版本支持Tethering。在這種情況下,兩個接口都處於運行狀態。然後,這可以成爲定製android以使兩個ifaces連接到互聯網的起點。 – jlanza 2012-02-14 11:46:01

回答

0

這是不可能的......除非你願意竭盡全力才能使它工作。你基本上要求你的設備成爲路由器。

要做到這一點,你需要找到一個程序(抱歉不記得任何名字),這將在一個普通的Linux發行版上完成。然後重新編譯它以適應Android操作系統並安裝到本機系統中。

這個解釋可能對你更有意義。如果你去你的ADB shell並運行netcfg(或ifconfig來詳細說明這一點),你會看到設備網絡選項。你可以運行一個ifconfig命令來設置設備或者改變它的狀態 - 但是你不能讓多個設備同時發送和接收來自手機的數據。

這將是我最好的猜測...