2012-02-13 62 views
6

Có thể bật và chạy cả kết nối 3G và Wifi. Tôi muốn truyền cùng một lúc thông qua cả hai giao diện.Bật giao diện wifi và 3G đồng thời trên Android

Tuy nhiên, tôi nhận thấy rằng khi Wi-Fi bật lên, 3G sẽ ngừng hoạt động. Trên thực tế có vẻ như bảng định tuyến được cập nhật trên/tắt của giao diện.

UMTS 1) bảng Route on/Wifi trên

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) Route bảng Wifi on/UMTS trên

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

3) Với wifi trên tôi đã chạy:

# 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 

Khi tôi thấy rằng tôi nghĩ rằng tôi đã quản lý để đưa cả hai thiết bị và chạy. Tuy nhiên, đây không phải là trường hợp. Khi tôi ping địa chỉ internet công cộng (a.b.c.3), trong trường hợp 1) và 2) mọi thứ diễn ra tốt đẹp. Trong trường hợp 3) tôi không nhận được câu trả lời.

Android ở đâu trên thế giới thiết lập chỉ một thiết bị có thể khả dụng tại một thời điểm? Làm thế nào tôi có thể làm cho cả hai giao diện được lên và có sẵn, giống như trên một hộp Linux bình thường.

P.S .: Tôi đã thử giải pháp trong [1] để bật kết nối dữ liệu khi bật wifi và không có cách nào.

[1] How to enable data connection on Android 2.3

[2] How to block calls in android -> sử dụng ITelephony để có được những telephonyService.enableDataConnectivity(); nhưng tôi nhận được một ngoại lệ.

+3

Có thể không phải những gì bạn muốn nghe, nhưng tôi nghĩ điều này sẽ khá phức tạp. Mỗi lần thực hiện, tôi đã nhìn thấy khá nhiều việc sử dụng kết nối hoạt động _the_ để gửi dữ liệu (_the_ như trong chỉ một, tùy thuộc vào những gì có ưu tiên cao hơn). Có lý do quan trọng nào khiến bạn muốn truyền cả hai cùng một lúc không? Có lẽ bạn có thể chọn truyền qua đầu tiên và cái kia? – blindstuff

+0

Tôi là một nhà nghiên cứu và cho hệ thống truyền thông tôi đang phát triển, tôi cần phải có cả hai giao diện hoạt động đồng thời. Tôi đã được đọc xung quanh một dường như Google đã loại bỏ các tùy chọn để làm việc với giao diện ITelephony [1] (http://code.google.com/p/android/issues/detail?id=15031) mà có vẻ là cách. Tuy nhiên tôi muốn biết nếu nó có thể làm điều đó bằng cách phát triển trong bản địa C và chạy nó trên bàn điều khiển. Bất kỳ sự giúp đỡ nào cũng được hoan nghênh hơn. – jlanza

+0

Một điểm khác. Các phiên bản Android hiện tại hỗ trợ Tethering. Cuối cùng trong trường hợp đó cả hai giao diện đều đang hoạt động.Sau đó, đây có thể là điểm bắt đầu để tùy chỉnh Android cho phép cả hai ifaces kết nối với internet. – jlanza

Trả lời

0

Điều này sẽ không thể thực hiện được ... trừ khi bạn sẽ đi đến độ dài tuyệt vời để làm cho nó hoạt động. Về cơ bản, bạn yêu cầu thiết bị của bạn trở thành bộ định tuyến.

Để thực hiện việc này, bạn sẽ cần phải tìm chương trình (xin lỗi không thể nhớ bất kỳ tên nào vào lúc này) sẽ thực hiện điều này trên bản phân phối Linux thông thường. Sau đó biên dịch lại nó để phù hợp với hệ điều hành Android và cài đặt là vào hệ thống bản địa.

Giải thích này có thể có ý nghĩa hơn đối với bạn. Nếu bạn đi đến trình bao ADB của bạn và chạy netcfg (hoặc ifconfig để tiết lộ điều này), bạn sẽ thấy các tùy chọn mạng thiết bị. Bạn có thể chạy lệnh ifconfig để thiết lập thiết bị hoặc thay đổi trạng thái của nó - nhưng bạn không thể có nhiều thiết bị định tuyến dữ liệu đến và đi từ điện thoại cùng một lúc mà tôi không nghĩ.

Đây sẽ là dự đoán tốt nhất của tôi ...

Các vấn đề liên quan