2010-12-30 33 views
26

Tôi đang cố gắng kết nối từ thiết bị Android của mình với máy chủ bằng cách sử dụng usb và ppp.Làm thế nào để sử dụng "adb ppp"?

Dường như có một tùy chọn "adb ppp" có thể được sử dụng. Nhưng tôi không thể tìm thấy lời giải thích về cách sử dụng nó. Có một cuộc thảo luận cũ ở đây. Nhưng họ đã kết thúc việc vá adb. Tôi không thể tin rằng điều này đã không được cố định ngay bây giờ.

http://forum.xda-developers.com/showthread.php?p=4537323

Đây là lời giải thích của lệnh adb, và đó là tất cả các tài liệu tôi đã có thể tìm thấy.

 
networking: 
    adb ppp [parameters] - Run PPP over USB. 
Note: you should not automatically start a PPP connection. 
    refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1 
[parameters] - Eg. defaultroute debug dump local notty usepeerdns 

Tôi không rõ ràng về đối số tty. Nhìn vào các nguồn nó có vẻ là một dịch vụ như "shell", "host: version", v.v. Hoặc nó có thể (như doc nói) dev:/dev/* nhưng tôi không biết sử dụng nó.

Ngoài ra, lệnh có vẻ như chia nhỏ một ppp trong máy chủ. Nhưng, tôi không biết nó chạy trên thiết bị Android như thế nào.

+1

Tôi hy vọng một người nào đó trả lời, điều này đã làm tôi thất vọng một thời gian. – num1

+0

Xin chào, bạn có thể cung cấp một số thông tin về môi trường của mình không? [OS, phiên bản SDK Android, v.v.] – defbyte

Trả lời

9

PTY/TTY về cơ bản là đường hầm nối tiếp bằng cách sử dụng tay cầm tệp. Cũng giống như ổ cắm, PTY là phía máy chủ và máy khách TTY.

Bên dưới lệnh mẫu có thể hoạt động.

adb ppp "shell:pppd nodetach noauth noipdefault /dev/tty" nodetach noauth noipdefault notty <local-ip>:<remote-ip> 
+1

Thật không may, nó không hoạt động với Windows: "lỗi: adb ppp không được triển khai trên Win32". Bất kỳ ý tưởng nào với Windows? –

+0

Bạn có ý nghĩa gì với IP cục bộ và từ xa? Tôi có cần phải xác định những cái mới? Tôi có cần sử dụng những cái hiện có không? – Evi1M4chine

3

Ok và sử dụng tính năng này cho f.e. tạo bản sao lưu của phân vùng hệ thống (thay thế cho giải nén một bản sao lưu nandroid với unyaffs2):

  1. thiết bị kết nối với USB gỡ lỗi kích hoạt
  2. bắt đầu một máy chủ SSH (thông qua ứng dụng hoặc deb s với debian-kit thiết lập)
  3. cho khóa máy chủ chuyển mật khẩu ít đăng nhập vào thiết bị fe qua

    adb push /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 
    
  4. mạng thiết lập cầu nối giữa máy chủ (10.0.0.1) và thiết bị (10.0.0.2):

    adb ppp "shell:pppd nodetach noauth noipdefault /dev/tty" \ 
    nodetach noauth noipdefault notty 10.0.0.1:10.0.0.2 
    
  5. hệ thống sao lưu phân vùng (nhu cầu thực thi rsync trên thiết bị, tức là debian đầy đủ hoặc tùy chỉnh busybox Êđê dựng):

    rsync -vaiuhhP 10.0.0.2:/system /where/to/backup/

    -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X) 
    -P       same as --partial --progress 
        --partial    keep partially transferred files 
        --progress    show progress during transfer 
    -u, --update    skip files that are newer on the receiver 
    -i, --itemize-changes  output a change-summary for all updates 
    -v, --verbose    increase verbosity 
    -h, --human-readable  output numbers in a human-readable format 
              (if the option is repeated, the 
              units are powers of 1024 instead of 1000.) 
    -z, --compress    compress file data during the transfer 
    

Comes xuống khoảng 9 phút cho xperia tôi mini pro với Android 4.04/RealICS tùy chỉnh firmware:

sent 27.94K bytes received 215.94M bytes 413.75K bytes/sec total size is 321.52M speedup is 1.49

+0

Điều này là vô ích. lệnh adb ppp dường như không làm gì cả. Và tôi chọn địa chỉ IP nào? Những thứ hiện có? Cái mới? – Evi1M4chine

0

Nếu adb ppp thất bại trên thiết bị của bạn, và bạn có quyền root, thử điều này:

adb ppp "shell:su -c 'pppd nodetach noauth noipdefault /dev/tty'" \ 
nodetach noauth noipdefault notty 10.0.0.1:10.0.0.2 
0

tùy chọn ppp của adb không hoạt động đối với tôi. Đây là cách tôi nhận được xung quanh nó ...

Bạn có thể cần phải cài đặt busybox trên thiết bị để nhận lệnh "nc".

Trong một cửa sổ, gõ vào ...

adb shell 
su 
nc -ll -p 7001 -e pppd notty defaultroute nodetach 

Trong cửa sổ khác gõ vào ...

adb forward tcp:7001 tcp:7001 
sudo /usr/sbin/pppd nodetach 10.0.1.1:10.0.1.2 pty "nc localhost 7001" 

bây giờ có mạng từ thiết bị đến máy tính. Chạy "ifconfig" để kiểm tra.

Nếu bạn muốn thiết bị nhận được internet bình thường, bạn sẽ cần thiết lập một số định tuyến SNAT trên máy chủ.

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