aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paepcke <fbsd@paepcke.de>2023-02-16 16:58:31 +0000
committerWarner Losh <imp@FreeBSD.org>2023-02-19 03:13:18 +0000
commita9c1274c4202aaf89991e8607577879de8d6521a (patch)
tree1e7d05c9136e87c2357df56b1dd9f78b7d5cd857
parent97e58ca95015fa4c3a73e335fe4dcf2390c2da69 (diff)
downloadsrc-a9c1274c4202aaf89991e8607577879de8d6521a.tar.gz
src-a9c1274c4202aaf89991e8607577879de8d6521a.zip
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 Approved by: re (cperciva) (cherry picked from commit e66352013a67183dfeec14b2a22913305c26e838) (cherry picked from commit 623346ecb9b3f4390e9f13df4b19e6e41c4e53ee)
-rw-r--r--sys/dev/usb/net/if_cdce.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c
index 0b6445e5908d..bb2d08c2a282 100644
--- a/sys/dev/usb/net/if_cdce.c
+++ b/sys/dev/usb/net/if_cdce.c
@@ -267,7 +267,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[] = {