element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Mini-ITX Hardware Design PL Ethernet through SFP
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 3 replies
  • Subscribers 335 subscribers
  • Views 1490 views
  • Users 0 members are here
Related

PL Ethernet through SFP

cone83
cone83 over 9 years ago

Hi!

Has anybody been able to use the SFP port with PL ethernet? I'm trying to replicate the design from XAPP1082. I've been closely following the provided example design and copied the device tree. I've set SW10 to OFF, OFF, and SW11 to OFF, OFF, ON, OFF, which to my understanding should provide the required 125 MHz. In the SFP slot I plugged a 1000Base-T RJ45 module from Delock.

 

Unfortunately it doesn't seem to work. When booting linux, I get the following output during boot:

 

xilinx_axienet a0500000.axi-ethernet: TX_CSUM 2
xilinx_axienet a0500000.axi-ethernet: RX_CSUM 2
libphy: Xilinx Axi Ethernet MDIO: probed

 

I think that looks fine. But if I'm trying to activate the network trough ifup, I get the following:

 

net eth1: Promiscuous mode disabled.
net eth1: Promiscuous mode disabled.
ip: RTNETLINK answers: File exists
xilinx_axienet a0500000.axi-ethernet eth1: Error setting Axi Ethernet mac speed


I guess that only the last message is an issue. I don't really know what could be the cause for this. I get the same results even when unplugging the SFP module. Are there any ways to narrow this problem down?

 

Thanks

  • Sign in to reply
  • Cancel
  • cone83
    0 cone83 over 9 years ago

    Oh dear. Having another close look at XAPP1082, I see that they program the Phy in the SFP module over I2C in the FSBL. I had a close look at the Mini-ITX schematics and compared them to the schematics of the ZC706 board that is used in XAPP1082. The SFP pins are not clearly labeled in the Mini-ITX schematics, but I guess that SDA is SFP_MOD_DEF2 and SLC is SFP_MOD_DEF1. Unfortunately they are not connected to the I2C switch like for the ZC706 board, but instead to bank 9.

     

    So, I guess that I'll have to implement the I2C communication for programming the SFP Phy in PL. Does anyone have an idea for an easier solution?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 9 years ago in reply to cone83

    Hi, Currently, I met the same problem as you.I also study XAPP1082 and adapted it to picozed.Have you solved the problem?

    Hope your response.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • cone83
    0 cone83 over 9 years ago

    Hi!

     

    I did get it running somehow,  but the solution isn't yet really satisfactory. The SFP module that I am using can be configured as 1000Base-T through SGMII or as 1000Base-X. In the latter case, the module should behave like an optical transceiver and the OS shouldn't notice that this is actually a 1000Base-T link. I have written a bit more about this on the Xilinx forums:

    https://forums.xilinx.com/t5/Embedded-Processor-System-Design/PL-Ethernet-with-SFP-module/m-p/704694#M17829

     

    I have been able to get the SPF module running in 1000Base-X mode (the default), but not in SGMII mode. However, the auto negotiation is not working, which was causing the error in my initial post. According to the documentation, the SFP module should emulate the 1000Base-X auto negotiation.

     

    So either the auto negotiation of the SFP module isn't working correctly or there's a bug in the kernel driver. I'm suspecting the latter one. Due to the failed auto negotiation, the kernel driver tries to set a transfer speed of 10 MBit/s, which is illegal for a 1000Base-X link. This triggers the "Error setting Axi Ethernet mac speed" error. Therefore I have patched the kernel driver to set a 1 GBit/s transfer speed by default instead.

     

    For Xilinx kernel 2015.2 modify the file:

    ./drivers/net/ethernet/xilinx/xilinx_axienet_main.c

     

    Change lines 572 to 575 from

     

            if ((phy->speed == SPEED_10) || (phy->speed == SPEED_100)) {
                if (lp->phy_type == XAE_PHY_TYPE_1000BASE_X)
                    setspeed = 0;
            } else {

     

    to:

     

            if ((phy->speed == SPEED_10) || (phy->speed == SPEED_100)) {
                if (lp->phy_type == XAE_PHY_TYPE_1000BASE_X) {
                    printk("Illegal speed setting: %d\n", phy->speed);
                    lp->phy_type = XAE_PHY_TYPE_1000BASE_X;
                }
            } else {

     

    Then install ethtool and configure the link manually:

    #> ethtool -s eth1 speed 1000 duplex full autoneg off

     

    Maybe ethtool also works with the unpatched kernel. I haven't yet tried that.

     

    Regards

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube