Hi, I have a USB UMTS/HSDPA modem which isn't recognized correctly. It's one of those devices which emulate a usb CDROM drive which contains the windows drivers so that the vendor doesn't have to ship a CD. If you don't mount the CD drive and wait for about 30 seconds the key reinitializes and gives you access to the real modem device. Unfortunately the key also has a micro-SD slot and it's recognized as umass(4) instead of umsm(4):
Sep 30 14:05:36 spaceman /bsd: umass0 at uhub3
Sep 30 14:05:36 spaceman /bsd: port 1 configuration 1 interface 0 "Qualcomm,
Incorporated USB GLB Storage" rev 1.10/0.00 addr 2
Sep 30 14:05:36 spaceman /bsd: umass0: using SCSI over Bulk-Only
Sep 30 14:05:36 spaceman /bsd: scsibus3 at umass0: 2 targets, initiator 0
Sep 30 14:05:36 spaceman /bsd: cd1 at scsibus3 targ 1 lun 0: <Global, USB
Storage, 2.31> SCSI2 5/cdrom removable
wait...
Sep 30 14:06:07 spaceman /bsd: cd1 detached
Sep 30 14:06:07 spaceman /bsd: scsibus3 detached
Sep 30 14:06:07 spaceman /bsd: umass0 detached
Sep 30 14:06:13 spaceman /bsd: umass0 at uhub3
Sep 30 14:06:13 spaceman /bsd: port 1 configuration 1 interface 0 "Qualcomm,
Incorporated Global Wireless WCDMA DEV" rev 1.10/0.00 addr 2
Sep 30 14:06:13 spaceman /bsd: umass0: using SCSI over Bulk-Only
Sep 30 14:06:13 spaceman /bsd: scsibus3 at umass0: 2 targets, initiator 0
Sep 30 14:06:13 spaceman /bsd: sd1 at scsibus3 targ 1 lun 0: <Global, MMC
Storage, 2.31> SCSI2 0/direct removable
Sep 30 14:06:13 spaceman /bsd: sd1: drive offline
So I patched umsm to make it use its umass -> umsm switch magic for this
key. With patch applied the key is correctly detected:
cd1 detached
scsibus3 detached
umass0 detached
umsm0 at uhub3 port 1 configuration 1 interface 0 "Qualcomm, Incorporated
Global Wireless WCDMA DEV" rev 1.10/0.00 addr 2
umsm1 at uhub3 port 1 configuration 1 interface 1 "Qualcomm, Incorporated
Global Wireless WCDMA DEV" rev 1.10/0.00 addr 2
ucom0 at umsm1
umsm2 at uhub3 port 1 configuration 1 interface 2 "Qualcomm, Incorporated
Global Wireless WCDMA DEV" rev 1.10/0.00 addr 2
ucom1 at umsm2
umsm3 at uhub3 port 1 configuration 1 interface 3 "Qualcomm, Incorporated
Global Wireless WCDMA DEV" rev 1.10/0.00 addr 2
ucom2 at umsm3
I don't really know what manufacturer this is, here's the output from
usbdevs:
When it's in CD mode:
port 1 addr 2: full speed, power 500 mA, config 1, USB GLB Storage(0x2000),
Qualcomm, Incorporated(0x05c6), rev 0.00
When it's in modem mode:
port 1 addr 2: full speed, power 500 mA, config 1, Global Wireless WCDMA
DEV(0x0015), Qualcomm, Incorporated(0x05c6), rev 0.00, iSerialNumber Usb MODEM
Port
I just called it USB_PRODUCT_QUALCOMM_MSM_HSDPA3, I don't know if this
is the right way to name it.
Here's some more information:
AT+CGMI
Global Wireless Incorporated
AT+CGMM
E180
AT+CGMR
Global E180 V1.1.0 Global E180 V1.1.0 1 [Sep 4 2008 12:00:00]
According to what's written on the USB stick it's manufactured by "HSDPA
TECHNOLOGIES CO. LTD.", yeah right...
Diff is attached.
Best regards,
Jona
--
Worse is better
Richard P. Gabriel
Index: umsm.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/umsm.c,v
retrieving revision 1.49
diff -u -p -r1.49 umsm.c
--- umsm.c 7 Sep 2009 20:26:13 -0000 1.49
+++ umsm.c 30 Sep 2009 16:30:06 -0000
@@ -138,6 +138,7 @@ static const struct umsm_type umsm_devs[
/* XXX Some qualcomm devices are missing */
{{ USB_VENDOR_QUALCOMM, USB_PRODUCT_QUALCOMM_MSM_DRIVER }, DEV_UMASS1},
+ {{ USB_VENDOR_QUALCOMM, USB_PRODUCT_QUALCOMM_MSM_HSDPA3 }, DEV_UMASS1},
{{ USB_VENDOR_QUALCOMM, USB_PRODUCT_QUALCOMM_MSM_HSDPA }, 0},
{{ USB_VENDOR_QUALCOMM, USB_PRODUCT_QUALCOMM_MSM_HSDPA2 }, 0},
Index: usbdevs.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs.h,v
retrieving revision 1.461
diff -u -p -r1.461 usbdevs.h
--- usbdevs.h 20 Sep 2009 12:53:51 -0000 1.461
+++ usbdevs.h 30 Sep 2009 16:30:08 -0000
@@ -2503,6 +2503,7 @@
#define USB_PRODUCT_QUALCOMM_MSM_MODEM 0x3196 /* CDMA MSM
modem */
#define USB_PRODUCT_QUALCOMM_MSM_HSDPA2 0x6000 /* HSDPA MSM */
#define USB_PRODUCT_QUALCOMM_MSM_HSDPA 0x6613 /* HSDPA MSM */
+#define USB_PRODUCT_QUALCOMM_MSM_HSDPA3 0x0015 /* HSDPA MSM */
/* Qualcomm(2) products */
#define USB_PRODUCT_QUALCOMM2_MSM_PHONE 0x6000 /* CDMA MSM
phone */
pgpnE2OTJZrXg.pgp
Description: PGP signature
