>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     
r...@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:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to