git: e66352013a67 - main - usb: add support for Huawei E5573Cs322

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sat, 04 Feb 2023 21:29:49 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=e66352013a67183dfeec14b2a22913305c26e838

commit e66352013a67183dfeec14b2a22913305c26e838
Author:     Michael Paepcke <fbsd@paepcke.de>
AuthorDate: 2022-12-17 16:51:36 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-02-04 21:27:09 +0000

    usb: add support for Huawei E5573Cs322
    
    Switch the now added E5573Cs322_ECM (0x14db) as well per default to NCM.
    With this patch we default all devices to simple NCM mode to avoid the
    problem and get a consistent reliable behavior. No matter what firmware
    version and provider mix are involved.
    
    Rationale:
    Even the bigger SOC shows under complex load in ECM (double-nat) mode
    the same performance drop from 25Mbit to 2Mbit Line Speed, similar to E3372h.
    Reason: Thermal problems (reported via serial debug interface in ACM Mode)
    after 2-3 minutes load.
    
    Fix the root cause and bundle a working firmware is out of reach because
    Huawei sells the same hardware, different (crippled) firmware versions
    at different price points in different markets as strategy.
    
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/633
---
 sys/dev/usb/net/if_cdce.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c
index 50f909c630cd..3cad74a11022 100644
--- a/sys/dev/usb/net/if_cdce.c
+++ b/sys/dev/usb/net/if_cdce.c
@@ -266,7 +266,8 @@ static int  cdce_driver_loaded(struct module *, int, void *);
 static const STRUCT_USB_HOST_ID cdce_switch_devs[] = {
 	{USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3272_INIT, MSC_EJECT_HUAWEI2)},
 	{USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372v153_INIT, MSC_EJECT_HUAWEI2)},
-	{USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372_INIT, MSC_EJECT_HUAWEI3)},
+	{USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372_INIT, MSC_EJECT_HUAWEI4)},
+	{USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E5573Cs322_ECM, MSC_EJECT_HUAWEI3)},
 };
 
 static const STRUCT_USB_HOST_ID cdce_host_devs[] = {