Skip site navigation (1)Skip section navigation (2)
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>