我有一个模拟声卡和串行端口的复合 USB 设备。声卡部分按预期工作,但是我在尝试与该设备的 COM 端口通信时遇到问题。问题似乎是 com 端口没有被分配(或者我不明白它是如何分配的)。当插入端口时,运行 dmesg 会产生有关该设备的以下信息:
01 [ 55.328014] usb 8-2: new full-speed USB device number 2 using uhci_hcd
02 [ 55.497033] usb 8-2: New USB device found, idVendor=1fc9, idProduct=400f
03 [ 55.497038] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
04 [ 55.497042] usb 8-2: Product: TONE GENERATOR+CDC
05 [ 55.497045] usb 8-2: Manufacturer: CIE Engineering Inc Tgen4
06 [ 55.497048] usb 8-2: SerialNumber: 0001
07 [ 55.528800] usbcore: registered new interface driver snd-usb-audio
08 [ 55.529499] cdc_acm: probe of 8-2:1.2 failed with error -22
09 [ 55.529526] usbcore: registered new interface driver cdc_acm
10 [ 55.529529] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
我已在上面的日志中添加了“行号”以供参考。
第 01 行:新设备插入 USB 总线 8 设备 2。
第02-06行:卡的各种配置信息
第07行:识别虚拟“声卡”
第 08 行显示虚拟 com 端口 (cdc_acm) 错误
第09行显示了一个新的虚拟com端口的注册
第 10 行显示 ACM 驱动程序负载。
第 8 行显示的错误消息是“EINVAL”或“无效参数”,但第 9 行和第 10 行似乎表明驱动程序已“注册”。我希望的行为是将 com 端口分配给@ ttyACM0,但这并没有发生。在设备插入之前和之后检查 com 端口,没有发现新的 tty* 端口。
操作系统是 Ubuntu 14.04.5 LTS。