Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20735 Discussions

Auto-Negotiation FAILED with TSEMAC and PHY Marvell 88E1111

Altera_Forum
Honored Contributor II
2,832 Views

I'm trying to check single socket example in a Cyclone III EP3c40. 

I've configured in SOPC in both case: 

 

as 10/100/1000Mbps Ethernet Only 

as 1000Mbps Small MAC 

 

result was always the same 

 

nios2-terminal: connected to hardware target using JTAG UART on cable nios2-terminal: "USB-Blaster ", device 1, instance 0 nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate) =============== Software License Reminder ================ This software project uses an unlicensed version of the NicheStack TCP/IP Network Stack - Nios II Edition. If you want to ship resulting object code in your product, you must purchase a license for this software from Altera. For information go to: "http://www.altera.com/nichestack" ===================================================== InterNiche Portable TCP/IP, v3.1 Copyright 1996-2007 by InterNiche Technologies. All rights reserved. prep_tse_mac 0 Your Ethernet MAC address is 00:07:ed:ff:be:f8 Static IP Address is 192.168.10.11 prepped 1 interface, initializing... SGDMA desc memory cleared INFO : TSE MAC 0 found at address 0x0c403800 INFO : PHY Marvell 88E1111 found at PHY address 0x01 of MAC Group INFO : PHY - Automatically mapped to tse_mac_device INFO : PHY - Restart Auto-Negotiation, checking PHY link... WARNING : PHY - Auto-Negotiation FAILED INFO : Applying additional PHY configuration of Marvell 88E1111 MARVELL : Enabling auto crossover MARVELL : PHY reset INFO : PHY - Checking link... INFO : PHY - Link not yet established, restart auto-negotiation... INFO : PHY - Restart Auto-Negotiation, checking PHY link... WARNING : PHY - Auto-Negotiation FAILED WARNING : PHY - Link could not established ERROR : PHY - Auto-Negotiation not completed! Gigabit = 0, Duplex = Full OK, x=0, CMD_CONFIG=0x00000000 MAC post-initialization: CMD_CONFIG=0x04000203 RX descriptor chain desc (1 depth) created IP address of et1 : 192.168.10.11 Created "Inet main" task (Prio: 2) Created "clock tick" task (Prio: 3) Simple Socket Server starting up Socket server created bind socket server ok Socket Tx created listening to UDP port... Created "simple socket server" task (Prio: 4)
0 Kudos
15 Replies
Altera_Forum
Honored Contributor II
1,100 Views

What kind of hardware do you have? Is it a development kit or a custom board? What do you connect at the other end?

0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

I'm using a commercial board from dev_boards Gmbh. Cyclone III ep3c40 + SDRAM + SSRAM + Flash + Marvell Phy 

 

I've configured TSE_MAC in SOPC builder using two SGDMA's
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

I'm using a commercial board from dev_boards Gmbh. Cyclone III ep3c40 + SDRAM + SSRAM + Flash + Marvell Phy 

 

I've configured TSE_MAC in SOPC builder using two SGDMA's
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

And what did you connect at the other end of the ethernet cable? Is it capable of auto-negotiation?

0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

I have Cyclone III NiosII Evaluation kit (neek board) running fine, this board has a 10/100Phy. 

 

My actual board has a Marvell Gbit Phy and I want to configure it for running simple socket server application as I did in the other board.
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

But do you connect the two boards together, or do you connect them to a PC?

0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

obviously I always connect a board to a host computer using cross crossing ethernet cable

0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

there are some things you can check: 

 

-the MDIO communication with the PHY is working correctly? I suppose yes, otherwise it wouldnt recognize your Marvell PHY.  

 

-the clock signals you use with both mac and phy are with the correct freq? 

 

-your host PC NIC is able to auto-negotiate? maybe it worked with the 10/100, because these ones normally dont use autonegotiation. 

 

- I wouldnt use the 1000 Small MAC config. in the TSE, because this way your are telling him only to connect if there is a Gigabit available on the other side, and it is probable that your PC dont have it
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

Does the PC say anything about the LAN interface status? 

If you can connect an oscilloscope to the LAN connector, you can also check if you see any sync pulses going on the lines.
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

Status of LAN is : 

 

State: On 

Speed: 1Gbps 

Packet sent: 36 

Packet received:1
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

LAN Interface status: connected 

Speed: 1Gbps 

Received:1 

Sent:36 

 

uhhmmm It is not easy checking the LAN conector
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

What is strange is that on the other end it says that the interface is active, and even that it received a packet... Is auto-negotiation enabled on the PC?

0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

auto-negotiation is/was enabled

0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

Removing auto negotiation in the network card, I've set 100Mbit full-duplex and now it works. 

 

Gigabit is not working when I tried to set the network card to 1gbps full duplex. 

 

The link is established in both cases but in Gigabit never a data was received from host.
0 Kudos
Altera_Forum
Honored Contributor II
1,100 Views

The problem could come from the GMII interface. Are you providing the correct clocks in gigabit mode? 

Another cause could be bad timing on the GMII signals. Did you set up the constraints on all the signals? I had to use a pll to delay the clock on the transmit side in order to meet the constraints (unfortunately I don't have the kit here, I cn't check what I did).
0 Kudos
Reply