减少 FTDI UBS-to-RS-232 适配器上的请求延迟

Rob*_*nes 4 wine usb serial-port

我正在使用 ElmScan5 扫描工具,它在 Ubuntu 14.04 (Trusty Tahr) 上的Wine 1.6.2下使用 FTDI USB-2- RS-232串行转 USB 芯片。

延迟非常高,我找到了关于如何在 Windows 上减少延迟的建议,但我不确定如何在 Linux 上做类似的事情。

在 Windows 的 COM 端口下,有一个选项可以减少延迟计时器:

调用设备管理器,找到您的 USB 端口。(1) 调用属性;(2) 呼叫高级 (3) 将延迟计时器从 16 更改为 2 或 1 毫秒。

为了让软件在 Wine 下工作,我必须将以下内容添加到 Wine 注册表文件中:

[Hardware\\Devicemap\\Serialcomm] 1015709345
"Serial0"="COM1"
Run Code Online (Sandbox Code Playgroud)

所以我不知道这是 Linux 还是 Wine 问题。

Rob*_*nes 5

好的,这是答案(尚未测试但看起来不错):

# cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
16
# echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
# cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
1
Run Code Online (Sandbox Code Playgroud)

唯一令人讨厌的是,每次拔掉插头然后重新插入设备时,或者至少每次重新启动时,我似乎都必须手动设置它。

  • 阅读内核源代码(4.11),您似乎可以从使用 `TIOCSSERIAL` ioctl 的 shell (setserial /dev/ttyUSB0 low_latency) 设置相同的内容。 (3认同)
  • “echo 1 >...tty...”即使对于 sudo 也总是被拒绝,而“setserial /dev/ttyUSB0 low_latency”效果很好 (2认同)