Re: Lynx 10G SerDes Driver on my kernel

Tanjeff Moos
2026-02-05T16:47:28Z

Hello Vladimir,

I wish you a great year 2026!

Meanwhile I ported some of your code and I got my networking partially
running. Details follow, but first I have a question.

== Question ==

The lynx-10g driver disables the managed lanes in lynx_10g_init(), and
they are never enabled afterwards. Probably I didn't port the associated
code, but can't find where it is.

I modified lynx_10g_init() to leave the lane enabled, which solves the
problem, but this is a dirty hack.

Question: How is the lane supposed to be enabled?

== Status of my work ==

In case you are interested I provide some details here.

I ported only part of your code (tag lf-6.12.49-2.2.0), mainly the
lynx-10g driver plus some changes you did in pcs-lynx.c, phy-core.c,
guts.c, the dpaa drivers plus their associated header files. I
deliberately omitted code dealing with c72 autonegotiation (for
backplane), as I don't need it. I'm still working with kernel 6.6.119
plus OpenWRT patches and cannot easily upgrade.

So far, I have a 2.5 GbE PHY and can run the following modes:
- 100M : SGMII
- 1G: SGMII
- 2.5G: 2500BaseX

Switching forth and back the modes works seamlessly (with my dirty hack
to power on the lane!). But I didn't test RCW rewriting as it is not
needed in this scenario.

Kind regards so far, Tanjeff