Android系统版本:4.4
以太网卡:RTL8152B
最近有个客户说想要在android板上加入以太网功能,就在淘宝上先买了一个RTL8152的USB网卡(RTL8152本身就是USB接口的),就着手开始了移植工作
其实Android4.4已经支持以太网了,如果手上的android源码不支持以太网功能的话,就要自己移植代码,方法的话网上一抓一大把,我这里就不再赘述了
我需要做的只是在linux内核中将RTL8152的驱动加进去,将网卡接入板子的USB口,就可以开机看效果了
果然!果然!果然!果然!果然!果然!
开机之后发现以太网无法连接,就算执行了netcfg eth0 up dhcp也不行。
很奇怪的是执行了netcfg eth0 up dhcp这句代码后,使用ifconfig看网卡信息可以发现网卡已经自动获取到了ip地址,而且也可以ping通外网,可是使用浏览器却提示无法连接网络
我还尝试了将以太网连接的优先级设为0(本身为9),也还是不行
查看logcat发现在以太网卡启动的时候,有如下打印:
I/SystemServer( 501): Connectivity Service
I/ethernet( 501): ==>android_net_ethernet_initEthernetNative
D/ConnectivityService( 501): ConnectivityService starting up
D/ConnectivityService( 501): wifiOnly=false
D/ConnectivityService( 501): *******netType=wifi,1,1,1,-1,true
D/ConnectivityService( 501): *******netType=ethernet,9,9,0,-1,true
E/ConnectivityService( 501): Ignoring protectedNetwork 10
E/ConnectivityService( 501): Ignoring protectedNetwork 11
E/ConnectivityService( 501): Ignoring protectedNetwork 12
E/ConnectivityService( 501): Ignoring protectedNetwork 14
D/ConnectivityService( 501): *******targetNetworkType=1
I/EthernetStateTracker( 501): Starts...
I/EthernetStateTracker( 501): Success
I/ethernet( 501): User ask for device name on 0, total:1
I/ethernet( 501): Found :eth0
V/EthernetService( 501): Ethernet dev enabled 2
I/EthernetService( 501): total found 1 net devices
I/EthernetService( 501): device 0 name eth0
I/EthernetService( 501): s