New: ASIX AX88179 does not work in 6.X kernel
https://bugzilla.kernel.org/show_bug.cgi?id=217204
Bug ID: 217204
Summary: ASIX AX88179 does not work in 6.X kernel
Product: Drivers
Version: 2.5
Kernel Version: 6.1
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: USB
Assignee: [email protected]
Reporter: [email protected]
Regression: Yes
After update from kernel 5.15.80 to 6.1.12 the USB ETH card ASIX AX88179 which is in USB-C dock is not accessible as eth1.
**!!! IMPORTANT !!!
If the HW is booted with good kernel and then rebooted (without losing power) to bad kernel, it will still work. Only if it is booted with bad kernel from cold state (total no power) then it will not work.**
``` Bisecting: 2 revisions left to test after this (roughly 2 steps) [a41b17ff9dacd22f5f118ee53d82da0f3e52d5e3] dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock Bisecting: 0 revisions left to test after this (roughly 1 step) [f56530dcdb0684406661ac9f1accf48319d07600] net: usb: make USB_RTL8153_ECM non user configurable c67cc4315a8e605ec875bd3a1210a549e3562ddc is the first bad commit commit c67cc4315a8e605ec875bd3a1210a549e3562ddc Author: Hector Martin <[email protected]> Date: Sun Jul 31 16:22:09 2022 +0900 net: usb: ax88179_178a: Bind only to vendor-specific interface The Anker PowerExpand USB-C to Gigabit Ethernet adapter uses this chipset, but exposes CDC Ethernet configurations as well as the vendor specific one. This driver tries to bind by PID:VID unconditionally and ends up picking up the CDC configuration, which is supposed to be handled by the class driver. To make things even more confusing, it sees both of the CDC class interfaces and tries to bind twice, resulting in two broken Ethernet devices. Change all the ID matches to specifically match the vendor-specific interface. By default the device comes up in CDC mode and is bound by that driver (which works fine); users may switch it to the vendor interface using sysfs to set bConfigurationValue, at which point the device actually goes through a reconnect cycle and comes back as a vendor specific only device, and then this driver binds and works too. The affected device uses VID/PID 0b95:1790, but we might as well change all of them for good measure, since there is no good reason for this driver to bind to standard CDC Ethernet interfaces. v3: Added VID/PID info to commit message Signed-off-by: Hector Martin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Paolo Abeni <[email protected]> drivers/net/usb/ax88179_178a.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) ```
I've reverted changes made in the c67cc4315a8e605ec875bd3a1210a549e3562ddc commit and gentoo-sources-6.1.12 works correctly now.
Patch which I use for new kernels now:
```
pet@petkub ~ $ cat
/etc/portage/patches/sys-kernel/gentoo-sources/ASIX_AX88179.patch
--- a/drivers/net/usb/ax88179_178a.c 2022-12-11 23:15:18.000000000 +0100
+++ b/drivers/net/usb/ax88179_178a.c 2023-02-23 10:04:47.534060336 +0100
@@ -1844,7 +1844,8 @@
static const struct usb_device_id products[] = {
{
/* ASIX AX88179 10/100/1000 */
- USB_DEVICE_AND_INTERFACE_INFO(0x0b95, 0x1790, 0xff, 0xff, 0),
+ /*USB_DEVICE_AND_INTERFACE_INFO(0x0b95, 0x1790, 0xff, 0xff, 0),*/
+ USB_DEVICE(0x0b95, 0x1790),
.driver_info = (unsigned long)&ax88179_info,
}, {
/* ASIX AX88178A 10/100/1000 */
```See also: https://bugs.gentoo.org/895720
Signature · 4 lines
You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.
[Bug 217204] ASIX AX88179 does not work in 6.X kernel
https://bugzilla.kernel.org/show_bug.cgi?id=217204
Hector Martin ([email protected]) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]
--- Comment #1 from Hector Martin ([email protected]) ---
I mentioned this by email, but to keep things in the bug tracker: Do you have CONFIG_USB_NET_CDC_NCM enabled? If not, please enable it. That driver is the correct driver to use for standard CDC NCM Ethernet devices.
I would also like the output of lsusb -v -d 0b95: (with NCM or in the not-working state, NOT with the old kernel or your patched one) to see exactly what your device is reporting by default.
Signature · 4 lines
You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.
[Bug 217204] ASIX AX88179 does not work in 6.X kernel
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=217204
[email protected] changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |ANSWERED--- Comment #2 from [email protected] ---
(In reply to Hector Martin from comment #1)
Quoted 4 lines
I mentioned this by email, but to keep things in the bug tracker: Do you have
CONFIG_USB_NET_CDC_NCMenabled? If not, please enable it. That driver is the correct driver to use for standard CDC NCM Ethernet devices.
Yes, you are true, the CONFIG_USB_NET_CDC_NCM must be enabled. All is working now.
I configured the device according the
https://linux-hardware.org/index.php?id=usb:0b95-1790 and the CONFIG_USB_NET_CDC_NCM is not listed there. I know not haw it is generated but I will send info about mistake to [email protected].
Thanks for your help and sorry for lost your time.
Best regards
Signature · 4 lines
You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.