Hi Russell, I got contact with someone that has access to this chip's datasheet. He tolds me that according to the datasheet, this chip "supports a rate adaptor feature, which is a Realtek proprietary SERDES mechanism." " When the chip's SERDES operates in Rate adaptor mode, the SERDES speed is fixed at 2.5Gbps and the Ethernet speed cannot be higher than the SERDES speed. The SOC need not follow the Ethernet link speed, and cannot change the SERDES speed in this mode. There is a data flow control mechanism to ensure correct data transmission." Is it enough to put this into the commit information? Best regards, Shengyu 在 2024/2/26 23:42, Russell King (Oracle) 写道:
On Mon, Feb 26, 2024 at 10:51:36PM +0800, Shengyu Qu wrote:Hi Russell, 在 2024/2/26 22:39, Russell King (Oracle) 写道:On Mon, Feb 26, 2024 at 10:16:46PM +0800, Shengyu Qu wrote:Hi Russell,On Mon, Feb 26, 2024 at 09:23:46PM +0800, Shengyu Qu wrote:ODI DFP-34X-2C2 is capable of 2500base-X, but incorrectly report its capabilities in the EEPROM. So use sfp_quirk_2500basex for this module to allow 2500Base-X mode.This was previously submitted by Sergio Palumbo, and comes in two different forms - an OEM version and non-OEM. There was extensive discussion about this, and the result is that I'm not accepting this quirk for this module. The reason is that the module _defaults_ to 1000base-X and requires manual reconfiguration by the user to operate at 2500base-X. Unfortunately, there is no way for the kernel to know whether that reconfiguration has occurred.No, In the firmware of this stick, the speed rate is configured to auto negotiation rather than fixed 1000base-X.How does this "auto negotiation" work? I mean *exactly* how does it work? How does it know whether the host is operating at 1000base-X or 2500base-X? There is *no* inband protocol to allow this to be negotiated.Well, that seems some kind weird trick implemented in that chip's SDK (maybe hardware?). It would automatically detect the speed rate that host uses and switch to that rate. The system log of the stick shows that.This sounds racy - between the SFP detecting the speed of the host and the kernel code reconfiguring the interface. More details please...
Attachment:
OpenPGP_0xE3520CC91929C8E7.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature