2013년 5월 21일 화요일

ethernet으로 Wi-Fi 연결 fake


ODROID에 Ethernet port가 있고 기본적으로 dhcp가 가능한 회선에 연결하면 Wi-Fi  연결되어 있지 않아도 인터넷이 가능합니다.

하지면 몇몇 app들은 Mobile Network 또는 Wi-Fi  연결만을 체크하도록 되어 있어서 실행이 안되는 경우가 있습니다.

Ethernet 연결을 Wi-Fi 연결로 사용하여 android에서 Wi-Fi  연결된것 처럼 만들고 싶은데 관련 자료를 못찾겠네요.

아래의 그림과 같이 android는 wlan0가 wpa_supplicant와 연결되어 있습니다. 여기서  wlan0에 eth0를 어떻게 연결할지 생각되는 시나리오 들입니다.

wlan0 -> wpa_supplicant->android

 ^                       ^
  | ?(route)        | ( wpa_supplicant -ieth0 -Dwired)?
eth0    --------->           

1. wpa_supplicant -ieth0 -Dwired 옵션으로 ethernet을 연결
- 단 wpa_supplicant가 두개가 존재해야 하고 서비스 역시 두개가 되어야 한네요.
(wpa_supplicnat -iwlan -Dwext)
- "-Dwired"가 동작하기 위해 wpa_supplicant가 BOARD_WPA_SUPPLICANT_DRIVER := WIRED로 동작 확인이 먼저 일 듯 합니다.


2. eth0을 route하여 wlan0에 연결 
- 하지만 wpa_supplicant 때문에 SSID등 연결된 상태로 만들기가 가능 할지 모르겠네요.

3. reverse tethering
- 이건 pc의 인터넷 연결을 USB(adb)로 스마트폰으로 연결해주는 기술인데 자세한 자료는 없고 howto만 보이네요. usb tethering apk 소스가 필요할 듯 합니다.
- 이건 기본적으로 eth0로 네트워크가 연결되어 있고 Wi-Fi 연결로 속일 수 없어서 안 될것 같은데 몇몇 동영상을 찾아 보면 3G Network 연결로 만드는 듯 하여 Wi-Fi가 아니라 Mobile Network로 연결된다면 가능할 것 같습니다.

MK802 란 모델이 위에 설명한 방법으로 Network이 구성이 된다고 합니다.


아래 주소에서 reverse tethering 소스를 구할 수 있습니다.
https://code.google.com/p/android-reverse-tethering/source/checkout




댓글 쓰기