cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
adamdunc
Adventurer
Adventurer
7,915 Views
Registered: ‎01-26-2017

XAPP1305 PL_10G SFP+ ready to test files failing with "couldn't find phy i/f"

Hello,

 

We are seeing an error message during kernel boot when trying to communicate to the ZCU102 over 10G SFP+.

 

We just received a Rev 1.0 ZCU102 board and are observing an error when running the PL_10G prebuilt "ready to test" BOOT.bin and image.ub from XAPP1305.

 

Has anyone encountered this and found a solution?

 

The specific error message we observe during boot is:

[    3.001558] libphy: MACB_mii_bus: probed
[    3.069291] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 29 (00:0a:35:00:02:90)
[    3.079053] Generic PHY ff0e0000.etherne:0c: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ff0e0000.etherne:0c, irq=-1)
[    3.090772] xilinx_axienet 80020000.xxv_ethernet: couldn't find phy i/f

 

This seems similar to the post by Walt as well:

 

https://forums.xilinx.com/t5/Xilinx-Boards-and-Kits/XAPP1305-PL-10G-Ethernet-with-ZCU102-board/td-p/760702

 

We have tried the PL_1G design with the "ready to test" and custom built files and have not had any issues. This helps us confirm that we are using the correct SFP port as the constraints for the 1G and 10G are the same. Also with the 10G design, we see the link light up we we connect to one of the ZCU102s to a 10G switch.

 

We noticed that the XAPP1305 files appear to be built with ZCU102 Rev D which uses ES1 silicon. We rebuilt the bitstream with the ES2 device in Rev 1.0 and rebuilt the petalinux project using the XAPP1305 BSP and PL_10G instructions to generate our own BOOT.bin and image.ub files. However we still see the same message.

 

Here are some specifics from our test setups we have tried:

 

Setup 1 using two ZCU102s:

- Both SD cards contain the same BOOT.bin and image.ub

- SFP+ cable connected to the SFP+ top right port on both boards

 

Setup 2 using one ZCU102 and a Pronto 3290 Switch

- SD cards contain the same BOOT.bin and image.ub

- SFP+ connected to SFP+ top right port on ZCU102 and SFP+ port on switch (as ZCU102 boots, the link light on the Pronto 3290 lights up)

 

Different SFP+ cables tried thusfar:

- Amphenol 571540002 1119 Rev M

- 10Gtek AXS85-192-M3 SFP+SR 850nm 300m connected to optical cable to 10Gtek AXS85-192-M3 SFP+SR 850nm 300m

- addon AO-CAB-SFP+/SFP+.5M cable

 

Thanks,

Adam

12 Replies
adamdunc
Adventurer
Adventurer
7,852 Views
Registered: ‎01-26-2017

 

I was able to get the PL_10G communication working by using eth1 instead of eth0. I still have the "couldn't find phy i/f" message when I boot though.

 

Some details below:

 

After looking in /proc/net I found that there was an eth1 interface with errors on it even though only eth0 shows up in ifconfig.

root@plnx_aarch64:/proc/net# cat dev                                            
Inter-|   Receive                                                |  Transmit    
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packd
sit0:       0       0    0    0    0     0          0         0        0     0
lo:       0       0    0    0    0     0          0         0        0     0
eth1:       0       0 4461    0    0  4461          0         0        0     0
eth0:       0       0    0    0    0     0          0         0        0     0


After bringing up eth1 on both boards with the 10Gtek AXS85-192-M3 cable and assigning 192.168.0.X IPs I can ping one board from the other

root@plnx_aarch64:~# ping 192.168.0.2                                           
PING 192.168.0.2 (192.168.0.2): 56 data bytes                                   
64 bytes from 192.168.0.2: seq=0 ttl=64 time=0.098 ms                           
64 bytes from 192.168.0.2: seq=1 ttl=64 time=0.098 ms                           
64 bytes from 192.168.0.2: seq=2 ttl=64 time=0.058 ms                           
64 bytes from 192.168.0.2: seq=3 ttl=64 time=0.053 ms                           
64 bytes from 192.168.0.2: seq=4 ttl=64 time=0.053 ms




root@plnx_aarch64:~# ifconfig                                                   
eth0      Link encap:Ethernet  HWaddr 00:0A:35:00:02:90                         
          UP BROADCAST MULTICAST  MTU:1500  Metric:1                            
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0                    
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0                  
          collisions:0 txqueuelen:1000                                          
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                                
          Interrupt:29                                                          

