Jump to content

RK3399 DWC3 USB3.0 driver failed after recent kernel update


winnt5

Recommended Posts

After recent kernel update, USB3.0 ports no longer work, There is an error printed in kernel log. 

[    2.826383] phy phy-ff800000.phy.6: phy poweron failed --> -110
[    2.827119] dwc3 fe900000.usb: error -ETIMEDOUT: failed to initialize core
[    2.827881] dwc3: probe of fe900000.usb failed with error -110

I found this issue in NanoPC T4, but it might also appear in other RK3399 boards. 

lsusb didn't show any USB3.0 controller. 

Confirmed this isn't my hardware's problem, another board have this issue too. 

dwc3.txt

Link to comment
Share on other sites

2 hours ago, winnt5 said:

I found this issue in NanoPC T4

FWIW, I've been running 6.3.0-0.rc1 for 154 days, just rebooted to switch to 6.5.0-0.rc2.
USB will continue to work as before:

/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
        |__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=ax88179_178a, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M

Issue must be blamed on the build configuration, the kernel source code does not seem to introduce regression.

Link to comment
Share on other sites

1 hour ago, winnt5 said:

Do you test it on NanoPC T4?

Not only with the NanoPC T4, I'm running the same generic kernel build on all devices with aarch64 architecture. The only thing that is device-specific is the DTB, which informs the kernel about device-specific components.
There is no Armbian build system involved for me, hence my claim about the build configuration.

Link to comment
Share on other sites

1 hour ago, usual user said:

Not only with the NanoPC T4, I'm running the same generic kernel build on all devices with aarch64 architecture. The only thing that is device-specific is the DTB, which informs the kernel about device-specific components.
There is no Armbian build system involved for me, hence my claim about the build configuration.

After searching, I know kernel 6.5 rc2 is released before this bug appears. According to my tests, probably these two commits caused the problem.

usb: dwc3: don't reset device side if dwc3 was configured as host-only
Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"

Link to comment
Share on other sites

FWIW, with my NanopiM4 RK3399 on 6.1.50-current-rockchip6, I have usb drives disconnected when doing file transfer between them. Revert back to 5.15.93-rockchip64, it works fine.

 

> [ +39.294664] xhci-hcd xhci-hcd.3.auto: xHCI host not responding to stop endpoint command

> [  +0.013618] xhci-hcd xhci-hcd.3.auto: xHCI host controller not responding, assume dead

> [  +0.000049] xhci-hcd xhci-hcd.3.auto: HC died; cleaning up

> [  +0.000233] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x03 driverbyte=DRIVER_OK cmd_age=35s

> [  +0.000011] usb 3-1: USB disconnect, device number 2

> [  +0.000013] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x88 88 00 00 00 00 05 2d 19 ca e0 00 00 01 00 00 00

> [  +0.000011] I/O error, dev sda, sector 22231501536 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2

> [  +0.000188] usb 4-1: USB disconnect, device number 2

> [  +0.000014] usb 4-1.1: USB disconnect, device number 3

 

 

Link to comment
Share on other sites

FWIW, I've moved to 6.7.0.rc2 and the mainline USB regression can no longer be observed:

/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 2: Dev 6, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M

But new toys in town to play with:

Spoiler
fluster-run
***********************************************************************************************
FriendlyElec NanoPC-T4
CPU 0-3: schedutil 408 MHz - 1416 MHz
CPU 4-5: schedutil 408 MHz - 1800 MHz
6.7.0-0.rc2.22.fc37.aarch64+ #1 SMP PREEMPT_DYNAMIC Sat Nov 25 19:54:14 CET 2023
GStreamer-H.264-V4L2SL-Gst1.0
GStreamer-H.265-V4L2SL-Gst1.0
GStreamer-VP8-V4L2SL-Gst1.0
GStreamer-VP9-V4L2SL-Gst1.0
***********************************************************************************************
Running test suite JCT-VC-HEVC_V1 with decoder GStreamer-H.265-V4L2SL-Gst1.0

[TEST SUITE    ] (DECODER                      ) TEST VECTOR                     ... RESULT
----------------------------------------------------------------------
[JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2SL-Gst1.0) AMP_A_Samsung_7                 ... Success
...
[JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2SL-Gst1.0) WPP_F_ericsson_MAIN_2           ... Success

Ran 116/147 tests successfully               in 278.760 secs
***********************************************************************************************
Running test suite JVT-FR-EXT with decoder GStreamer-H.264-V4L2SL-Gst1.0

[TEST SUITE] (DECODER                      ) TEST VECTOR                         ... RESULT
----------------------------------------------------------------------
[JVT-FR-EXT] (GStreamer-H.264-V4L2SL-Gst1.0) alphaconformanceG                   ... Success
...
[JVT-FR-EXT] (GStreamer-H.264-V4L2SL-Gst1.0) HVLCPFF0_Sony_B                     ... Success

Ran 44/69 tests successfully               in 52.795 secs
***********************************************************************************************
Running test suite JVT-AVC_V1 with decoder GStreamer-H.264-V4L2SL-Gst1.0

[TEST SUITE] (DECODER                      ) TEST VECTOR                         ... RESULT
----------------------------------------------------------------------
[JVT-AVC_V1] (GStreamer-H.264-V4L2SL-Gst1.0) AUD_MW_E                            ... Success
...
[JVT-AVC_V1] (GStreamer-H.264-V4L2SL-Gst1.0) SVA_NL2_E                           ... Success

Ran 129/135 tests successfully               in 110.934 secs
***********************************************************************************************
Running test suite VP9-TEST-VECTORS with decoder GStreamer-VP9-V4L2SL-Gst1.0

[TEST SUITE      ] (DECODER                    ) TEST VECTOR                     ... RESULT
----------------------------------------------------------------------
[VP9-TEST-VECTORS] (GStreamer-VP9-V4L2SL-Gst1.0) vp90-2-00-quantizer-00.webm     ... Success
...
[VP9-TEST-VECTORS] (GStreamer-VP9-V4L2SL-Gst1.0) vp91-2-04-yuv444.webm           ... Error

Ran 228/305 tests successfully               in 329.996 secs
***********************************************************************************************
Running test suite VP8-TEST-VECTORS with decoder GStreamer-VP8-V4L2SL-Gst1.0

[TEST SUITE      ] (DECODER                    ) TEST VECTOR                     ... RESULT
----------------------------------------------------------------------
[VP8-TEST-VECTORS] (GStreamer-VP8-V4L2SL-Gst1.0) vp80-00-comprehensive-001       ... Success
...
[VP8-TEST-VECTORS] (GStreamer-VP8-V4L2SL-Gst1.0) vp80-05-sharpness-1443          ... Success

Ran 59/61 tests successfully               in 14.547 secs

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines