Thread (8 messages) 8 messages, 2 authors, 10d ago

Re: RFC: symmetric SET_MODULE_EEPROM_BY_PAGE with i2c_address for non-SFF pages

From: Andrew Lunn <andrew@lunn.ch>
Date: 2026-07-15 15:58:18

The issue is that automotive PHYs have extra functions, not
available in standard SFP 1000BASET/Fiber modules.
But this is not a fiber module. It is a copper module. How are you
setting the connector byte at 130? Do you have an RJ45?
SFF8024_CONNECTOR_RJ45? The other option is SFF8024_CONNECTOR_UNSPEC
and transceiver byte 134, bit 3 e1000_base_t True to mean twisted
pair.
Namely:

* 1000BASET1 PHY needs to be assigned a role (either master or slave), a standard NIC have no concept of this.
Nothing special here:

ethtool -s devname [master-slave preferred-master|preferred-slave|forced-master|forced-slave]

Standard NICs do have this concept. I cannot say if NICs using
firmware actually implement this API, but any NIC using Linux to drive
the hardware probably does, and it is a standard part of phylib, and
802.3 registers in C22 and C45. There are helpers for PHY drivers to
set the bits.
* The PHY have multiple operational speeds, for example 100BASET1 and 1000BASET1
Again, nothing special. The PHY driver should enumerate what the
capabilities of the PHY are, there are bits defined in 802.3 for this,
so nothing special needed. From that, the MAC can decide how it
configures itself. Again, nothing special.
In order to set those configurations, we need to send an I2C command
to the SFP module; to inform it in which mode the user wants it to
work (the entire config is just few bytes of data)
How are you intercepting the ethtool netlink messages at the top of
the MAC? You need to intercept the ksetting_set/get calls.

Sorry, but for Mainline, you need to follow Mainline way of doing
things.

Linux is however open source. Feel free to fork Linux, make whatever
changes you want, and ship your fork to your customers.

	Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help