eth1      Link encap:Ethernet  HWaddr 00:0A:35:00:00:00                         
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0        
          inet6 addr: fe80::20a:35ff:fe00:0%4890480/64 Scope:Link               
          UP BROADCAST RUNNING PROMISC  MTU:1500  Metric:1                      
          RX packets:186 errors:503169 dropped:0 overruns:0 frame:503169        
          TX packets:200 errors:0 dropped:0 overruns:0 carrier:0                
          collisions:0 txqueuelen:1000                                          
          RX bytes:22884 (22.3 KiB)  TX bytes:24927 (24.3 KiB)                  

lo        Link encap:Local Loopback                                             
          inet addr:127.0.0.1  Mask:255.0.0.0                                   
          inet6 addr: ::1%4890480/128 Scope:Host                                
          UP LOOPBACK RUNNING  MTU:65536  Metric:1                              
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0                    
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0                  
          collisions:0 txqueuelen:1                                             
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  


The Eth1 thing seems a little odd to me because the PL_1G working on eth0 and both the PL_1G and PL_10G seem to only have one eth interface in the device tree. Also, the PL_1G and PL_10G device trees both call out GEM3 and no other GEMs.

te7a
Observer
Observer
7,830 Views
Registered: ‎05-26-2017

I have just got the 10G example (both the prebuilt images and my build with some customized rootfs tools like ethtool)

it is on eth1 as you mentioned, now I have few issues, wanted to share with others

when I run the ethtool command "ethtool eth1" the output I get is:
Settings for eth1:
Cannot get device settings: No such device
Link detected: yes

 

also checking the carrier flag "cat /sys/class/net/eth1/carrier" is always returning 1 regardless of the state of the connector (plugging/unplugging the SFP connector does not change the carrier as it does with any ethernet connector plu/unplug)

 

Just wanted to get other people's feedback on that, do you guys get same response from the driver like mine, or it is fully functional?

also if it is the same as mine, this seems like the driver hooks to the linux kernel are not complete, do we expect an updated driver or what?

 

Regards,

Ahmed

0 Kudos
Reply
te7a
Observer
Observer
7,726 Views
Registered: ‎05-26-2017

I have finally got the 10G NIC to test the 10GEth example on the zcu102, however I do have issues

 

I tried to use the pre-built binaries of the project however there seem to be something wrong (as if wrong binaries are copied to the folders).

 

1 - booting with files under /pre-built/images/linux/ from a petalinux project created with the xilinx-zcu102-2016.4-pl-10g.bsp

 I have only 1 ethernet interface (the PS 1G) which I can ping from the PC without anything in the SFP connectors.

so the prebuilt binaries are NOT for 10G  

 

2 - booting with files under /ready to test/Linux/pl_eth_10g/ 

I see 2 network interface cat /proc/net/dev 

eth0 ff0e0000.ethernet

eth1 80020000.xxv_ethernet

 

non of them is the PS Rj45 1G ethernet, so I suspect one should be 1G Ps-Pl and the other is 10G??

 

anyway, trying to pringup eth1 (ifconfig eth1 up 192.168.10.40) gives a kernel log line:

 

[ 1545.231919] xilinx_axienet 80020000.xxv_ethernet eth1: axienet_device_reset: Block lock of XXV MAC didn't getSet cross check the ref clockconfiguration

 

and the LED of the NIC card on the PC does not blink, so I can;t get the 10G to work with any of the available pre built binaries.

 

I have ZCU102 Rev C.2 and I have the jumper J16 shorted to enable SFP 

 

any idea?

 

Regards,

Ahmed

0 Kudos
Reply
te7a
Observer
Observer
7,706 Views
Registered: ‎05-26-2017

Hi Adam,

your eth1 output shows all received frames are errors,  which exactly matches what I have so far

 

root@plnx_aarch64:~# cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs           drop fifo frame       compressed multicast|bytes    packets errs drop fifo colls carrier compressed
eth1: 0          0         8351865   0       0  8351865            0               0          648     8            0    0       0     0      0          0
eth0: 0          0         0               0       0  0                        0               0          0         0            0    0       0     0      0          0

so how does this work if all the frames on eth1 are errors?

 

What I understand from your post is that you have 2 boards pinging one another, so to me this looks like a problem talking to other 10G devices! because I have only 1 board and a 10G NIC on the computer and I can't ping it and the LED on the back of the NIC card does not blink!!!

 

 

