Repeatedly getting "Link is Up / Link is Down" with L3.0.35-4.0.0 Kernel

cancel
Showing results for 
Search instead for 
Did you mean: 

Repeatedly getting "Link is Up / Link is Down" with L3.0.35-4.0.0 Kernel

7,595 Views
DonaldR_PooleJr
Contributor I

Hello All,

I have 2 Boundary Devices SABRE Lite boards with the latest and greatest Freescale L3.0.35_4.0.0 kernel installed on both.  But, I'm having a problem establishing network connectivity on one of my boards because it keeps reporting "Link is up" and then "Link is down" (i've tried switching out ethernet cables and checking the switch that the devices a plugged into to make sure it was working).  It eventually stops reporting "Links is up" and "Link is down" after some time, with a "MDIO read timeout mii_id=6" error within the system log.  Here are two things that I notice when comparing the 2 boards:

  • The board that does not exhibit the "Link is up" / "Link is down" issue has it's networking interface configured as eth0
  • The board the does exhibit the "Link is up" / "Link is down" issue has it's network interface configured as eth1

I did google this issue and found that others were having this issue 1-2 years ago on the Freescale 2.6.35 kernel, but patches were created/submitted and the problem resolved.  I looked at some of the patches to see if I could apply them, but a lot has changed in the kernel since 2.6.35 and 3.0.35. So I didn't bother.

Has anyone else experience this issue on this device with the latest Freescale kernel?  Could this possibly be a regression?  Any insight and/or guidance would be greatly appreciated.  Thanks in advance.

Labels (2)
0 Kudos
24 Replies

1,628 Views
Yuri
NXP TechSupport
NXP TechSupport

Hello,

  Please look at the following

i.MX6 Linux kernel 3.0.35-4.0.0 - Boundary Devices 

Regards,

Yuri.

0 Kudos

1,639 Views
LeonardoSandova
Specialist I

Naïve question: You have not observed these messages on your Linux Host, right?

Leo

0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

I have observed these messages on my linux host in the system log (/var/log/syslog).

0 Kudos

1,639 Views
LeonardoSandova
Specialist I

So it seems that is not a iMX related issue.. Sorry, I can not help much.

0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

Is the Freescale 3.0.35 kernel (and associated drivers) not related to iMX? Because it is looking liked the kernel's ethernet driver has a bug of some kind. I've done some more experiments and it's looking like a kernel regression for the ethernet driver.

Message was edited by: Donald Poole, Jr.

Message was edited by: Donald Poole, Jr.

0 Kudos

1,639 Views
LeonardoSandova
Specialist I

Hi,

but if you see the same messages on your x86 host, why do you think it is iMX related? Perhaps I am not understanding the problem correctly. Regarding the Kernel, there are many iMX's commits, specially on the driver area.


Leo

0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

My error in misunderstanding your earlier question. I actually don't see the same messages repeatedly reported on my x86 host. Just on one of my iMX ARM SABRE Lite boards (boundary devices).  I was trying to see if anyone else experienced the same issue on the SABRE Lite with a Debian rootfs and the latest Freescale Kernel (4.0.0).

0 Kudos

1,639 Views
LeonardoSandova
Specialist I

EricNelson any idea?

0 Kudos

1,639 Views
EricNelson
Senior Contributor II

No clue, but we've had multiple reports of this, and always from those using Debian.

My best guess at the moment is that Debian is either hitting the PHY driver differently from other distributions or that it's doing this on purpose for some reason.

I'm going to grab a Debian HF image and test this out.

Meanwhile, Donald, can you forward the syslog output of a boot when this is happening? That may provide some clues.

0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

Hello Eric,

Just for grins, I install the ubuntu 13.04 hard-float image with the Freescale 4.0.0 kernel, and the same issue was exhibited. So, I did some further digging and swapped my switch for another switch (both switches are 10/100) and the same issue occured (I tested this on both SABRE Lite boards I have).  I then found a Gigabit switch and the problem went away (both SABRE Lite boards masterfully established a Gigabit link).  So, it seems that the Freescale driver has a problem negotiating link speeds for anything less than a Gigabit connection.  But, the driver does support 10/100/1000 link speeds.  Unfortunately, I just can't switch to my Gigabit switch because my current project doesn't call for one.

