Ethernet connection problem with T2080RDB-PC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Ethernet connection problem with T2080RDB-PC

2,006 Views
ron_gauthier
Contributor I

I am working with a T2080RDB device and am having trouble trying to get Ethernet working.  I have not been able to make this work in either U-Boot or Linux that shipped with the board.

 

Should I be able to ping using the standard U-Boot shipped with the board?

 

What about pinging using the embedded Linux shipped with the board?

 

Should I be able to use any of the 6 Ethernet ports, eth0 thru eth5?

 

Some configuration must be set improperly.  Any help on resolving this would be much appreciated.

 

My VxWorks BSP says it only supports ETH0 and ETH1, so I eventually need to get those working.  Since I don't have an SFP+ to RJ45 adapter at the moment, I am using ETH2 to try to get Ethernet working.

 

Thank you,

Ron

 

 

I am aware that there is a typo in the QorIQ T2080 Reference Design Board Quick Start, Table 2 for eth2 and eth3.  As I understand it, the correct info is:

 

Table 2. Ethernet port mapping

 

Label on front panel

Port in U-Boot

Port in Linux

FMAN address

Comments

ETH0

FM1@GTEC1

fm1-mac9

0xfe4f0000

10GBase-T SFP+ (Cortina 4315)

ETH1

FM1@GTEC2

fm1-mac10

0xfe4f2000

10GBase-T SFP+ (Cortina 4315)

ETH3

FM1@GTEC3

fm1-mac1

0xfe4e0000

10GBase-T (AQ1202)

ETH2

FM1@GTEC4

fm1-mac2

0xfe4e2000

10GBase-T (AQ1202)

ETH4

FM1@DTSEC3

fm1-mac3

0xfe4e4000

1G RGMII (RTL8211E)

ETH5

FM1@DTSEC4

fm1-mac4

0xfe4e6000

1G RGMII (RTL8211E)

 

Also, is it correct that the U-Boot port names should be "FM1@TGECn" instead of  "FM1@GTECn" ?

What about "FM1@DTSECn" ?  I am correct in assuming that those are right?

 

In U-Boot, I have been trying to use ETH2, which should be FM1@TGEC4.  (I have tried others as well with similar results.)  With a cable plugged in, the ETH2 Tx/Rx lights continuously flash alternately.  I am trying to ping the network router at 192.168.25.1.  This ping works fine from other devices on the same network.  I have tested the Ethernet cable, which tests fine, and tried other cables as well.

 

First ping attempt:

 

=> ping 192.168.25.1

Using FM1@TGEC4 device

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

=>

 

Second ping attempt (interesting that the output is different than the first ping):

 

=> ping 192.168.25.1

Using FM1@TGEC4 device

FM1@TGEC4: Tx error, txbd->status = 0x8800

FM1@TGEC4: Tx buffer not ready, txbd->status = 0x8800

FM1@TGEC4: Tx buffer not ready, txbd->status = 0x8800

FM1@TGEC4: Tx buffer not ready, txbd->status = 0x8800

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

=>

 

Ping with no cable attached to eth2:

 

=> ping 192.168.25.1

FM1@TGEC4 Waiting for PHY auto negotiation to complete................................ TIMEOUT !

FM1@TGEC4: No link.

 

 

Here is the U-Boot log:

 

U-Boot 2016.012.0+ga9b437f (May 15 2016 - 01:38:26 +0800)

 

CPU0:  T2080E, Version: 1.1, (0x85380011)

Core:  e6500, Version: 2.0, (0x80400120)

Clock Configuration:

       CPU0:1799.820 MHz, CPU1:1799.820 MHz, CPU2:1799.820 MHz, CPU3:1799.820 MHz,

       CCB:599.940 MHz,

       DDR:933.310 MHz (1866.620 MT/s data rate) (Asynchronous), IFC:149.985 MHz

       FMAN1: 699.930 MHz

       QMAN:  299.970 MHz

       PME:   599.940 MHz

L1:    D-cache 32 KiB enabled

       I-cache 32 KiB enabled

Reset Configuration Word (RCW):

       00000000: 1207001b 15000000 00000000 00000000

       00000010: 66150002 00000000 ec027000 c1000000

       00000020: 00800000 00000000 00000000 000307fc

       00000030: 00000000 00000000 00000000 00000004

I2C:   ready

Board: T2080RDB, Board rev: 0x01 CPLD ver: 0x06, boot from NOR vBank0

