Подтвердить что ты не робот

Как использовать "adb ppp"?

Я пытаюсь подключиться с моего устройства Android к хосту, используя usb и ppp.

Кажется, есть опция "adb ppp", которая может быть использована. Но я не могу найти объяснения о том, как его использовать. Здесь есть старая дискуссия. Но они закончили исправление adb. Я не могу поверить, что это пока не исправлено.

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

Это объяснение команды adb, и это все документация, которую я смог найти.

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

Я не понимаю, что такое аргумент tty. Глядя на источники, похоже, это такая служба, как "оболочка", "хост: версия" и т.д. Или это может быть (как говорит doc) dev:/dev/*, но я не знаю, что использовать.

Кроме того, команда, похоже, выдает ppp в хосте. Но я не знаю, как он работает на устройстве Android.

4b9b3361

Ответ 1

PTY/TTY - это, в основном, туннель последовательной линии с использованием дескрипторов файлов. Точно так же, как сокеты, PTY - это серверная сторона и TTY клиент.

Ниже пример команды, которая может работать.

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

Ответ 2

Хорошо и использовать это для f.e. сделайте резервную копию своего системного раздела (альтернатив распаковке резервной копии nandroid с unyaffs2):

  • подключить устройство с включенной отладкой USB
  • запустите SSH-сервер (через приложение или deb s с настройкой debian-kit)
  • для пароля без доступа к паролю для входа в систему f.e. с помощью

    adb push /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
    
  • установить сетевой мост между хостом (10.0.0.1) и устройством (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
    
  • резервный системный раздел (требуется исполняемый файл rsync на устройстве, то есть полная debian или пользовательская сборка busybox):

    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
    

Приблизительно 9 минут для моего xperia mini pro с помощью прошивки Android 4.04/RealICS:

отправлено 27.94K байт получено 215.94M байт 413.75K байт/с общий размер - 321,52M ускорение 1,49

Ответ 3

Если adb ppp выйдет из строя на вашем устройстве и у вас есть разрешение root, попробуйте следующее:

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

Ответ 4

adb ppp не работает для меня. Вот как я обошел это...

Вам может потребоваться установить busybox на устройстве, чтобы получить команду "nc".

В одном окне введите...

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

В другом окне введите...

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

Теперь есть сеть от устройства к компьютеру. Запустите "ifconfig", чтобы проверить.

Если вы хотите, чтобы устройство получило нормальный доступ в Интернет, вам нужно настроить некоторую маршрутизацию SNAT на главной машине.