James Kimble

Logic MCF5485EVB with Linux BSP (v2.6.10); NFS problems and bus clock speed....

Discussion created by James Kimble on Nov 15, 2007
Latest reply on Mar 7, 2008 by Klaus Kuehnhammer

After many weeks of effort I am finally up and running with Linux on a custom board that is a close (well, similar) copy of the Logic MCF5485EVB evaluation board. All peripherals are working and it's definately a thing of beauty!

The very last problem I encountered was so odd that I wanted to post it here in case someone else encounters this. I had to make many changes to the colilo boot loader and to the kernel to get things to begin to boot. I got to the point where everything seemed to be coming up but the boot process would halt at the point of starting the web server. It would simply stop and go no further. The solution to this problem turned out to be an issue with a fault mask of the FEC (FEC_FECTFCR_MSK) allowing the FEC to ignore underflow errors (Thanks Ken, I'd have never found that one). That allowed my board to boot up to a shell prompt but, though many things worked at this point, programs that needed to write back to the NFS mounted file system would not work (adduser, passwd, etc). Also I was seeing many "NFS not responding" and timeout messages. It would often take over a minute for the boot process to complete because the network services were taking so long. Obviously NFS was not stable but all my configurations on both my development server and on the embedded side were correct. Experimenting with various r/w packet sizes, tcp Vs udp, other nfs settings yielded no real improvement.

My custom board was designed to run at 172MHz from a 43MHz clock whereas the evaluation board was running at 200MHz with a 50MHz clock. Though I didn't think it would help my network problem I wanted to get some extra speed so I replaced the 43MHz clock on my board with a 50MHz making it the same as the evauation board. To my complete surprise this corrected my NFS problems! No idea why or how. I wish I did know how this could effect NFS but for now I'm happy to have a working system. Still, not understanding is bad. I'd have never done this to fix the NFS problem I  was simply looking for more performance from the board.

If anyone has an explanation I'd love to hear it. For anyone else just keep in mind my experience in working with this Linux BSP for the MCF5485EVB. It obviously has some sensitivity to clock speed (other than the console baud rate of course).