ARM Technical Support Knowledge Articles

The Ethernet interface on my PB926/AB926 board has stopped working

Applies to: AB926, PB926

Answer

It is possible that the EEPROM which stores that configuration data for the Ethernet controller IC has become corrupted.

The Versatile/PB926EJ-S and Versatile/AB926EJ-S boards incorporate an RJ-45 Ethernet socket, which is driven by an SMSC LAN91C111 Ethernet controller IC. Some users have reported problems with these boards where the supplied selftest.axf program cannot find the board’s Ethernet interface, or an OS with Ethernet support can no longer initialize this interface.

The default set-up parameters for LAN91C111 device, including the controller base address and the Ethernet MAC address are stored in a serial EEPROM, which is connected directly to the Ethernet controller via its own, dedicated interface. The Ethernet controller reads these set-up parameters from the EEPROM at reset, and optionally when commanded to do so under software control. The ARM processor has indirect access to the EEPROM via some registers in the Ethernet controller IC. This is the mechanism used to program the set-up values at the time of board manufacture.

Unfortunately, there is no protection mechanism to prevent inadvertent writes to the EEPROM. The write process is initiated simply by writing to one bit in a control register inside the LAN91C111 and once started; the write algorithm is completely handled by the controller IC hardware. This means that it is relatively easy for the EEPROM to become corrupted by faulty software running on the ARM processor.

The ‘Fix_EEPROM’ utility attempts to identify a corrupted Ethernet configuration EEPROM and if found, reprograms it with factory default values. It also allows the user to program any Ethernet MAC address into the board. This utility can be downloaded from the Fix_EEPROM download page.

Article last edited on: 2009-01-20 17:20:25

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential