I have two Linux machines that I'm trying to connect via wired ethernet. I've tried both a straight-through cable and the same cable through a crossover adapter. When connected this way, both computers appear dead to each other. The lights are out on the ethernet ports, and both computers report that the link is not ready. However, when I connect both machines to a switch, everything works: lights come on, dmesg reports ready links, machines can ping each other. This leads me to believe that they are at least set up correctly (/etc/network/interfaces, routing tables etc), and that I may be facing some other type of problem. What may be causing this? It's as if both machines are waiting for the other side to come alive. Do I need to put the ethernet interfaces in some sort of 'recognizable mode' or perform some other magic for this to happen? Googling the issue gives a bunch of answers, all pretty much amounting to "make sure both machines are in the same IP range and check your cable".

Edit: the "computers" are 2x Toradex Apalis iMX6Q mounted on Ixora carrier boards. http://developer.toradex.com/product-selector/apalis-imx6 http://developer.toradex.com/product-selector/ixora-carrier-board

Since posting, I've learned that Toradex themselves face the same issue when duplicating my setup, so right now I'm awaiting a possible solution from their side.

Edit 2: it works now, the problem was in the physical layer and was fixed by a change to the Linux kernel.

  • Connecting two computers requires a crossver cable. Are you sure that the crossover adapter is the right kind of adapter for this? – jcbermu Sep 3 '15 at 9:52
  • No, but it was the only one I could find in any of the stores around here. It says "UTP Cat5e Crossover Adapter" and "for direct connection between 2 computers", so I guess it's the right thing.. unless of course it's broken. Also, I understand most NICs since at least a few years back should be able to figure out how to use a straight-through cable for this too? – Emil Fors Sep 3 '15 at 9:54
  • Crossover cables and crossover adapters don't work if the interfaces are configured as gigabit ethernet. – jcbermu Sep 3 '15 at 10:02
  • Oh, ok, didn't know that. But if that's the case, the cable should work without the crossover adapter, shouldn't it? – Emil Fors Sep 3 '15 at 11:14
  • 1
    @jcbermu, a true crossover cable where all four pairs are correctly crossed over will work on 1000BASE-T, and, if it only crosses two pairs, with auto-negotiation enabled, it will connect at 100BASE-TX. – Ron Maupin Sep 3 '15 at 14:06

I don´t know how old your computers are, but, seems to be a MIDx problem. Switches can do that, they detect de link and then do the cross over or not, if they have de MIDx function in auto mode.

Crossover cable is used to link 2 equipment with the same type, and straight-through cable, 2 different equipment

  • They're very new. Question updated with info. – Emil Fors Sep 3 '15 at 15:07

The problem has been resolved. It turned out to be due to a glitch in the Linux kernel PHY, where it would sometimes not be returned to the proper state. I am unsure as to whether this applies to Toradex Apalis modules only, but leaving the question and this answer in case it may help someone else in the future. Here's a commit fixing the problem:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.