SERDES Reference Clocks:

SD1_CLK1=156.25MHZ, SD1_CLK2=100.00MHZ

SD2_CLK1=100.00MHZ, SD2_CLK2=100.00MHZ

SPI:   ready

DRAM:  Initializing....using SPD

Detected UDIMM D3XP56082XL10AA

2 GiB left unmapped

4 GiB (DDR3, 64-bit, CL=13, ECC on)

       DDR Chip-Select Interleaving Mode: CS0+CS1

VID: Core voltage after adjustment is at 1023 mV

Flash: 128 MiB

L2:    2 MiB enabled

Corenet Platform Cache: 512 KiB enabled

Using SERDES1 Protocol: 102 (0x66)

Using SERDES2 Protocol: 21 (0x15)

SEC0: RNG instantiated

NAND:  512 MiB

MMC:   FSL_SDHC: 0

EEPROM: Invalid ID (ff ff ff ff)

PCIe1: Endpoint, undetermined, regs @ 0xfe240000

PCIe1: Bus 00 - 00

PCIe2: Root Complex, x2 gen2, regs @ 0xfe250000

  02:00.0     - 1957:0808 - Processor

PCIe2: Bus 01 - 02

PCIe3: disabled

PCIe4: Root Complex, no link, regs @ 0xfe270000

PCIe4: Bus 03 - 03

In:    serial

Out:   serial

Err:   serial

Net:   Fman1: Uploading microcode version 106.4.18

FM1@DTSEC3, FM1@DTSEC4, FM1@TGEC1, FM1@TGEC2, FM1@TGEC3, FM1@TGEC4 [PRIME]

Hit any key to stop autoboot:  0

=>

 

And the environment variables:

 

=> printenv

baudrate=115200

bdev=sda3

bootargs=root=/dev/ram rw console=ttyS0,115200

bootcmd=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;bootm e8020000 e9300000 e8800000

bootdelay=10

bootfile=uImage

consoledev=ttyS0

eth0addr=00:04:9F:05:DB:13

eth1addr=00:04:9F:05:DB:14

eth2addr=00:04:9F:05:DB:15

eth3addr=00:04:9F:05:DB:16

eth4addr=00:00:00:00:00:04

eth5addr=00:00:00:00:00:05

eth6addr=00:00:00:00:00:06

eth7addr=00:00:00:00:00:07

eth8addr=00:04:9F:05:DB:17

eth9addr=00:04:9F:05:DB:18

ethact=FM1@TGEC4

ethaddr=00:04:9F:05:DB:15

ethprime=FM1@TGEC4

fdtaddr=2000000

fdtfile=t2080rdb.dtb

fileaddr=1000000

filesize=200000

fman_ucode=eff00000

gatewayip=192.168.25.1

hvboot=setenv bootargs console=ttyS0,115200 config-addr=0xfe8900000;bootm 0xfe8700000 - 0xfe8800000

hwconfig=fsl_ddr:bank_intlv=auto;usb1:dr_mode=host,phy_type=utmi

ipaddr=192.168.25.130

loadaddr=1000000

netdev=eth0

netmask=255.255.255.0

nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr

ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr

ramdiskaddr=5000000

ramdiskfile=ramdisk.uboot

rootpath=/opt/nfsroot

sataboot=setenv bootargs root=/dev/sda1 rootdelay=5 rw console=$consoledev,$baudrate $othbootargs;bootm e8020000 - e8800000

serverip=192.168.25.1

stderr=serial

stdin=serial

stdout=serial

tftpflash=tftpboot $loadaddr $uboot && protect off $ubootaddr +$filesize && erase $ubootaddr +$filesize && cp.b $loadaddr $ubootaddr $filesize && protect on $ubootaddr +$filesize && cmp.b $loadaddr $ubootaddr $filesize

uboot="u-boot.bin"

ubootaddr=0xeff40000

 

Environment size: 1975/8188 bytes

=>

0 Kudos
9 Replies

1,751 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the following port map, ETH2 should be FM1@GTEC3.

pastedImage_1.png

In u-boot, please configure ethact as the following.

=>setenv ethact FM1@GTEC3

In addition, please check switch configuration as the following.

pastedImage_4.png

0 Kudos

1,751 Views
ron_gauthier
Contributor I

Yiping,

 

Thank you for your response - I appreciate your help.  However, this did not resolve my problem.

 

