lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 29 Nov 2017 01:38:21 +0000
From:   Andy Duan <fugang.duan@....com>
To:     Oliver Graute <oliver.graute@...il.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: fec driver and two micrel phys

From: Oliver Graute <oliver.graute@...il.com> Sent: Tuesday, November 28, 2017 11:28 PM
>Hello list,
>
>I try to get two Micrel KSZ8041 Phys working with the fec driver from Kernel
>4.14. But it looks that something with the mii_bus probing is not working here.
>I expect the Phys on address 01 and 03. Currently on eth1 I see TX traffic but
>no RX. On eth0 there is neither nor. (ifconfig)
>
>[   51.997034] Micrel KSZ8041 800f0000.ethernet-1:00: attached PHY driver
>[Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:00, irq=POLL)
>[   52.036719] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
>[   52.621138] Micrel KSZ8041 800f0000.ethernet-1:01: attached PHY driver
>[Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:01, irq=POLL)
>[   52.649677] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
>[   54.697479] fec 800f4000.ethernet eth1: Link is Up - 100Mbps/Full - flow
>control off
>[   54.721424] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
>[   59.860693] Micrel KSZ8041 800f0000.ethernet-1:00: attached PHY driver
>[Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:00, irq=POLL)
>[   59.874298] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
>[   59.980688] Micrel KSZ8041 800f0000.ethernet-1:01: attached PHY driver
>[Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:01, irq=POLL)
>[   59.994289] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
>[   62.025331] fec 800f4000.ethernet eth1: Link is Up - 100Mbps/Full - flow
>control off
>[   62.044588] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
>
>
>On my old setup with an Kernel 4.2 the phys are working. But there I patched
>the phy_mask into the old fec code. Because I didn't know how to do it better
>by device tree.
>
>Can someone tell my how to do it right?
>

Firstly, the log show PHY link is not stable, and the auto-negotiation show flow control off. So pls add PHY reset.
Secondly, as Andrew said, pls list out your device tree, it is better to configure two phy node in device tree. 

>
>+++ b/drivers/net/ethernet/freescale/fec_main.c
>@@ -1909,6 +1909,9 @@ static int fec_enet_mii_probe(struct net_device
>*ndev)
>        fep->phy_dev = NULL;
>+       //FIXME: Has to come in via DT
>+       fep->mii_bus->phy_mask = 5;
>
>[    2.857053] fec 800f0000.ethernet: failed to get phy-reset-gpios: -16
>[    2.864190] fec 800f0000.ethernet (unnamed net_device) (uninitialized):
>Invalid MAC address: 00:00:00:00:00:00
>[    2.874450] fec 800f0000.ethernet (unnamed net_device) (uninitialized):
>Using random MAC address: 4e:7f:b4:28:6d:a5
>[    2.954844] libphy: fec_enet_mii_bus: probed
>[    2.969254] fec 800f4000.ethernet (unnamed net_device) (uninitialized):
>Invalid MAC address: 00:00:00:00:00:00
>[    2.979514] fec 800f4000.ethernet (unnamed net_device) (uninitialized):
>Using random MAC address: 3a:4a:96:7e:c2:02
>[   41.430276] fec 800f0000.ethernet eth0: Freescale FEC PHY driver [Micrel
>KSZ8041] (mii_bus:phy_addr=800f0000.etherne:01, irq=-1)
>[   42.062191] fec 800f4000.ethernet eth1: Freescale FEC PHY driver [Micrel
>KSZ8041] (mii_bus:phy_addr=800f0000.etherne:03, irq=-1)
>[   43.430622] fec 800f0000.ethernet eth0: Link is Up - 100Mbps/Full - flow
>control off
>[   48.245927] fec 800f0000.ethernet eth0: Freescale FEC PHY driver [Micrel
>KSZ8041] (mii_bus:phy_addr=800f0000.etherne:01, irq=-1)
>[   50.246425] fec 800f0000.ethernet eth0: Link is Up - 100Mbps/Full - flow
>control off
>[  112.254191] fec 800f0000.ethernet eth0: Link is Down [  117.066479] fec
>800f4000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off
>
>Best Regards,
>
>Oliver

Powered by blists - more mailing lists