SFP+ - What am I looking for?

Honycomb LX2K board has 4 SFP+ sockets. I was led to believe these were somewhat plug-and-play. Maybe not hotplug, but perhaps coldplug

Amazon sent me a pair of Ipolex ASF-10G-T (Odd, because I paid for the gigabit equivalent, but apparently they do work at slower speeds).

I see nothing new in dmesg. The only thing I can find about SFP+ is is mentions of kernel module ixgbe “ixgbe.allow_unsupported_sfp=1” - and that loads, but does not seem to find any hardware.

What sort of dmesg / dev entries should I expect to see?

EDIT: It struck me that it might be a pcie limitation, having a radeon installed, but the LX2160A has 24 lanes, so I’m guessing that’s not it.

The SFP ports need to be initialized on boot. Please refer to the documentation here. HoneyComb / ClearFog CX Installation and Tips - SolidRun

Ok, to summarize what I think I’ve learned

The images provided at SolidRun Images

are all 8_5_2 images, the ‘8’ which corresponds to the table

ls-addni ( and ls-listmac )

seems to come from restool - available at

https://source.codeaurora.org/external/qoriq/qoriq-components/restool/

and seems to depend on /dev/mc_restool and a kernel patch which gentoo does not have.

Which I think means creating my own ebuilds, or going back to Debian.

If you are using our edk2 SystemReady based firmware and a standard distribution then any kernel from 5.14 supports the networking complex. You will need to boot with the kernel commandline options arm-smmu.disable_bypass=0 iommu.passthrough=1

In a fit of “why isn’t it doing anything”, I have gone back to Debian Bullseye + linux-image-arm64 from unstable, which at the moment is 5.14.16

arm-smmu.disable_bypass=0 iommu.passthrough=1 in /etc/default/grub finally had the desired effect.

I was not able to build the ‘master’ branch of restool sources linked above, but then newer ‘integration’ branch did build and install. The kernel option CONFIG_FSL_MC_UAPI_SUPPORT=y is the relevant one.

ls-listmac
dprc.1/dpmac.17 (end point: dpni.0)
dprc.1/dpmac.10
dprc.1/dpmac.9
dprc.1/dpmac.8
dprc.1/dpmac.7
dprc.1/dpmac.6
dprc.1/dpmac.5
dprc.1/dpmac.4
dprc.1/dpmac.3

Update /etc/network/interfaces with a few options, not limited to dhcp

ls-addni dpmac.9

restart networking, top left works, and continuing…

[dpmac.9][dpmac.7]
[dpmac.10][dpmac.8] [?] [serial console usb] [eth0] [usb3] [sd]

ethX is assigned in order of commands.

Final note, when making a systemd ls-addni.service - to run before networking starts, apparently you should use

Before=network-pre.target
Wants=network-pre.target

Thank you.

1 Like

And, to answer the original question,

dmesg

[ 87.641864] fsl_mc_allocator dpbp.1: Adding to iommu group 0
[ 87.642508] fsl_mc_allocator dpmcp.36: Adding to iommu group 0
[ 87.642731] fsl_mc_allocator dpcon.31: Adding to iommu group 0
[ 87.642845] fsl_mc_allocator dpcon.30: Adding to iommu group 0
[ 87.642989] fsl_mc_allocator dpcon.29: Adding to iommu group 0
[ 87.643104] fsl_mc_allocator dpcon.28: Adding to iommu group 0
[ 87.643225] fsl_mc_allocator dpcon.27: Adding to iommu group 0
[ 87.643336] fsl_mc_allocator dpcon.26: Adding to iommu group 0
[ 87.643464] fsl_mc_allocator dpcon.25: Adding to iommu group 0
[ 87.643587] fsl_mc_allocator dpcon.24: Adding to iommu group 0
[ 87.643695] fsl_mc_allocator dpcon.23: Adding to iommu group 0
[ 87.643821] fsl_mc_allocator dpcon.22: Adding to iommu group 0
[ 87.643937] fsl_mc_allocator dpcon.21: Adding to iommu group 0
[ 87.644058] fsl_mc_allocator dpcon.20: Adding to iommu group 0
[ 87.644166] fsl_mc_allocator dpcon.19: Adding to iommu group 0
[ 87.644280] fsl_mc_allocator dpcon.18: Adding to iommu group 0
[ 87.644411] fsl_mc_allocator dpcon.17: Adding to iommu group 0
[ 87.644540] fsl_mc_allocator dpcon.16: Adding to iommu group 0
[ 87.644773] fsl_dpaa2_eth dpni.1: Adding to iommu group 0
[ 87.796989] fsl_dpaa2_eth dpni.1: Probed interface eth1
[ 87.875386] fsl_dpaa2_eth dpni.1 eth1: Link Event: state up

Based on which is the correct stable branch for lx2160a? · Issue #5 · SolidRun/linux-stable · GitHub I found I needed to use tag lf-5.10.35-2.0.0 of restool. The integration branch seems to now have a dependency on newer firmware than 10.28.1.

The current uefi image includes the firmware that works with revision 2.3.0 of restool. The next release will include the latest mcbin firmware that works with the newer restool release.