Before addressing your post directly,  I ran some additional experiments that raised a different, but related question.

What causes the following Tx buffer ethernet error?

Tx error, txbd->status = 0x8800

Tx buffer not ready, txbd->status = 0x8800

 

These error messages are shown in context later in this post.

 

The switch configuration that you suggest is the standard configuration the board is shipped with.  I have not changed it and my board matches the table you included.

 

The port map that you presented is the same as Table 2 from the QorIQ T2080 Reference Design Board Quick Start, which I have been referencing.  There are several posts in NXP forums that state there is a typo in this table - actually 2 typos.

  •  First, FM1@GTECx should actually be FM1@TGECx
  •  Second, they state that ETH2 and ETH3 should be reversed, like this:

 

 I'm not really sure what is correct.  I did a few experiments and here is what I discovered about the form of the names:

 

It appears that the correct port names are FM1@TGECx.  If I set "ethact" to any port of the form FM1@GTECx, I always get the same response when attempting to ping from the U-Boot prompt:

 

No ethernet found

ping failed; host 192.168.25.1 is not alive

 

Then U-Boot actually deletes the variable "ethact" from the set of environment variables.

 

printenv ethact

Error: "ethact" not defined

 

Also, if I set "ethact" to any port of the form FM1@GTECx, save the environment variables with saveenv, and then reboot, U-Boot always resets "ethact" to FM1@DTSEC3.

 

So, U-Boot does not recognize the form FM1@GTECx for the "ethact" port names and actively gets rid of them.  I can conclude from these tests that the correct names are FM1@TGECx.

 

 

I also did some experiments on the settings for ETH2 and ETH3.

 

Set "ethact" and "ethprime" to  FM1@TGEC3

 

If an ethernet cable is plugged in to ETH2 or there is no cable plugged in, the ping response is always:

 

=> ping 192.168.25.1

FM1@TGEC3 Waiting for PHY auto negotiation to complete................................ TIMEOUT !

FM1@TGEC3: No link.

 

If an ethernet cable is plugged in to ETH3, the ping response is:

 

=> ping 192.168.25.1

Using FM1@TGEC3 device

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

=> ping 192.168.25.1

Using FM1@TGEC3 device

FM1@TGEC3: Tx error, txbd->status = 0x8800

FM1@TGEC3: Tx buffer not ready, txbd->status = 0x8800

FM1@TGEC3: Tx buffer not ready, txbd->status = 0x8800

FM1@TGEC3: Tx buffer not ready, txbd->status = 0x8800

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

 

The ping fails, but it apparently does try to transmit.

 

Likewise, set "ethact" and "ethprime" to  FM1@TGEC4

 

If an ethernet cable is plugged in to ETH3 or there is no cable plugged in, the ping response is always:

 

=> ping 192.168.25.1

FM1@TGEC4 Waiting for PHY auto negotiation to complete................................ TIMEOUT !

FM1@TGEC4: No link.

 

If an ethernet cable is plugged in to ETH2, the ping response is:

 

=> ping 192.168.25.1

Using FM1@TGEC4 device

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

=> ping 192.168.25.1

Using FM1@TGEC4 device

FM1@TGEC4: Tx error, txbd->status = 0x8800

FM1@TGEC4: Tx buffer not ready, txbd->status = 0x8800

FM1@TGEC4: Tx buffer not ready, txbd->status = 0x8800

FM1@TGEC4: Tx buffer not ready, txbd->status = 0x8800

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

 

Again, the ping fails, but it apparently does try to transmit.

  

Based on these tests, it looks like the table does indeed have a typo and

ETH2 corresponds to FM1@TGEC4

ETH3 corresponds to FM1@TGEC3

 

Again, my question is:  What could be causing the Tx buffer not ready errors?

 

I assume that this is some other configuration issue, but it is not clear to me.

I see there are some other posts with the same question but, unfortunately, I don't see a definitive resolution.

My T2080RDB device is configured as shipped.  Other than environment variables, nothing has been changed.

0 Kudos

1,752 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please check whether cs4315 PHY ucode has been programmed at 0xEFE00000 on NOR flash.

For details, please refer to T2080RDB quick start downloaded from QorIQ® T2080 Development Board | NXP .

Thanks,

Yiping

0 Kudos

1,752 Views
ron_gauthier
Contributor I

Yiping,

 

Thank you again for your response.

 

