Activation Codes and Methods, Hardware Details, Sniffing
Post Reply
frednews78

GlobeSurfer icon HSUPA

Post by frednews78 » 03 Mar 2008, 14:03

Hello,

I'd like to use the GlobeSufer icon HSUPA (vendor id: 0x0af0, devide id : 0x7251) under Linux. So as you know it, I need to use USB_ModeSwitch to be able to use the usbserial modems.

I used SniffUSB under Windows to catch any commands sent by the USB drivers to disable the usb-storage mode.

But I understand nothing about these logs !

Here is the logs I got :

[56 ms] UsbSnoop - FilterAddDevice(f6034748) : DriverObject 851223e0, pdo 84fc4660
[56 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_LEGACY_BUS_INFORMATION)
[56 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_LEGACY_BUS_INFORMATION)
[56 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
[56 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
[56 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
[56 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
[56 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
[56 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
[62 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[62 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=84fc4660, Irp=85078d38, IRQL=0
[62 ms] >>> URB 1 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000012
TransferBuffer = 850fca58
TransferBufferMDL = 00000000
Index = 00000000
DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
LanguageId = 00000000
[62 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_SYSTEM_CONTROL
[65 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85078d38, Context=850f3670, IRQL=2
[65 ms] <<< URB 1 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 85100280
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = 850fca58
TransferBufferMDL = 85353b48
00000000: 12 01 10 01 00 00 00 40 f0 0a 51 72 00 00 01 02
00000010: 03 01
UrbLink = 00000000
SetupPacket =
00000000: 80 06 00 01 00 00 12 00
[65 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[65 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=84fc4660, Irp=85078d38, IRQL=0
[65 ms] >>> URB 2 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000009
TransferBuffer = 850f47a8
TransferBufferMDL = 00000000
Index = 00000000
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[69 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85078d38, Context=850f3670, IRQL=2
[69 ms] <<< URB 2 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 85100280
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000009
TransferBuffer = 850f47a8
TransferBufferMDL = 85353b48
00000000: 09 02 20 00 01 01 00 c0 32
UrbLink = 00000000
SetupPacket =
00000000: 80 06 00 02 00 00 09 00
[69 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[69 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=84fc4660, Irp=85078d38, IRQL=0
[69 ms] >>> URB 3 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000020
TransferBuffer = 850aa240
TransferBufferMDL = 00000000
Index = 00000000
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[73 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85078d38, Context=850f3670, IRQL=2
[73 ms] <<< URB 3 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 85100280
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000020
TransferBuffer = 850aa240
TransferBufferMDL = 85353b48
00000000: 09 02 20 00 01 01 00 c0 32 09 04 00 00 02 08 06
00000010: 50 00 07 05 84 02 40 00 00 07 05 05 02 40 00 00
UrbLink = 00000000
SetupPacket =
00000000: 80 06 00 02 00 00 20 00
[73 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[73 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=84fc4660, Irp=85078d38, IRQL=0
[73 ms] >>> URB 4 going down >>>
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x850aa240 (configure)
ConfigurationDescriptor : bLength = 9
ConfigurationDescriptor : bDescriptorType = 0x00000002
ConfigurationDescriptor : wTotalLength = 0x00000020
ConfigurationDescriptor : bNumInterfaces = 0x00000001
ConfigurationDescriptor : bConfigurationValue = 0x00000001
ConfigurationDescriptor : iConfiguration = 0x00000000
ConfigurationDescriptor : bmAttributes = 0x000000c0
ConfigurationDescriptor : MaxPower = 0x00000032
ConfigurationHandle = 0x00000000
Interface[0]: Length = 56
Interface[0]: InterfaceNumber = 0
Interface[0]: AlternateSetting = 0
[139 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85078d38, Context=850f3670, IRQL=0
[139 ms] <<< URB 4 coming back <<<
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x850aa240 (configure)
ConfigurationDescriptor : bLength = 9
ConfigurationDescriptor : bDescriptorType = 0x00000002
ConfigurationDescriptor : wTotalLength = 0x00000020
ConfigurationDescriptor : bNumInterfaces = 0x00000001
ConfigurationDescriptor : bConfigurationValue = 0x00000001
ConfigurationDescriptor : iConfiguration = 0x00000000
ConfigurationDescriptor : bmAttributes = 0x000000c0
ConfigurationDescriptor : MaxPower = 0x00000032
ConfigurationHandle = 0x85104858
Interface[0]: Length = 56
Interface[0]: InterfaceNumber = 0
Interface[0]: AlternateSetting = 0
Interface[0]: Class = 0x00000008
Interface[0]: SubClass = 0x00000006
Interface[0]: Protocol = 0x00000050
Interface[0]: InterfaceHandle = 0x851a4fa0
Interface[0]: NumberOfPipes = 2
Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000040
Interface[0]: Pipes[0] : EndpointAddress = 0x00000084
Interface[0]: Pipes[0] : Interval = 0x00000000
Interface[0]: Pipes[0] : PipeType = 0x00000002 (UsbdPipeTypeBulk)
Interface[0]: Pipes[0] : PipeHandle = 0x851a4fbc
Interface[0]: Pipes[0] : MaxTransferSize = 0x00000800
Interface[0]: Pipes[0] : PipeFlags = 0x00000000
Interface[0]: Pipes[1] : MaximumPacketSize = 0x00000040
Interface[0]: Pipes[1] : EndpointAddress = 0x00000005
Interface[0]: Pipes[1] : Interval = 0x00000000
Interface[0]: Pipes[1] : PipeType = 0x00000002 (UsbdPipeTypeBulk)
Interface[0]: Pipes[1] : PipeHandle = 0x851a4fdc
Interface[0]: Pipes[1] : MaxTransferSize = 0x00000800
Interface[0]: Pipes[1] : PipeFlags = 0x00000000
[139 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[139 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=84fc4660, Irp=85078d38, IRQL=0
[139 ms] >>> URB 5 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 851a4fdc [endpoint 0x00000005]
TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 0000001f
TransferBuffer = f5f3228c
TransferBufferMDL = 00000000
00000000: 55 53 42 43 78 56 34 12 01 00 00 00 80 00 06 01
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
UrbLink = 00000000
[140 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85078d38, Context=850f3670, IRQL=2
[140 ms] <<< URB 5 coming back <<<
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 851a4fdc [endpoint 0x00000005]
TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 0000001f
TransferBuffer = f5f3228c
TransferBufferMDL = 85353b48
UrbLink = 00000000
[141 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
[141 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
[141 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
[141 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
[141 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[141 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[502 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[502 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[502 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[502 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[502 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL)
[502 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL)
[531 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[532 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=84fc4660, Irp=85055780, IRQL=0
[532 ms] >>> URB 6 going down >>>
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x00000000 (unconfigure)
[1014 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85055780, Context=850f3670, IRQL=2
[1014 ms] <<< URB 6 coming back <<<
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x00000000 (unconfigure)
[1014 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE)
[2141 ms] UsbSnoop - FilterAddDevice(f6034748) : DriverObject 851223e0, pdo 850d86b0
[2141 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_LEGACY_BUS_INFORMATION)
[2141 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_LEGACY_BUS_INFORMATION)
[2141 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
[2141 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
[2142 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
[2142 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
[2142 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
[2142 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
[2143 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[2143 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85111750, IRQL=0
[2143 ms] >>> URB 1 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000012
TransferBuffer = 85057898
TransferBufferMDL = 00000000
Index = 00000000
DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
LanguageId = 00000000
[2143 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_SYSTEM_CONTROL
[2147 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85111750, Context=850f3670, IRQL=2
[2147 ms] <<< URB 1 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 85200590
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = 85057898
TransferBufferMDL = 84f7bd00
00000000: 12 01 10 01 ff ff ff 40 f0 0a 51 72 00 00 01 02
00000010: 04 01
UrbLink = 00000000
SetupPacket =
00000000: 80 06 00 01 00 00 12 00
[2147 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[2147 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85111750, IRQL=0
[2147 ms] >>> URB 2 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000009
TransferBuffer = 850ecde0
TransferBufferMDL = 00000000
Index = 00000000
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[2151 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85111750, Context=850f3670, IRQL=2
[2151 ms] <<< URB 2 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 85200590
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000009
TransferBuffer = 850ecde0
TransferBufferMDL = 84f7bd00
00000000: 09 02 41 00 02 01 00 80 fa
UrbLink = 00000000
SetupPacket =
00000000: 80 06 00 02 00 00 09 00
[2151 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[2151 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85111750, IRQL=0
[2151 ms] >>> URB 3 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000041
TransferBuffer = 84fda610
TransferBufferMDL = 00000000
Index = 00000000
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[2156 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85111750, Context=850f3670, IRQL=2
[2156 ms] <<< URB 3 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 85200590
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000041
TransferBuffer = 84fda610
TransferBufferMDL = 84f7bd00
00000000: 09 02 41 00 02 01 00 80 fa 09 04 00 00 03 ff ff
00000010: ff 03 07 05 83 02 40 00 00 07 05 03 02 40 00 00
00000020: 07 05 85 03 10 00 80 03 24 03 09 04 01 00 02 ff
00000030: ff ff 03 07 05 84 02 40 00 00 07 05 04 02 40 00
00000040: 00
UrbLink = 00000000
SetupPacket =
00000000: 80 06 00 02 00 00 41 00
[2156 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[2156 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85111750, IRQL=0
[2156 ms] >>> URB 4 going down >>>
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x84fda610 (configure)
ConfigurationDescriptor : bLength = 9
ConfigurationDescriptor : bDescriptorType = 0x00000002
ConfigurationDescriptor : wTotalLength = 0x00000041
ConfigurationDescriptor : bNumInterfaces = 0x00000002
ConfigurationDescriptor : bConfigurationValue = 0x00000001
ConfigurationDescriptor : iConfiguration = 0x00000000
ConfigurationDescriptor : bmAttributes = 0x00000080
ConfigurationDescriptor : MaxPower = 0x000000fa
ConfigurationHandle = 0x00000000
Interface[0]: Length = 76
Interface[0]: InterfaceNumber = 0
Interface[0]: AlternateSetting = 0
Interface[1]: Length = 56
Interface[1]: InterfaceNumber = 1
Interface[1]: AlternateSetting = 0
[2311 ms] UsbSnoop - MyInternalIOCTLCompletion(f6030126) : fido=00000000, Irp=85111750, Context=850f3670, IRQL=0
[2311 ms] <<< URB 4 coming back <<<
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x84fda610 (configure)
ConfigurationDescriptor : bLength = 9
ConfigurationDescriptor : bDescriptorType = 0x00000002
ConfigurationDescriptor : wTotalLength = 0x00000041
ConfigurationDescriptor : bNumInterfaces = 0x00000002
ConfigurationDescriptor : bConfigurationValue = 0x00000001
ConfigurationDescriptor : iConfiguration = 0x00000000
ConfigurationDescriptor : bmAttributes = 0x00000080
ConfigurationDescriptor : MaxPower = 0x000000fa
ConfigurationHandle = 0x84f62f10
Interface[0]: Length = 76
Interface[0]: InterfaceNumber = 0
Interface[0]: AlternateSetting = 0
Interface[0]: Class = 0x000000ff
Interface[0]: SubClass = 0x000000ff
Interface[0]: Protocol = 0x000000ff
Interface[0]: InterfaceHandle = 0x850c1008
Interface[0]: NumberOfPipes = 3
Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000040
Interface[0]: Pipes[0] : EndpointAddress = 0x00000083
Interface[0]: Pipes[0] : Interval = 0x00000000
Interface[0]: Pipes[0] : PipeType = 0x00000002 (UsbdPipeTypeBulk)
Interface[0]: Pipes[0] : PipeHandle = 0x850c1024
Interface[0]: Pipes[0] : MaxTransferSize = 0x00000800
Interface[0]: Pipes[0] : PipeFlags = 0x00000000
Interface[0]: Pipes[1] : MaximumPacketSize = 0x00000040
Interface[0]: Pipes[1] : EndpointAddress = 0x00000003
Interface[0]: Pipes[1] : Interval = 0x00000000
Interface[0]: Pipes[1] : PipeType = 0x00000002 (UsbdPipeTypeBulk)
Interface[0]: Pipes[1] : PipeHandle = 0x850c1044
Interface[0]: Pipes[1] : MaxTransferSize = 0x00000800
Interface[0]: Pipes[1] : PipeFlags = 0x00000000
Interface[0]: Pipes[2] : MaximumPacketSize = 0x00000010
Interface[0]: Pipes[2] : EndpointAddress = 0x00000085
Interface[0]: Pipes[2] : Interval = 0x00000080
Interface[0]: Pipes[2] : PipeType = 0x00000003 (UsbdPipeTypeInterrupt)
Interface[0]: Pipes[2] : PipeHandle = 0x850c1064
Interface[0]: Pipes[2] : MaxTransferSize = 0x00000800
Interface[0]: Pipes[2] : PipeFlags = 0x00000000
Interface[1]: Length = 56
Interface[1]: InterfaceNumber = 1
Interface[1]: AlternateSetting = 0
Interface[1]: Class = 0x000000ff
Interface[1]: SubClass = 0x000000ff
Interface[1]: Protocol = 0x000000ff
Interface[1]: InterfaceHandle = 0x8512cca8
Interface[1]: NumberOfPipes = 2
Interface[1]: Pipes[0] : MaximumPacketSize = 0x00000040
Interface[1]: Pipes[0] : EndpointAddress = 0x00000084
Interface[1]: Pipes[0] : Interval = 0x00000000
Interface[1]: Pipes[0] : PipeType = 0x00000002 (UsbdPipeTypeBulk)
Interface[1]: Pipes[0] : PipeHandle = 0x8512ccc4
Interface[1]: Pipes[0] : MaxTransferSize = 0x00000800
Interface[1]: Pipes[0] : PipeFlags = 0x00000000
Interface[1]: Pipes[1] : MaximumPacketSize = 0x00000040
Interface[1]: Pipes[1] : EndpointAddress = 0x00000004
Interface[1]: Pipes[1] : Interval = 0x00000000
Interface[1]: Pipes[1] : PipeType = 0x00000002 (UsbdPipeTypeBulk)
Interface[1]: Pipes[1] : PipeHandle = 0x8512cce4
Interface[1]: Pipes[1] : MaxTransferSize = 0x00000800
Interface[1]: Pipes[1] : PipeFlags = 0x00000000
[2312 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
[2312 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
[2312 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
[2312 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
[2312 ms] UsbSnoop - FilterDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[2312 ms] UsbSnoop - FdoHookDispatchPnp(f603445c) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
[2332 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[2332 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=84f3ba68, IRQL=0
[2332 ms] >>> URB 5 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 850c1064 [endpoint 0x00000085]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = 853012a0
TransferBufferMDL = 00000000
UrbLink = 00000000
[49447 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[49447 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85111750, IRQL=2
[49447 ms] >>> URB 6 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 850c1024 [endpoint 0x00000083]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000800
TransferBuffer = 852dc800
TransferBufferMDL = 00000000
UrbLink = 00000000
[49447 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[49447 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85288750, IRQL=2
[49447 ms] >>> URB 7 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 850c1024 [endpoint 0x00000083]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000800
TransferBuffer = 84f22800
TransferBufferMDL = 00000000
UrbLink = 00000000
[49447 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[49447 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=85105c50, IRQL=2
[49447 ms] >>> URB 8 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 850c1024 [endpoint 0x00000083]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000800
TransferBuffer = 84f20008
TransferBufferMDL = 00000000
UrbLink = 00000000
[49447 ms] UsbSnoop - FilterDispatchAny(f602ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[49447 ms] UsbSnoop - FdoHookDispatchInternalIoctl(f60301ea) : fdo=850d86b0, Irp=850c1928, IRQL=2
[49447 ms] >>> URB 9 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 850c1024 [endpoint 0x00000083]
TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000800
TransferBuffer = 84f1f008
TransferBufferMDL = 00000000
UrbLink = 00000000



I understood that I have to found the windows drivers sent to this USB device which disable the usb-storage mode at the pluggin time.

Any idea about how to find these commands ?

Thanks in advance.

Fred

frednews78

Post by frednews78 » 03 Mar 2008, 14:23

ok...
According to the logs, it seems that my usb_modeswithc.conf should look like :

MessageEndpoint=0x05
MessageContent="55534243785634120100000080000601000000000000000000000000000000"


But I don't know how to set the DefaultVendor, DefaultProduct, TargetVendor and TargetProduct parameters.

All I have seen his 0x0af0 (vendor ID) and 0x7251(device ID).

Any idea ?

joke_dst
Posts: 19
Joined: 04 Mar 2008, 12:21

Post by joke_dst » 05 Mar 2008, 12:08

frednews78 wrote:ok...
But I don't know how to set the DefaultVendor, DefaultProduct, TargetVendor and TargetProduct parameters.

All I have seen his 0x0af0 (vendor ID) and 0x7251(device ID).

Any idea ?
The DefaultVendor should be 0x0af0 and DefaultProduct should be 0x7251. Ignore the Target* for the first run.

After you test with those settings, check dmesg for new vendor/product numbers, or cat /proc/bus/usb/devices and see what you've got. The Vendor number probably is the same.

Some cards don't switch product number after mode switch, you just have to do it once. Ignore Target* settings in that case

frednews78

Post by frednews78 » 05 Mar 2008, 12:48

joke_dst >>

Thanks a lot !

you are wright, I've just managed to switch my USB GlobeSurfer card using this usb_modeswitch.conf file :



########################################################
# GlobeSurfer iCon HSUPA
#
#

DefaultVendor=0x0af0
DefaultProduct=0x7251

MessageEndpoint=0x05
MessageContent="55534243785634120100000080000601000000000000000000000000000000"

joke_dst
Posts: 19
Joined: 04 Mar 2008, 12:21

Post by joke_dst » 05 Mar 2008, 13:19

Did you check it the product number changed after the mode switch?

Did any new devices appear in /proc/bus/usb/devices ?


If it did, you should set those as TargetProduct/TargetVendor to stop usb_modeswitch from doing the modeswitch when it doesn't need to.

And please report the numbers here as well, for us others :)

frednews78

Post by frednews78 » 05 Mar 2008, 18:29

joke_dst >>

Forget what I wrote before... I'm currently using the HSO driver... It seems there is no need to use the use the usb_modeswitch tool...

Sorry to have maken you waste your time.

But before using hso driver, no news devices appear in /proc/bus/bus/usb/devices. I got the same output from /proc/bus/usb/devices with both hso driver and usb_modeswitch tool (see below).

Here is how to I managed to use my GlobeSurfer icon HSUPA. Note that I got a error message regarding the MAC address of the hso0 interface. Is this an issue ?

May I use several HSUPA card on the same system ? Will they get the same MAC addresses ?

root@3G+:~# modprobe uhci-hcd

root@3G+:~# cat /proc/bus/usb/devices

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.22.1-rt9 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=0af0 ProdID=7251 Rev= 0.00
S: Manufacturer=Option N.V.
S: Product=Globetrotter HSUPA Modem
S: SerialNumber=Serial Number
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=85(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.22.1-rt9 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

### I'm using the HSO driver #####
root@3G+:~# mode hso

root@3G+:~# cat /prob/bus/devices
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.22.1-rt9 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=0af0 ProdID=7251 Rev= 0.00
S: Manufacturer=Option N.V.
S: Product=Globetrotter HSUPA Modem
S: SerialNumber=Serial Number
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=85(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.22.1-rt9 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

root@3G+:~# dmesg
hso: /sources-6.2/hso/hso.c: 1.0 Option Wireless
hso: Registering procfs
hso 2-2:1.0: usb_probe_interface
hso 2-2:1.0: usb_probe_interface - got id
[2574:set_ethernet_addr]: Attempting to get MAC address failed: using default
HSO: Found Network port hso0
HSO: Found Control port /dev/ttyHS0
HSO: Found Application port /dev/ttyHS1
hso 2-2:1.1: usb_probe_interface
hso 2-2:1.1: usb_probe_interface - got id
HSO: Found Diagnostic port /dev/ttyHS2
usbcore: registered new interface driver hso

frednews78

Post by frednews78 » 05 Mar 2008, 18:41

I don't really understand very well...

Sometimes the HSO driver find network ports... sometimes not...

So tu be sure, I need to use the usb_modeswitch tool after loading the HSO driver :

# modprobe uhci-hcd
# modprobe hso
# mount -t usbfs none /proc/bus/usb
# usb_modeswitchtool

joke_dst
Posts: 19
Joined: 04 Mar 2008, 12:21

Post by joke_dst » 05 Mar 2008, 18:59

May I use several HSUPA card on the same system ? Will they get the same MAC addresses ?
Do you mean at the same time? That would be a mess to set up, at least if you want load balancing or a fallback feature... If not at the same time, then sure, shouldn't be a problem.

The MAC address is not really an issue, what MAC the modem has (if any) shouldn't affect anything really. As long as you can open a PPP connection on it you're fine.


I haven't used the HSO driver myself yet, I'm hoping on getting a globesurfer card next week though. I'll try it out and see if I can spot anything.

Why it sometimes get a network port and sometimes not is a serious issue... I can't answer that until I've tried a card. You could check at the pharscape forums, they usually have solutions for globesurfer cards (www.pharscape.org).

frednews78

Post by frednews78 » 05 Mar 2008, 19:15

joke_dst >>

I'm currently trying to reproduce this issue (use usb_modeswitch or not??!!)...

I had to run usb_modeswitch tool when I got this ouput from /proc/bus/bus/devices after loading uhci-hcd module below. Note that there is only one I:* entry...


T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.22.1-rt9 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0af0 ProdID=7251 Rev= 0.00
S: Manufacturer=Option N.V.
S: Product=Globetrotter HSUPA Modem
S: SerialNumber=Serial Number
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.22.1-rt9 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:1d.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

frednews78

Post by frednews78 » 05 Mar 2008, 19:26

joke_dst >>

Ok I understand that I don't have to run the usb_modeswitch tool if I have run it one time before without unplugging/replugging the card, so if I dont shut it down (electrally speaking).

The card seems to keep its "usb switch mode" (storage or not storage mode) at reboot time ?

It's the same regarding the PIN code.

Is it a correct behaviour ?

Don't know...

joke_dst
Posts: 19
Joined: 04 Mar 2008, 12:21

Post by joke_dst » 05 Mar 2008, 19:31

Yes, once the mode switch has occured, it stays in that state until the power is cut. You do not need to run usb_modeswitch again.

frednews78

Post by frednews78 » 06 Mar 2008, 11:55

joke_dst >>

I don't know if it's a good idea to use a 3G driver which is not in the kernel source tree...

But I haven't managed to use another one...
The Linux driver option doesn't work... sometimes it detects one ttyUSB device... sometimes two... and never three...

frednews78

Post by frednews78 » 07 Mar 2008, 14:45

joke_dst wrote: I haven't used the HSO driver myself yet, I'm hoping on getting a globesurfer card next week though. I'll try it out and see if I can spot anything.

let me know if you managed to use such a card with the "option" Linux driver please ;-)

Post Reply