使用usbmon调试usb时出现问题

使用usbmon调试usb时出现问题,usb,linux-device-driver,embedded-linux,usb-debugging,Usb,Linux Device Driver,Embedded Linux,Usb Debugging,我在omap3处理器上使用Linux 4.19.55 armv7l。在我的目标上有一个usb调制解调器,它通过gpio引脚值(在/sys/class/gpio下定义)获取电源。在某些情况下,我更改此gpio引脚的值参数以关闭硬件,并且在执行此操作时,经常会出现以下错误(由musb_handle_intr_disconnect from inside drivers/usb/musb/musb_core.c抛出): “musb_句柄\u intr_断开843:未处理的断开转换(a_空闲)” 我尝试

我在omap3处理器上使用Linux 4.19.55 armv7l。在我的目标上有一个usb调制解调器,它通过gpio引脚值(在/sys/class/gpio下定义)获取电源。在某些情况下,我更改此gpio引脚的值参数以关闭硬件,并且在执行此操作时,经常会出现以下错误(由musb_handle_intr_disconnect from inside drivers/usb/musb/musb_core.c抛出):

“musb_句柄\u intr_断开843:未处理的断开转换(a_空闲)”


我尝试通过挂载debugfs和使用usbmon从相关总线捕获数据来调试这个问题。总线id由lsusb输出标识,并通过观察/sys/kernel/debug/usb/devices进行确认。我观察到,每当出现上述错误时,usbmon无法捕获数据。在无错误的情况下,usbmon会捕获来自相关总线的流量。请帮助调试此问题。

刚刚检查了内核提交分支是否修复了此问题,该问题存在于粘合层处理的状态中。这是

我们现在在v5.13-rc1上。v5.10是LTS,您能在其中一个上复制吗?是的,这个问题也能在最新的内核上复制。我花了一些时间升级驱动程序的版本。我发现最新的内核也存在这个问题。嗯。。。在切换GPIO之前,调制解调器的驱动程序不应该注意总线静止吗?如果没有内核驱动程序,恐怕您对此无能为力。我建议将电子邮件发送到LinuxUSB@maillist。内核端usb驱动程序是在hub下的任何总线上注销设备的驱动程序。usb驱动程序的状态机处理仍在随着每一个新内核的发展而发展。其中一个提交帮助我解决了这个问题。提到的提交位于v5.6-rc1的内核中。你怎么会在上面的评论中说这个问题在最新的内核上也是可以重现的呢?我不明白这是怎么回事。安德烈,正如你在第一篇评论中提到的,这是因为我使用了v5.13。此外,解决方案也不太容易适应较旧的内核。我首先用5.13修补了4.19,当它不能像预期的那样工作时,我开始寻找针对usb问题的具体提交,这些问题涉及多个内核版本。因此,我们达成了解决方案。