I displayed portions of memory using the U-Boot command md for both the PHY CS4315 at 0xEFE00000 and the alternate bank at 0xEBE00000:

 

=> md 0xefe00000

efe00000: 30783030 30612030 78303030 310a3078    0x000a 0x0001.0x

efe00010: 30303065 20307838 3030340a 30783031    000e 0x8004.0x01

efe00020: 64302030 78303030 380a3078 30316466    d0 0x0008.0x01df

efe00030: 20307830 3030340a 30783031 64662030     0x0004.0x01df 0

efe00040: 78303030 300a3078 30313931 20307830    x0000.0x0191 0x0

efe00050: 3034320a 30783031 39322030 78303030    042.0x0192 0x000

efe00060: 300a3078 30313930 20307839 3030300a    0.0x0190 0x9000.

efe00070: 30783031 39312030 78303034 320a3078    0x0191 0x0042.0x

efe00080: 30313932 20307830 3030300a 30783031    0192 0x0000.0x01

efe00090: 39302030 78393030 310a3078 30313931    90 0x9001.0x0191

efe000a0: 20307830 3034320a 30783031 39322030     0x0042.0x0192 0

efe000b0: 78303030 300a3078 30313930 20307839    x0000.0x0190 0x9

efe000c0: 3030320a 30783031 39312030 78303034    002.0x0191 0x004

efe000d0: 320a3078 30313932 20307830 3030300a    2.0x0192 0x0000.

efe000e0: 30783031 39302030 78393030 330a3078    0x0190 0x9003.0x

efe000f0: 30313931 20307830 3034320a 30783031    0191 0x0042.0x01

 

=> md 0xebe00000

ebe00000: 30783030 30612030 78303030 310a3078    0x000a 0x0001.0x

ebe00010: 30303065 20307838 3030340a 30783031    000e 0x8004.0x01

ebe00020: 64302030 78303030 380a3078 30316466    d0 0x0008.0x01df

ebe00030: 20307830 3030340a 30783031 64662030     0x0004.0x01df 0

ebe00040: 78303030 300a3078 30313931 20307830    x0000.0x0191 0x0

ebe00050: 3034320a 30783031 39322030 78303030    042.0x0192 0x000

ebe00060: 300a3078 30313930 20307839 3030300a    0.0x0190 0x9000.

ebe00070: 30783031 39312030 78303034 320a3078    0x0191 0x0042.0x

ebe00080: 30313932 20307830 3030300a 30783031    0192 0x0000.0x01

ebe00090: 39302030 78393030 310a3078 30313931    90 0x9001.0x0191

ebe000a0: 20307830 3034320a 30783031 39322030     0x0042.0x0192 0

ebe000b0: 78303030 300a3078 30313930 20307839    x0000.0x0190 0x9

ebe000c0: 3030320a 30783031 39312030 78303034    002.0x0191 0x004

ebe000d0: 320a3078 30313932 20307830 3030300a    2.0x0192 0x0000.

ebe000e0: 30783031 39302030 78393030 330a3078    0x0190 0x9003.0x

ebe000f0: 30313931 20307830 3034320a 30783031    0191 0x0042.0x01

=>

 

This does appear to match the contents of the file that you attached to your last post.

 

I have been trying to ping using ETH 2 and ETH 3.  Here is some text from Section 4.2 0 of the T2080RDB Quick Start Guide:

Ethernet

  • ETH 0 - ETH 1: XFI 10G SFP+, connected to Cortina CS4315 PHY
  • ETH 2 - ETH 3: XFI 10GBase-T copper twisted pair cable, connected to AQ1202 PHY
  • ETH 4 - ETH 5: 10 Mbit/s, 100 Mbit/s, or 1 Gbit/s RGMII, connected to RTL8211E PHY

 

I do eventually want to use ETH 0 and/or ETH 1, but right now I cannot because of the lack of an adapter from the SFP+ connector (used by ETH 0 and ETH 1) to regular RJ45.

 

This entry states that only ETH 0 and ETH 1 are connected to CS4315 PHY, while ETH 2 and ETH 3 are connected to AQ1202 PHY.  In the Quick Start Guide, I don't see much info about the AQ1202 PHY.

 

I'm not sure what a good next step should be.  What do you think?

 

Thanks,

Ron

0 Kudos

1,752 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Ron,

Have you verified whether ETH 4 - ETH 5 can work normally on your target board?

