diff options
author | Michael Paepcke <fbsd@paepcke.de> | 2023-02-16 16:58:31 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2023-02-19 03:13:18 +0000 |
commit | a9c1274c4202aaf89991e8607577879de8d6521a (patch) | |
tree | 1e7d05c9136e87c2357df56b1dd9f78b7d5cd857 | |
parent | 97e58ca95015fa4c3a73e335fe4dcf2390c2da69 (diff) | |
download | src-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.c | 3 |
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[] = { |