This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
您好!
由于超时、较早的线程已锁定、因此在此处创建新线程。 。 下面是我们面临的两个问题:
a)连接 USB 闪存驱动器时、我们会看到以下 dmesg 日志、并且未检测到 USB 闪存驱动器:
user.err 内核:[25222.819452] USB 1-1:器件描述符读取/64、错误-71
3月 5日23:29:54 BeagleBone user.info 内核:[25223.079452] USB 1-1:使用 musb-hdrc 重置高速 USB 器件编号55
3月 5日23:29:55 BeagleBone user.err 内核:[25223.519758] USB 1-1:器件不接受地址55、错误-71
3月 5日23:29:55 BeagleBone user.info 内核:[25223.659489] USB 1-1:使用 musb-hdrc 重置高速 USB 器件编号55
3月 5日23:29:55 BeagleBone user.err 内核:[25224.099591] USB 1-1:器件不接受地址55、错误-71
3月 5日23:29:55 BeagleBone user.info 内核:[25224.100124] USB 1-1:USB 断开连接、器件编号55
3月 5日23:29:55 BeagleBone user.info 内核:[25224.439405] USB 1-1:使用 musb-hdrc 的新型高速 USB 器件编号56
3月 5 23:29:56 BeagleBone user.err 内核:[25224.579635] USB 1-1:器件描述符读取/64、错误-71
3月 5 23:29:56 BeagleBone user.err 内核:[25224.839588] USB 1-1:器件描述符读取/64、错误-71
3月 5日23:29:56 BeagleBone user.info 内核:[25225.099601] USB 1-1:使用 musb-hdrc 的新高速 USB 器件编号57
3月 5 23:29:56 BeagleBone user.err 内核:[25225.239588] USB 1-1:器件描述符读取/64、错误-71
3月 5 23:29:56 BeagleBone user.err 内核:[25225.499470] USB 1-1:器件描述符读取/64、错误-71
3月 5日23:29:57 BeagleBone user.info 内核:[25225.759581] USB 1-1:使用 musb-hdrc 的新型高速 USB 器件编号58
3月 5日23:29:57 BeagleBone user.err 内核:[25226.199598] USB 1-1:器件不接受地址58、错误-71
3月 5日23:29:57 BeagleBone user.info 内核:[25226.339621] USB 1-1:使用 musb-hdrc 的新型高速 USB 器件编号59
3月 5日23:29:58 BeagleBone user.err 内核:[25226.779588] USB 1-1:器件不接受地址59、错误-71
3月 5 23:29:58 BeagleBone user.err 内核:[25226.779816] USB USB1-port1:无法枚举 USB 设备
2) 2)当我们插入 USB OTG 电缆(将闪存驱动器连接到该电缆)并在不到2秒的时间内将 OTG 电缆替换为微型 USB 电缆时、将无法检测到微型 USB 电缆。
下面是连接和拔下 USB OTG 电缆后连接 USB 电缆时的转储:
root@BeagleBone:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
b_idle
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
A_WAIT_VRISE
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
A_IDLE
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
A_IDLE
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
A_IDLE
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
b_idle
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
b_idle
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:99
此时未检测到 USB 电缆。 我们需要拔下并重新插入 USB 电缆、使其正常工作。 当我们执行此操作(即删除并重新插入)时、我们会看到以下日志
重新插入后:
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:99
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:91
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:89
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:81.
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:80
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:99
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:99
root@xxx:~# grep DevCtl /sys/kernel/debug/musb-hdrc.0/regdump
DevCtl:99
root@xxx:~# cat /sys/devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0/mode
B_外设
当 USB 闪存驱动器和 USB 电缆之间发生快速转换时、USB 状态机是否卡在上? 如果您需要更多日志、请告诉我。
此致、
法里亚
亚里亚
此测试中使用的内核是什么? 是否应用了修补程序?
[引用用户="Fariya Fatima"]
a)连接 USB 闪存驱动器时、我们会看到以下 dmesg 日志、并且未检测到 USB 闪存驱动器:
user.err 内核:[25222.819452] USB 1-1:器件描述符读取/64、错误-71
[/报价]
这种情况是在多个 USB 闪存驱动器上发生的、还是在前一个 e2e 线程中提到的 SanDisk 有问题的驱动器上发生的?
请尝试在 U-Boot bootargs 中添加以下参数、以查看问题是否仍然发生。
" usbcore.autosuspend=-1'
[引用 USER="Fariya Fatima]2)当我们插入 USB OTG 电缆(闪存驱动器连接到该电缆)并且在<=2秒内用微型 USB 电缆替换 OTG 电缆时、将无法检测到微型 USB 电缆。
USB 驱动程序使用2秒计时器轮询 USB 状态、在2秒内交换电缆会导致意外行为。 如果在您的用例中2秒是工具时间、我们可以缩短它、例如1秒。
您好、Bin、
我们将在试用最新的 Linux 内核(SDK v5.2中提供)后尽快与您联系。 感谢您的支持。
此致、
法里亚
您好、Bin、
我们试用了最新的5.2 SDK、并使用了内核 4.14.79-gbde58ab01e (SDK-Linux-AM335x-EVM-05.02.00.10)。 随附的内容。
继续前面的主题 http://e2e.ti.com/support/processors/f/791/t/763864?tisearch=e2e-sitesearch&keymatch=RNDIS%20issue 。 此内核没有您先前共享的补丁。 我们应用了此补丁、之后未检测到特定的 USB 闪存驱动器(SanDisk 64GB)。 请注意、这些闪存驱动器可以使用未修补的 USB 驱动程序。 这与之前的观察结果相同(在我们的内核4.9.31上)。
请找到随附的 musb_dspc.c
另一个问题是、我们观察到、即使没有连接设备(闪存驱动器)或 USB 电缆、USB ID 引脚也会每2秒升高一次。 驱动器每2秒轮询一次器件检测吗?
e2e.ti.com/.../5415.musb_5F00_dsps.c
此致
Dheeraj
您好、Bin、
希望您已阅读以下主题。
我们试用了最新的5.2 SDK、并使用了内核 4.14.79-gbde58ab01e (SDK-Linux-AM335x-EVM-05.02.00.10)。 随附的内容。
继续前面的主题 http://e2e.ti.com/support/processors/f/791/t/763864?tisearch=e2e-sitesearch&keymatch=RNDIS%20issue 。 此内核没有您先前共享的补丁。 我们应用了此补丁、之后未检测到特定的 USB 闪存驱动器(SanDisk 64GB)。 请注意、这些闪存驱动器可以使用未修补的 USB 驱动程序。 这与之前的观察结果相同(在我们的内核4.9.31上)。
请找到随附的 musb_dspc.c
另一个问题是、我们观察到、即使没有连接设备(闪存驱动器)或 USB 电缆、USB ID 引脚也会每2秒升高一次。 驱动器每2秒轮询一次器件检测吗?
您好、Bin、
我应用了两个补丁、但我仍然观察到相同的行为、我将更新捕获的范围结果。
此致
Dheeraj
您好、Bin、
很抱歉、以下 附件的相关延迟是检测到 USB (连接2GB)、未检测到 USB (连接64GB)。
e2e.ti.com/.../not_5F00_working.zipe2e.ti.com/.../working.zip
您好、Bin、
温和地说、如果需要任何其他信息、您能告诉我吗?
您好、Bin、
您是否有机会查看此问题?
此致
Dheeraj
我们将尝试向您发送画笔驱动器。 您将随时了解最新情况。
您好 Fariya、
我收到了 SanDisk 拇指驱动器、并在 TI 内核 ti2018.05 (在 Processor SDK Linux v5.2或 v5.3中)和社区内核 v4.9.30中进行了测试、并使用我之前在 AM335x GP EVM 上共享的以下补丁、但我无法重现问题 A)。 使用内核 v4.9.30时、我用 OTG 电缆插入/拔下了拇指驱动器50次、并插入/拔下拇指驱动器本身50次、所有这些都已正确枚举。
您是否在 AM335x GP EVM 上尝试过相同的测试? 或者您只在定制板上看到问题?
diff -git a/drivers/usb/musb_dsps.c b/drivers/USB/musb/musb_dsps.c index 9f125e179acd.88d31d14c6db 100644 -- a/drivers/usb/structureb/musb_dsps.c ++ b/drivers/usb/usb_dsps/gmusb_static @@@@ 9、ngdsps、nb、ngdsps、ngb、ngb、ngdsps、nids/dsps 切换(musb->xceiv->OTG->状态){ 案例 OTG_State_a_Wait_VRISE: - mod_timer (&cume->timer、jiffies + - mss_TO_jiffies (WRP->POLL_TIMEOUT); - 中断; + if (musb->port_mode == MUSB_port_mode_host){ + MUSB -> xceiv->OTG->状态= OTG_State_a_WAIT_BCON; + mod_timer (&cume->timer、jiffies + + mss_TO_jiffies (WRP->POLL_TIMEOUT); + 中断; +} + /*通过*/ + 案例 OTG_State_A_WAIT_BCON: musb_writeb (musb->mregs、MUSB_DEVCTL、0); SKIP_SESSION = 1;
您好、Bin、
谢谢。 需要应用的补丁如下(而不是您应用的补丁):
应用此补丁后、未检测到 SanDisk 笔驱动器。 如前所述、我们将使用我们的定制板进行此测试。
此致、
法里亚
您好 Fariya、
抱歉、我在上面的帖子中出现了复制和粘贴错误。 我已使用我应用于 v4.9.30内核的补丁对其进行了更正、该补丁与您应用的 v4.14补丁类似。
我试图弄清楚为什么我没有看到这个问题、但使用相同的拇指驱动器时、您会遇到这个问题。 您是否可以访问 AM335x GP EVM 以查看是否可以重现 EVM 的问题?
我将再次查看您的电路板原理图、看看我是否可以在那里找到任何东西。
您好 Fariya、
如果您的董事会自上次审查以来似乎已经过修订。 您可以向我发送最新的原理图吗?
您好 Fariya、
我收到了您的原理图。 谢谢。
我们之前要求将 USB ID 线路上的 R158替换为0欧姆、请进行更正。
请进行实验
在 VBUS 线路上添加120uF 电容;
-将 VBUS 线路上的 R159替换为0欧姆;
然后再次测试拇指驱动器。
您能否在 AM335x GP EVM 上进行相同的测试? 我无法重现您发送给我的 SanDisk 拇指驱动器的问题。
您好、Bin、
我们将根据您的建议进行实验、然后再向您回复。 我们没有要测试的 EVM。
此致
Dheeraj