0 Kudos
Reply
adamdunc
Adventurer
Adventurer
7,608 Views
Registered: ‎01-26-2017

Ahmed,

 

I see the same behavior as you with the carrier flag "cat /sys/class/net/eth1/carrier" always returning 1 regardless of whether anything is physically attached to the ETH1 SFP port. I haven't dug into the driver code though.

 

I can duplicate your "[ 1545.231919] xilinx_axienet 80020000.xxv_ethernet eth1: axienet_device_reset: Block lock of XXV MAC didn't getSet cross check the ref clockconfiguration" if I try to bring eth1 up without the SFP a complete physical link to the other end of the SFP cable (in my case, another ZCU102).

 

Have you confirmed that your PC card NIC can operate at 10G?

 

-Adam

 

colombini_luca
Explorer
Explorer
7,384 Views
Registered: ‎11-05-2008

Hi Adam and Ahmed,

 

  I am having exactly the same issue on bringing up a 10G connection on a ZCU102 board (rev. D1, ES1 silicon).

 

  When booting from SD with pre-built image (xapp1305\ready to test\Linux\pl_eth_10g), I am not able to use the 10G link.

  Same message reported by te7a when bringing up eth1 (ifconfig eth1 up).

 

  My board and setup configuration is:

  - ZCU102 rev. D1 board with J16 shorted

  - 10G SFP+ (Avago 709SMZ as reported in XAPP1305) on SFP+ cage (lower right spot when facing 4-slot SFP++ cage) =>

     assume it is the right place ?! Tried other places, but not activity reported on /proc/net/dev other than when using this spot.

 - 10G NIC on my PC (Tehuti TN9510) + 10G SFP+ (same Avago)

 - Optical fiber connection

FOPC-F2-O3-DX-LCU-LCU FO Patch Cable OM3 Multi-mode 50/125µm, Duplex, LC/PC-LC/PC
 

 

 Anyone has got a chance to make it work somehow?

 

Thanks,

Luca

Tags (1)
0 Kudos
Reply
colombini_luca
Explorer
Explorer
7,374 Views
Registered: ‎11-05-2008

Hi,

 

   Solved!

 

   The 10G interface with pre-built linux image from xapp1305 is working in my case.

 

    I had to switch SFP+ transceiver to the same sport I already used for pre-built pl_eth_1g (upper right slot).

 

    Then by bringing up eth1 instead of eth0, the network is up and running.

 

Luca

0 Kudos
Reply
colombini_luca
Explorer
Explorer
7,373 Views
Registered: ‎11-05-2008

Hi,

  the boot log still report anyway the following two messages:

 

  [    2.849251] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 29 (00:0a:35:00:02:90)

  ......

  [    2.870753] xilinx_axienet 80020000.xxv_ethernet: couldn't find phy i/f

 

Luca

0 Kudos
Reply
exragur
Observer
Observer
6,013 Views
Registered: ‎09-14-2017

Any Updates on this? I have the same problems..

Are there any "SFP to RJ45" that are officially supported?

 

Best regards,

 

Franz

0 Kudos
Reply
celeron2000
Adventurer
Adventurer
3,354 Views
Registered: ‎10-21-2013

The message "couldn't find phy i/f" appears when the driver does not recognize the property "phy-mode"  or "phy-connection-type" from device tree.  See drivers/net/ethernet/xilinx/xilinx_axienet_main.c and of_get_phy_mode() in drivers/of/of_net.c.

0 Kudos
Reply
haoze
Observer
Observer
2,163 Views
Registered: ‎10-11-2017

Hi @celeron2000 I used PL_10G ethernet IP core as XAPP1305 file said. And configured ZYNQ core with GEM3 like XAPP1305. When I boot the system and then >>ifconfig there were eth0 and eth1.I thought the eth0 == GEM3 deployed in the ZYNQ and eht1 == PL_10G ethernet. Should I bring down the eth0 while bringing up eth1?And there is "couldn't find phy i/f ",can i ignore this error or modify  drivers/net/ethernet/xilinx/xilinx_axienet_main.c and of_get_phy_mode() in drivers/of/of_net.c. Looking forward to your reply!

0 Kudos
Reply
pvenugo
Moderator
Moderator
2,092 Views
Registered: ‎07-31-2012

Hi,

 

Which version of XAPP1305 are you using?

Did you apply the axi_stream patch "2.6.1.4 Applying the patch if necessary" as mentioned in https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841830/PS+and+PL+based+Ethernet+in+Zynq+MPSoC?

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply