Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Dec 2008 10:05:20 GMT
From:      Antonio Hilario <avahilario@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   usb/129945: u3g supports Longcheer WM66 USB HSDPA Modem
Message-ID:  <200812261005.mBQA5Kv4025182@www.freebsd.org>
Resent-Message-ID: <200812261010.mBQAA1dN081406@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         129945
>Category:       usb
>Synopsis:       u3g supports Longcheer WM66 USB HSDPA Modem
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Dec 26 10:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Antonio Hilario
>Release:        7.1-RC2
>Organization:
>Environment:
FreeBSD emily.avltrees.strangled.net 7.1-RC2 FreeBSD 7.1-RC2 #23 r186493M: Fri Dec 26 15:29:10 PHT 2008     root@emily.avltrees.strangled.net:/usr/obj/usr/src/sys/FELICITY  i386
>Description:
Hello all,

I managed to get my LongCheer WM66 HSDPA modem working using the u3g driver,
after several weeks of getting by with ubsa.

The device is a ZeroCD device which uses these vendor IDs:

Mass storage mode:

vendor 0x1c9e
product 0x1001

HSDPA mode:

vendoer 0x1c9e
product 0x6061

The device is put into modem mode using usb_modeswitch (http://www.draisberghof.de/usb_modeswitch), with a usb_modeswitch.conf containing these lines, which were originally contributed by Aleksandar Samardzic:

------SNIP--------

########################################################
# Alcatel OT-X020 (aka MBD-100HU, aka Nuton 3.5G), works with Emobile D11LC
# Also Longcheer WM66
#
# Contributor: Aleksandar Samardzic

DefaultVendor=  0x1c9e
DefaultProduct= 0x1001

TargetVendor=   0x1c9e
TargetProduct=  0x6061

MessageEndpoint=0x05
MessageContent="55534243123456780000000000000606f50402527000000000000000000000"

------SNIP--------

In my case I invoke usb_modeswitch using a devd.conf rule pair, below:

------SNIP--------
# Add these lines to devd.conf #
# Requires patched u3g driver (add product and vendor codes to usbdevs, modify u3g.c)
attach 20 {
  match "vendor" "0x1c9e";
  match "product" "0x1001";
  action "/sbin/usb_modeswitch; \
    /bin/sleep 2; \
    /sbin/kldload u3g; \
    logger -t 'devd' 'Attached Longcheer WM66 Modem umass Mode; switching';";
};

attach 20 {
  match "vendor" "0x1c9e";
  match "product" "0x6061";
  action "logger -t 'devd' 'Attached Longcheer WM66 Modem in Modem Mode'";
};

------SNIP--------


Building a WM66-aware u3g.ko requires patching /usr/src/sys/dev/usb/u3g.c:

    {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE },              
U3GSP_HSDPA,    U3GFL_HUAWEI_INIT },
+  {{ USB_VENDOR_LONGCHEER, USB_PRODUCT_LONGCHEER_WM66 },          
U3GSP_HSDPA,    U3GFL_HUAWEI_INIT | U3GFL_SCSI_EJECT },
    {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220 },                
U3GSP_HSPA,     U3GFL_HUAWEI_INIT },

as well as /usr/src/sys/dev/usb/usbdevs, taken from 7.1-RELENG

vendor LONGCHEER  0x1c9e  Longcheer Holdings, Ltd.

product LONGCHEER WM66 0x6061 WM66 HSDPA USB Modem

The driver creates three devices /dev/ttyU0.%d, of which the first is used as  
the device's AT command interface:

---------SYSLOG OUTPUT------------
Dec 26 17:59:56 emily ugen0: <USB Modem USB MMC Storage, class 0/0, rev 1.10/0.00, addr 2> on uhub2
Dec 26 17:59:56 emily root: Unknown weird USB device: vendor 0x1c9e product 0x1001 bus uhub2
Dec 26 17:59:56 emily ugen0: at uhub2 port 1 (addr 2) disconnected
Dec 26 17:59:56 emily ugen0: detached
Dec 26 17:59:58 emily devd: Attached Longcheer WM66 Modem umass Mode; switching
Dec 26 17:59:58 emily root: Unknown weird USB device: vendor 0x1c9e product 0x6061 bus uhub2
Dec 26 17:59:58 emily ucom0: <USB Modem USB Modem, class 0/0, rev 1.10/0.00, addr 2> on uhub2
Dec 26 17:59:58 emily ucom0: port=0 iface=0 in=0x82 out=0x2
Dec 26 17:59:58 emily ucom0: port=1 iface=1 in=0x84 out=0x4
Dec 26 17:59:58 emily ucom0: port=2 iface=2 in=0x85 out=0x5
Dec 26 17:59:58 emily ucom0: configured 3 serial ports (U0.%d)
Dec 26 17:59:58 emily devd: Attached Longcheer WM66 Modem in Modem Mode
---------SYSLOG OUTPUT------------


My thanks for the work done on u3g! Device works beautifully under minicom and
with ppp, and am able to attain ~ 40kBps with our carrier - *without* those
annoying stalls I got under UBSA.


>How-To-Repeat:

>Fix:


Patch attached with submission follows:


Property changes on: sys/modules
___________________________________________________________________
Added: svn:externals
   + u3g http://svn.freebsd.org/base/head/sys/modules/u3g


Index: sys/modules/Makefile
===================================================================
--- sys/modules/Makefile	(revision 186493)
+++ sys/modules/Makefile	(working copy)
@@ -275,6 +275,7 @@
 	twe \
 	tx \
 	txp \
+  u3g \
 	uark \
 	uart \
 	ubsa \
Index: sys/dev/usb/usbdevs
===================================================================
--- sys/dev/usb/usbdevs	(revision 186493)
+++ sys/dev/usb/usbdevs	(working copy)
@@ -615,6 +615,7 @@
 vendor QCOM		0x18e8	Qcom
 vendor LINKSYS3		0x1915	Linksys
 vendor QUALCOMMINC	0x19d2	Qualcomm, Incorporated
+vendor LONGCHEER  0x1c9e  Longcheer Holdings, Ltd.
 vendor DLINK		0x2001	D-Link
 vendor PLANEX2		0x2019	Planex Communications
 vendor ERICSSON		0x2282	Ericsson
@@ -1941,6 +1942,8 @@
 product QCOM RT2573		0x6196	RT2573
 product QCOM RT2573_2		0x6229	RT2573
 
+/* Longcheer Holdings, Ltd. */
+product LONGCHEER WM66  0x6061  Longcheer WM66 HSDPA USB modem
 /* Qualcomm products */
 product QUALCOMM CDMA_MSM	0x6000	CDMA Technologies MSM phone
 product QUALCOMM2 RWT_FCT	0x3100	RWT FCT-CDMA 2000 1xRTT modem


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812261005.mBQA5Kv4025182>