Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Feb 2023 21:29:49 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: e66352013a67 - main - usb: add support for Huawei E5573Cs322
Message-ID:  <202302042129.314LTnjW047473@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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[] = {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302042129.314LTnjW047473>