DPAA Ethernet traffice troubles with Linux kernel

mad skateman madskateman at gmail.com
Tue Jan 16 07:21:11 AEDT 2018


Hi All,

I have been testing with the rc8 kernel as Christian sugested.

At this moment still the same issues..

Here some of my finding...

A dump of dmesg regarding the FSL_DPAA:

[    4.597949] libphy: Fixed MDIO Bus: probed
[    4.599095] libphy: Freescale PowerQUICC MII Bus: probed
[    4.609108] libphy: Freescale PowerQUICC MII Bus: probed
[    4.609995] libphy: Freescale PowerQUICC MII Bus: probed
[    4.610689] libphy: Freescale PowerQUICC MII Bus: probed
[    4.611623] libphy: Freescale PowerQUICC MII Bus: probed
[    4.612470] libphy: Freescale XGMAC MDIO Bus: probed
[    4.617710] fsl_dpaa_mac ffe4e6000.ethernet: FMan dTSEC version: 0x08240101
[    4.618335] fsl_dpaa_mac ffe4e6000.ethernet: FMan MAC address:
00:04:9f:01:02:03
[    4.618653] fsl_dpaa_mac ffe4e8000.ethernet: FMan dTSEC version: 0x08240101
[    4.619042] fsl_dpaa_mac ffe4e8000.ethernet: FMan MAC address:
00:04:9f:01:02:04
[    4.619294] fsl_dpaa_mac ffe4e0000.ethernet:
of_get_mac_address(/soc at ffe000000/fman at 400000/ethernet at e0000) failed
[    4.619505] fsl_dpaa_mac: probe of ffe4e0000.ethernet failed with error -22
[    4.619673] fsl_dpaa_mac ffe4e2000.ethernet:
of_get_mac_address(/soc at ffe000000/fman at 400000/ethernet at e2000) failed
[    4.619878] fsl_dpaa_mac: probe of ffe4e2000.ethernet failed with error -22
[    4.620048] fsl_dpaa_mac ffe4e4000.ethernet:
of_get_mac_address(/soc at ffe000000/fman at 400000/ethernet at e4000) failed
[    4.620258] fsl_dpaa_mac: probe of ffe4e4000.ethernet failed with error -22
[    4.625078] fsl_dpaa_mac ffe4f0000.ethernet:
of_get_mac_address(/soc at ffe000000/fman at 400000/ethernet at f0000) failed
[    4.630001] fsl_dpaa_mac: probe of ffe4f0000.ethernet failed with error -22
[    4.637015] fsl_dpaa_mac ffe4e6000.ethernet eth0: Probed interface eth0
[    4.643933] fsl_dpaa_mac ffe4e8000.ethernet eth1: Probed interface eth1

This all seems correct! The probed mac`s are the one`s as put in Uboot:
Ethaddr and Eth1addr

The Eth0 and Eth1 are also probed.

When eth0 is brought up... it is unable to get an ip adress from the
dhcp server.

eth0      Link encap:Ethernet  HWaddr 00:04:9f:01:02:03
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:510 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:102556 (102.5 KB)
          Memory:fe4e6000-fe4e6fff

When using mii-tool for a double check:

mii-tool -l eth0
eth0: negotiated 1000baseT-FD flow-control, link ok

and when using ethtool

ethtool eth0
Settings for eth0:
	Supported ports: [ MII ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full
	                                     100baseT/Half 100baseT/Full
	                                     1000baseT/Half 1000baseT/Full
	Link partner advertised pause frame use: Symmetric Receive-only
	Link partner advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 3
	Transceiver: external
	Auto-negotiation: on
	Current message level: 0x00000037 (55)
			       drv probe link ifdown ifup
	Link detected: yes

RX packets always stay 0 ?

Will continiue to get more info...







On 1/15/18, Christian Zigotzky <chzigotzky at xenosoft.de> wrote:
> Sorry, I have forgotten the download link. Please test it with the DPAA
> Ethernet.
>> Hi All,
>>
>> I compiled the RC8 of kernel 4.15 with Joakim's patch for the AmigaOne
>> X5000 today. Many thanks to Joakim for the mdio patch.
>>
>> Download: http://www.xenosoft.de/uImage-4.15-rc8_with_mdio_patch.tar.gz
>>
>> Please test it on your X5000.
>>
>> Thanks,
>> Christian
>>
>>
>> On 15 January 2018 at 5:59PM, Joakim Tjernlund wrote:
>>>>
>>>> Hi,
>>>>
>>>> Please use text logs instead of pictures next time, it's easier to
>>>> read.
>>>> The errors you see are related to missing MAC addresses for the unused
>>>> interfaces, you can ignore these are they are not relevant for the
>>>> issue
>>>> you encounter. Normally the unused interfaces should have status
>>>> disabled
>>>> in the device tree but there is not a big deal if they fail like that.
>>>> As I've advised Jamie on the other thread, please try to connect the
>>>> device
>>>> back 2 back to a known good machine and determine what is broken -
>>>> Rx/Tx?
>>>> Is there another software version that does work on these machines?
>>> Hi, just saw this and thought of a small patch I just wrote for mdio
>>> bus, o idea
>>> if it is relevant but here goes:
>>>
>>>  From fe0b98d54a79779482700676331b4d10a0f3cada Mon Sep 17 00:00:00 2001
>>> From: Joakim Tjernlund <joakim.tjernlund at infinera.com>
>>> Date: Sun, 14 Jan 2018 21:27:20 +0100
>>> Subject: [PATCH] of_mdiobus_register: Continue after error
>>>
>>> of_mdiobus_register unregister itself if one phy fails to register
>>> which is bad for system having all its PHYs on the same MDIO bus.
>>> Just log the error and continue with the remaining PHYs instead.
>>>
>>> Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
>>> ---
>>>   drivers/of/of_mdio.c | 6 ++++--
>>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c
>>> index 98258583abb0..76ff28a41dad 100644
>>> --- a/drivers/of/of_mdio.c
>>> +++ b/drivers/of/of_mdio.c
>>> @@ -229,7 +229,8 @@ int of_mdiobus_register(struct mii_bus *mdio,
>>> struct device_node *np)
>>>           else
>>>               rc = of_mdiobus_register_device(mdio, child, addr);
>>>           if (rc)
>>> -            goto unregister;
>>> +            pr_warn(FW_WARN
>>> +                "%pOF: Failed to register MDIO device.\n", child);
>>>       }
>>>         if (!scanphys)
>>> @@ -253,7 +254,8 @@ int of_mdiobus_register(struct mii_bus *mdio,
>>> struct device_node *np)
>>>               if (of_mdiobus_child_is_phy(child)) {
>>>                   rc = of_mdiobus_register_phy(mdio, child, addr);
>>>                   if (rc)
>>> -                    goto unregister;
>>> +                    pr_warn(FW_WARN
>>> +                        "%pOF: Failed to register MDIO PHY.\n", child);
>>>               }
>>>           }
>>>       }
>>
>>
>
>


More information about the Linuxppc-dev mailing list