# SFP+ - What am I looking for?

**URL:** <https://community.solid-run.com/t/sfp-what-am-i-looking-for/193>\
**Category:** NXP LX2160\
**Created:** [November 8, 2021, 6:17pm UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193 "2021-11-08T18:17:04Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![sudrien](https://avatars.discourse-cdn.com/v4/letter/s/b9bd4f/32.png) [@sudrien](https://community.solid-run.com/u/sudrien)\
**Post date:** [November 8, 2021, 6:17pm UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/1 "2021-11-08T18:17:04Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [November 9, 2021, 7:39am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/2 "2021-11-09T07:39:57Z")

</div>

The SFP ports need to be initialized on boot. Please refer to the documentation here. [HoneyComb / ClearFog CX Installation and Tips - SolidRun](https://developer.solid-run.com/knowledge-base/honeycomb-clearfog-cx-installation-and-tips/#using-the-built-in-nics)

---

<div class="post-metadata">

**Author:** ![sudrien](https://avatars.discourse-cdn.com/v4/letter/s/b9bd4f/32.png) [@sudrien](https://community.solid-run.com/u/sudrien)\
**Post date:** [November 11, 2021, 6:08am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/3 "2021-11-11T06:08:55Z")

</div>

Ok, to summarize what I think I’ve learned

The images provided at [SolidRun Images](https://images.solid-run.com/LX2k/lx2160a_uefi)

are all 8\_5\_2 images, the ‘8’ which corresponds to the table

> **[Com Express Type 7 LX2160A - SolidRun](https://developer.solid-run.com/knowledge-base/lx2160a-cex7-user-manual/#serdes-block-1-sd1)**
>
> Revisions and Notes  Date Owner Revision Notes — — — Pre-released information Introduction This document is intended for hardware engineers that are willing to integrate LX2160A COM express type 7 module from SolidRun ltd. The document provides...

---

<div class="post-metadata">

**Author:** ![sudrien](https://avatars.discourse-cdn.com/v4/letter/s/b9bd4f/32.png) [@sudrien](https://community.solid-run.com/u/sudrien)\
**Post date:** [November 11, 2021, 6:09am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/4 "2021-11-11T06:09:29Z")

</div>

ls-addni ( and ls-listmac )

> <https://github.com/SolidRun/lx2160a_build/issues/16>
>
> After building an image with \`SERDES=8\_5\_2\`, how can I use the 10Gb SFP+ ports f…rom the OS? They're not showing up as network interfaces.
> 
> \`\`\`
> dave@solid:~$ ifconfig -a
> eth0: flags=4163\<UP,BROADCAST,RUNNING,MULTICAST\> mtu 1500
> inet 192.168.x.x netmask 255.255.255.0 broadcast 192.168.x.255
> inet6 fe80::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20\<link\>
> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
> RX packets 921 bytes 249188 (249.1 KB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 243 bytes 31724 (31.7 KB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
> 
> lo: flags=73\<UP,LOOPBACK,RUNNING\> mtu 65536
> inet 127.0.0.1 netmask 255.0.0.0
> inet6 ::1 prefixlen 128 scopeid 0x10\<host\>
> loop txqueuelen 1000 (Local Loopback)
> RX packets 84 bytes 6212 (6.2 KB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 84 bytes 6212 (6.2 KB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
> 
> sit0: flags=128\<NOARP\> mtu 1480
> sit txqueuelen 1000 (IPv6-in-IPv4)
> RX packets 0 bytes 0 (0.0 B)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 0 bytes 0 (0.0 B)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
> \`\`\`

seems to come from restool - available at

[https://source.codeaurora.org/external/qoriq/qoriq-components/restool/](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.

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [November 11, 2021, 11:08am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/5 "2021-11-11T11:08:09Z")

</div>

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`

---

<div class="post-metadata">

**Author:** ![sudrien](https://avatars.discourse-cdn.com/v4/letter/s/b9bd4f/32.png) [@sudrien](https://community.solid-run.com/u/sudrien)\
**Post date:** [November 12, 2021, 5:47am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/6 "2021-11-12T05:47:11Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![sudrien](https://avatars.discourse-cdn.com/v4/letter/s/b9bd4f/32.png) [@sudrien](https://community.solid-run.com/u/sudrien)\
**Post date:** [November 12, 2021, 5:55am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/7 "2021-11-12T05:55:33Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![alex9373](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@alex9373](https://community.solid-run.com/u/alex9373)\
**Post date:** [February 21, 2022, 1:33am UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/8 "2022-02-21T01:33:12Z")

</div>

Based on [which is the correct stable branch for lx2160a? · Issue #5 · SolidRun/linux-stable · GitHub](https://github.com/SolidRun/linux-stable/issues/5) 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.

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [February 23, 2022, 4:16pm UTC](https://community.solid-run.com/t/sfp-what-am-i-looking-for/193/9 "2022-02-23T16:16:01Z")

</div>

> [@sudrien](#):
>
> dprc.1/dpmac.3

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.
