Bug 103191

Summary: r8152: no link detection with RTL8153
Product: Drivers Reporter: Loïc Yhuel (loic.yhuel)
Component: NetworkAssignee: drivers_network (drivers_network)
Status: NEW ---    
Severity: normal CC: an0nym, szg00000
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.1.6, 4.2.3 Subsystem:
Regression: No Bisected commit-id:
Attachments: Allow cdc_ether to serve RTL8153

Description Loïc Yhuel 2015-08-19 21:18:43 UTC
I have an USB 3.0 hub with integrated ethernet port :
Bus 002 Device 005: ID 0bda:8153 Realtek Semiconductor Corp.

Settings for enp0s20u4u4:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Half 1000baseT/Full 
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00007fff (32767)
                               drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
        Link detected: no

"Link detected" is always "no", even if the LED is on, and the speed/duplex/link partner are correctly detected.


It seems I'm not the only one to have this issue (https://bbs.archlinux.org/viewtopic.php?id=193238).
The r8152 driver from Realtek site, v2.05.0 (2015/06/09), doesn't have the issue.
Comment 1 an0nym 2018-11-04 00:29:09 UTC
Created attachment 279305 [details]
Allow cdc_ether to serve RTL8153

Hi, 

I have a similar problem with the RTL8153 in Microsoft Surface Dock. 

People report that cdc_ether can serve RTL8153 without any problems. Unfortunately this device is forcefully blacklisted from cdc_ether code so one cannot force it to work with cdc_ether without recompiling even when r8152 is blacklisted. 

It has also been discussed here https://github.com/jakeday/linux-surface/pull/9.

The proposed patch removes blacklisting from cdc_ether.c and removes RTL8153 support from r8152. I'm not sure the latter should be done but the former alone will allow to use r8152 by default and switch to cdc_ether with simply blacklisting r8152 without recompilation. This is much easier for a regular user.