Hi.
We are using LS1028ARDB EVK. And we are proceeding with the Ethernet test.
After booting, enable swp0 for the Ethernet test as below.
ip link set eno2 up
ip link set swp0 up ip link set swp0 address bc:8d:bf:7c:5b:01 ip addr add 192.168.0.251/24 dev swp0 |
After checking if the ping test works well, Reboot the software and repeat the same process for test.
If Ethernet tests are repeated, Ethernet does not work.
In the event of this situation, ifconfig checks the status of the Ethernet and it is outputted as follows:
swp0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.0.251 netmask 255.255.255.0 broadcast 0.0.0.0 ether bc:8d:bf:7c:5b:01 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
On the other hand, in the case of normal behavior, the status of RUNNING is confirmed.
swp0: flags=4099<UP,BROADCAST,RUNNING, MULTICAST> mtu 1500 inet 192.168.0.251 netmask 255.255.255.0 broadcast 0.0.0.0 ether bc:8d:bf:7c:5b:01 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
The frequency of occurrences is random, and used SDKs occur on both LSDK2004/LSDK2012 and use ubuntu root filesystems.
We would like to hear some information or advice related to this. Thank you.
Please try the following test method.
root@ls1028ardb:~# bash +x enetc_switch_cpu_port_without_bridge_dsa.sh
[ 79.858412] Generic PHY fixed-0:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=fixed-0:00, irq=POLL)
[ 79.869942] fsl_enetc 0000:00:00.2 eno2: Link is Up - 1Gbps/Full - flow control off
[ 79.875622] 8021q: adding VLAN 0 to HW filter on device eno2
[ 79.883568] IPv6: ADDRCONF(NETDEV_CHANGE): eno2: link becomes ready
[ 79.890333] mscc_felix 0000:00:00.5 swp0: configuring for inband/qsgmii link mode
[ 79.898883] 8021q: adding VLAN 0 to HW filter on device swp0
[ 79.907080] mscc_felix 0000:00:00.5 swp1: configuring for inband/qsgmii link mode
[ 79.915531] 8021q: adding VLAN 0 to HW filter on device swp1
[ 79.923639] mscc_felix 0000:00:00.5 swp2: configuring for inband/qsgmii link mode
[ 79.932112] 8021q: adding VLAN 0 to HW filter on device swp2
[ 79.940204] mscc_felix 0000:00:00.5 swp3: configuring for inband/qsgmii link mode
[ 79.948625] 8021q: adding VLAN 0 to HW filter on device swp3
root@ls1028ardb:~# ifconfig swp0 down
root@ls1028ardb:~# ifconfig swp0 100.1.1.29 netmask 255.255.255.0
[ 90.042476] mscc_felix 0000:00:00.5 swp0: configuring for inband/qsgmii link mode
[ 90.050569] 8021q: adding VLAN 0 to HW filter on device swp0
root@ls1028ardb:~# echo $?
0
root@ls1028ardb:~# [ 93.131335] mscc_felix 0000:00:00.5 swp0: Link is Up - 1Gbps/Full - flow control off
[ 93.139218] IPv6: ADDRCONF(NETDEV_CHANGE): swp0: link becomes ready
ifconfig swp0 up
root@ls1028ardb:~# ping -c 5 -s 1 100.1.1.1
PING 100.1.1.1 (100.1.1.1) 1(29) bytes of data.
9 bytes from 100.1.1.1: icmp_seq=1 ttl=64
9 bytes from 100.1.1.1: icmp_seq=2 ttl=64
9 bytes from 100.1.1.1: icmp_seq=3 ttl=64
9 bytes from 100.1.1.1: icmp_seq=4 ttl=64
9 bytes from 100.1.1.1: icmp_seq=5 ttl=64
How can we solve it? I would appreciate it if you could give me an answer.
I confirmed with the Linux SDK testing team, they didn't encounter this issue.
Probably there is hardware problem on this specific board, please try your test on other demo board.
Thanks for your reply.
As you told us, we conducted the test using "enetc_swtich_cpu_port_without_bridge_dsa.sh".
Create the 'autorun_swp0.sh' file to proceed automatically.
I registered on ".bashrc" as below.
./enetc_swtich_cpu_port_without_bridge_dsa.sh sleep 1 ./autorun_swp0.sh |
The contents of the autorun_swp0.sh file are as follows.
#! /bin/bash ipaddr=192.168.0.252 ping_addr=192.168.0.1 port=swp0
ip addr add $ipaddr/24 dev $port sleep 1
# ping test status=($(cat /sys/bus/pci/devices/0000:00:00.5/net/$port/operstate)) echo "============> "$port" link status ->" $status while [ $status != up ]; do echo "============> "$port" link status ->" $status sleep 1 status=($(cat /sys/bus/pci/devices/0000:00:00.5/net/$port/operstate)) done
ping -c 60 ${ping_addr}
ifconfig $port down sleep 1 ifconfig eno2 down sleep 1
reboot |
After approximately 60 repetitions, the message "swp0 link status -> lowerlayerdown" was printed.
For verification, I attach the log file.