Index: umsm.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umsm.c,v retrieving revision 1.121 diff -u -p -r1.121 umsm.c --- umsm.c 9 Apr 2022 20:07:44 -0000 1.121 +++ umsm.c 17 Jun 2022 07:08:06 -0000 @@ -109,8 +109,9 @@ struct umsm_type { #define DEV_UMASS6 0x0200 #define DEV_UMASS7 0x0400 #define DEV_UMASS8 0x1000 +#define DEV_UMASS8 0x2000 #define DEV_UMASS (DEV_UMASS1 | DEV_UMASS2 | DEV_UMASS3 | DEV_UMASS4 | \ - DEV_UMASS5 | DEV_UMASS6 | DEV_UMASS7 | DEV_UMASS8) + DEV_UMASS5 | DEV_UMASS6 | DEV_UMASS7 | DEV_UMASS8 | DEV_UMASS9) }; static const struct umsm_type umsm_devs[] = { @@ -133,7 +134,7 @@ static const struct umsm_type umsm_devs[ {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E182 }, DEV_UMASS5}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E1820 }, DEV_UMASS5}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220 }, DEV_HUAWEI}, - {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E303 }, DEV_UMASS5}, + {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E303 }, DEV_UMASS9}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E353_INIT }, DEV_UMASS5}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E510 }, DEV_HUAWEI}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E618 }, DEV_HUAWEI}, @@ -738,6 +739,14 @@ umsm_umass_changemode(struct umsm_softc cbw.CBWCDB[0] = 0xf0; cbw.CBWCDB[1] = 0x01; cbw.CBWCDB[2] = 0x03; + break; + case DEV_UMASS9: + cbw.bCBWFlags = CBWFLAGS_OUT; + cbw.bCDBLength = 10; + cbw.CBWCDB[0] = 0x11; + cbw.CBWCDB[1] = 0x06; + cbw.CBWCDB[2] = 0x20; + cbw.CBWCDB[8] = 0x01; break; default: DPRINTF(("%s: unknown device type.\n", sc->sc_dev.dv_xname));