DPAA Ethernet traffice troubles with Linux kernel

mad skateman madskateman at gmail.com
Tue Jan 16 08:32:14 AEDT 2018


Some extra info:

When Ubuntu boots, Eth0 (192.168.22.44) is not brought up automaticly..

When i bring up eth0 by hand, its still not active..

root at X5000LNX:/home/skateman# ifconfig eth0 up
root at X5000LNX:/home/skateman# ping 192.168.22.44
connect: Network is unreachable

When i use mii-tool too Kick the tranceiver... it comes alive.. i can
ping the eth0 itself

root at X5000LNX:/home/skateman# mii-tool -R eth0
resetting the transceiver...
root at X5000LNX:/home/skateman# ping 192.168.22.44
PING 192.168.22.44 (192.168.22.44) 56(84) bytes of data.
64 bytes from 192.168.22.44: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 192.168.22.44: icmp_seq=2 ttl=64 time=0.046 ms
64 bytes from 192.168.22.44: icmp_seq=3 ttl=64 time=0.047 ms
64 bytes from 192.168.22.44: icmp_seq=4 ttl=64 time=0.048 ms

eth0      Link encap:Ethernet  HWaddr 00:04:9f:01:02:03
          inet addr:192.168.22.44  Bcast:192.168.22.255  Mask:255.255.255.0
          inet6 addr: fe80::c84b:9f6b:f2f6:8933/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:7600 (7.6 KB)
          Memory:fe4e6000-fe4e6fff

Not realy sure why the Tranceiver is not brought up directly when linux starts..



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