Re: main [so: 15] context, 7950X3D and RTL8251/8153 based Ethernet dongle: loss of state, example log information

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Mon, 04 Mar 2024 20:39:39 UTC
On 04.03.2024 15:33, Jakob Alvermark wrote:
> On 3/4/24 21:13, Alexander Motin wrote:
>> On 04.03.2024 15:00, Poul-Henning Kamp wrote:
>>>>> Nov 30 03:23:18 7950X3D-UFS kernel: ue0: link state changed to DOWN
>>>>> Nov 30 03:23:18 7950X3D-UFS kernel: ue0: link state changed to UP
>>>>> Nov 30 03:23:18 7950X3D-UFS kernel: ue0: link state changed to DOWN
>>>>> Nov 30 03:23:18 7950X3D-UFS kernel: ue0: link state changed to UP
>>>>> Nov 30 03:23:18 7950X3D-UFS kernel: ue0: link state changed to DOWN
>>>>> Nov 30 03:23:18 7950X3D-UFS kernel: ue0: link state changed to UP
>>>
>>> I consistently had similar problems with my 0x17ef/0x3066 "ThinkPad
>>> Thunderbolt 3 Dock MCU", but they went away after I forced it to
>>> use the if_cdce driver instead with this quirk:
>>>
>>>          /* This works much better with if_cdce than if_ure */
>>>          USB_QUIRK(LENOVO, TBT3LAN,  0x0000, 0xffff, UQ_CFG_INDEX_1),
>>
>> AFAIK it is only a workaround.  I saw it myself on number of different 
>> USB dongles and laptops, that USB starting experience some problems 
>> with multiple NIC queues and some other factors. IIRC the Realtek 
>> driver was much more stable once I limited it to one queue and some 
>> other hacks. IIRC if_cdce just has only one queue and other 
>> limitations, that not only makes it more stable, but also much 
>> slower.  It would be good to understand what's wrong is there exactly, 
>> since IMHO it is a big problem now. Unfortunately HPS was unable to 
>> reproduce it on his laptop (that makes me wonder if is is specific to 
>> chipset(s) or thunderbolt?), so it ended nowhere so far.
> 
> I have a Lenovo USB 3 dongle, so no thunderbolt.

I also use USB3 dongles.  But in my laptops the USB 3 ports are provided 
by Intel Thunderbolt controller, while in HPS' they were plain from USB3 
controller.  Though it may be just a coincidence.

> USB ID 0x17ef/0x7205
> 
> rgephy1: <RTL8251/8153 1000BASE-T media interface> PHY 0 on miibus1
> 
> I tried using the cdce driver, it gives me < 100Mb/s, while the ure 
> driver gets > 500Mb/s

Right, I saw about the same.

-- 
Alexander Motin