Linux 为什么';tZaber设备是否显示在dev目录中?

Linux 为什么';tZaber设备是否显示在dev目录中?,linux,zaber,Linux,Zaber,我的Zaber设备是X-MCB2,它通过USB连接到我的电脑。命令lsusb可以如下所示显示其信息,但在/dev目录中找不到它 总线003设备023:ID 2939:495b 还有另一个Arduino设备也连接到我的电脑。与Zaber设备不同,这个Arduino设备工作良好,它在/dev中的名称是ttyACM0 即使我拔出了Arduino设备,Zaber设备仍然不会显示在/dev目录中 我的linux内核是2.6.32,这个Zaber设备不需要额外的驱动程序。我通过以下链接解决了这个问题: ec

我的Zaber设备是X-MCB2,它通过USB连接到我的电脑。命令lsusb可以如下所示显示其信息,但在/dev目录中找不到它

总线003设备023:ID 2939:495b

还有另一个Arduino设备也连接到我的电脑。与Zaber设备不同,这个Arduino设备工作良好,它在/dev中的名称是ttyACM0

即使我拔出了Arduino设备,Zaber设备仍然不会显示在/dev目录中


我的linux内核是2.6.32,这个Zaber设备不需要额外的驱动程序。

我通过以下链接解决了这个问题:


echo“0x2939 0x495b”>/sys/bus/usb/drivers/cdc\u acm/new\u id
感谢您发布您的答案

问题的可能原因是Zaber控制器使用CDC ACM实现USB,并将USB接口描述符的协议字段设置为0(表示设备不接受AT命令)

在Linux 2.6.32中,CDC ACM内核驱动程序,它应该处理设备 对于这种类型,其编写方式使其无法控制 协议字段为0的设备(而是具有特定的 它接受的协议编号,但该列表不包括0)。相反,您必须像在发布的解决方案中那样手动附加它

这个问题在内核2.6.36中得到了修复

以下是将通过USB手动连接Zaber控制器的命令列表:

X-MCB2:

echo“0x2939 0x495b”>/sys/bus/usb/drivers/cdc\u acm/new\u id

X-MCB1:

echo“0x2939 0x495a”>/sys/bus/usb/drivers/cdc\u acm/new\u id

A-MCB2:

echo“0x2939 0x459”>/sys/bus/usb/drivers/cdc_acm/new_id

命令“lsusb-t”,Zaber设备的驱动程序为空,而Arduino设备的驱动程序为cdc_acm。两者都是1200万美元。