需要rndis修改的部分的串口配置
# audio accessory configuration
on property:sys.usb.config=audio_source
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18d1
write /sys/class/android_usb/android0/idProduct 2d02
write /sys/class/android_usb/android0/functions${sys.usb.config}
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
修改之后的串口命令:
在串口下操作一下命令,更换adb模式到rndis模式
cd /sys/class/android_usb/android0/
echo 0 > enable //关闭adb模式
echo 0x1111 > idVender
echo ox2222 > idProduct
echo rndis > funtions
echo 1 > enable
如果在操作的过程中忘记命令,就进入:
vinewton-master/out/target/product/newton/root/init.usn.rc
打开init.usn.rc文件,查看adb的模式设置,然后再操作rndis功能模块。
验证的时候需要注意的地方
(1),可能会遇到的情况:
在实际操作的时候会出现ping 板子的IP不能ping通的情况
解决的方法:由于ping得命令是需要经过路由器的,所以,在经过路由器的时候直接就回被路由器截止,所以要验证板子和主机能够形成一个通路的情况就是拔掉网线。当然这个时候可能会出现一种情况是:主机个板子的IP都消失,当然不是真正的消失,此时,需要我们操作的是在root权限下,重新设置IP 主机还有开发板的地址,然后重新验证开发板和主机是否可以正常通信即可。
(2),拔掉网线出现的情况:
root@user-desktop:~# ifconfig
eth0 Linkencap:Ethernet HWaddr00:e0:4c:68:02:75
UPBROADCAST MULTICAST MTU:1500 Metric:1
RXpackets:171823 errors:0 dropped:0 overruns:0 frame:0
TXpackets:224871 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:54263761 (54.2 MB) TXbytes:17287411 (17.2 MB)
Interrupt:41 Base address:0xe000
lo Linkencap:Local Loopback
inetaddr:127.0.0.1 Mask:255.0.0.0
inet6addr: ::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:3139 errors:0 dropped:0 overruns:0 frame:0
TXpackets:3139 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:233388 (233.3 KB) TX bytes:233388(233.3 KB)
usb0 Linkencap:Ethernet HWaddrde:dc:b4:f2:06:7e
inet6addr: fe80::dcdc:b4ff:fef2:67e/64 Scope:Link
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:0 errors:0 dropped:0 overruns:0 frame:0
TXpackets:0 errors:58 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:0 (0.0 B) TX bytes:0 (0.0 B)
解决的方法:
ifconfig eth0192.168.2.66 //配置本机IP
ifconfig usb0192.168.2.220 //配置开发板的IP
配置完IP之后的现实情况:
eth0 Linkencap:Ethernet HWaddr00:e0:4c:68:02:75
inetaddr:192.168.2.66 Bcast:192.168.2.255 Mask:255.255.255.0
UPBROADCAST MULTICAST MTU:1500 Metric:1
RXpackets:171823 errors:0 dropped:0 overruns:0 frame:0
TXpackets:224871 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:54263761 (54.2 MB) TXbytes:17287411 (17.2 MB)
Interrupt:41 Base address:0xe000
lo Linkencap:Local Loopback
inetaddr:127.0.0.1 Mask:255.0.0.0
inet6addr: ::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:3219 errors:0 dropped:0 overruns:0 frame:0
TXpackets:3219 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:237996 (237.9 KB) TX bytes:237996(237.9 KB)
usb0 Link encap:Ethernet HWaddr de:dc:b4:f2:06:7e
inetaddr:192.168.2.220 Bcast:192.168.2.255 Mask:255.255.255.0
inet6addr: fe80::dcdc:b4ff:fef2:67e/64 Scope:Link
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0errors:0 dropped:0 overruns:0 frame:0
TXpackets:0 errors:58 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:0 (0.0 B) TX bytes:0 (0.0 B)
验证通信的时候:
root@user-desktop:~# ping 192.168.2.66
PING 192.168.2.66 (192.168.2.66) 56(84) bytes of data.
64 bytes from 192.168.2.66: icmp_req=1 ttl=64time=0.090 ms
64 bytes from 192.168.2.66: icmp_req=2 ttl=64time=0.054 ms
^C
--- 192.168.2.66 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time999ms
rtt min/avg/max/mdev = 0.054/0.072/0.090/0.018 ms
root@user-desktop:~# ping 192.168.2.220
PING 192.168.2.220 (192.168.2.220) 56(84) bytes ofdata.
64 bytes from 192.168.2.220: icmp_req=1 ttl=64time=0.079 ms
64 bytes from 192.168.2.220: icmp_req=2 ttl=64time=0.056 ms
64 bytes from 192.168.2.220: icmp_req=3 ttl=64time=0.058 ms
^C
--- 192.168.2.220 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss,time 1998ms
rtt min/avg/max/mdev = 0.056/0.064/0.079/0.012 ms
root@user-desktop:~# ping 192.168.2.222
PING 192.168.2.222 (192.168.2.222) 56(84) bytes ofdata.
From 192.168.2.66 icmp_seq=1 Destination HostUnreachable
From 192.168.2.66 icmp_seq=2 Destination HostUnreachable
From 192.168.2.66 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.2.222 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100%packet loss, time 4024ms
pipe 3
在验证通信是否正常的时候,只要是数据可以正常实现相应数据即可。
(2),让开机自动启动修改的配置文件的信息:
cd /home/hwwei/newton-demo/device/ingenic/newton/config
vi init.board.usb.rc
添加:
on property:sys.usb.config=rndis,adb
41 write/sys/class/android_usb/android0/enable 0
42 write/sys/class/android_usb/android0/idVendor 18d1
43 write/sys/class/android_usb/android0/idProduct 4ee7
44 write /sys/class/android_usb/android0/bDeviceClass0
45 write/sys/class/android_usb/android0/bDeviceSubClass 0
46 write/sys/class/android_usb/android0/bDeviceProtocol 0
47 write/sys/class/android_usb/android0/functions ${sys.usb.config}
48 write /sys/class/android_usb/android0/enable1
49 start adbd
50 setprop sys.usb.state ${sys.usb.config}
vi ../device.mk//添加系统默认属性为rndis
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
224 persist.sys.usb.config=rndis
cd /home/hwwei/newton-master/out/target/product/newton/root
vi default.prop
将里面的内容修改为:
1 #
2 #ADDITIONAL_DEFAULT_PROPERTIES
3 #
4 ro.secure=1
5ro.allow.mock.location=0
6ro.debuggable=1
7 persist.sys.usb.config=rndis,adb |