netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface"
@ 2025-09-28  1:46 yicongsrfy
  2025-09-28  1:46 ` [PATCH 2/2] net: usb: support quirks in usbnet yicongsrfy
  0 siblings, 1 reply; 35+ messages in thread
From: yicongsrfy @ 2025-09-28  1:46 UTC (permalink / raw)
  To: oliver, andrew+netdev, davem, edumazet, kuba
  Cc: marcan, pabeni, linux-usb, netdev, yicong

From: Yi Cong <yicong@kylinos.cn>

This reverts commit c67cc4315a8e605ec875bd3a1210a549e3562ddc.

Currently, in the Linux kernel, USB NIC with ASIX chips use the cdc_ncm
driver. However, this driver lacks functionality and performs worse than
the vendor's proprietary driver. In my testing, I have identified the
following issues:

1. The cdc_ncm driver does not support changing the link speed via
   ethtool because the corresponding callback function is set to NULL.
2. The CDC protocol does not support retrieving the network duplex status.
3. In TCP_RR and UDP_RR tests, the performance of the cdc_ncm driver
   is significantly lower than that of the vendor's driver:
Average of three netperf runs: `netperf -t {TCP/UDP_RR} -H serverIP -l 120`
- cdc_ncm.ko: TCP_RR: 740, UDP_RR: 750
- ax88179_178a.ko: TCP_RR: 8900, UDP_RR: 9200

Issues related to the vendor's driver ax88179_178a.ko will be addressed
in the next patch.

Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
 drivers/net/usb/ax88179_178a.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
index b034ef8a73ea..29cbe9ddd610 100644
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
@@ -1885,55 +1885,55 @@ static const struct driver_info at_umc2000sp_info = {
 static const struct usb_device_id products[] = {
 {
 	/* ASIX AX88179 10/100/1000 */
-	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 */
-	USB_DEVICE_AND_INTERFACE_INFO(0x0b95, 0x178a, 0xff, 0xff, 0),
+	USB_DEVICE(0x0b95, 0x178a),
 	.driver_info = (unsigned long)&ax88178a_info,
 }, {
 	/* Cypress GX3 SuperSpeed to Gigabit Ethernet Bridge Controller */
-	USB_DEVICE_AND_INTERFACE_INFO(0x04b4, 0x3610, 0xff, 0xff, 0),
+	USB_DEVICE(0x04b4, 0x3610),
 	.driver_info = (unsigned long)&cypress_GX3_info,
 }, {
 	/* D-Link DUB-1312 USB 3.0 to Gigabit Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x4a00, 0xff, 0xff, 0),
+	USB_DEVICE(0x2001, 0x4a00),
 	.driver_info = (unsigned long)&dlink_dub1312_info,
 }, {
 	/* Sitecom USB 3.0 to Gigabit Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x0df6, 0x0072, 0xff, 0xff, 0),
+	USB_DEVICE(0x0df6, 0x0072),
 	.driver_info = (unsigned long)&sitecom_info,
 }, {
 	/* Samsung USB Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x04e8, 0xa100, 0xff, 0xff, 0),
+	USB_DEVICE(0x04e8, 0xa100),
 	.driver_info = (unsigned long)&samsung_info,
 }, {
 	/* Lenovo OneLinkDock Gigabit LAN */
-	USB_DEVICE_AND_INTERFACE_INFO(0x17ef, 0x304b, 0xff, 0xff, 0),
+	USB_DEVICE(0x17ef, 0x304b),
 	.driver_info = (unsigned long)&lenovo_info,
 }, {
 	/* Belkin B2B128 USB 3.0 Hub + Gigabit Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x050d, 0x0128, 0xff, 0xff, 0),
+	USB_DEVICE(0x050d, 0x0128),
 	.driver_info = (unsigned long)&belkin_info,
 }, {
 	/* Toshiba USB 3.0 GBit Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x0930, 0x0a13, 0xff, 0xff, 0),
+	USB_DEVICE(0x0930, 0x0a13),
 	.driver_info = (unsigned long)&toshiba_info,
 }, {
 	/* Magic Control Technology U3-A9003 USB 3.0 Gigabit Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x0711, 0x0179, 0xff, 0xff, 0),
+	USB_DEVICE(0x0711, 0x0179),
 	.driver_info = (unsigned long)&mct_info,
 }, {
 	/* Allied Telesis AT-UMC2000 USB 3.0/USB 3.1 Gen 1 to Gigabit Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x07c9, 0x000e, 0xff, 0xff, 0),
+	USB_DEVICE(0x07c9, 0x000e),
 	.driver_info = (unsigned long)&at_umc2000_info,
 }, {
 	/* Allied Telesis AT-UMC200 USB 3.0/USB 3.1 Gen 1 to Fast Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x07c9, 0x000f, 0xff, 0xff, 0),
+	USB_DEVICE(0x07c9, 0x000f),
 	.driver_info = (unsigned long)&at_umc200_info,
 }, {
 	/* Allied Telesis AT-UMC2000/SP USB 3.0/USB 3.1 Gen 1 to Gigabit Ethernet Adapter */
-	USB_DEVICE_AND_INTERFACE_INFO(0x07c9, 0x0010, 0xff, 0xff, 0),
+	USB_DEVICE(0x07c9, 0x0010),
 	.driver_info = (unsigned long)&at_umc2000sp_info,
 },
 	{ },
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2025-10-13  8:46 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-28  1:46 [PATCH 1/2] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface" yicongsrfy
2025-09-28  1:46 ` [PATCH 2/2] net: usb: support quirks in usbnet yicongsrfy
2025-09-29  4:23   ` Jakub Kicinski
2025-09-29  5:31     ` [PATCH v2 0/3] ax88179 driver optimization yicongsrfy
2025-09-29  5:31       ` [PATCH v2 1/3] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface" yicongsrfy
2025-09-29  7:02         ` Michal Pecio
2025-09-29  7:25           ` yicongsrfy
2025-09-29  5:31       ` [PATCH v2 2/3] net: usb: support quirks in usbnet yicongsrfy
2025-09-29  7:11         ` Michal Pecio
2025-09-29  7:29           ` yicongsrfy
2025-09-29  5:31       ` [PATCH v2 3/3] net: usb: ax88179_178a: add USB device driver for config selection yicongsrfy
2025-09-29  5:42         ` yicongsrfy
2025-09-29  7:53           ` [PATCH v3 1/3] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface" yicongsrfy
2025-09-29  7:54             ` [PATCH v3 2/3] net: usb: support quirks in usbnet yicongsrfy
2025-09-29  7:54             ` [PATCH v3 3/3] net: usb: ax88179_178a: add USB device driver for config selection yicongsrfy
2025-09-29 11:20               ` Oliver Neukum
2025-09-29 16:11               ` Jakub Kicinski
2025-09-29 11:15             ` [PATCH v3 1/3] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface" Oliver Neukum
2025-09-29  8:45   ` [PATCH 2/2] net: usb: support quirks in usbnet Oliver Neukum
2025-09-29  9:29     ` yicongsrfy
2025-09-29 10:21       ` Oliver Neukum
2025-09-30  8:07         ` [PATCH v4 1/3] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface" yicongsrfy
2025-09-30  8:07           ` [PATCH v4 2/3] net: usb: support quirks in cdc_ncm yicongsrfy
2025-09-30  8:37             ` Greg KH
2025-09-30  8:38             ` Greg KH
2025-09-30  8:07           ` [PATCH v4 3/3] net: usb: ax88179_178a: add USB device driver for config selection yicongsrfy
2025-09-30  8:38             ` Greg KH
2025-09-30  8:57             ` Oliver Neukum
2025-10-09  7:34               ` yicongsrfy
2025-10-09  8:46                 ` Oliver Neukum
2025-10-09 11:56                 ` Andrew Lunn
2025-10-13  5:59               ` Michal Pecio
2025-10-13  8:46                 ` Oliver Neukum
2025-10-06 16:33           ` [PATCH v4 1/3] Revert "net: usb: ax88179_178a: Bind only to vendor-specific interface" Andrew Lunn
2025-09-30  8:14         ` [PATCH 2/2] net: usb: support quirks in usbnet yicongsrfy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).