netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Heiner Kallweit" <hkallweit1@gmail.com>,
	"Pali Rohár" <pali@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next 2/2] net: sfp: relax bitrate-derived mode check
Date: Fri, 4 Dec 2020 15:51:59 +0000	[thread overview]
Message-ID: <20201204155159.GN1551@shell.armlinux.org.uk> (raw)
In-Reply-To: <20201204153850.GD2400258@lunn.ch>

On Fri, Dec 04, 2020 at 04:38:50PM +0100, Andrew Lunn wrote:
> On Fri, Dec 04, 2020 at 02:35:27PM +0000, Russell King wrote:
> > Do not check the encoding when deriving 1000BASE-X from the bitrate
> > when no other modes are discovered. Some GPON modules (VSOL V2801F
> > and CarlitoxxPro CPGOS03-0490 v2.0) indicate NRZ encoding with a
> > 1200Mbaud bitrate, but should be driven with 1000BASE-X on the host
> > side.
> 
> Seems like somebody could make a nice side line writing SFP EEPROM
> validation tools. There obviously are none in widespread use!

Definitely. Here's an example of another module:

  Identifier                                : 0x02 (module soldered to motherboard)

This is incorrect, it's a plug-in module.

  Transceiver codes                         : 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00
  Transceiver type                          : 10G Ethernet: 10G Base-ER [SFF-8472 rev10.4 onwards]
  Transceiver type                          : 10G Ethernet: 10G Base-LRM
  Transceiver type                          : 10G Ethernet: 10G Base-LR
  Transceiver type                          : 10G Ethernet: 10G Base-SR
  Transceiver type                          : Infiniband: 1X SX
  Transceiver type                          : Infiniband: 1X LX
  Transceiver type                          : Infiniband: 1X Copper Active        Transceiver type                          : Infiniband: 1X Copper Passive
  Transceiver type                          : ESCON: ESCON MMF, 1310nm LED        Transceiver type                          : ESCON: ESCON SMF, 1310nm Laser
  Transceiver type                          : SONET: OC-192, short reach
  Transceiver type                          : SONET: SONET reach specifier bit 1
  Transceiver type                          : SONET: SONET reach specifier        Transceiver type                          : SONET: SONET reach specifier bit 2
  Transceiver type                          : SONET: OC-48, long reach
  Transceiver type                          : SONET: OC-48, intermediate reach
  Transceiver type                          : SONET: OC-48, short reach
  Transceiver type                          : SONET: OC-12, single mode, long reach
  Transceiver type                          : SONET: OC-12, single mode, inter. reach
  Transceiver type                          : SONET: OC-12, short reach
  Transceiver type                          : SONET: OC-3, single mode, long reach
  Transceiver type                          : SONET: OC-3, single mode, inter. reach
  Transceiver type                          : SONET: OC-3, short reach
  Transceiver type                          : Ethernet: BASE-PX
  Transceiver type                          : Ethernet: BASE-BX10
  Transceiver type                          : Ethernet: 100BASE-FX
  Transceiver type                          : Ethernet: 100BASE-LX/LX10
  Transceiver type                          : Ethernet: 1000BASE-T
  Transceiver type                          : Ethernet: 1000BASE-CX
  Transceiver type                          : Ethernet: 1000BASE-LX
  Transceiver type                          : Ethernet: 1000BASE-SX
  Transceiver type                          : FC: very long distance (V)
  Transceiver type                          : FC: short distance (S)
  Transceiver type                          : FC: intermediate distance (I)
  Transceiver type                          : FC: long distance (L)
  Transceiver type                          : FC: medium distance (M)
  Transceiver type                          : FC: Shortwave laser, linear
Rx (SA)
  Transceiver type                          : FC: Longwave laser (LC)
  Transceiver type                          : FC: Electrical inter-enclosure (EL)
  Transceiver type                          : FC: Electrical intra-enclosure (EL)
  Transceiver type                          : FC: Shortwave laser w/o OFC
(SN)
  Transceiver type                          : FC: Shortwave laser with OFC (SL)
  Transceiver type                          : FC: Longwave laser (LL)
  Transceiver type                          : Active Cable
  Transceiver type                          : Passive Cable
  Transceiver type                          : FC: Copper FC-BaseT
  Transceiver type                          : FC: Twin Axial Pair (TW)
  Transceiver type                          : FC: Twisted Pair (TP)
  Transceiver type                          : FC: Miniature Coax (MI)
  Transceiver type                          : FC: Video Coax (TV)
  Transceiver type                          : FC: Multimode, 62.5um (M6)
  Transceiver type                          : FC: Multimode, 50um (M5)
  Transceiver type                          : FC: Single Mode (SM)
  Transceiver type                          : FC: 1200 MBytes/sec
  Transceiver type                          : FC: 800 MBytes/sec
  Transceiver type                          : FC: 400 MBytes/sec
  Transceiver type                          : FC: 200 MBytes/sec
  Transceiver type                          : FC: 100 MBytes/sec

This, of course, _really_ messes up our current EEPROM parsing code.
I can only think that this SFP module is very very large externally
to support all those different connectors for all those capabilities!

I think it's safe to assume all SFP GPON modules are broken in one
way or another, and sadly no manufacturer cares one iota what they
stuff into their EEPROM. So far, every GPON module I've heard of has
had some problem or another. This is a really sad state of affairs.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

  reply	other threads:[~2020-12-04 15:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04 14:34 [PATCH net-next 0/2] Add support for VSOL V2801F/CarlitoxxPro CPGOS03 GPON module Russell King - ARM Linux admin
     [not found] ` <E1klCB8-0001sW-Ma@rmk-PC.armlinux.org.uk>
2020-12-04 15:00   ` [PATCH net-next 1/2] net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 workaround Russell King - ARM Linux admin
2020-12-04 15:31   ` Andrew Lunn
2020-12-09 11:20     ` Russell King - ARM Linux admin
     [not found] ` <E1klCBD-0001si-Qj@rmk-PC.armlinux.org.uk>
2020-12-04 15:38   ` [PATCH net-next 2/2] net: sfp: relax bitrate-derived mode check Andrew Lunn
2020-12-04 15:51     ` Russell King - ARM Linux admin [this message]
2020-12-09 11:11 ` [PATCH net-next 0/2] Add support for VSOL V2801F/CarlitoxxPro CPGOS03 GPON module Russell King - ARM Linux admin
2020-12-09 11:17   ` Russell King - ARM Linux admin
  -- strict thread matches above, loose matches on Subject: below --
2020-12-09 11:21 [PATCH RESEND " Russell King - ARM Linux admin
2020-12-09 11:22 ` [PATCH net-next 2/2] net: sfp: relax bitrate-derived mode check Russell King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201204155159.GN1551@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pali@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).