Problems using dual NIC with Linux images

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problems using dual NIC with Linux images

1,515 Views
CH1z
Contributor I

Hello all-

I'm using the i.MX28EVK, and I'm having a hard time bringing up the second NIC consistently. I initially ran into this was the ltib build I made, but then I grabbed the included Linux SD card, and it results in the same behavior. The frustrating thing is that every 4-5 boots or so it works (using the reference image), but the rest of the time it doesn't. When it doesn't work, I get the following in the serial session (from the reference image marked "MX28EVK Linux 110-77224 Rev c"):

/***********************/

eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)
PHY: 0:01 - Link is Up - 100/Full
PHY: 0:01 - Link is Down
PHY: 0:01 - Link is Up - 100/Full
PHY: 0:01 - Link is Down
PHY: 0:01 - Link is Up - 100/Full

/***********************/

I thought for a while that it might be a hardware issue, but the the Windows CE reference build works every time I boot it.

Labels (1)
0 Kudos
Reply
8 Replies

1,293 Views
katte
Contributor II

I got a fairly stable configuration.
I've deleted the line writel(1, fep->hwp + FEC_ECNTRL);
In the file drivers/net/fec.c, function fec_stop().

I've also modified the file /etc/rc.d/init.d/network, adding
ifconfig eth0 down
ifconfig eth0 up
ifconfig eth0 down
ifconfig eth0 up
(2 times)

at the end of the configuration of eth0..
Now it seems that the ethernet is configured and working everytime.

0 Kudos
Reply

1,293 Views
katte
Contributor II
0 Kudos
Reply

1,293 Views
katte
Contributor II

No it isn't an hardware issue, there is a bug in the network driver..
I've the same issue.
Look at this post:
http://forums.freescale.com/t5/i-MX-Microprocessors/iMX28-Network-MDIO-timeout-recovery-and-lost-IRQ...

I've tried to apply the patch in the kernel 2.6.35 but it fails.
I've applied the patch by hand, but the problem isn't resolved.
Then I've commented the line writel(1, fep->hwp + FEC_ECNTRL); in function fec_stop().
In my opinion this is the best solution, most of the time the ethernet works fine, but sometimes the problem returns.

0 Kudos
Reply

1,293 Views
tcmichals
Contributor III

Checked the rev, it is D.

0 Kudos
Reply

1,293 Views
CH1z
Contributor I

FWIW, eventually we were shipped a new EVK, which solved the issue. Our first board said "Rev. C" , but the new one that worked was marked "Rev D".

0 Kudos
Reply

1,293 Views
tcmichals
Contributor III

Yes, I'm having the same issue.

0 Kudos
Reply

1,293 Views
CH1z
Contributor I

Thanks for the reply. I'm actually talking about the dual interface on the reference board, rather than in the dev VM machine.

0 Kudos
Reply

1,293 Views
dingram1z
Contributor II

Are you running a native Linux host or Linux host under VMWare?  My EVK setup initially worked fine with Ubuntu host running under VMWare on a Win7 PC with a single NIC, but when I added a second dedicated NIC for the EVK ethernet link, It would no longer work.  I finally had Wireshark runnong on both the Windows side and the Ubuntu side of the (supposedly) same VMWare interface for the dedicated fixed IP link and could see packet traffic stalling on both sides.  I converted the Win7 machine to a true dual-interface Ubuntu setup and all problems disappeared.

Good Luck,

Darrell

0 Kudos
Reply