Fixed
Created: Oct 7, 2020
Updated: Nov 10, 2020
Resolved Date: Nov 8, 2020
Found In Version: 10.19.45.10
Fix Version: 10.19.45.13
Severity: Standard
Applicable for: Wind River Linux LTS 19
Component/s: BSP
When ls1046a is connected to 10G Copper Ethernet, it links up with 100Mbps speed, not 10Gbps.
If the customer modifies kernel-source/drivers/net/phy/aquantia_main.c like below, the link is up with 10Gbps speed.
kernel-source/drivers/net/phy/aquantia_main.c
-----
static int aqr_config_aneg(struct phy_device *phydev)
{
int ret = 0;
+ return ret;
linkmode_copy(phydev->supported, phy_10gbit_features);
-----
1. configure and build wrlinux image
$ ./wrlinux-x/setup.sh --machines nxp-ls1046 --templates feature/bsp-extras --dl-layers
$ bitbake wrlinux-image-std
2. boot the wrlinux image
3. connect eth4 to 10G Copper port on another target.
!test_environment.png|width=599,height=215!
4. link up on target
root@nxp-ls1046:~# ip link set eth4 up
root@nxp-ls1046:~# ifconfig eth4 10.20.0.11
5. cheeck the "Speed" entry: it indicates "100Mb/s".
root@nxp-ls1046:~# ethtool eth4
Settings for eth4:
Supported ports: [ TP AUI BNC MII FIBRE Backplane ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
10000baseT/Full
25000baseKR/Full
200000baseLR4_ER4_FR4/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half
10000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Link partner advertised link modes: 200000baseLR4_ER4_FR4/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Link partner advertised FEC modes: Not reported
!!! Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0xffffffff (-1)
drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol 0xffff8000
Link detected: yes
6. modify kernel-source/drivers/net/phy/aquantia_main.c
static int aqr_config_aneg(struct phy_device *phydev)
{
int ret = 0;
+ return ret;
linkmode_copy(phydev->supported, phy_10gbit_features);
7. build kernel again
8. boot the kernel
9. check the link speed again (The "Speed" is "10000Mb/s")
# ip link set eth4 up
# ethtool eth4
Settings for eth4:
Supported ports: [ ]
Supported link modes: 10000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 10000baseT/Full
25000baseKR/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Link partner advertised link modes: 25000baseKR/Full
200000baseLR4_ER4_FR4/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Link partner advertised FEC modes: Not reported
!!! Speed: 10000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0xffffffff (-1)
drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol 0xffff8000
Link detected: yes