View | Details | Raw Unified | Return to bug 192345 | Differences between
and this patch

Collapse All | Expand All

(-)/usr/src/sys/dev/usb/net/if_cdce.c (+9 lines)
Lines 277-282 Link Here
277
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLA300, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
277
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLA300, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
278
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC700, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
278
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC700, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
279
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC750, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
279
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC750, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
280
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
281
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x16),
282
		USB_DRIVER_INFO(0)},
283
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
284
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x46),
285
		USB_DRIVER_INFO(0)},
286
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
287
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x76),
288
		USB_DRIVER_INFO(0)},
280
};
289
};
281
290
282
static const STRUCT_USB_DUAL_ID cdce_dual_devs[] = {
291
static const STRUCT_USB_DUAL_ID cdce_dual_devs[] = {
(-)/usr/src/sys/dev/usb/serial/u3g.c (+19 lines)
Lines 327-332 Link Here
327
	U3G_DEV(HUAWEI, K4505, U3GINIT_HUAWEI),
319
	U3G_DEV(HUAWEI, K4505, U3GINIT_HUAWEI),
328
	U3G_DEV(HUAWEI, K4505_INIT, U3GINIT_HUAWEISCSI),
320
	U3G_DEV(HUAWEI, K4505_INIT, U3GINIT_HUAWEISCSI),
329
	U3G_DEV(HUAWEI, ETS2055, U3GINIT_HUAWEI),
321
	U3G_DEV(HUAWEI, ETS2055, U3GINIT_HUAWEI),
322
	U3G_DEV(HUAWEI, E3272_INIT, U3GINIT_HUAWEISCSI),
323
	U3G_DEV(HUAWEI, E3272, 0),
330
	U3G_DEV(KYOCERA2, CDMA_MSM_K, 0),
324
	U3G_DEV(KYOCERA2, CDMA_MSM_K, 0),
331
	U3G_DEV(KYOCERA2, KPC680, 0),
325
	U3G_DEV(KYOCERA2, KPC680, 0),
332
	U3G_DEV(LONGCHEER, WM66, U3GINIT_HUAWEI),
326
	U3G_DEV(LONGCHEER, WM66, U3GINIT_HUAWEI),
Lines 607-612 Link Here
607
	return (0);
602
	return (0);
608
}
603
}
609
604
605
/* Huawei specific: see if_cdce.c for more ids. */
606
#define U3G_HUAWEI_IS_CDC(info, iface_descr)					\
607
	((info)->idVendor == USB_VENDOR_HUAWEI &&				\
608
	(iface_descr)->bInterfaceClass == UICLASS_VENDOR &&			\
609
	(iface_descr)->bInterfaceSubClass == 0x02 &&				\
610
	((iface_descr)->bInterfaceProtocol == 0x16 ||				\
611
	(iface_descr)->bInterfaceProtocol == 0x46 ||				\
612
	(iface_descr)->bInterfaceProtocol == 0x76))
613
614
610
static void
615
static void
611
u3g_sael_m460_init(struct usb_device *udev)
616
u3g_sael_m460_init(struct usb_device *udev)
612
{
617
{
Lines 814-819 Link Here
814
	if (uaa->info.bInterfaceClass != UICLASS_VENDOR) {
819
	if (uaa->info.bInterfaceClass != UICLASS_VENDOR) {
815
		return (ENXIO);
820
		return (ENXIO);
816
	}
821
	}
822
	/* Huawei specific: skip cdce devices. */
823
	if (U3G_HUAWEI_IS_CDC(&uaa->info, &uaa->info)) {
824
		return (ENXIO);
825
	}
817
	return (usbd_lookup_id_by_uaa(u3g_devs, sizeof(u3g_devs), uaa));
826
	return (usbd_lookup_id_by_uaa(u3g_devs, sizeof(u3g_devs), uaa));
818
}
827
}
819
828
Lines 857-862 Link Here
857
		id = usbd_get_interface_descriptor(iface);
866
		id = usbd_get_interface_descriptor(iface);
858
		if (id == NULL || id->bInterfaceClass != UICLASS_VENDOR)
867
		if (id == NULL || id->bInterfaceClass != UICLASS_VENDOR)
859
			continue;
868
			continue;
869
		/* Huawei specific: skip cdce devices. */
870
		if (U3G_HUAWEI_IS_CDC(&uaa->info, id))
871
			continue;
860
		usbd_set_parent_iface(uaa->device, i, uaa->info.bIfaceIndex);
872
		usbd_set_parent_iface(uaa->device, i, uaa->info.bIfaceIndex);
861
		iface_valid |= (1<<i);
873
		iface_valid |= (1<<i);
862
	}
874
	}
(-)/usr/src/sys/dev/usb/serial/umodem.c (+12 lines)
Lines 122-127 Link Here
122
		USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL),
122
		USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL),
123
		USB_IFACE_PROTOCOL(UIPROTO_CDC_AT)},
123
		USB_IFACE_PROTOCOL(UIPROTO_CDC_AT)},
124
	/* Huawei Modem class match */
124
	/* Huawei Modem class match */
125
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
126
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x01)},
127
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
128
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x02)},
129
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
130
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x10)},
131
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
132
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x12)},
133
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
134
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x61)},
135
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
136
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x62)},
125
	{USB_IFACE_CLASS(UICLASS_CDC),
137
	{USB_IFACE_CLASS(UICLASS_CDC),
126
		USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL),
138
		USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL),
127
		USB_IFACE_PROTOCOL(0xFF)},
139
		USB_IFACE_PROTOCOL(0xFF)},
(-)/usr/src/sys/dev/usb/usbdevs (+2 lines)
Lines 2341-2349 Link Here
2341
product HUAWEI E3131		0x1506	3G modem
2341
product HUAWEI E3131		0x1506	3G modem
2342
product HUAWEI K3765_INIT	0x1520	K3765 Initial
2342
product HUAWEI K3765_INIT	0x1520	K3765 Initial
2343
product HUAWEI K4505_INIT	0x1521	K4505 Initial
2343
product HUAWEI K4505_INIT	0x1521	K4505 Initial
2344
product HUAWEI E3272_INIT	0x155b	LTE modem initial
2344
product HUAWEI ETS2055		0x1803	CDMA modem
2345
product HUAWEI ETS2055		0x1803	CDMA modem
2345
product HUAWEI E173		0x1c05	3G modem
2346
product HUAWEI E173		0x1c05	3G modem
2346
product HUAWEI E173_INIT	0x1c0b	3G modem initial
2347
product HUAWEI E173_INIT	0x1c0b	3G modem initial
2348
product HUAWEI E3272		0x1c1e	LTE modem
2347
2349
2348
/* HUAWEI 3com products */
2350
/* HUAWEI 3com products */
2349
product HUAWEI3COM WUB320G	0x0009	Aolynk WUB320g
2351
product HUAWEI3COM WUB320G	0x0009	Aolynk WUB320g

Return to bug 192345