Unable to see the ethernet interface on giving an ifconfig -a command? (T4240QDS)

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

Unable to see the ethernet interface on giving an ifconfig -a command? (T4240QDS)

2,746 Views
priyaagarwal
Contributor III

I booted T4240qds with fdt file corresponding to usdpaa. Basically I want to get the 'wget' command working (I get 'bad address' error). For that I need to connect to internet. But when I do an ifconfig -a I am unable to see the ethernet interface. (there is only lo, sit0 and tun10) Which is why I am unable to set the ip address and gateway.

 

Background:

I am booting from an sd card which has all uImage*'s and rootfilesystem. Also I have included other files (rcw_1_1_6_6_1666MHZ.bin, fsl_fman_ucode.bin, u-boot-t4240qds.bin etc) as mentioned in sdk infocentre. I am able to test the reflector app though.

 

I used this as my boot command:

ext2load mmc 0:1 $loadaddr $bootfile;ext2load mmc 0:1 $fdtaddr uImage-t4240qds-usdpaa.dtb; bootm $loadaddr - $fdtaddr

 

My environment variables are as shown in the attached file.

Original Attachment has been moved to: env_variables_t4240qds.zip

Tags (3)
10 Replies

1,880 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Priya Agarwal,


You used the default USDPAA dtb file to boot the system, so all the Ethernet ports on the target boards have been assigned to USDPAA, you cannot see them in Linux Kernel(with ifconfig command).


Please refer to the following procedure for running reflector.

1. Boot up the target board with USDPAA device tree, after the system booting up Ethernet  ports belonging to USDPAA should not be seen in Linux.


2.  Launch hello_reflector application with cpus invovled by default
$ cd /usr/etc
$ fmc -c {Serdes Config File} -p {Policy File} -a
$ hello_reflector -c {Serdes Config File} -p {Policy File}

Launch hello_reflector and every core has one thread created, and the application enters into the status waiting for ingress traffic.

3.  Add ARP record on your test PC
arp -s { IP of USDPAA interface } { Port Mac Addr }
Ping { IP }

ARP record is added, check by 'arp -a' and ping the target board.


If your problem remains, please share your log.


Have a great day,
Yiping

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

0 Kudos

1,880 Views
priyaagarwal
Contributor III

I could run the reflector application. Didn't add rcw environment variable. Now I can ping.

However since I have used the default usdpaa dtb file, does it mean I cannot use ethernet interface for some other purpose?

1. Does it mean only a usdpaa application can now use those interfaces?

2. I used default usdpaa dtb file. Can I customize it so that some interfaces are available for other applications?

0 Kudos

1,880 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Priya Agarwal,


In the default dts file, all Ethernet ports are assigned to USDPAA and normal Linux application cannot use them, only USDPAA application can use them.


You could modify the dts file arch/powerpc/boot/dts/t4240qds-usdpaa.dts to assign some Ethernet ports to Linux Kernel, or use shared-MAC device tree t4240qds-usdpaa-shared-interfaces.dts, ethernet@15 is defined as shared-MAC, which could be used by both USDPAA and Linux Kernel.


You could add "t4240qds-usdpaa-shared-interfaces.dts" in KERNEL_DEVICETREE in meta-fsl-ppc/conf/machine/t4240qds.conf, and rebuild Kernel.



Have a great day,
Yiping

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

0 Kudos

1,880 Views
tuyendinh
Contributor II

Hi Yiping,

Could you tell me step by step to boot machine with uImage-t4240qds-usdpaa.dtb? I use QorIQ_SDK_v2.0 to build image for T4240QDS board.

Thanks.

0 Kudos

1,881 Views
priyaagarwal
Contributor III

I booted the machine with shared mac dtb file. I can see eth4 interface on doing ifconfig -a.

But how do I set up the internet connection on it? I assigned eth4 and ip address and tried to ping the gateway but it didn't happen.

Also I see eth4 on ifconfig -a, and not something like 'fm2-10g'.

I ran the fmc -c usdpaa_config_t4_serdes_1_1_6_6.xml –p usdpaa_policy_hash_shared_mac_ipv4.xml –a command. But I got the following error.

ERR : Can't find policy's definition 'hash_ipsec_src_dst_spi_policy12' referenced by port '1G 4'.

0 Kudos

1,881 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Priya Agarwal,


I verified T4240QDS shared MAC dts file, the shared MAC interface should be named as "fm2-mac10" is Linux, which is a 10G Ethernet port via XAUI, probably there is no 10G XAUI card on your target board, I will try to modify the dts file to assign some Ethernet port to Linux and give you more feedback later.

Please note all DPAA related Ethernet port should be named as fm*-gb*, in addition do you have PCIe Ethernet interface, if so, you could use it in Linux, which will be named as "eth*".

Thanks,

Yiping

0 Kudos

1,881 Views
priyaagarwal
Contributor III

Yiping Wang wrote:

Hello Priya Agarwal,


I verified T4240QDS shared MAC dts file, the shared MAC interface should be named as "fm2-mac10" is Linux, which is a 10G Ethernet port via XAUI, probably there is no 10G XAUI card on your target board, I will try to modify the dts file to assign some Ethernet port to Linux and give you more feedback later.

Please note all DPAA related Ethernet port should be named as fm*-gb*, in addition do you have PCIe Ethernet interface, if so, you could use it in Linux, which will be named as "eth*".

Thanks,

Yiping

Hi. I wanted to modify .dts file to assign some ethernet port to linux. It is urgent for my purpose. I have only 2 ports fm1-mac5 and fm2-mac5 and would like linux to use fm1-mac5. What steps I need to follow.

0 Kudos

1,881 Views
priyaagarwal
Contributor III

Hi,

My main purpose is to run a network application (Squid) on t4240qds and see an improved performance due to the use of DPAA.

So till now I thought I should use USDPAA (and proxy ethernet DPAA Driver).

But I guess I could also use private DPAA ethernet Driver. So how do I enable it (anything special I need to do or do I just boot the machine with uImage-t4240.dtb). I am not able to find document on how to enable and use the features of Private DPAA Ethernet Driver.

Thanks

0 Kudos

1,881 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Priya Agarwal,


You need to boot the system with dtb file uImage-t4240.dtb(without usdpaa) if you want to use normal DPAA Linux Ethernet driver rather than USDPAA.

Thanks,

Yiping

0 Kudos

1,881 Views
priyaagarwal
Contributor III

Hi,

1. I booted with uImage-t4240qds.dtb. I could see the fm1-mac5 and fm2-mac5, but I am still unable to use 'wget' command. 'ping www.google.com' also says unknown host. It is not working. I set the ip address and even the gateway. Could you tell the steps to get internet working? output of route command is this:

root@t4240qds:~# ping -c1 https://www.google.co.in/

ping: unknown host

root@t4240qds:~# ping -c1 www.facebook.com        

ping: unknown host

root@t4240qds:~# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0         10.116.65.1     0.0.0.0         UG    0      0        0 fm1-mac5

10.116.65.0     0.0.0.0         255.255.255.0   U     0      0        0 fm1-mac5

2. Also do the system calls socket(), bind(), listen() etc. work when I am using Private DPAA Ethernet driver. Linux kernel will have them right?

Thanks.

0 Kudos