usb/129945: u3g supports Longcheer WM66 USB HSDPA Modem
Antonio Hilario
avahilario at gmail.com
Fri Dec 26 02:10:02 PST 2008
>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 at 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:
More information about the freebsd-usb
mailing list