Date: Sun, 19 May 2013 15:31:35 GMT From: Peter Sopko <peter.sopko@backbone.sk> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/178773: [patch] Huawei E303 USB 3G modem support Message-ID: <201305191531.r4JFVZkn022926@oldred.FreeBSD.org> Resent-Message-ID: <201305191540.r4JFe2CS032255@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 178773 >Category: kern >Synopsis: [patch] Huawei E303 USB 3G modem support >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun May 19 15:40:02 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Peter Sopko >Release: 9.1-RELEASE >Organization: BACKBONE, s.r.o. >Environment: FreeBSD avantgarde.backbone.sk 9.1-RELEASE-p3 FreeBSD 9.1-RELEASE-p3 #0: Sun May 19 16:43:43 CEST 2013 root@avantgarde.backbone.sk:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Huawei E303 USB 3G modem is considered as an unknown device. It is possible to use camcontrol and/or sysutils/usb_modeswitch port to manually force it to become a 3g modem recognised by cdce, u3g and ue drivers, but no /dev/cua* and /dev/ttyU* /dev-entires are created. After usb_modeswitch* there is a message in dmesg stating May 19 16:05:03 avantgarde root: Unknown USB device: vendor 0x12d1 product 0x1506 bus uhub1 *usb_modeswitch command used was 'usb_modeswitch -v 0x12d1 -p 0x14fe -V 0x12d1 -P 0x1506 -s 20 -M "55534243123456780000000000000a11062000000000000100000000000000"' >How-To-Repeat: Just plug the usb 3g modem into the machine >Fix: Please see the attached patch (two-line additions to sys/dev/usb/usbdevs and sys/dev/usb/serial/u3g.c). Apply in /usr/src using 'patch -p0 <usb_huawei_e303.txt' output of usbconfig after the patch: ugen1.2: <HUAWEI Mobile HUAWEI> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen1.2.0: u3g0: <HUAWEI HUAWEI Mobile, class 0/0, rev 2.00/1.02, addr 2> ugen1.2.1: cdce0: <HUAWEI HUAWEI Mobile, class 0/0, rev 2.00/1.02, addr 2> ugen1.2.4: umass0: <HUAWEI HUAWEI Mobile, class 0/0, rev 2.00/1.02, addr 2> ugen1.2.5: umass1: <HUAWEI HUAWEI Mobile, class 0/0, rev 2.00/1.02, addr 2> bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x12d1 idProduct = 0x1506 bcdDevice = 0x0102 iManufacturer = 0x0003 <HUAWEI> iProduct = 0x0002 <HUAWEI Mobile> iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001 Patch attached with submission follows: diff -rupN original/u3g.c new/u3g.c --- sys/dev/usb/serial/u3g.c 2013-05-19 17:20:38.000000000 +0200 +++ sys/dev/usb/serial/u3g.c 2013-05-19 17:21:32.000000000 +0200 @@ -280,6 +280,8 @@ static const STRUCT_USB_HOST_ID u3g_devs U3G_DEV(HUAWEI, E143D, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E143E, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E143F, U3GINIT_HUAWEI), + U3G_DEV(HUAWEI, E303, 0), + U3G_DEV(HUAWEI, E303_INIT, U3GINIT_HUAWEISCSI), U3G_DEV(HUAWEI, E173, 0), U3G_DEV(HUAWEI, E173_INIT, U3GINIT_HUAWEISCSI), U3G_DEV(HUAWEI, E180V, U3GINIT_HUAWEI), diff -rupN original/usbdevs new/usbdevs --- sys/dev/usb/usbdevs 2013-05-19 17:20:49.000000000 +0200 +++ sys/dev/usb/usbdevs 2013-05-19 17:21:37.000000000 +0200 @@ -1885,6 +1885,8 @@ product HUAWEI E143F 0x143f 3G modem product HUAWEI E1752 0x1446 3G modem product HUAWEI K3765 0x1465 3G modem product HUAWEI E1820 0x14ac E1820 HSPA+ USB Slider +product HUAWEI E303_INIT 0x14fe 3G modem initial +product HUAWEI E303 0x1506 3G modem product HUAWEI K3765_INIT 0x1520 K3765 Initial product HUAWEI E173 0x1c05 3G modem product HUAWEI E173_INIT 0x1c0b 3G modem initial >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305191531.r4JFVZkn022926>