This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

MPC860 Ethernet driver problem.


Hi All,

We have ported eCos to our custom MPC860 based board, and  we've run across 
a problem with the Ethernet driver. The problem is that when the Ethernet 
cable is disconnected from the board for more than a couple of seconds we 
lose LAN connectivity permanently. In other words, when we reconnect the 
LAN cable, we don't recover the connection.

I've had a look through the Ethernet driver in if_quicc.c and observed that 
when the LAN is disconnected the function quicc_eth_can_send() starts 
returning zero after a few transmission attempts, indicating that there are 
no free transmit buffers available. Once we get into this state we never 
recover from it.

I've implemented a quick brute force fix, which is to reinitialise the SCC 
when this condition is detected.  This seems to work but I'm not real 
pleased with it.

I'm unsure at the moment whether this is a generic problem, or something 
that is characteristic of our particular board. Has anybody else observed 
this problem, and if so come up with a more elegant solution?

Thanks in Advance

Geoff


------------------------------
Geoff Patch
Senior Software Engineer
CEA Technologies
Canberra Australia
02-6213 0141


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]