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.

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