AR# 76597

|

2021.1 Linux: AXI Ethernet driver throws errors for 1000base-x designs

描述

In the 2021.1 release version of Linux, the AXI Ethernet driver throws the below errors for 1000base-x designs.

Also Ethtool reports a speed of 10Mbps speed even though the actual link is functional at 1Gbps.

root@eth_Axi1gbx:~# dmesg | grep xilinx_axienet
[ 4.880508] xilinx_axienet 80000000.ethernet: TX_CSUM 2
[ 4.885785] xilinx_axienet 80000000.ethernet: RX_CSUM 2
[ 4.891205] xilinx_axienet 80000000.ethernet: could not find MAC address property: -2
[ 6.129477] xilinx_axienet 80000000.ethernet eth0: Error setting Axi Ethernet mac speed
[ 10.221857] xilinx_axienet 80000000.ethernet eth0: Error setting Axi Ethernet mac speed

解决方案

This is a known issue in the 2021.1 Linux release for AXI Ethernet 1000base-x designs. 

To fix this issue, you will need to apply the attached patch. 

Root Cause: In version 5.5, the mainline kernel phy_mode API was changed and driver phy_mode is now initialized based on the phy-mode DT property.

As a result, comparison for phy_mode should be done with standard interface mode definitions.

PetaLinux:

The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend recipes

Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips

1) Copy the attached patch from the Attachments section to the linux-xlnx directory as shown below. 

If this directory and recipes do not exist, manually create <plnx-proj-root>/project-spec/meta-user/recipes-kernel/linux/linux-xlnx

$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-kernel/linux/linux-xlnx
$ cp 0001-net-xilinx-axiethernet-Correct-phy-mode-comparison-l.patch <plnx-proj-root>/project-spec/meta-user/recipes-kernel/linux/linux-xlnx

2) Modify the linux-xlnx_%.bbappend file with the below content using a text editor:

$ vim <plnx-proj-root>/project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend

# linux-xlnx_%.bbappend content
SRC_URI_append = " \
file://0001-net-xilinx-axiethernet-Correct-phy-mode-comparison-l.patch \
"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

3) Clean the linux-xlnx sstate cache and rebuild the linux-xlnx recipes:

$ petalinux-build -c linux-xlnx -x cleansstate
$ petalinux-build -c linux-xlnx

Yocto:

The patch should be applied to <yocto-proj-root>/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_%.bbappend recipes

1) Copy the attached patch from the Attachments section to the linux-xlnx directory as shown below.

If these directory and recipes do not exist then manually create <yocto-proj-root>/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/

$ mkdir -p <yocto-proj-root>/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx
$ cp 0001-net-xilinx-axiethernet-Correct-phy-mode-comparison-l.patch <yocto-proj-root>/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx

2) Modify the linux-xlnx_%.bbappend file with the below content using a text editor:

$ vim <yocto-proj-root>/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_%.bbappend

# linux-xlnx_%.bbappend content
SRC_URI_append = " \
file://0001-net-xilinx-axiethernet-Correct-phy-mode-comparison-l.patch \
"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

3) Clean the linux-xlnx sstate cache and rebuild the linux-xlnx recipes:

$ bitbake linux-xlnx -c cleansstate
$ bitbake linux-xlnx

附件

文件名 文件大小 File Type
0001-net-xilinx-axiethernet-Correct-phy-mode-comparison-l.patch 2 KB PATCH

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
76526 PetaLinux 2021.1 - Product Update Release Notes and Known Issues N/A N/A
AR# 76597
日期 06/24/2021
状态 Active
Type 已知问题
器件
Tools
IP
Boards & Kits
People Also Viewed