Android6.0添加usb转网口

Android6.0正常上网方法有两种:

  1. 开机前如果插着网线,在开机过程中会识别到usb设备,自动启动网络服务,配置dns并使用dhcpcd eth0 实现android层的上网

  2. 在启动后插入网线,需要手动配置,在ethernet工具中使用dhcp按钮,启动网络服务,配置dns并使用dhcpcd eth0 实现android层的上网

Android6.0在开机前连接usb转网口时,会出现下述打印信息

[09:30:47]i****nit: no such service ‘dhcpcd_eth1:-f /system/etc/dhcpcd/dhcpcd.conf -h android-b9cde6aa713e7f9d eth1’****

[09:30:55]

[09:30:55]root@sabresd_6dq:/ #

[09:30:55]root@sabresd_6dq:/ #

[09:30:57]root@sabresd_6dq:/ # *init: no such service ‘dhcpcd_eth1’*

[09:31:01]init: Service ‘bootanim’ (pid 317) exited with status 0

[09:31:06]mtp_open

  • 可以看到显示没有dhcpcd_eth1这个服务,然后查看ethernet应用,发现可以识别到eth1,但是不能正常配置,也会出现没有服务打印信息

但是ping局域网IP都是通的,说明是dns和IP,网关的问题,于是使用

dhcpcd eth1

可以看到已经自动配置了IP

[09:38:04]root@sabresd_6dq:/ #

[09:38:06]root@sabresd_6dq:/ # ifconfig

[09:38:06]eth1 Link encap:Ethernet HWaddr 00:0E:C6:87:72:01

[09:38:06] inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0

[09:38:06] inet6 addr: fe80::20e:c6ff:fe87:7201/64 Scope: Link

[09:38:06] UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

[09:38:06] RX packets:7 errors:0 dropped:0 overruns:0 frame:0

[09:38:06] TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

[09:38:06] collisions:0 txqueuelen:1000

[09:38:06] RX bytes:1382 TX bytes:1648

ping一下百度

root@sabresd_6dq:/etc # ping www.baidu.com

[09:42:02]ping: unknown host www.baidu.com

[09:56:11]2|root@sabresd_6dq:/etc # ping 220.181.38.150

[09:56:11]PING 220.181.38.150 (220.181.38.150) 56(84) bytes of data.

[09:56:11]64 bytes from 220.181.38.150: icmp_seq=1 ttl=52 time=25.9 ms

[09:56:12]64 bytes from 220.181.38.150: icmp_seq=2 ttl=52 time=16.3 ms

[09:56:13]64 bytes from 220.181.38.150: icmp_seq=3 ttl=52 time=15.7 ms

[09:56:14]^C

[09:56:14]— 220.181.38.150 ping statistics —

[09:56:14]3 packets transmitted, 3 received, 0% packet loss, time 2003ms

[09:56:14]rtt min/avg/max/mdev = 15.762/19.375/25.972/4.673 ms

[09:56:19]root@sabresd_6dq:/etc # ping www.baidu.com

[09:56:20]ping: unknown host www.baidu.com

说明DNS还没有配置,使用ethernet配置eth1
在这里插入图片描述

不成功
在这里插入图片描述

设了DNS还是不通

然后我们修改源码,添加服务

--- a/device/fsl/sabresd_6dq/init.rc

+++ b/device/fsl/sabresd_6dq/init.rc

@@ -345,6 +345,11 @@ service dhcpcd_eth0 /system/bin/dhcpcd -ABKL

   disabled

   oneshot

 

+service dhcpcd_eth1 /system/bin/dhcpcd -ABKL

\+   class main

\+   disabled

\+   oneshot

+

 service iprenew_wlan0 /system/bin/dhcpcd -n

   class main

   disabled

@@ -360,6 +365,11 @@ service iprenew_eth0 /system/bin/dhcpcd -n

   disabled

   oneshot

 

+service iprenew_eth1 /system/bin/dhcpcd -n

\+   class main

\+   disabled

\+   oneshot

+

下面介绍一下android的inir.rc文件

init.rc文件由系统第一个启动的init程序解析。是启动系统服务使用的文件。

*服务(services)*

服务是指那些须要在系统初始化时就启动或退出时自己主动重新启动的程序.

service [ ]*

解释一下各个参数:

*参数**含义*
表示此服务的名称
此服务所在路径因为是可执行文件,所以一定有存储路径。
启动服务所带的参数
对此服务的约束选项

在这里插入图片描述

下面是一个小例子

service bootanim /system/bin/bootanimation

  class core  //给服务指定一个类属,这样方便操作多个服务同时启动或停止

  user graphics //在执行此服务之前先切换用户名

  group graphics audio

  disabled  //服务不会自动运行

  oneshot  //当此服务退出时不会自动重启

下面是修改后的usb转网口的正常联网打印信息:

[09:06:03]root@sabresd_6dq:/ #

[09:06:04]root@sabresd_6dq:/ # IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

[09:06:04]*asix 1-1.1:1.0 eth1: link up, 100Mbps, full-duplex, lpa 0x45E1*

[09:06:04****]init: Starting service ‘dhcpcd_eth1’…****.

[09:06:07]root@sabresd_6dq:/ # ifconfig

[09:06:07]type=1400 audit(34.080:10): avc: denied { ioctl } for pid=1112 comm=“ifconfig” path=“socket:[15525]” dev=“sockfs” ino=15525 ioctlcmd=8927 scontext=u:r🐚s0 tcontext=u:r🐚s0 tclass=udp_socket permissive=1

[09:06:07]lo Link encap:Local Loopback

[09:06:07] inet addr:127.0.0.1 Mask:255.0.0.0

[09:06:07] inet6 addr: ::1/128 Scope: Host

[09:06:07] UP LOOPBACK RUNNING MTU:65536 Metric:1

[09:06:07] RX packets:0 errors:0 dropped:0 overruns:0 frame:0

[09:06:07] TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

[09:06:07] collisions:0 txqueuelen:0

[09:06:07] RX bytes:0 TX bytes:0

[09:06:07]

[09:06:07]eth1 Link encap:Ethernet HWaddr 00:0E:C6:87:72:01

[09:06:07] inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0

[09:06:07] inet6 addr: fe80::20e:c6ff:fe87:7201/64 Scope: Link

[09:06:07] UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

[09:06:07] RX packets:4 errors:0 dropped:0 overruns:0 frame:0

[09:06:07] TX packets:11 errors:0 dropped:0 overruns:0 carrier:0

[09:06:07] collisions:0 txqueuelen:1000

[09:06:07] RX bytes:1244 TX bytes:1460

[09:06:07]

[09:06:07]can0 Link encap:UNSPEC

[09:06:07] UP RUNNING NOARP MTU:16 Metric:1

[09:06:07] RX packets:0 errors:0 dropped:0 overruns:0 frame:0

[09:06:07] TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

[09:06:07] collisions:0 txqueuelen:10

[09:06:07] RX bytes:0 TX bytes:0

[09:06:07] Interrupt:31
在这里插入图片描述
在这里插入图片描述
可以看到已经可以正常上网了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北极……星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值