linux-kernel - USB 设备路径中的最后一位数字是如何分配的/
问题描述
我正在尝试让 Raspberry Pi Zero 模拟 Cisco USB 控制台接口(非 FTDI 版本)。在高层次上,这实际上并不难:
- 在 Pi 上运行的
g_serial
驱动程序可以接受 Cisco idvendor 和 idproduct 参数,因此在 lsusb 输出上看起来大致相同 - Linux 主机使用相同的驱动程序 ,
cdc_acm
连接到 Pi 和 Cisco 设备
我遇到的一个问题是内核设备路径在两者之间略有不同。
- 思科:
/sys/bus/usb/devices/1-1.4.2:1.0
- 树莓派:
/sys/bus/usb/devices/1-1.4.2:2.0
Cisco 的设备路径以 . 结尾,:1.0
Raspberry Pi 以:2.0
. 我知道1-1.4.2
来自我在主机上使用的 USB 集线器,但我不知道后面的数字:
是如何分配的。所以我的问题是:
- devpath 中的最后一个数字是如何分配的?它来自主机还是附加设备?
- 我可以对
g_serial
驱动程序做些什么来使其更好地模拟 Cisco 设备并显示为:1.0
注意:我不想用 udev 规则来解决这个问题。我的目标是用 Pi 完全模拟 Cisco 设备。
解决方案
推荐阅读
- jenkins - 将 Jenkins 控制台输出记录到 S3
- amazon-web-services - 如何使用 AWS EKS 中的静态 DNS 向我的 vpc 中的所有用户公开 kubernetes 仪表板?
- python - 如何将所有 Brython 输出重定向到 textarea 元素
- reactjs - 如何将firebase与反应功能组件同步?
- python - Jupyter 中的 Matplotlib 内联 - 如何控制绘图何时显示?
- python - Sympy 一直在试图求解这个涉及 sigmoid 函数的方程
- c++ - 双打能够代表每个 int64_t 值吗?
- python - 如何模拟未按名称调用的函数?
- javascript - ng-disabled 不评估为假
- typescript - 如何使用从 .d.ts 文件导出的 Typescript 枚举?