Date: Thu, 07 May 2009 23:14:37 -0400 From: Mike Tancsa <mike@sentex.net> To: Nick Hibma <nick@van-laarhoven.org> Cc: freebsd-usb@freebsd.org Subject: Re: ZTE MF636 USB u3g modem Message-ID: <200905080313.n483DI6M094186@lava.sentex.ca> In-Reply-To: <200905071359.n47DxsRb090275@lava.sentex.ca> References: <200905051740.n45HeJAG075718@lava.sentex.ca> <200905052121.n45LLvvU076825@lava.sentex.ca> <200905070948.46720.nick@van-laarhoven.org> <200905071359.n47DxsRb090275@lava.sentex.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
At 10:01 AM 5/7/2009, Mike Tancsa wrote: >>This is the real port. Could you dump the descriptors after unloading the >>driver and loading ugen? I decided to give it a spin on HEAD, but not sure if the recent changes to u3g in HEAD changed the behaviour, or its an issue with me fiddling with the driver. Using http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.7.tar.bz2 I am able to make the device appear, but as /dev/cuaU0 and not /dev/cuaU0.0 u3g0: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev 2.00/0.00, addr 2> on usbus3 umass0: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev 2.00/0.00, addr 2> on usbus3 umass0: SCSI over Bulk-Only; quirks = 0x0000 Root mount waiting for: usbus3 umass0:0:0:-1: Attached to scbus0 Root mount waiting for: usbus3 (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition (probe0:umass-sim0:0:0:0): NOT READY asc:3a,0 (probe0:umass-sim0:0:0:0): Medium not present (probe0:umass-sim0:0:0:0): Unretryable error da0 at umass-sim0 bus 0 target 0 lun 0 da0: <ZTE MMC Storage 322> Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: Attempt to query device size failed: NOT READY, Medium not presen da0 is the microSD drive I think the port that attaches is actually the monitor port as there is a stead stream of +ZUSIMR:2 +ZUSIMR:2 +ZUSIMR:2 +ZUSIMR:2 +ZUSIMR:2 +ZUSIMR:2 +ZUSIMR:2 +ZUSIMR:2 In windows, it provides 2 serial ports The following changes, along with using usb_modeswitch seems to get things working, however, ppp sometimes gets confused with the ZUSIMR:2 stuff constantly being spewed out. 0[i7]# diff -u usbdevs usbdevs.zte --- usbdevs 2009-04-21 01:06:31.000000000 -0400 +++ usbdevs.zte 2009-05-07 23:10:11.000000000 -0400 @@ -2035,6 +2035,7 @@ product QUALCOMM2 RWT_FCT 0x3100 RWT FCT-CDMA 2000 1xRTT modem product QUALCOMM2 CDMA_MSM 0x3196 CDMA Technologies MSM modem product QUALCOMMINC CDMA_MSM 0x0001 CDMA Technologies MSM modem +product QUALCOMMINC CDMA_MSM636 0x0031 MF636 Technologies MSM modem product QUALCOMMINC ZTE_STOR 0x2000 USB ZTE Storage product QUALCOMMINC AC8700 0xfffe CDMA 1xEVDO USB modem 1[i7]# 1[i7]# diff -u u3g.c u3g.c.mdt --- u3g.c 2009-05-07 13:05:03.000000000 -0400 +++ u3g.c.mdt 2009-05-07 23:09:59.000000000 -0400 @@ -168,6 +168,7 @@ /* OEM: Qualcomm, Inc. */ U3G_DEV(QUALCOMMINC, ZTE_STOR, U3GFL_SCSI_EJECT), U3G_DEV(QUALCOMMINC, CDMA_MSM, U3GFL_SCSI_EJECT), + U3G_DEV(QUALCOMMINC, CDMA_MSM636, U3GFL_SCSI_EJECT), /* OEM: Huawei */ U3G_DEV(HUAWEI, MOBILE, U3GFL_HUAWEI_INIT), U3G_DEV(HUAWEI, E220, U3GFL_HUAWEI_INIT), 1[i7]# dmesg shows ugen3.2: <ZTE, Incorporated> at usbus3 u3g0: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev 2.00/0.00, addr 2> on usbus3 umass0: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev 2.00/0.00, addr 2> on usbus3 umass0: SCSI over Bulk-Only; quirks = 0x0000 Root mount waiting for: usbus3 umass0:0:0:-1: Attached to scbus0 Root mount waiting for: usbus3 (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition (probe0:umass-sim0:0:0:0): NOT READY asc:3a,0 (probe0:umass-sim0:0:0:0): Medium not present (probe0:umass-sim0:0:0:0): Unretryable error da0 at umass-sim0 bus 0 target 0 lun 0 da0: <ZTE MMC Storage 322> Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: Attempt to query device size failed: NOT READY, Medium not present >Hi, > I think this is the info you want ? If not, let me know. > Thanks! I also did a usb capture of all the traffic in windows > from the point of the device being attached and going online. > >0[i7]# usbconfig -u 3 -a 5 dump_device_desc >ugen3.5: <ZTE CDMA Technologies MSM ZTE, Incorporated> at usbus3, >cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > > bLength = 0x0012 > bDescriptorType = 0x0001 > bcdUSB = 0x0200 > bDeviceClass = 0x0000 > bDeviceSubClass = 0x0000 > bDeviceProtocol = 0x0000 > bMaxPacketSize0 = 0x0040 > idVendor = 0x19d2 > idProduct = 0x0031 > bcdDevice = 0x0000 > iManufacturer = 0x0002 <ZTE, Incorporated> > iProduct = 0x0001 <ZTE CDMA Technologies MSM> > iSerialNumber = 0x0003 <1234567890ABCDEF> > bNumConfigurations = 0x0001 > >0[i7]# usbconfig -u 3 -a 5 dump_all_config_desc >ugen3.5: <ZTE CDMA Technologies MSM ZTE, Incorporated> at usbus3, >cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > > > Configuration index 0 > > bLength = 0x0009 > bDescriptorType = 0x0002 > wTotalLength = 0x0100 > bNumInterfaces = 0x0004 > bConfigurationValue = 0x0001 > iConfiguration = 0x0000 <no string> > bmAttributes = 0x00a0 > bMaxPower = 0x00fa > > Interface 0 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0000 > bAlternateSetting = 0x0000 > bNumEndpoints = 0x0000 > bInterfaceClass = 0x00ff > bInterfaceSubClass = 0x00ff > bInterfaceProtocol = 0x00ff > iInterface = 0x0000 <no string> > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x00 > RAW dump: > 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01 > > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x15 > RAW dump: > 0x00 | 0x05, 0x24, 0x15, 0x00, 0x01 > > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x06 > RAW dump: > 0x00 | 0x05, 0x24, 0x06, 0x00, 0x00 > > > Additional Descriptor > > bLength = 0x15 > bDescriptorType = 0x24 > bDescriptorSubType = 0x12 > RAW dump: > 0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a, > 0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9, > 0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d > > > Additional Descriptor > > bLength = 0x06 > bDescriptorType = 0x24 > bDescriptorSubType = 0x13 > RAW dump: > 0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10 > > > > Interface 0 Alt 1 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0000 > bAlternateSetting = 0x0001 > bNumEndpoints = 0x0002 > bInterfaceClass = 0x00ff > bInterfaceSubClass = 0x00ff > bInterfaceProtocol = 0x00ff > iInterface = 0x0000 <no string> > > Endpoint 0 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0081 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0020 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Endpoint 1 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0001 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0020 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > > Interface 1 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0001 > bAlternateSetting = 0x0000 > bNumEndpoints = 0x0000 > bInterfaceClass = 0x00ff > bInterfaceSubClass = 0x00ff > bInterfaceProtocol = 0x00ff > iInterface = 0x0000 <no string> > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x00 > RAW dump: > 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01 > > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x15 > RAW dump: > 0x00 | 0x05, 0x24, 0x15, 0x00, 0x01 > > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x06 > RAW dump: > 0x00 | 0x05, 0x24, 0x06, 0x01, 0x01 > > > Additional Descriptor > > bLength = 0x15 > bDescriptorType = 0x24 > bDescriptorSubType = 0x12 > RAW dump: > 0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a, > 0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9, > 0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d > > > Additional Descriptor > > bLength = 0x06 > bDescriptorType = 0x24 > bDescriptorSubType = 0x13 > RAW dump: > 0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10 > > > > Interface 1 Alt 1 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0001 > bAlternateSetting = 0x0001 > bNumEndpoints = 0x0002 > bInterfaceClass = 0x00ff > bInterfaceSubClass = 0x00ff > bInterfaceProtocol = 0x00ff > iInterface = 0x0000 <no string> > > Endpoint 0 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0082 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0020 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Endpoint 1 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0002 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0020 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > > Interface 2 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0002 > bAlternateSetting = 0x0000 > bNumEndpoints = 0x0002 > bInterfaceClass = 0x0008 > bInterfaceSubClass = 0x0006 > bInterfaceProtocol = 0x0050 > iInterface = 0x0000 <no string> > > Endpoint 0 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0003 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0000 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Endpoint 1 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0083 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0000 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > > Interface 3 > bLength = 0x0009 > bDescriptorType = 0x0004 > bInterfaceNumber = 0x0003 > bAlternateSetting = 0x0000 > bNumEndpoints = 0x0003 > bInterfaceClass = 0x00ff > bInterfaceSubClass = 0x00ff > bInterfaceProtocol = 0x00ff > iInterface = 0x0000 <no string> > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x00 > RAW dump: > 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01 > > > Additional Descriptor > > bLength = 0x04 > bDescriptorType = 0x24 > bDescriptorSubType = 0x02 > RAW dump: > 0x00 | 0x04, 0x24, 0x02, 0x02 > > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x01 > RAW dump: > 0x00 | 0x05, 0x24, 0x01, 0x03, 0x03 > > > Additional Descriptor > > bLength = 0x05 > bDescriptorType = 0x24 > bDescriptorSubType = 0x06 > RAW dump: > 0x00 | 0x05, 0x24, 0x06, 0x03, 0x03 > > > Additional Descriptor > > bLength = 0x15 > bDescriptorType = 0x24 > bDescriptorSubType = 0x12 > RAW dump: > 0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a, > 0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9, > 0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d > > > Additional Descriptor > > bLength = 0x06 > bDescriptorType = 0x24 > bDescriptorSubType = 0x13 > RAW dump: > 0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10 > > > Endpoint 0 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0084 > bmAttributes = 0x0003 > wMaxPacketSize = 0x0040 > bInterval = 0x0005 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Endpoint 1 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0085 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0020 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > Endpoint 2 > bLength = 0x0007 > bDescriptorType = 0x0005 > bEndpointAddress = 0x0004 > bmAttributes = 0x0002 > wMaxPacketSize = 0x0200 > bInterval = 0x0020 > bRefresh = 0x0000 > bSynchAddress = 0x0000 > > > > > >> > ucom1: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev >> > 2.00/0.00, addr 2> on uhub1 >> > ucom1: configured 0 serial ports (U1.%d) >> > ucom2: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev >> > 2.00/0.00, addr 2> on uhub1 >> > ucom2: configured 0 serial ports (U2.%d) >> >>These two are not actually com ports. They are probably umass related, but >>attached to by u3g instead. > >When installed on windows, there are extra com ports > > > >>Nick > >_______________________________________________ >freebsd-usb@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-usb >To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905080313.n483DI6M094186>