设置工作环境
USBnet 设置
为了使用USB网络,我们在系统上默认启用了RNDIS和DHCP。
Windows
-
通过Type-C线将Duo与电脑连接。
-
"RNDIS" 设备出现在设备管理器中。
- 选择 "RNDIS "并右键单击以更新驱动程序。
- 选择 "Browse my computer for drivers"
- 选择 "Let me pick from a list of available drivers on my computer"
- 选择 "Network adapters"
- Manufacturer/Model: Microsoft/USB RNDIS Adapter
- 忽略警告信息
- 驱动程序更新成功
- 检查 "USB RNDIS Adapter"
- 找到IP并使用ping来测试网络
Linux
一般来说,Linux可以使用RNDIS而无需配置。
你可以使用命令ip来检查usb0网络。
neko@milk-v:~ sudo dmesg | grep usb0
[1055270.386719] rndis_host 1-2.1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-2.1, RNDIS device, aa:53:5d:bb:7f:28
[1055270.423753] rndis_host 1-2.1:1.0 enxaa535dbb7f28: renamed from usb0
neko@milk-v:~ ip addr show enxaa535dbb7f28
15: enxaa535dbb7f28: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 42:a2:79:19:7f:e3 brd ff:ff:ff:ff:ff:ff
inet 192.168.42.69/24 brd 192.168.42.255 scope global dynamic noprefixroute enp0s20f0u1
valid_lft 3569sec preferred_lft 3569sec
inet6 fe80::3c92:ed74:3475:cb9c/64 scope link noprefixroute
valid_lft forever preferred_lft forever
neko@milk-v:~ ping 192.168.42.1 -c 5
PING 192.168.42.1 (192.168.42.1) 56(84) bytes of data.
64 bytes from 192.168.42.1: icmp_seq=1 ttl=64 time=0.334 ms
64 bytes from 192.168.42.1: icmp_seq=2 ttl=64 time=0.287 ms
64 bytes from 192.168.42.1: icmp_seq=3 ttl=64 time=0.275 ms
64 bytes from 192.168.42.1: icmp_seq=4 ttl=64 time=0.287 ms
64 bytes from 192.168.42.1: icmp_seq=5 ttl=64 time=0.266 ms
--- 192.168.42.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4096ms
rtt min/avg/max/mdev = 0.266/0.289/0.334/0.031 ms
neko@milk-v:~
macOS
没有RNDIS的官方驱动程序。我们需要安装HoRNDIS.
- 下载HoRNDIS驱动程序
- Intel https://github.com/jwise/HoRNDIS/releases
- Apple silicon https://github.com/jwise/HoRNDIS/files/7323710/HoRNDIS-M1.zip
-
禁用系统完整性保护
a. 进入macOS恢复系统
请参考 macOS 用户指南 -> 恢复 进入恢复模式.
b. 打开终端,输入以下命令
csrutil disable
csrutil enable --without kextc. 重新启动Mac
-
安装压缩包中的Kext扩展
-
检查网络设置
SSH
- 打开终端,输入 ssh [email protected], 并回答是
- 输入密码 milkv (密码将不显示在屏幕上)
- 登陆成功
修改 RNDIS 的 IP 地址
USB 网络 RNDIS 默认的 IP 地址是 192.168.42.1
,如果您需要修改这个地址,比如同一台电脑接入多台 Duo 设备时,每一台 Duo 的 RNDIS IP 需要设置为不同,可以通过在 Duo 设备内修改如下两个文件实现:
/mnt/system/usb-rndis.sh
#!/bin/sh
/etc/uhubon.sh device >> /tmp/rndis.log 2>&1
/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1
/etc/run_usb.sh start rndis >> /tmp/rndis.log 2>&1
sleep 0.5
ifconfig usb0 192.168.42.1
count=`ps | grep dnsmasq | grep -v grep | wc -l`
if [ ${count} -lt 1 ] ;then
echo "/etc/init.d/S80dnsmasq start" >> /tmp/rndis.log 2>&1
/etc/init.d/S80dnsmasq start >> /tmp/rndis.log 2>&1
fi
/etc/dnsmasq.conf
interface=usb0
dhcp-range=192.168.42.2,192.168.42.242,1h
dhcp-option=3
dhcp-option=6
串行控制台
USB-TTL串口模块
USB-TTL模块的每个针脚定义如下:
连接
如下图所示,连接USB到TTL串口模块,不要连接红线。
Milk-V Dou | <---> | USB 转 TTL 串口 |
---|---|---|
TX (pin 16) | <---> | 白色线 |
RX (pin 17) | <---> | 绿色线 |
GND (pin 18) | <---> | 黑色线 |
Duo u-boot和内核控制台的默认串行设置是:
baudrate: 115200
data bit: 8
stop bit: 1
parity : none
flow control: none