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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171128152815.GB32345@graute-opti>
Date:   Tue, 28 Nov 2017 16:28:15 +0100
From:   Oliver Graute <oliver.graute@...il.com>
To:     netdev@...r.kernel.org
Cc:     fugang.duan@....com
Subject: fec driver and two micrel phys

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?


+++ 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

Powered by Openwall GNU/*/Linux Powered by OpenVZ