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

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


 

All,

            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:

fconfig

Run script at boot: false

Use BOOTP for network configuration: false

Gateway IP address: 172.16.0.1

Local IP address: 172.16.8.111

Local IP address mask: 255.255.0.0

Default server IP address: 172.16.8.109

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
recv:

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: 172.16.8.111/255.255.0.0, Gateway: 172.16.0.1

Default server: 172.16.8.109

 

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
each.

RedBoot>

 

            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 172.16.8.111?
Tell 172.16.65.95.” 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 172.16.8.109

PING: Cannot reach server '172.16.8.109' (172.16.8.109)

RedBoot>

 

            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