2014-05-02 121 views
0

我試圖讓我的設備上的有線以太網上運行的Android 4.4.I上午成功地讓eth0接口了。但是DNS解析沒有發生。從adb上撥號的地址工作正常(如果我通過WiFi連接到我的路由器,則dns正在解析並可以瀏覽以太網)。更多的觀察是,如果我使用Firefox而不是默認瀏覽器。DNS解析失敗(是Android 4.4.2)

從日誌中可以明顯看出,gethostbyname()調用失敗。當我進一步跟蹤時,顯然在android_open_proxy()函數中打開的代理套接字沒有包含適當的值。

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

if(fread(buf,1,sizeof(buf),proxy)!= sizeof(buf))return 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)。

回答

1

這是值得注意的是,摩托羅拉已經修改了其手機的DNS解析的代碼(在仿生libc庫)的部分,因此提你有哪些設備可以幫助縮小問題。

p.s. 'ndc resolver'命令可能需要更改默認的dns配置。 例如:

ndc resolver setifdns wlan0 "" 192.168.0.1 
ndc resolver setdefaultif if wlan0 
+0

它與ndc解析器命令一起工作..謝謝 –

0

這就奇怪了,我可能需要在整個描述更幫我解決這個問題你。下面可能會有幫助,只是嘗試和排除一些事情:

你可能要檢查如果DNS服務器是在不同的網絡/子網以太網, 這可以通過物理檢查或看做,如果設置相匹配兩者都有。

嘗試手動/靜態設置設置。

我猜火狐可以使用緩存來解決域,不同的瀏覽器不應該有不同的DNS服務器。我能想到的最後一件事就是使用代理服務器來自動解析地址。

嘗試一些東西,看你是否能解決它。

+0

但我已經遵循同樣的程序的Android 4.2.2和以太網工作沒有任何問題。我正在使用相同的硬件,驅動程序和router.Can在Android 4.4.2需要任何額外的設置。奇怪的是,如果我連接到路由器使用WiFi一次,以太網工作正常,直到下一次重新啓動,即使WiFi已關閉。關於網絡設置和DHCP服務,我嘗試手動執行,並從初始化腳本執行,但顯示相同的bahaviour。 –

0

我曾在一個奇巧建立使用USB以太網適配器媒體棒設備正是這個問題。 dhcpcd eth0會讓我通過IP地址瀏覽,但我需要執行以下操作啓用DNS查找:

ndc resolver setifdns eth0 "" 8.8.8.8 8.8.4.4

ndc resolver setdefaultif eth0