레이블이 Wi-Fi인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Wi-Fi인 게시물을 표시합니다. 모든 게시물 표시

2016년 10월 19일 수요일

How to access internet by Bluetooth tethering on ODROID without Wi-Fi network.

1. Turn on Bluetooth tethering on Your smartphone

2. edit /init.odroid2.rc
$ su
# mount -o rw,remount /
# vi /init.odroid2.rc

Add service dhcpcd_bt-pan

diff --git a/init.odroidc2.rc b/init.odroidc2.rc
index 92362aa..5adf868 100644
--- a/init.odroidc2.rc
+++ b/init.odroidc2.rc
@@ -417,6 +417,11 @@ service dhcpcd_p2p /system/bin/dhcpcd -aABKL
     disabled
     oneshot

+service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
+    class main
+    disabled
+    oneshot
+
 service iprenew_wlan0 /system/bin/dhcpcd -n
     class main
     disabled

#reboot

3. Turn on Bluetooth on ODROID-C2.


4. Check 'Internet access'


5. Now enable to access internet without Wi-Fi network.




2015년 7월 24일 금요일

adb connect over TCPIP when Multiple Devices

Get all device's IP.

shell@odroidxu3:/ $ su                                                          
root@odroidxu3:/ # netcfg                                                       
lo       UP                                   127.0.0.1/8   0x00000049 00:00:000
eth0     UP                               192.168.0.1/24  0x00001043 fa:e2:864
sit0     DOWN                                   0.0.0.0/0   0x00000080 00:00:000
ip6tnl0  DOWN                                   0.0.0.0/0   0x00000080 00:00:000
root@odroidxu3:/ # 

eth0 -> adb over Ethernet.
wlan0 -> adb over Wi-Fi.

device1 ip 192.168.0.1
device2 ip 192.168.0.2
device3 ip 192.168.0.3
......
deviceN ip 192.168.0.N

Restart adbd service at all devices.

root@odroidxu3:/ # setprop service.adb.tcp.port 5555     
root@odroidxu3:/ # stop adbd && start adbd                                      
[  286.223070] [c4] adb_release                                                 
[  286.224485] [c4] dwc3 12400000.dwc3: request de1f4f80 was not queued to ep0ot
root@odroidxu3:/ [  286.239830] [c1] adb_open                                   
[  286.242450] [c6] adb_bind_config                                             

Or Edit /system/build.prop. No more stop and start adbd.

add this line.
$ su
# mount -o rw,remount /system
# vi /system/build.prop

service.adb.tcp.port=5555

Connect device on 192.168.0.1

[~]$ adb connect 192.168.0.1
connected to 192.168.0.1:5555


[~]$ adb logcat

--------- beginning of /dev/log/main
I/installd( 2785): installd firing up
I/DEBUG   ( 2780): debuggerd: Jul  2 2015 14:27:22
I/Netd    ( 2779): Netd 1.0 starting
W/InterfaceController( 2779): Warning (dlopen failed: library "/system/lib/libnetcmdiface.so" not found) while opening the net interface command library
--------- beginning of /dev/log/system
I/Vold    ( 2774): Vold 2.1 (the revenge) firing up
E/Vold    ( 2774): boot_mode = 0
E/Vold    ( 2774): eMMC boot_mode
D/Vold    ( 2774): Volume sdcard0 state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume sdcard1 state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume usb2host state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume usb3host state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume usb3device state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume sdcard0 state changing 0 (No-Media) -> 1 (Idle-Unmounted)
W/Vold    ( 2774): Duplicate state (1)
W/Vold    ( 2774): Duplicate state (1)

On other terminal

[~]$ adb devices
List of devices attached 
192.168.0.1:5555 device

Connect deivce on 192.168.0.2

[~]$ adb connect 192.168.0.2
connected to 192.168.0.2:5555

There are multiple devices.

[~]$ adb devices
List of devices attached 
192.168.0.1:5555 device
192.168.0.2:5555 device

If you connect other device, It is impossible.

[~]$ adb logcat
- waiting for device -
error: more than one device and emulator

You can solve by option '-s'

[~]$ adb -s 192.168.0.2:5555 logcat
--------- beginning of /dev/log/main
I/installd( 2785): installd firing up
I/DEBUG   ( 2780): debuggerd: Jul  2 2015 14:27:22
I/Netd    ( 2779): Netd 1.0 starting
W/InterfaceController( 2779): Warning (dlopen failed: library "/system/lib/libnetcmdiface.so" not found) while opening the net interface command library
--------- beginning of /dev/log/system
I/Vold    ( 2774): Vold 2.1 (the revenge) firing up
E/Vold    ( 2774): boot_mode = 0
E/Vold    ( 2774): eMMC boot_mode
D/Vold    ( 2774): Volume sdcard0 state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume sdcard1 state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume usb2host state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume usb3host state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume usb3device state changing -1 (Initializing) -> 0 (No-Media)
D/Vold    ( 2774): Volume sdcard0 state changing 0 (No-Media) -> 1 (Idle-Unmounted)
W/Vold    ( 2774): Duplicate state (1)
W/Vold    ( 2774): Duplicate state (1)

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