我有一个 NanoPi NEO LTS 运行最新版本的饮食派. 该主板有两个 USB 端口(一个微型和一个 2.0)和一个以太网端口。
我想要做的事情:
- 将以太网连接到与我的计算机不同的网络(然后我无法使用它来获取 SSH 连接)。
- 将微型 USB 连接到我的计算机以获得与 NanoPi 的串行连接。
- 将 USB 2.0 端口连接到计算机,用作 USB 大容量存储器(将文件拖放到 NanoPi)。
为了将 micro-USB 用作串行端口,我创建了以下服务/etc/systemd/system/u-serial.service
:
[Unit]
Description=Load u_serial kernel module
[Service]
Type=oneshot
ExecStart=/sbin/modprobe u_serial
[Install]
WantedBy=multi-user.target
为了将 USB 2.0 用作 USB 存储设备,我创建了一个新服务/etc/systemd/system/gadget-storage.service
和一个新目录/usb_storage
:
[Unit]
Description=USB gadget storage service
[Service]
Type=oneshot
ExecStart=/sbin/modprobe usb_f_mass_storage file=/usb_storage stall=0 removable=1 idVendor=0x0781 idProduct=0x5567 iManufacturer="NanoPi" iProduct="NanoPi Drive" iSerialNumber="1234567890"iProduct="$IPRODUCT" iSerialNumber="$ISERIALNUMBER"
[Install]
WantedBy=multi-user.target
到目前为止,USB 串行和 USB 小工具都无法工作。我该如何让它这样运行?
u-serial
并被usb_f_mass_storage
发现使用lsmod
。如果我能够g_acm_ms
在微型 USB 端口上使用(大容量存储 + 串行),那就更好了!
编辑:
我也尝试过使用 Armbian。添加以下几行可使/boot/armbianEnv.txt
串行连接可用/dev/tty.usbmodem14301
。
echo "dtoverlay=dwc2" >> /boot/armbianEnv.txt
echo "modules-load=dwc2,g_acm_ms" >> /boot/armbianEnv.txt
echo "g_acm_ms.file=/mnt/usb_storage" >> /boot/armbianEnv.txt
echo "g_acm_ms.stall=0" >> /boot/armbianEnv.txt
# Enable Serial forward service
sudo systemctl enable [email protected]
仍然无法检测到 USB 大容量存储。另外,如何更改 TTY 设备的名称?