Glex,
   I've been following your work and I am trying to do something similar, 
but instead of using wifi/rmnet0 I am looking to use USB/Ethernet and 
rmnet0 simultaneously. My work isn't using stock AOSP I've been pretty much 
working with CM 10.1 and so far my USB/Ethernet connection is successful 
and rmnet0 works as it always did, but trying to combine the two (basically 
making the phone a router) the USB/Ethernet interface takes priority and 
shuts down the rmnet0. Do you have any suggestions? I'm digging through the 
CM 10.1 kernel to maybe find a work around/patch, but I'm up for any 
alternatives.

~Ty

On Sunday, September 16, 2012 7:17:46 PM UTC-4, glex wrote:
>
> The problem has been solved.
>
> I updated my routing table for appropriate source routing and two default 
> gateways (for different source IP addresses)
>
> Thanks,
> GLEX
>
> On Wednesday, 29 August 2012 13:09:29 UTC-4, glex wrote:
>>
>> I am aware that concurrent usage of WiFi and 3G/4G is not supported on 
>> Android devices right now. I am working on a research project which tries 
>> to analyse the pros and cons for the same.
>>
>> I used the approach used by Android WiFi tether to reload the WiFi driver 
>> and configure the routing table and appropriate interfaces. I summarized my 
>> work in the 
>> followinglink<https://sites.google.com/site/lotuseaterarpit/news/3g4gwififorandroidconcurrently>.
>>  
>> I tested my setup using the *"ping -I eth0/rmnet0 <web server>". * Till 
>> this phase everything is running smoothly. 
>>
>> As a next step I tried to establish a socket connection using the two 
>> interfaces. Everything works fine as I use 3G interface, but when I try 
>> using the WiFi (eth0), socket connection is not successful. Though I can 
>> see that bind operation is successful. 
>>
>> The code I used for this socket establishment is:
>>
>> *NetworkInterface nif = NetworkInterface.getByName("eth0");*
>> * Log.d(TAG,"Interface detected S");*
>> * Enumeration<InetAddress> nifAddresses = nif.getInetAddresses();*
>> * Log.d(TAG,"Interface IP Address Retrieved S: ");*
>> * Socket socket = new Socket();*
>> * try{*
>> * socket.bind(new InetSocketAddress(nifAddresses.nextElement(),1027));*
>> * Log.d(TAG,"Socket Bind S");*
>> * socket.connect(new 
>> InetSocketAddress(InetAddress.getByName("152.14.93.160"),80));*
>> * Log.d(TAG,"Socket Creation Success");*
>> * socket.close();*
>> * Log.d(TAG,"Socket Closed S");*
>> * } catch (Exception e1){*
>> * socket.close();*
>> * Log.d(TAG,"Socket Bind Error");*
>> * e1.printStackTrace();*
>> * }*
>> * *
>> * *
>> * } catch (Exception e1) {*
>> * *
>> * // TODO Auto-generated catch block*
>> * Log.d(TAG,"Socket Creation Error");*
>> * e1.printStackTrace();*
>> * }*
>> *
>> *
>> *
>> *
>> Also from the logcat the exception I see for the same is:
>>
>> *W/System.err(10996): java.net.SocketTimeoutException: Connection timed 
>> out*
>> *W/System.err(10996):  at 
>> org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)*
>> *W/System.err(10996):  at 
>> dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
>> *
>> *W/System.err(10996):  at 
>> org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
>> *
>> *W/System.err(10996):  at 
>> org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:440)
>> *
>> *W/System.err(10996):  at java.net.Socket.connect(Socket.java:1013)*
>> *W/System.err(10996):  at java.net.Socket.connect(Socket.java:956)*
>> *W/System.err(10996):  at 
>> com.example.pdwn.TService.onCreate(TService.java:98)*
>> *W/System.err(10996):  at 
>> android.app.ActivityThread.handleCreateService(ActivityThread.java:2223)*
>> *W/System.err(10996):  at 
>> android.app.ActivityThread.access$2500(ActivityThread.java:132)*
>> *W/System.err(10996):  at 
>> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1102)*
>> *W/System.err(10996):  at 
>> android.os.Handler.dispatchMessage(Handler.java:99)*
>> *W/System.err(10996):  at android.os.Looper.loop(Looper.java:150)*
>> *W/System.err(10996):  at 
>> android.app.ActivityThread.main(ActivityThread.java:4293)*
>> *W/System.err(10996):  at java.lang.reflect.Method.invokeNative(Native 
>> Method)*
>> *W/System.err(10996):  at 
>> java.lang.reflect.Method.invoke(Method.java:507)*
>> *W/System.err(10996):  at 
>> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
>> *
>> *W/System.err(10996):  at 
>> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)*
>> *W/System.err(10996):  at dalvik.system.NativeStart.main(Native Method)*
>>
>>  I am not sure why, the connect function is timing out. Specially given 
>> that ping operation is successful. Any help will be greatly appreciated.
>>
>> Thanks,
>> Arpit.
>>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to