Re: RTL8156(A|B) chip requires r8156 to be force loaded to operate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 30 Dec 2021 01:03:38 +0100 Ryan Lahfa wrote:
> On Mon, Dec 27, 2021 at 06:21:24PM -0800, Jakub Kicinski wrote:
> > On Fri, 24 Dec 2021 21:30:18 +0100 Ryan Lahfa wrote:  
> > > The network card is loaded with `cdc_ncm` driver and is unable to detect
> > > any carrier even when one is actually plugged in, I tried multiple
> > > things, I confirmed independently that the carrier is working.
> > > 
> > > Through further investigations and with the help of a user on
> > > Libera.Chat #networking channel, we blacklisted `cdc_ncm`, but nothing
> > > get loaded in turn.
> > > 
> > > Then, I forced the usage of r8152 for the device 0bda:8156 using `echo
> > > 0bda 8156 > /sys/bus/usb/drivers/r8152/new_id`, and... miracle.
> > > Everything just worked.
> > > 
> > > I am uncertain whether this falls in kernel's responsibility or not, it
> > > seems indeed that my device is listed for r8152: https://github.com/torvalds/linux/blob/master/drivers/net/usb/r8152.c#L9790 introduced by this commit https://github.com/torvalds/linux/commit/195aae321c829dd1945900d75561e6aa79cce208 if I understand well, which is tagged for 5.15.
> > > 
> > > I am curious to see how difficult would that be to write a patch for
> > > this and fix it, meanwhile, here is my modest contribution with this bug
> > > report, hopefully, this is the right place for them.  
> > 
> > Can you please share the output of lsusb -d '0bda:8156' -vv ?  
> 
> Here it is, attached.

Dunno much about USB but it seems the driver matches:

	USB_DEVICE_INTERFACE_CLASS(vend, prod, USB_CLASS_VENDOR_SPEC), \

and

	USB_DEVICE_AND_INTERFACE_INFO(vend, prod, USB_CLASS_COMM, \
			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), \

Both of these should match. Former because:

Bus 002 Device 002: ID 0bda:8156 Realtek Semiconductor Corp. USB 
10/100/1G/2.5G LAN
[...]
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           3
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass    255 Vendor Specific Subclass

And the latter because of another config with:

       bInterfaceClass         2 Communications
       bInterfaceSubClass      6 Ethernet Networking
       bInterfaceProtocol      0


Let's CC linux-usb@ - any ideas?




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux