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 |