Is there a known issue with the ethernet driver for the SABRE Lite not being able to properly negotiate links speeds less than a Gigabit?

0 Kudos

1,639 Views
EricNelson
Senior Contributor II

Hi Donald,

There aren't any known issues with 10/100, though the time-to-link is generally higher on 10/100 switches.

There is a U-Boot environment variable called 'disable_giga' that will disable Gb and might help:

U-Boot > setenv disable_giga 1
U-Boot > saveenv && reset
0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

Hello Eric,

Thanks for the info regarding the disable_giga environment variable, but it still didn't help.  I'm still getting the "Link is up" / "Link is down" issue.  Your correct that the time-to-link is higher (several orders of magnitude higher), but even if/when the link is established, it drops it randomly (I've verified this on several 10/100 switches).  I'm completely out of ideas on how to resolve this issue, but I really need a stable 10/100 link to move forward on my project.

Do you have any other ideas for me to try or any other insight?

0 Kudos

1,628 Views
Tarek
Senior Contributor I

Hi Donald,

Is your unit getting too hot? Can find out what is the temperature when the problem occurs?

Use this command:

"cat /sys/class/thermal/thermal_zone0/temp "

Thanks

0 Kudos

1,628 Views
DonaldR_PooleJr
Contributor I

Hello Tarek,

Thanks for your response.  This issue is occurring right after booting the kernel and bringing up the network interface. So, the board should be "cold" if not at operating temperature.  But, the board that I left running over the weekend reports 61.  I'm assuming this number is units of celsius?

0 Kudos

1,628 Views
rajendrabaniyav
Contributor I

Hi,

Is this resolved? I have exactly same issue with some of the boards.

regards

Rajendra

0 Kudos

1,628 Views
Tarek
Senior Contributor I

I think it's in Celsius. Anyway 61 should not be a problem as far as I understand.

0 Kudos

1,639 Views
EricNelson
Senior Contributor II

Hi Donald,

I'm unable to repeat this.

I grabbed this image:

     http://s3.armhf.com/debian/wheezy/imx/debian-wheezy-7.0.0-armhf-minfs-3.9.1-imx4.img.xz

As discussed on this page:

     http://www.armhf.com/index.php/boards/nitrogen6x-sabre/

And overlaid this kernel:

     http://commondatastorage.googleapis.com/boundarydevices.com/linux-nitrogen6x-3.0.35_4.0.0-20130713.t...

Things just worked on several boards.

Note that I did have to add a line into /etc/inittab to get a serial login:

T0:23:respawn:/sbin/getty -L ttymxc1 115200 vt100

I also had to add an entry into /etc/network/interfaces for each new board I booted.

auto eth1
iface eth1 inet dhcp
auto eth2
iface eth2 inet dhcp

To test, I grabbed iperf and saw a pretty stable 450+Mb/s upload and 550+Mb/s download.

Can you confirm the origin of your Debian image?

0 Kudos

1,639 Views
hake
NXP Employee
NXP Employee

I am not sure whether this w ork for you or not, but in my environment I change the file as below:

iface eth0 inet manual

iface wlan0 inet manual

which works fine for me

0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

Thanks Yong for your response. Although this works for me as well, I believe it's masking a greater problem with the ethernet driver.  I just might end up having to use it though.

0 Kudos

1,639 Views
DonaldR_PooleJr
Contributor I

Hello Eric,

I deployed the http://s3.armhf.com/debian/wheezy/imx/debian-wheezy-7.0.0-armhf-minfs-3.9.1-imx4.img.xz and overlaid this kernel you pointed to, but I still get the "Link is up" / "Link is down" messages in my syslog as seen here. Although, it behaves a little different with that image. Before, the board would display the link up/down messages and eventually (after 1-3 minutes) establish a link and keep the link. Now, with the new Debian image, and the Freescale Kernel, the board will keep dropping and re-establishing its link.  It's very strange.

0 Kudos