[U-Boot-Users] FEC problem on MPC5200 board (Men PP01)

Jerry Van Baren gerald.vanbaren at smiths-aerospace.com
Wed Jan 4 17:13:01 CET 2006

Felipe Gil Castiñeira wrote:
> Hi everyone!
> I am porting U-Boot to "Men mikro elektronik" PP01 module (MPC5200). The
> FEC is integrated on the MPC5200 and the PHY is a LXT971ALE transceiver.
> U-Boot boots and recognizes the Ethernet device (I can read the PHY
> transceiver registers, change the LED status, etc.), but when I try to
> ping a target the system freezes (and the Watchdog resets the board).
> The behavior is just the same with tftp or bootp. 
> I am sure it is not a hardware problem, as I can transfer files (for
> example u-boot.bin) from a computer to the same module using the
> original monitor (MENMON).
>>From the debugging information *it seems the code fails in the function
> "mpc5xxx_fec_recv"*.  Furthermore, analyzing the network with Ethereal I
> can observe an ARP request generated by the PING and the corresponding
> answer (at this moment the watchdog resets the board). If I ping a non
> existent address the timer expires and I receive a "ping failed; host
> is not alive" (Ethereal detects the ARP request, but of
> course, there is not an ARP answer).
> Any idea? Thanks in advance.
> Best regards,
> 	Felipe.

I don't know anything about your hardware, but from your description of 
the results I would guess that you have your ethernet receive buffer 
pointer(s) pointing into non-existant memory (very likely) or else 
pointing in the middle of important code (e.g. u-boot or your variables).

Scenario A: When you receive a packet, you get a bus fault which crashes 
your machine.

Scenario B: When you receive a packet, it scribbles on your code and 
crashes your machine.

I suggest you check your memory configuration and Rx buffer initialization.


P.S. If you send a broadcast (ping your target will cause an arp 
broadcast) or a packet directed to your target's MAC address (use the 
command line arp command to add your MAC address on your host machine 
and then send a ping), I bet your target will crash.

More information about the U-Boot mailing list