Re: RTL8156(A|B) chip requires r8156 to be force loaded to operate
flat view
From: Jakub Kicinski <kuba@kernel.org>
Date: 2022-01-14 04:17:28
Also in:
linux-usb
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:quoted
On Fri, 24 Dec 2021 21:30:18 +0100 Ryan Lahfa wrote:quoted
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?