Multiple Ethernet Adapters Slows ENET1

I’m using a custom carrier board that utilizes both the built-in ethernet interface, and adds in an additional ethernet port through USB using the LAN9514 chip. I’ve never had issues in the past, everything has generally worked fine, and I haven’t made any changes to code or hardware, yet sometimes I experience some odd behavior on my connected built-in ENET port.

My intent is for the ENET port to be the main port used, and the LAN9514 to be an expansion port. I’ve got the ENET port connected to my network, and it sets up with an IP address and I can see it using the remote access tool, however, the traffic runs VERY slow. In fact, when I go to upload files to the hosted FTP server, I get failures every time. Files will load maybe a few kB, but then just stop… Same goes for the remote access using both VNC or the toradex ethernet utility… It will sometimes run, but then just locks up. At this time, this is only the ENET port being connected to my network…

After finding it strange that I’ve never had issues with this in the past, I connect the front ethernet port (the LAN9514 port) to my network, and all of the sudden, the ENET port starts working!

After discovering this, I’ve toyed around to see what combinations work, to where the ENET port would finally start working. I even disabled the LAN9514 port, and even with having it disabled under the Network and Dial-Up Connections, the rear ENET port would misbehave until I connected a cable to the LAN9514.

Has anybody ever experienced what I’m experiencing before? Is there some sort of registry linkage between multiple ports in WINCE? This has never been an issue on my boards in the past and has just happened out of nowhere.

Dear @mdeiss,

Thank you for contacting the Toradex community!

Did you try to test standalone ENET by commenting on USB Ethernet driver of LAN9514 or Colibri or Toradex carrier boards? if you can able to test, let me know PING or FTP or IPERF test results, let me do a similar test here and compare it with that. If you share Network infrastructure details that would be more helpful for us to reproduce the issue on our side.

Could you share additional ethernet port changes like cab installed or registry changes with driver files? Let me look at the changes to identify.

By any chance, do you have Colibri T20 or T30? If you have it, could you test with that and let us know the results?

Meanwhile, I will try to look details about this issue, if anything pops out then let you know ASAP.

Hello Raja,
Thanks for the response! I do have a LAN9514/SMSC9514 developers kit and have tested everything using both the viola and iris carrier boards. (it’s how i went to incorporate the LAN9514 chip into my carrier board design)

Both ethernet ports set up fine when connected, they each have their own IP address, are PINGable, and I can even see them through the remote access tools (both VNC and the toradex remote ethernet). They exist on the same subnets, for example
ENET1 can set up as
192.168.10.226 IP address
192.168.10.1 Gateway
255.255.255.0 Subnet
and
SMSC95001 can set up as
192.168.10.174 IP address
192.168.10.1 Gateway
255.255.255.0 Subnet

It is odd though, as whenever they are both connected, everything works and performs perfectly. It’s only when I disconnect the SMSC port that I can still see that ENET1 is set up, with ip address and all other network settings, and I can even log into it’s FTP access, however, the port just behaves very slowly, almost like it gets stuck whenever I try to upload to it. Sometimes the remote access even haves slower as well, like it skips some commands coming from the connecting PC.

I’m uncertain as to if there is some sort of shared resource used by ethernet ports to declare connection, but this is just odd behavior. I’ve never had issues with it in the past until I started tinkering more with both ports. Almost as if when I connect the SMSC port, or even a Wifi dongle, the board chooses to use that interface instead of the “always connected” ENET1 port. I do have the T30 here, however I don’t have any image set up on it where I can do any testing. All of my devices are the iMX6 dual core IT model.

ENET REGISTRY
ENET1 REGISTRY
SMSC9500 DLL FILE
SMSC9500 REGISTRY
SMSC95001 REGISTRY

Thank you for helping me look into this.

Also let me know if you’d like me to post a full copy of my devices registry. I don’t believe it has any data that I’d need to hide.

Dear @mdeiss,

Maybe we need to do all the possible test cases to find the issue. Also, I found this statement from "-Ethernet Hot Plug insertion/removal tests during 100% bandwidth utilization from Microchip driver release, it seems driver already supports hot plug and there is no bug.

Since I have limited setup, I can’t able to test all the possible cases.

May I request a few more test cases to understand the issue.

  1. If you have T30, Just import the SMSC9500 registry files, save registry and keep the driver in “\FlashDisk\System”. Reboot and attach SMC9500 USB cable to the T30 carrier board, You don’t need to build a custom image for that. Let me know if you any help with this.

  2. Run Toradex task manager to verify CPU utilization during the issue.

  3. Could you enable debug message and log the messages during the issue occurring and then share it with us.

  4. Did you go through this documentation and tried registry options? I am looking into it, let you know if I suspect anything there.