This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA3: TDA3 RVP: Output data through Ethernet

Part Number: TDA3

Hi All,

I am using D3's TDA3 Starter Kit board and I testing a custom usecase to send output FFT data from TDA3RVP through Ethernet cable. In the TDA3 Stater Kit board, it is physically connected to Ethernet 1 interface on TDA3 side. I made the following change in NDK_Config.cfg:

var enableInstrumentation = 0;
var enableStaticIpEth0 = 0;
var enableStaticIpEth1 = 1;
var enableTelnet = 0;

If I put enableStaticIpEth0 as 1, then I am able to see static ip address as '192.168.1.200' for ethernet 0 interface. However, I am not able to see any ip adress (it is displayed as 0.0.0.0) for ethernet 1 even if I enable enableStaticIpEth1. Shouldn't the default value for Ethernet 1 be '192.168.2.4'? Is there any setting to be done to be enable data collection through Ethernet using TDA3 Starter Kit?

The cfg.mk config file setting for tda3_rvp_bios_all config is as below:

VSDK_BOARD_TYPE=TDA3XX_RVP

# Supported values: DDR_MEM_512M DDR_MEM_128M
DDR_MEM=DDR_MEM_1024M
EMIFMODE=SINGLE_EMIF_1GB
# Supported values: ipu1_0 ipu1_1 none
NDK_PROC_TO_USE=ipu1_1

#Used to control TFDTP stack (supported values: yes no)
NSP_TFDTP_INCLUDE=yes

#Enable IPv6 Support
NDK_ENABLE_IPV6=no

# Supported values: ipu1_0 none
FATFS_PROC_TO_USE=none

WORKQ_INCLUDE=yes.

I look forward to your help. Thanks!

Best Regards,

Nishant

  • Hi Nishant,

    I assume that you're using the Vision SDK 3.06 version? From the ethernet driver(NSP) perspective, both the ports are enabled. It is interesting that even after enabling static IP, you are not able to see any IP address getting printed on the UART console. You can try refreshing the console print once.

    If you check the vision_sdk\links_fw\src\rtos\utils_common\src\ndk\ndk_nsp_hooks.c file, you should see a function stackInitHookStaticEth1() (approx line 806). This function sets the static IP for the second port (Eth1). You could check if this function is getting called. Ideally there shouldn't be any problems with this. Anyways I'll try to check on an RVP board if I'm able to see the same issue.

    Regards,
    Anand
  • Hi Anand,

    Yes, I am using Radar SDK 3.06. I verified that the stackInitHookStaticEth1() is being called during the run-time. So hopefully, the static IP is being set correctly. But it is not being displayed in the UART console. Please find the screenshot below:

    The IP address for interface 2 is still being displayed as 0.0.0.0. Please let me know if you find anything with your RVP/Starter Kit board.

    Thank you!

    Best Regards,

    Nishant

  • Hi Anand,

    Did you find any answer to this problem? 

    On debugging the ethernet driver configuration in the source files, I found a piece of code in ndk_nsp_hooks.c (\vision_sdk\links_fw\src\rtos\utils_common\src\ndk) as follows:
    #if defined(TDA3XX_FAMILY_BUILD)
                        #ifdef BOARD_TYPE_TDA3XX_RVP
                            /*
                             * Adjust the PHY mask numbers for the TDA3XX RVP. The first MAC
                             * port is connected to a PHY with address = 12, the second MAC
                             * port is connected to a PHY with address = 11.
                             */
                            pGMACSWConfig->macInitCfg[i].phyMask = (uint32_t)((uint32_t)0x1 << (uint32_t)(12U - i));
     
    As per schematic, there seems to be only 1 PHY address (only PHY 12) on the RVP Board as there is only 1 Ethernet Connector. I do not know why the comment says PHY addr 11 and 12 when there is only a single present. In the above setting Ethernet PHY address 12 was getting connected to MAC PORT 0 (PORT 1 as per datasheet). As in the TDA3 RVP, we are using Ethernet Port 1 (RGMII1), I tried editing the above command as following:
    pGMACSWConfig->macInitCfg[i].phyMask = (uint32_t)((uint32_t)0x1 << (uint32_t)(13U - i));
    Now I was able to verify that PHY address 12 was getting connected to MAC Port 1 (Port 2 as per datasheet for RGMII1). However, I haven't been able to transfer any data through ethernet yet. 
    I look forward to your reply. Thank you!
    Best Regards,
    Nishant
  • Hi Nishant,

    Thanks for digging deep into this. I came across this anomaly, but my findings were conflicting. I still haven't tried it in my setup. I was more concerned about why the IP Address query should give you a 0.0.0.0 when the static IP is enabled. After the phy number change, are you still seeing the IP as 0.0.0.0?

    Regards,
    Anand
  • Hi Anand,

    Thank you for your reply. Yes, unfortunately I am still getting 0.0.0.0 for interface 2(Ethernet 1) even though I have enabled static IP for Ethernet 0 and 1. I can however see static ip '192.168.1.200' for interface 1(Ethernet 0). I do not know why this static ip is not being set for Ethernet 1/RGMII1 interface. 

    Any inputs would be helpful!

    Best Regards,

    Nishant

  • Nishant,

    As you say, since only RGMII1 is supported, and the IP comes for interface1, I am guessing that there might be an internal mechanism which maps the SW interface 1 to the actual RGMII1 instead of RGMII0. Because the support for both the interfaces to be used simultaneously came only in the 3.6 release.

    Can you trying assigning a static IP 192.168.1.x for your PC and try pinging to the RVP's static IP, that is 192.168.1.200? Meanwhile I'll clarify with how this was supported before 3.6 release.

    Regards,
    Anand
  • Anand,

    I tried assigning static IP 192.168.1.14 for my PC and pinging the RVP's static IP, but I do not get any response back. It says 'Destination Host Unreachable.' Please share your thoughts on the changes supported in 3.6 release.

    Best Regards,

    Nishant

  • Nishant,

    I'm yet to test the RVP with the 3.6. The main change was enabling both the ports so that data transmission is possible simultaneously with both the ports. I'll get back to you once I clarify if there are some HW limitations to using the RGMII 1 line.

    Regards,
    Anand
  • Hi Anand,

    I found the bug related to networking through the RVP. The MAC port was incorrectly connected to the PHY address in the SDK 3.6. Also, we found out that this feature that you mentioned 'DUAL_MAC_MODE' has been commented out in the SDK. I had to uncomment and rebuild the libraries and now it is working fine. Now, I am able to get the data correctly through the Ethernet Port.

    Thank you,

    Nishant