我有一个带有自定义linux内核的运行arch的cubieboard2。在我插入usb串行设备(就像arduino)的cubieboard2中,该设备被识别为CDC ACM。我的linux内核在配置中启用了CDC选项,就像我在这个页面中看到的那样,但是,我不能使用应用程序minicom或pyserial来使用串口/dev/ttyACM0。
Minicom只是说它不能打开串口。Pyserial能够打开端口,但是当我尝试读取它时,结果是:
SerialException:设备报告准备读取,但没有返回数据(设备断开或端口上的多个访问?)
然而,在pyserial中,如果我试图写一个字节,结果是不同的:
SerialException:写入失败:Errno 5输入/输出错误。
当我关闭串口时,它会更改它的名称,换句话说,当我关闭/dev/ttyACM0时,它会更改为/dev/ttyACM1。
我已经在我的笔记本电脑上试用过我的设备,它对pyserial和minicom都很好。
cubieboard2信息:
$ uname -a
Linux alarm 3.4.61-rt77-ARCH+ #10 SMP PREEMPT RT Thu Apr 17 13:58:20 BRT 2014 armv7l GNU/Linux我的内核配置文件:http://pastebin.com/raw.php?i=6LfsRyek
我猜它缺少启用某些内核选项的功能,但我不知道是哪个。
有什么想法吗?
发布于 2015-07-25 12:01:17
在我看来问题是你的设备。它可能枚举OK,但是在执行进一步的通信时会意外地运行。尝试在usbmon中使用Wireshark (如果没有X会话,则最终使用tshark )。ttyACM1名称通常是由于通信错误后重新枚举造成的.
https://unix.stackexchange.com/questions/125285
复制相似问题