我试图在 Ubuntu 15.04 下读取 USB/串行连接,而不是连接的真正“成员”。由于总线上只能有 2 个实例读/写。我已经使用 modprobe usbmon 启动 usbmonitor,现在我尝试使用wireshark 读取连接。它显示 usbmon 正常,但在我看来,好像只发送了标头和协议包。如果我使用终端模拟器发送一些号码,我找不到自己的消息。
答案1
尝试使用socat
。根据权限,您可能必须以 root 身份运行它。
picocom
下面是 socat在 FreeBSD 上使用 USB 串行连接记录与 pyboard之间传输的示例。
Socat 启动(作为 root)如下:
socat -d -v -x PTY,link=/tmp/serial,wait-slave,rawer \
/dev/cuaU0,rawer > & socat.txt
picocom 的启动方式(也以 root 身份)如下:
# picocom /tmp/serial
的部分内容socat.txt
。板子上的数据前面有“<”,我输入的数据前面有“>”
< 2017/10/01 15:37:57.488955 length=48 from=0 to=47
2e 32 20 6f 6e 20 32 30 31 37 2d 30 38 2d 32 33 .2 on 2017-08-23
3b 20 50 59 42 76 31 2e 31 20 77 69 74 68 20 53 ; PYBv1.1 with S
54 4d 33 32 46 34 30 35 52 47 0d 0a TM32F405RG..
54 79 70 65 Type
--
> 2017/10/01 15:38:01.181435 length=1 from=0 to=0
0d .
--
< 2017/10/01 15:38:01.247992 length=37 from=48 to=84
20 22 68 65 6c 70 28 29 22 20 66 6f 72 20 6d 6f "help()" for mo
72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0d re information..
0a .
3e 3e 3e 20 >>>
--
> 2017/10/01 15:38:05.413958 length=1 from=1 to=1
68 h
--
< 2017/10/01 15:38:05.416064 length=6 from=85 to=90
0d 0a ..
3e 3e 3e 20 >>>
--
> 2017/10/01 15:38:06.290046 length=1 from=2 to=2
65 e
--
< 2017/10/01 15:38:06.292079 length=1 from=91 to=91
68 h
--
> 2017/10/01 15:38:06.579576 length=1 from=3 to=3
6c l
--
< 2017/10/01 15:38:06.581082 length=1 from=92 to=92
65 e
--
> 2017/10/01 15:38:06.816570 length=1 from=4 to=4
70 p
--