T4240QDS usdpaa reflector app

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

T4240QDS usdpaa reflector app

Jump to solution
1,776 Views
amitchoudhari
Contributor I
Hello,

 

 

We are currently trying to bring up the DPAA interfaces on T4240QDS. We are trying to use the on-board ETH PHY MACs for enabling the DPAA (These are on RGMII)

 

We are using Yocto SDK 1.4 version and have followed the documentation in SDK to configure USDPAA
 
The error message that we get while trying to run the reflector application is as follows:
root@t4240qds:/usr/etc# fmc -c usdpaa_config_t4_serdes_1_1_6_6.xml usdpaa_policy_hash_ipv4.xml -a
  ERR : Invocation of FM_PORT_Open for fm1/port/10G/0 failed
ERR : Invocation of FM_PCD_Disable for fm0/pcd failed with error code 0x00010028

Also while using uImage-t4240qds-usdpaa.dtb Ethernet links FM1-MAC5 and FM3-MAC5 are not getting detected. Only lo,sit0,tunl0 are present whereas in uImage-t4240qds.dtb we are able to set ip and also ping other sytems for fm1-mac5 and fm3-mac5.


Our uboot  environment variables are

baudrate=115200
bdev=sda3
bootargs=root=/dev/mmcblk0p1 rw rootdelay=5 console=ttyS0,115200 usdpaa_mem=256M bportals=s0-1 qportals=s0-1
bootcmd=setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=2 console=$consoledev,$baudrate;mmcinfo;ext2load mmc 0:1 $loadaddr $bootfile;ext2load mmc 0:1 $fdtaddr $fdtfile; bootm $loadaddr - $fdtaddr
  bootdelay=3
bootfile=uImage
consoledev=ttyS0
eth10addr=00:04:9F:02:7A:39
eth11addr=00:04:9F:02:7A:3A
eth12addr=00:04:9F:02:7A:3B
eth13addr=00:04:9F:02:7A:3C
eth14addr=00:04:9F:02:7A:3D
eth15addr=00:04:9F:02:7A:3E
  eth1addr=00:04:9F:02:7A:30
eth2addr=00:04:9F:02:7A:31
eth3addr=00:04:9F:02:7A:32
eth4addr=00:04:9F:02:7A:33
eth5addr=00:04:9F:02:7A:34
eth6addr=00:04:9F:02:7A:35
eth7addr=00:04:9F:02:7A:36
eth8addr=00:04:9F:02:7A:37
  eth9addr=00:04:9F:02:7A:38
ethact=FM1@DTSEC5
ethaddr=00:04:9F:02:7A:2F
ethprime=FM1@DTSEC5
fdtaddr=0x17200000
fdtfile=uImage-t4240qds.dtb
fileaddr=1000000
filesize=46573C
fman_ucode=0xeff40000
gatewayip=192.168.1.1
hwconfig=fsl_ddr:ctlr_intlv=3way_4KB,bank_intlv=auto;fsl_fm1_xaui_phy:xfi;fsl_fm2_xaui_phy:xfi
ipaddr=10.116.65.141
loadaddr=0x10000000
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=2000000
ramdiskfile=t4240qds/ramdisk.uboot
rcw=t4240rcw
rcw_spi=mw.w ffdf0060 2201;qixis_reset altbank
rcwemmc=mw.w ffdf0060 2000
rootpath=/opt/nfsroot
sataboot=setenv bootargs root=/dev/sda1 rootdelay=5 rw console=$consoledev,$baudrate $othbootargs;bootm e8020000 - e8800000
  sdboot=setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=5 console=ttyS0,115200; ext2load mmc 0:1 $loadaddr $bootfile; ext2load mmc 0:1 $fdtaddr $fdtfilel bootm $loadaddr - $fdtaddr
serverip=10.116.65.150
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
tftprcw=tftpboot $loadaddr $rcw && mmcinfo && mmc write 1000000 8 1
uboot="u-boot.bin"
ubootaddr=0xeff80000

We have also attached the current RCW source file and the DTS file (that we are using to build the image) as well as the boot log file.

Kindly let us know the changes that we have to make to get this working.

 

Thanks,

Amit

Original Attachment has been moved to: bootlog.zip

