0

Android 4.4 で動作するデバイスで有線イーサネットを有効にしようとしています。eth0 インターフェイスを起動することに成功しました。しかし、DNS 解決は行われません。adb からのアドレスへの Ping は正常に機能します。デフォルトのブラウザの代わりに Firefox を使用してください。

ログから、gethostbyname() 呼び出しが失敗していることは明らかです。さらに追跡すると、android_open_proxy() 関数で開かれたプロキシ ソケットに適切な値が含まれていないことが明らかです。

    /*   reading proxy-- proxy -->/dev/socket/dnsproxyd ..*/

if (fread(buf, 1, sizeof(buf), proxy) != sizeof(buf)) NULL を返します。

    /* This is reading serialized data from system/netd/DnsProxyListener.cpp
     * and changes here need to be matched there */
    int result_code = strtol(buf, NULL, 10);

*** ここで、result_code は 401 です (成功の場合は 222 です)。

4

3 に答える 3

1

Motorola が携帯電話の DNS 解決コード (Bionic libc ライブラリ内) の一部を変更したことは注目に値するため、使用しているデバイスについて言及すると、問題を絞り込むのに役立つ場合があります。

ps デフォルトの dns 設定を変更するには、「ndc resolver」コマンドが必要になる場合があります。例:

ndc resolver setifdns wlan0 "" 192.168.0.1
ndc resolver setdefaultif if wlan0
于 2014-05-14T15:04:17.453 に答える
0

これは奇妙です。この問題を解決するには、もっと詳しい説明が必要かもしれません。以下が役立つ場合があります。いくつかのことを試して除外してください。

DNSサーバーがイーサネットとは異なるネットワーク/サブネット上にあるかどうかを確認したい場合があります.これは、物理的に確認するか、両方の設定が一致しているかどうかを確認することで実行できます.

設定を手動/静的に設定してみてください。

私は、Firefox がドメインを解決するためにキャッシュを使用している可能性があると推測しています。ブラウザごとに DNS サーバーが異なるべきではありません。最後に考えられるのは、アドレスを自動的に解決するプロキシ サーバーを使用する Firefox です。

いくつか試してみて、問題を解決できるかどうかを確認してください。

于 2014-05-02T07:33:02.543 に答える
0

USBイーサネットアダプターを使用したメディアスティックデバイスのkitkatビルドで、まさにこの問題が発生しました。dhcpcd eth0IPアドレスでブラウズできますが、DNSルックアップを有効にするには次のものが必要でした:

ndc resolver setifdns eth0 "" 8.8.8.8 8.8.4.4

ndc resolver setdefaultif eth0

于 2015-02-06T13:44:00.197 に答える