Thanks,

Yiping

0 Kudos

1,752 Views
ron_gauthier
Contributor I

Yiping,

 

ETH4  gives these results with a cable plugged in to ETH4:

 

ethact

FM1@DTSEC3

ethprime

FM1@DTSEC3

 

=> ping 192.168.25.1

Using FM1@DTSEC3 device

host 192.168.25.1 is alive

 

This is not the normal ping response so I'm not sure exactly what it means.

 

In any case, when I try to ping the T2080RDB from another computer on the network, it is unreachable:

 

C:\Users\Hadrian>ping 192.168.25.130

 

Pinging 192.168.25.130 with 32 bytes of data:

Reply from 192.168.25.148: Destination host unreachable.

Reply from 192.168.25.148: Destination host unreachable.

Reply from 192.168.25.148: Destination host unreachable.

Reply from 192.168.25.148: Destination host unreachable.

 

Ping statistics for 192.168.25.130:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

 

 

If I unplug the network cable from ETH4, the ping from U-Boot fails as expected:

 

=> ping 192.168.25.1

FM1@DTSEC3 Waiting for PHY auto negotiation to complete......... TIMEOUT !

Waiting for PHY realtime link...... TIMEOUT !

 done

FM1@DTSEC3: No link.

FM1@DTSEC4 Waiting for PHY auto negotiation to complete......... TIMEOUT !

Waiting for PHY realtime link...... TIMEOUT !

 done

FM1@DTSEC4: No link.

Using FM1@TGEC1 device

 

ARP Retry count exceeded; starting again

ping failed; host 192.168.25.1 is not alive

 

However, the interesting thing in this case is that, at this point, the ethact environment variable has automatically been reset to FM1@TGEC1.  Is that supposed to happen?

 

I get similar results with ETH5 and FM1@DTSEC4.

Thanks,

Ron

0 Kudos

1,752 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Ron,

According to your description, ETH 4 - ETH 5 can work normally, u-boot doesn't reply to ping.

ETH2 and ETH3 are 10G Copper ports, please check whether you have used the cable correctly.

Thanks,

Yiping

0 Kudos

1,752 Views
ron_gauthier
Contributor I

Yiping,

 

Thank you for the information.  I was not aware that U-Boot does not reply to ping.

 

I have a few questions that will help me.

 

  • Is there documentation available for the version of U-Boot installed on the T2080RDB?
    1. I have not found any description of the commands or behavior for this board.
    2. For example, I have not found any description of the "ethprime" environment variable.

 

  • Why does the "ethact" environment variable get automatically changed under some circumstances?
    1. For example, see my previous post from April 16. 
    2. "ethact" is set to ETH4 (FM1@DTSEC3) and no cable is plugged in to the ETH4 port.
    3. I ran ping, U-Boot apparently tried ETH4 (FM1@DTSEC3), then ETH5 (FM1@DTSEC4), and then ETH0 (FM1@TGEC1) before giving up.
    4. It left "ethact" set to FM1@TGEC1.

 

Is this normal behavior?

 

  • I am not familiar with 10G ethernet.  Do 10G copper ports require special copper cables, such as Cat 6 or Cat 6a?  Or something else?

  • The ethernet cable I am currently using is Cat 5.  Would that cause the Tx buffer errors (see my April 10 post)?

  • If it isn't the cable, I'm still wondering why ETH2 and ETH3 do not work.

  • The ethernet mac address environment variables for ETH4 and ETH5 ports are unusual.  Can you explain please?

 

eth4addr=00:00:00:00:00:04

eth5addr=00:00:00:00:00:05

 

These are still universally administered addresses.  I am not familiar with mac addresses like these.

 

Compare to the mac addresses for ETH0 - ETH3

 

eth0addr=00:04:9F:05:DB:13

eth1addr=00:04:9F:05:DB:14

eth2addr=00:04:9F:05:DB:15

eth3addr=00:04:9F:05:DB:16

 

 I appreciate your help.

 

Thanks,

Ron

0 Kudos

1,752 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Ron,

u-boot commands, please refer to 2. U-Boot Commands - ManIsButAReed .

u-boot environment variable please refer to 4. U-Boot Environment Variables - ManIsButAReed 

=>setenv ethact  FM1@DTSEC3

=>saveenv

Please use cable cat-6e for 10G copper ports.

Thanks,

Yiping

0 Kudos