web-dev-qa-db-ja.com

「adbppp」の使い方は?

Androidデバイスから、usbとpppを使用してホストに接続しようとしています。

使用できるオプション「adbppp」があるようです。しかし、使い方の説明が見つかりません。ここに古い議論があります。しかし、彼らはadbへのパッチ適用を終了しました。これが今のところ修正されていないなんて信じられません。

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

これはadbコマンドの説明であり、これが私が見つけたすべてのドキュメントです。

 networking:
 adb ppp [parameters] -Run PPP over USB。
注:自動的にPPP connection。
はPPPストリームのttyを参照します。例:dev:/ dev/omap_csmi_tty1 
 [parameters]-例:defaultroute debugローカルのnottyusepeerdnsをダンプします

私はttyの議論が何であるかはっきりしていません。ソースを見ると、「Shell」、「Host:version」などのサービスのようです。または、(ドキュメントにあるように)dev:/ dev/*の可能性もありますが、どちらを使用すればよいかわかりません。

また、コマンドはホストでpppをフォークしているようです。しかし、それがAndroidデバイスでどのように実行されるかはわかりません。

28
huherto

PTY/TTYは基本的に、ファイルハンドルを使用するシリアルライントンネルです。ソケットと同様に、PTYはサーバー側であり、TTYはクライアントです。

動作する可能性のあるコマンドの例を以下に示します。

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

わかりました。これを使用してf.e.システムパーティションのバックアップを作成します(unyaffs2を使用してnandroidバックアップを解凍する代わりに):

  1. uSBデバッグを有効にしてデバイスを接続する
  2. sSHサーバーを起動します(アプリまたはdeb sを介してdebian-kitを設定します)
  3. パスワードなしのログイン転送の場合ホストキーをデバイスに転送します。経由

    adb Push /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
    
  4. ホスト(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
    
  5. バックアップシステムパーティション(デバイス上で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
    

Android 4.04/RealICSカスタムファームウェアを使用したxperiamini proの場合、約9分になります。

送信27.94Kバイト受信215.94Mバイト413.75Kバイト/秒合計サイズは321.52Mスピードアップは1.49

4
eMPee584

adbのpppオプションが機能していません。これが私がそれを回避した方法です...

「nc」コマンドを取得するには、デバイスにbusyboxをインストールする必要がある場合があります。

1つのウィンドウで、「...」と入力します。

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ルーティングを設定する必要があります。

1
niknah

デバイスで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
0
redice li