Date: Fri, 02 Oct 2009 10:28:09 -0400 From: Mike Tancsa <mike@sentex.net> To: freebsd-usb@freebsd.org Subject: help setting u3g speed and help with new device Message-ID: <200910021428.n92ES6tt031519@lava.sentex.ca>
next in thread | raw e-mail | index | archive | help
I am having problems getting the later Option GTM378, 380 and 382 3g modems to work properly with the u3g driver on FreeBSD. Older generation 378s work just fine, but I can crazy slow speeds when using the newer ones. (21kbps vs about 1.5Mb based on the signal here at the office) On an older generation 378, all I did was add the device ID and all works just fine Not sure if it makes a difference, but the connect speed on the "working" 378 shows Jan 1 08:38:33 alix ppp[1758]: tun10: Chat: Received: CONNECT 3600000 vs Oct 2 10:11:37 378n ppp[1085]: tun10: Chat: Received: CONNECT 7200000 How do I find out what the "right" speed is and set it for the device ? Despite the higher connect speed, I get a transfer rate of about 21Kbps. On the older gen modem, I get 1,376Kbps also, on the newer 378s I need to do a mode switch for it to work. On RELENG_7, I made the following changes based on what was in usb_modeswitch MessageContent="55534243123456780000000000000601000000000000000000000000000000" --- usbdevs 2009-07-10 02:55:30.000000000 -0400 +++ /tmp/usbdevs 2009-10-02 10:19:16.000000000 -0400 @@ -1917,6 +1917,10 @@ product OPTION GTICON322 0xd033 GlobeTrotter Icon322 storage product OPTION GTMAX36 0x6701 GlobeTrotter Max 3.6 Modem product OPTION GTMAXHSUPA 0x7001 GlobeTrotter HSUPA +product OPTION GTMAXHSUPAE 0x6901 GlobeTrotter HSUPA PCIe /* OQO */ product OQO WIFI01 0x0002 model 01 WiFi interface @@ -2039,6 +2043,7 @@ product QUALCOMM CDMA_MSM 0x6000 CDMA Technologies MSM phone product QUALCOMM2 RWT_FCT 0x3100 RWT FCT-CDMA 2000 1xRTT modem product QUALCOMM2 CDMA_MSM 0x3196 CDMA Technologies MSM modem +product QUALCOMM2 GTM3782005 0x1000 CDMA Technologies MSM modem product QUALCOMMINC CDMA_MSM 0x0001 CDMA Technologies MSM modem product QUALCOMMINC ZTE_MSM 0x0031 CDMA Technologies MSM modem product QUALCOMMINC ZTE_STOR 0x2000 USB ZTE Storage --- u3g.c 2009-08-13 03:19:43.000000000 -0400 +++ /tmp/u3g.c 2009-10-02 10:20:07.000000000 -0400 @@ -52,7 +52,7 @@ #endif #include "usbdevs.h" -static int u3gdebug = 0; +static int u3gdebug = 1; SYSCTL_NODE(_hw_usb, OID_AUTO, u3g, CTLFLAG_RW, 0, "USB u3g"); SYSCTL_INT(_hw_usb_u3g, OID_AUTO, debug, CTLFLAG_RW, &u3gdebug, 0, "u3g debug level"); @@ -123,6 +123,7 @@ #define U3GINIT_ZTESTOR 4 // Requires SCSI command (ZTE STOR) #define U3GINIT_CMOTECH 5 // Requires init command (CMOTECH) #define U3GINIT_WAIT 6 // Device reappears after a short delay (none) +#define U3GINIT_GTM3782005 7 // Option GlobeSurfer Icon 7.2 }; // Note: The entries marked with XXX should be checked for the correct speed @@ -134,9 +135,13 @@ {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GPLUS }, U3GSP_UMTS, U3GINIT_NONE }, {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAX36 }, U3GSP_HSDPA, U3GINIT_NONE }, {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAXHSUPA }, U3GSP_HSDPA, U3GINIT_NONE }, + {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAXHSUPAE }, U3GSP_HSDPA, U3GINIT_NONE }, + {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAX380HSUPAE }, U3GSP_HSPA, U3GINIT_NONE }, + {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAX382HSUPAE }, U3GSP_HSPA, U3GINIT_EJECT }, {{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_VODAFONEMC3G }, U3GSP_UMTS, U3GINIT_NONE }, /* OEM: Qualcomm, Inc. */ {{ USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_ZTE_STOR }, U3GSP_CDMA, U3GINIT_ZTESTOR }, + {{ USB_VENDOR_QUALCOMM2, USB_PRODUCT_QUALCOMM2_GTM3782005 }, U3GSP_HSPA, U3GINIT_GTM3782005 }, {{ USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM }, U3GSP_CDMA, U3GINIT_EJECT }, {{ USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_ZTE_MSM }, U3GSP_CDMA, U3GINIT_NONE }, /* OEM: Huawei */ @@ -144,6 +149,7 @@ {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220 }, U3GSP_HSPA, U3GINIT_HUAWEI }, /* OEM: Novatel */ {{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_CDMA_MODEM }, U3GSP_CDMA, U3GINIT_EJECT }, + {{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_U760 }, U3GSP_CDMA, U3GINIT_EJECT }, {{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_ES620 }, U3GSP_UMTS, U3GINIT_EJECT }, // XXX {{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_MC950D }, U3GSP_HSUPA, U3GINIT_EJECT }, {{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_U720 }, U3GSP_UMTS, U3GINIT_EJECT }, // XXX @@ -513,6 +519,25 @@ 0x00, 0x00 }; +static unsigned char gtm3782005stor_cmd[31] = { + 0x55, 0x53, 0x42, 0x43, /* 0..3: Command Block Wrapper (CBW) signature */ + 0x12, 0x34, 0x56, 0x78, /* 4..7: CBW Tag, unique 32-bit number */ + 0x00, 0x00, 0x00, 0x00, /* 8..11: CBW Transfer Length, no data here */ + 0x00, /* 12: CBW Flag: input */ + 0x00, /* 13: CBW Lun */ + 0x06, /* 14: CBW Length */ + + 0x01, /* 15+0: opcode */ + 0x00, /* 15+1: byte2 */ + 0x00, 0x00, /* 15+2..3 */ + 0x00, /* 15+4: */ + 0x00, /* 15+5: */ + 0x00, 0x00, 0x00, 0x00, /* 15+6..15: */ + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 +}; + + static unsigned char cmotech_cmd[31] = { 0x55, 0x53, 0x42, 0x43, /* 0..3: Command Block Wrapper (CBW) signature */ 0x01, 0x00, 0x00, 0x00, /* 4..7: CBW Tag, unique 32-bit number */ @@ -683,6 +708,12 @@ "changing ZTE STOR modem to modem mode\n"); u3gstub_BBB_cmd(sc, ztestor_cmd); break; + case U3GINIT_GTM3782005: + if (bootverbose || u3gdebug) + device_printf(sc->sc_dev, + "changing GTM378 STOR modem to modem mode\n"); + u3gstub_BBB_cmd(sc, gtm3782005stor_cmd); + break; case U3GINIT_CMOTECH: if (bootverbose || u3gdebug) device_printf(sc->sc_dev, -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910021428.n92ES6tt031519>