This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Leon3 compatible with LAN91C111?


LEON3 support for LAN91C111 is available in the patched eCos version
available from Gaisler Research:

ftp://gaisler.com/gaisler.com/ecos/src

This version of eCos also support SMP for LEON3. We have not succeeded
in pushing our modifications into the main tree yet ...

Some basic info is also available here:

http://www.gaisler.com/cms4_5_3/index.php?option=com_content&task=view&id=149&Itemid=31

Jiri.

Tapio Koskinen wrote:
> Hi all,
> 
> I am using a Leon3 processor on Altera's Nios II Development Kit, Stratix Edition. The board has a LAN91C111 Ethernet controller and I am trying to get server_test.c working. There was no target for such a configuration, so I made a new target to ecos.db and added the following packages to it:
> CYGPKG_HAL_SPARC
> CYGPKG_HAL_SPARC_LEON3
> CYGPKG_DEVS_ETH_SMSC_LAN91CXX
> CYGPKG_DEVS_ETH_SPARC_LEON3
> 
> When trying to run the program it said "No 91Cxx signature found". It seems there was an endianess problem, and after removing all calls to CYG_CPU_TO_LE16 and CYG_LE16_TO_CPU in devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c and smsc_lan91cxx.h it found the signature.
> 
> However it prints "auto-negotiation failed" even though "link ok" led is lit in the controller after aneg-bit is written to RPCR-register. Also there is a yellow balloon tip in Windows saying 10Mbps link established.
> 
> After lan91cxx_start completes these lines are printed:
> lan91cxx_can_send
> lan91cxx_can_send: ENGINE RESTART: tcr 0x0000
> lan91cxx_poll
> lan91cxx_TxEvent
> lan91cxx_TxEvent:START: fifo 0000 ints 3100
> lan91cxx_TxEvent: ENGINE RESTART: tcr 0x0000 eph 0x0000 ints 0x3100
> lan91cxx_TxEvent:END: fifo 0000 ints 3302
> lan91cxx_isr
> lan91cxx_TxEvent
> lan91cxx_TxEvent:START: fifo 0000 ints 3100
> lan91cxx_TxEvent: ENGINE RESTART: tcr 0x0000 eph 0x0000 ints 0x3100
> lan91cxx_TxEvent:END: fifo 0000 ints 3302
> lan91cxx_TxEvent
> 
> 
> So it keeps executing lan91cxx_TxEvent over and over. TXENA-bit can't stay up but there is no error in EPH_STATUS-register. And what is the server_test/eCos trying to send anyways? Server_test should just wait for a connection. I have set a static IP address so DHCP shouldn't be in use. I also tried unloading DNS-package but it didn't help. What should I try to do next?
> 
> I have tried using versions 1.19 and 1.20 of 91C111's drivers, although in 1.20 calls to CYGACC_CALL_IF_DELAY_US(x) couldn't be linked even if I added "#include <cyg/hal/hal_if.h>" to if_lan91cxx.c. So I had to change those calls back to HAL_DELAY_US(x).
> 
> Thanks in advance
> 
> Tapio


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]