Original Attachment has been moved to: rcw_1_1_6_6_1666MHz.rcw.zip

Original Attachment has been moved to: t4240qds-usdpaa.dts.zip

0 Kudos
1 Solution
769 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please check the following whether you missed something.

On the target board

$ cd /usr/etc

$ fmc -c {Serdes Config File} -p {Policy File} -a

$ reflector -c {Serdes Config File} -p {Policy File}

You will launch reflector and enter reflector prompt.

reflector> help

reflector> add 0..{ Num of cores - 1 }

On the Linux host side, add ARP records

arp -s { target IP } { Port Mac Addr }

Then  Ping { IP }

If you problem remains, please kindly share your Linux console log.


Have a great day,
Yiping Wang

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
769 Views
yipingwang
NXP TechSupport
NXP TechSupport

There is no 10G ethernet port on your target board, on T4240QDS you need to use the 10G ethernet port via XAUI.

Please modify the configuration file usdpaa_config_t4_serdes_1_1_6_6.xml to use 1G ethernet ports instead of 10G ports.

In addition, if you boot the system with USDPAA device tree, the ethernet ports FM1-MAC5 and FM3-MAC5 are assigned to USDPAA, so you cannot see and configure them in Linux.


Have a great day,
Yiping Wang

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

769 Views
amitchoudhari
Contributor I

Hello Wang,

Thanks for your reply. After commenting the 10G ethernet port from the usdpaa_config_t4_serdes_1_1_6_6.xml file we are able to run the reflector app without any error. And we understand that FM1-MAC5 and FM2-MAC5 are assigned to USDPAA and not connected to linux network stack. But for the testing of reflector app,  I need to ping T4240 from my host linux machine.

Quote from the documentation

Functional testing of the "reflector" application is possible by connecting any subset of the P4080 USDPAA network interfaces to a conventional computer, assumed to be a Linux PC using an ethernet switch.

The figure assumes that the default USDPAA SerDes 0xe reset configuration word (RCW) is used. This configuration provides 2 x 10 Gbps and 2 x 1 Gbps ethernet interfaces to the USDPAA application. The test case in the figure assumes that only the 2 x 1 Gbps interfaces will be used. These are the two interfaces on the SGMII riser card that are closest to the P4080DS motherboard. This test will work even if 10 Gbps XAUI riser cards are not fitted in the P4080DS.

See the main USDPAA User Guide for more information on network interfaces.

To perform the test, boot the P4080 and run the example application as described in section Running reflector.

The IP and ethernet MAC addresses used below are examples. You can change them as long as you are consistent. The most important thing is to be sure of the MAC addresses on the P4080DS board. Again, see the main USDPAA User Guide.

On the Linux PC, create eth0:1 through eth0:3 via, for example:

          sudo ifconfig eth0:1 192.168.10.1 netmask 255.255.255.0 
          sudo ifconfig eth0:2 192.168.20.1 netmask 255.255.255.0 

The reflector application does not respond to ARP requests, so static ARP entries for all of the P4080 USDPAA interfaces must be created on the Linux PC:

          sudo arp -s 192.168.10.2 00:04:9F:77:4E:07 
          sudo arp -s 192.168.20.2 00:04:9F:77:4E:08 

Then, from the Linux PC ping one of the P4080 interfaces, e.g. "ping 192.168.10.2".

End Quote

I followed this documentation with IP address and MAC address modified but I was not able to ping any of the two ethernet ports. Can you please guide us on some configuration that we are missing here.

Thanks

Amit

0 Kudos
770 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please check the following whether you missed something.

On the target board

$ cd /usr/etc

$ fmc -c {Serdes Config File} -p {Policy File} -a

$ reflector -c {Serdes Config File} -p {Policy File}

You will launch reflector and enter reflector prompt.

reflector> help

reflector> add 0..{ Num of cores - 1 }

On the Linux host side, add ARP records

arp -s { target IP } { Port Mac Addr }

Then  Ping { IP }

If you problem remains, please kindly share your Linux console log.


Have a great day,
Yiping Wang

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
769 Views
amitchoudhari
Contributor I

Thanks Wang. It worked. I am able to ping now.

0 Kudos