[Macchiato] SFP+ ports - any config needed?

Steve McIntyre steve at einval.com
Tue Dec 18 17:21:49 GMT 2018


Hey Baruch,

Thanks for your support!

On Tue, Dec 18, 2018 at 05:51:54PM +0200, Baruch Siach wrote:
>Steve McIntyre writes:
>> On Sun, Dec 16, 2018 at 01:21:30PM +0200, Baruch Siach wrote:
>>>Steve McIntyre writes:
>>>> I've just got a new switch with some 10G SFP+ ports on it, and I'm
>>>> trying to use it with my macchiatobin, with some simple SFP+ direct
>>>> attach cables.
>>>>
>>>> Naively, I just plugged things together and hoped for the best. *grin*
>>>> But I don't seem to be getting any link on my cable. I don't see any
>>>> obvious way of configuring the two 10G ports to use the SFP+ cages
>>>> rather than the RJ45 TP connectors. Can somebody tell me what I'm
>>>> missing please? Marcin?
>>>
>>>Which kernel version are you using?
>>
>> Debian's 4.18 backports kernel, which is "4.18.6-1~bpo9+1".
>>
>>>Do you have CONFIG_SFP and CONFIG_MARVELL_10G_PHY enabled?
>>
>> Yup.
>
>Then you should at least see the sfp driver messages.

So I've found the problem (I think!) - in the Debian kernel we have
CONFIG_MARVELL_10G_PHY=m and AFAICS there's nothing triggering
autoloading of the module. Without it, things just don't work. Forcing
the system to load it at boot time on the 4.18 backports kernel (via
listing in /etc/modules) makes things work for me:

[   14.576557] mvpp2 f2000000.ethernet eth0: PHY [f212a600.mdio-mii:00] driver [mv88x3310]
[   14.596758] mvpp2 f2000000.ethernet eth0: configuring for phy/10gbase-kr link mode
[   14.605163] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.617114] mvpp2 f2000000.ethernet eth0: Link is Up - 10Gbps/Full - flow control off
[   15.625016] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

It clearly needs to be loaded before mvpp2, but there's something more
awkward here too. If I unload mvpp2 then modprobe marvell10g and mvpp2
I still don't get any traffic on the SFP+. There's a dependency order
that's not obvious, to me at least! Should the mvpp2 driver be
declaring a dependency on marvell10g here?

I'm also trying a current build of 4.20.0-rc7 using the same kernel
config inherited from Debian, and I see the same behaviour as with
4.18.6. So your fix in 01b3fd5ac97c wasn't needed for me, at least.

I'm still seeing oddness from ethtool, with both kernels. With the
SFP+ plugged in and running I'm seeing:

root at mjolnir:/home/steve# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
                                10000baseT/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 
                                10000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Speed: 10000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Link detected: yes

so I'm guessing there's something not quite right in the mvpp2 ethtool
backend?

>What is the revision of your Macchiatobin? Note that revision 1.1 has a
>hardware bug that prevents i2c access to the SFP module EEPROM. You need
>this workaround from the RMK git tree:

It's a rev 1.2, so no problem here.

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
  Mature Sporty Personal
  More Innovation More Adult
  A Man in Dandism
  Powered Midship Specialty




More information about the Macchiato mailing list