Subject: Re: [PATCH net] r8169: fix rtl8168h wol fail

From: Heiner Kallweit <[email-masked]>
Date: Mon, 16 Jan 2023 18:59:54 +0100

On 16.01.2023 18:04, Hau wrote:
>> On 13.01.2023 17:36, Andrew Lunn wrote:
>>> On Fri, Jan 13, 2023 at 04:23:45PM +0000, Hau wrote:
>>>>>>>>> In this application(rtl8168h + rtl8211fs) it also supports
>>>>>>>>> 100Mbps fiber
>>>>>>>> module.
>>>>>>>>
>>>>>>>> Does RTL8211FS advertise 100Mbps and 1Gbps on the UTP/MDI side
>> in
>>>>>>>> case of a 100Mbps fiber module?
>>>>>>> Yes.
>>>>>>>
>>>>>> I think in this case internal PHY and RTL8211FS would negotiate
>>>>>> 1Gbps, not matching the speed of the 100Mbps fiber module.
>>>>>> How does this work?
>>>>
>>>> My mistake. With 100Mbps fiber module RTL8211FS will only advertise
>>>> 100Mbps on the UTP/MDI side. With 1Gbps fiber module it will
>>>> advertise both 100Mbps and 1Gbps. So issue will only happen with 1Gbps
>> fiber module.
>>>>
>>>>> Fibre line side has no autoneg. Both ends need to be using the same
>>>>> speed, or the SERDES does not synchronise and does not establish link.
>>>>>
>>>>> You can ask the SFP module what baud rate it supports, and then use
>>>>> anything up to that baud rate. I've got systems where the SFP is
>>>>> fast enough to support a 2.5Gbps link, so the MAC indicates both
>>>>> 2.5G and 1G, defaults to 2.5G, and fails to connect to a 1G link
>>>>> peer. You need to use ethtool to force it to the lower speed before the
>> link works.
>>>>>
>>>>> But from what i understand, you cannot use a 1000Base-X SFP, set the
>>>>> MAC to 100Mbps, and expect it to connect to a 100Base-FX SFP. So for
>>>>> me, the RTL8211FS should not be advertise 100Mbps and 1Gbps, it
>>>>> needs to talk to the SFP figure out exactly what it is, and only
>>>>> advertise the one mode which is supported.
>>>>
>>>> It is the RTL8211FS firmware bug. This patch is for workaround this issue.
>>>
>>> So if it is advertising both 100Mbps and 1Gbps, we know the SFP is
>>> actually 1G, and we can remove the 100Mbps advertisement? That should
>>> then solve all the problems?
>>>
>> Right, that's what I proposed too, removing 1Gbps advertisement of the
>> RTL8168H-internal PHY via userspace tool, e.g. ethtool. For me this is the
>> cleanest solution. Adding a workaround for a firmware bug of a specific
>> external PHY to the r8169 MAC driver would be somewhat hacky.
>>
> Thanks for your suggestions. But because it needs user to execute userspace tool.
> This workaround may not be accepted by our customer
> 

In this case you can provide your customer with a downstream kernel including
your patch.