Sometimes Ethernet port lost when booting the system with USB 3.0 Disk plugged

Sometimes, when power on the system with USB 3.0 disk plugged, ETH0 port(R8153) cannot be found in system which is mounted on the board to USB 2, and there is no Ethernet USB detection message at all in kernel log. I have checked the hardware waveform of D- pin, and found the Voltage level change from low to high when booting up the system with USB 3.0 disk plugged.

The system uses R8153 as ehternet PHY connected to USB port 2, and USB type A port is connected to USB PORT1(usb 2.0).

Hi yhao,

Thanks, I will help check.

yhao,

Do you use devkit?

Hi Wayne,

No, I don’t use devkit. The board is self designed.

Can this issue be reproduced on devkit?

I’m not sure, don’t have devkit on hand.

Hi yhao,

Sorry that I have checked it with my devkit but cannot reproduce this issue. Are you able to enable ethernet manually when error happens?

No, I can’t enable it manually. When it happens, there is no r8153 device node under /dev directory, and no USB detection message for R8153 in kernel message.

A disk can take significant current. Are the rails to disk and USB ethernet related? Is this a USB3-capable disk connected to USB2, or are you saying a USB3 disk connected to USB3 and an ethernet connected to USB2?

Can you put the disk on a powered HUB to test?

Hi linuxdev,

I just put the U-disk on a HUB to test, the issue cannot be reproduced with or without powering HUB. It looks like the issue isn’t related to the power or current, but in linkage level.

On our board, U-disk is connected to USB1 which is USB2.0 port; while R8153 is connected to USB2 which is USB3.0.

PS: If USB3.0 disk is plugged without HUB after system booting up, some error message shows as below:
[ 506.456650] tegra-xhci tegra-xhci: ERROR: unexpected command completion code 0x11.
[ 506.666084] tegra-xhci tegra-xhci: ERROR: unexpected command completion code 0x11.
[ 506.874399] usb 1-2: device not accepting address 8, error -22

I’m not positive of the meaning of stating USB2 or 3…is USB2 versus USB3 preserved with and without the HUB? If you change errors by changing PHYs, while controllers remain constant, it strongly suggests signal quality as an issue (different PHYs have different tolerances to signal quality). If the change is instead also altering which controller is used, then it could be a number of other possibilities.

TK1 has 3 USB2.0 ports and one USB 3.0 port. USB 2.0 ports are named as USB1, USB2 and USB3(complexed as USB 3.0 port). On my board, Ethernet PHY is connected to USB3(USB 3.0), U-disk is connected to USB2(USB 2.0). I assume USB2 and USB3 are separated and don’t share the power.

The error changes by changing the time when plugging U-Disk. If U-Disk is plugged before powering on, Ethernet PHY lost sometimes; while U-Disk is plugged after system booting up, error messages shows but U-Disk and Ethernet work fine.

Is the HUB you are using USB2.0 or USB3.0? In cases where it works, can you show “lsusb -t” tree view?