[ECOS] FW: Can't get SMSC 91C111 to transmit.

Joe Porthouse jporthouse@toptech.com
Mon Jul 17 17:40:00 GMT 2006



            I am attempting to get the Ethernet working on a new hardware
design and I am running into difficulty getting the
driver/controller/hardware to transmit a packet.


            My platform is a PXA255 with a SMSC LAN91C111i-NU Ethernet
Controller.  I am using a known working Redboot firmware configuration (on a
PXA255/SMSC 91C111) to test out the Ethernet functionality on this hardware.


            The Serial EEPROM is currently blank, but I am specifying the
MAC address using FCONFIG in Redboot as:


Run script at boot: false

Use BOOTP for network configuration: false

Gateway IP address:

Local IP address:

Local IP address mask:

Default server IP address:

Console baud rate: 115200

Set eth0 network hardware address [MAC]: true

eth0 network hardware address [MAC]: 0x18:0xF0:0x9F:0xE5:0x18:0x80

GDB connection port: 9000

Force console for special debug messages: true

Console number for special debug messages: 0

Network debug at boot time: true


            I have turned on the debugging in the SMSC driver and receive
the following on startup:

9875430+00021LAN91CXX - supposed BankReg @ 800030e = 3300

LAN91CXX - type: 9, rev: 2

LAN91CXX - status: 0000

Got ESA from RedBoot option

LAN91CXX - ESA: 18:f0:9f:e5:18:80

Ethernet send:

0000B6B4: FF FF FF FF FF FF 18 F0  9F E5 18 80 08 06        |...Ethernet

00011064: FF FF FF FF FF FF 00 0F  1F 14 8A 86 08 06        |..............

Ethernet eth0: MAC address 18:f0:9f:e5:18:80

IP:, Gateway:

Default server:


RedBoot(tm) bootstrap and debug environment [ROM]

Non-certified release, version W468 V3I4 - built 17:28:27, Jul 16 2006


Platform: TTRCU (XScale PXA255) 

Copyright (C) 2000, 2001, 2002, Red Hat, Inc.


RAM: 0x00000000-0x04000000, [0x00400000-0x03fb1000] available

FLASH: base 0x50000000, size 0x02000000, 128 blocks of 0x00040000 bytes



            Using Ethereal to monitor the Ethernet traffic I see no packet
being transmitted during startup.


            When I attempt to ping the hardware from a PC the ping fails.
On the Ethernet traffic monitor I can see the “ARP - Who Has
Tell” message going to the hardware, but no response.  Redboot
must be receiving the request since it logs it, but does not attempt to send
a reply.

RedBoot> Ethernet recv:

00011674: FF FF FF FF FF FF 00 0F  1F 14 8A 86 08 06        |.............>

Ethernet recv:

00011C84: FF FF FF FF FF FF 00 0F  1F 14 8A 86 08 06        |..............à

Ethernet recv:

00012294: FF FF FF FF FF FF 00 0F  1F 14 8A 86 08 06        |..............


            When I attempt to ping the PC from the hardware the ping also
fails.  On the Ethernet traffic monitor I see no activity.  After several 5
second or so I sometimes see a “Cannot reach server”, other times I get
“received 0 of 10 expected“:

RedBoot> ping -h

PING: Cannot reach server '' (



            Do I have an auto-negotiate failure?  Is there a problem with
having a blank serial EPROM?  I’m still not sure if I have a configuration
or hardware problem at this time.  I am suspecting hardware, but without
seeing “Ethernet Send” messages, it looks like a configuration issue in
Redboot/SMSC driver.  I’m not quite sure how to proceed with debugging from
this point.  Any help would be greatly appreciated.


Joe Porthouse

Toptech Systems, Inc.

Longwood, FL 32750


-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 862 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20060717/b919b365/attachment.gif>

More information about the Ecos-discuss mailing list