为什么Zaber设备不会出现在dev目录中?

时间:2017-03-21 00:42:53

标签: linux zaber

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

Bus 003 Device 023:ID 2939:495b

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

即使我插入了Arduino设备,Zaber设备仍然没有显示在/ dev目录中。

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

2 个答案:

答案 0 :(得分:1)

我根据以下链接解决了这个问题:https://github.com/arduino/Arduino/issues/1389

echo "0x2939 0x495b" > /sys/bus/usb/drivers/cdc_acm/new_id

答案 1 :(得分:0)

感谢您发布您的回答杰夫。

问题的可能原因是Zaber控制器使用CDC ACM实现USB,并将USB接口描述符的Protocol字段设置为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_acm/new_id

X-MCB1:

echo "0x2939 0x495a" > /sys/bus/usb/drivers/cdc_acm/new_id

A-MCB2:

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