我正在使用ST微控制器开发ttyACM设备,并且使用相同的代码,我的主机有时可以成功枚举它(下面),但有时它只是转储下面的消息。错误-32是什么意思?
[未能注册]
usb 1-2.1: new full speed USB device number 62 using ehci_hcd
usb 1-2.1: device descriptor read/64, error -32
usb 1-2.1: device descriptor read/64, error -32
usb 1-2.1: new full speed USB device number 63 using ehci_hcd
usb 1-2.1: device descriptor read/64, error -32
usb 1-2.1: device descriptor read/64, error -32
usb 1-2.1: new full speed USB device number 64 using ehci_hcd
usb 1-2.1: device not accepting address 64, error -32
usb 1-2.1: new full speed USB device number 65 using ehci_hcd
usb 1-2.1: device not accepting address 65, error -32
hub 1-2:1.0: unable to enumerate USB device on port 1
[成功结果]
usb 1-3.1: new full speed USB device number 45 using ehci_hcd
usb 1-3.1: New USB device found, idVendor=0483, idProduct=5740
usb 1-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3.1: Product: ChibiOS/RT Virtual COM Port
usb 1-3.1: Manufacturer: HelloWord
usb 1-3.1: SerialNumber: 262
usb 1-3.1: configuration #1 chosen from 1 choice
cdc_acm 1-3.1:1.0: This device cannot do calls on its own. It is not a modem.
cdc_acm 1-3.1:1.0: ttyACM0: USB ACM device
非常感谢。
答案 0 :(得分:5)
AFAIK状态-32表示"断管" (EPIPE)。这意味着usb通信(协议)存在问题。例如,usb-device没有正确回答usb请求,并发送一些主机不期望的数据或发送的数据不足。可能还有其他原因。
第一条消息告诉"获取设备描述符"和"设置地址"来自主机的请求。这些是主机在枚举过程开始时发送的基本请求。如果usb-device无法成功处理这些请求,您就无法继续前进。
答案 1 :(得分:1)
此错误可能是由于片上USB设备以错误的频率计时。检查时钟树配置。频率应为48MHz。如果稍微偏离,枚举有时可能会成功,有时会失败。如果它关闭,枚举将始终失败。可能存在各种错误,包括您列出的错误。
答案 2 :(得分:0)
我已经在一台笔记本电脑上安装了XCP-NG服务器,并且由于以下错误我的系统也没有启动:USB 3-1设备描述符读取/ 64,错误32
我尝试了很多事情。甚至断开USB端口。
直到我想起我已经删除了Xen的默认SR存储库。所以我去检查了/ etc / fstab文件
[root@xcpserver2 ~]# cat /etc/fstab
LABEL=root-jvgtod / ext3 defaults,noatime 1 1
LABEL=swap-jvgtod swap swap defaults 0 0
LABEL=logs-jvgtod /var/log ext3 defaults,noatime 0 2
/opt/xensource/packages/iso/XenCenter.iso /var/xen/xc-install iso9660 loop,ro 0 0
默认的SR信息库试图获取最后一行的内容。我试图发表评论,它奏效了!! :)我得出的结论是,/ etc / fstab文件存在问题时,也会显示此错误。希望对您有所帮助!
所以,我的/ etc / fstab文件现在看起来像这样,它解决了这个问题:
[root@xcpserver2 ~]# cat /etc/fstab
LABEL=root-jvgtod / ext3 defaults,noatime 1 1
LABEL=swap-jvgtod swap swap defaults 0 0
LABEL=logs-jvgtod /var/log ext3 defaults,noatime 0 2
#/opt/xensource/packages/iso/XenCenter.iso /var/xen/xc-install iso9660 loop,ro 0 0