Subject: Re: [PATCH 1/4] net: sfp: add workaround for Realtek RTL8672 and RTL9601C chips

From: Russell King - ARM Linux admin <[email-masked]>
Date: Wed, 6 Jan 2021 15:21:38 +0000

On Wed, Jan 06, 2021 at 03:55:32PM +0100, Pali Rohár wrote:
> On my tested CarlitoxxPro module is:
> 
>         Option values                             : 0x00 0x1c
>         Option                                    : RX_LOS implemented, inverted
>         Option                                    : TX_FAULT implemented
>         Option                                    : TX_DISABLE implemented
> 
> When cable is disconnected then in EEPROM at position 0x16e is value
> 0x82. If I call 'ip link set eth1 up' then value changes to 0x02, module
> itself has a link and I can connect to its internal telnet/webserver to
> configure it.

Bit 7 reflects the TX_DISABLE pin state. Bit 1 reflects the RX_LOS pin
state. It isn't specified whether the inverted/non-inverted state is
reflected in bit 1 or not - the definition just says that bit 1 is
"Digital state of the RX_LOS Output Pin."

> I also tested UBNT module and result is:
> 
>         Option values                             : 0x00 0x06
>         Option                                    : RX_LOS implemented
>         Option                                    : RX_LOS implemented, inverted
> 
> Which means that those bits are not implemented.
> 
> Anyway I check position 0x16e and value on its value is randomly either
> 0x79 or 0xff independently of the state of the GPON module.
> 
> So it is really not implemented on UBNT.

There are enhanced options at offset 93 which tell you which of the
offset 110 signals are implemented.

We already have support for these, but only when the corresponding
GPIOs on the host side are not implemented.

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