[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[coldsync-hackers] Some data on Coldsync for the Clie




Just a couple of notes on what I did today: I finally hooked up USB
Snoopy and had a look at the logs. 

The negotiation is fairly short, shorter than what Coldsync does for
the Handspring.  (The Handspring code doesn't work.)  In particular,
there seems to be only a single bulk endpoint pair, and I don't see
any vendor-specific request types around.

I've done some futzing around in PConnection_usb.c, commented out the
Handspring stuff, and tried to do similar things to the log.
Unfortunately, the very first read on the bulk endpoint hangs for a
while and then fails with an Input/output error.  If anyone has any
advice on how to proceed, I'd be more than happy to try more stuff.

I'm also having some trouble reading the Snoopy logs: In particular
the log entry for URB_FUNCTION_SELECT_CONFIGURATION reports back the
info for the pipes.  From the USB docs, I'm under the impression that
getting this information would require doing a couple of
USB_GET_ENDPOINT_DESC calls---which I don't see.

If anyone cares, I've attached the initial portion up until the first
bulk transfer.  It's all bulk after that.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla


00000000	0.00000000	UsbSnoop 0.12 - Entering DriverEntry: DriverObject DAA83458	
00000001	0.00001280	UsbSnoop - Running under Windows 98	
00000002	0.00004080	UsbSnoop - Entering AddDevice: DriverObject DAA83458, pdo C14C63D8	
00000003	0.46258240	UsbSnoop - IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)	
00000004	0.46269280	UsbSnoop - IRP_MJ_PNP (IRP_MN_START_DEVICE)	
00000005	0.46271680	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000006	0.46272720	 	
00000007	0.46273120	>>>>>>> URB 1 going down...	
00000008	0.46274480	-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:	
00000009	0.46275680	  TransferBufferLength = 00000012	
00000010	0.46276800	  TransferBuffer       = daa93250	
00000011	0.46277920	  TransferBufferMDL    = 00000000	
00000012	0.46278960	  Index                = 00	
00000013	0.46280400	  DescriptorType       = 01 (USB_DEVICE_DESCRIPTOR_TYPE)	
00000014	0.46281360	  LanguageId           = 0000	
00000015	0.46675280	 	
00000016	0.46675680	<<<<<<< URB 1 coming back...	
00000017	0.46676960	-- URB_FUNCTION_CONTROL_TRANSFER:	
00000018	0.46678160	  PipeHandle           = daa5e1fc	
00000019	0.46680080	  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)	
00000020	0.46681280	  TransferBufferLength = 00000012	
00000021	0.46682400	  TransferBuffer       = daa93250	
00000022	0.46683520	  TransferBufferMDL    = daa7c240	
00000023	0.46684240	 	
00000024	0.46684640	    0000:	
00000025	0.46691520	 12 01 10 01 ff 00 00 10 4c 05 38 00 00 11 00 00	
00000026	0.46691920	    0010:	
00000027	0.46693120	 00 01	
00000028	0.46694160	  UrbLink              = 00000000	
00000029	0.46698560	  SetupPacket          : 80 06 00 01 00 00 12 00	
00000030	0.46703840	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000031	0.46704880	 	
00000032	0.46705200	>>>>>>> URB 2 going down...	
00000033	0.46706480	-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:	
00000034	0.46707600	  TransferBufferLength = 00000209	
00000035	0.46708720	  TransferBuffer       = daa95b20	
00000036	0.46709760	  TransferBufferMDL    = 00000000	
00000037	0.46710800	  Index                = 00	
00000038	0.46712160	  DescriptorType       = 02 (USB_CONFIGURATION_DESCRIPTOR_TYPE)	
00000039	0.46713200	  LanguageId           = 0000	
00000040	0.47341440	 	
00000041	0.47341840	<<<<<<< URB 2 coming back...	
00000042	0.47342960	-- URB_FUNCTION_CONTROL_TRANSFER:	
00000043	0.47344080	  PipeHandle           = daa5e1fc	
00000044	0.47345920	  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)	
00000045	0.47346960	  TransferBufferLength = 00000020	
00000046	0.47348080	  TransferBuffer       = daa95b20	
00000047	0.47349280	  TransferBufferMDL    = daa7c240	
00000048	0.47350000	 	
00000049	0.47350320	    0000:	
00000050	0.47357040	 09 02 20 00 01 01 00 c0 03 09 04 00 00 02 ff 00	
00000051	0.47357440	    0010:	
00000052	0.47363920	 00 00 07 05 82 02 40 00 00 07 05 02 02 40 00 00	
00000053	0.47365040	  UrbLink              = 00000000	
00000054	0.47369360	  SetupPacket          : 80 06 00 02 00 00 09 02	
00000055	0.47374080	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000056	0.47375120	 	
00000057	0.47375520	>>>>>>> URB 3 going down...	
00000058	0.47376720	-- URB_FUNCTION_SELECT_CONFIGURATION:	
00000059	0.47378160	  ConfigurationDescriptor = 0xdaa95b20 (configure)	
00000060	0.47379600	  ConfigurationDescriptor : bLength             = 0x09	
00000061	0.47381040	  ConfigurationDescriptor : bDescriptorType     = 0x02	
00000062	0.47382560	  ConfigurationDescriptor : wTotalLength        = 0x0020	
00000063	0.47384000	  ConfigurationDescriptor : bNumInterfaces      = 0x01	
00000064	0.47385440	  ConfigurationDescriptor : bConfigurationValue = 0x01	
00000065	0.47386880	  ConfigurationDescriptor : iConfiguration      = 0x00	
00000066	0.47388320	  ConfigurationDescriptor : bmAttributes        = 0xc0	
00000067	0.47389760	  ConfigurationDescriptor : MaxPower            = 0x03	
00000068	0.47390880	  ConfigurationHandle     = 0x00000003	
00000069	0.47392240	  Interface[0]: Length            = 0x00000038	
00000070	0.47393520	  Interface[0]: InterfaceNumber   = 0x00	
00000071	0.47394800	  Interface[0]: AlternateSetting  = 0x00	
00000072	0.47744800	 	
00000073	0.47745200	<<<<<<< URB 3 coming back...	
00000074	0.47746560	-- URB_FUNCTION_SELECT_CONFIGURATION:	
00000075	0.47748160	  ConfigurationDescriptor = 0xdaa95b20 (configure)	
00000076	0.47749600	  ConfigurationDescriptor : bLength             = 0x09	
00000077	0.47751040	  ConfigurationDescriptor : bDescriptorType     = 0x02	
00000078	0.47752560	  ConfigurationDescriptor : wTotalLength        = 0x0020	
00000079	0.47754000	  ConfigurationDescriptor : bNumInterfaces      = 0x01	
00000080	0.47755440	  ConfigurationDescriptor : bConfigurationValue = 0x01	
00000081	0.47756880	  ConfigurationDescriptor : iConfiguration      = 0x00	
00000082	0.47758320	  ConfigurationDescriptor : bmAttributes        = 0xc0	
00000083	0.47759840	  ConfigurationDescriptor : MaxPower            = 0x03	
00000084	0.47761200	  ConfigurationHandle     = 0xc29f6600	
00000085	0.47762560	  Interface[0]: Length            = 0x00000038	
00000086	0.47763840	  Interface[0]: InterfaceNumber   = 0x00	
00000087	0.47765120	  Interface[0]: AlternateSetting  = 0x00	
00000088	0.47766400	  Interface[0]: Class             = 0xff	
00000089	0.47767680	  Interface[0]: SubClass          = 0x00	
00000090	0.47768960	  Interface[0]: Protocol          = 0x00	
00000091	0.47770320	  Interface[0]: InterfaceHandle   = 0xdaa931b0	
00000092	0.47771680	  Interface[0]: NumberOfPipes     = 0x00000002	
00000093	0.47773200	  Interface[0]: Pipes[0] : MaximumPacketSize = 0x0040	
00000094	0.47774720	  Interface[0]: Pipes[0] : EndpointAddress   = 0x82	
00000095	0.47776240	  Interface[0]: Pipes[0] : Interval          = 0x00	
00000096	0.47778000	  Interface[0]: Pipes[0] : PipeType          = 0x02 (UsbdPipeTypeBulk)	
00000097	0.47779680	  Interface[0]: Pipes[0] : PipeHandle        = 0xdaa931c8	
00000098	0.47781280	  Interface[0]: Pipes[0] : MaxTransferSize   = 0x00010000	
00000099	0.47782720	  Interface[0]: Pipes[0] : PipeFlags         = 0x00	
00000100	0.47784240	  Interface[0]: Pipes[1] : MaximumPacketSize = 0x0040	
00000101	0.47785760	  Interface[0]: Pipes[1] : EndpointAddress   = 0x02	
00000102	0.47787200	  Interface[0]: Pipes[1] : Interval          = 0x00	
00000103	0.47788880	  Interface[0]: Pipes[1] : PipeType          = 0x02 (UsbdPipeTypeBulk)	
00000104	0.47790560	  Interface[0]: Pipes[1] : PipeHandle        = 0xdaa931dc	
00000105	0.47792160	  Interface[0]: Pipes[1] : MaxTransferSize   = 0x00010000	
00000106	0.47793600	  Interface[0]: Pipes[1] : PipeFlags         = 0x00	
00000107	0.47796640	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000108	0.47797680	 	
00000109	0.47798080	>>>>>>> URB 4 going down...	
00000110	0.47799200	-- URB_FUNCTION_GET_CONFIGURATION:	
00000111	0.47800320	  TransferBufferLength = 00000001	
00000112	0.47801520	  TransferBuffer       = daa95e50	
00000113	0.47802560	  TransferBufferMDL    = 00000000	
00000114	0.47803680	  UrbLink              = 00000000	
00000115	0.48107360	 	
00000116	0.48108320	<<<<<<< URB 4 coming back...	
00000117	0.48110080	-- URB_FUNCTION_CONTROL_TRANSFER:	
00000118	0.48111920	  PipeHandle           = daa5e1fc	
00000119	0.48114480	  TransferFlags        = 00000403 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)	
00000120	0.48116240	  TransferBufferLength = 00000001	
00000121	0.48118080	  TransferBuffer       = daa95e50	
00000122	0.48119840	  TransferBufferMDL    = daa7c240	
00000123	0.48121120	 	
00000124	0.48122080	    0000:	
00000125	0.48123600	 01	
00000126	0.48125360	  UrbLink              = 00000000	
00000127	0.48130480	  SetupPacket          : 80 08 00 00 00 00 01 00	
00000128	0.48140880	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000129	0.48141920	 	
00000130	0.48142320	>>>>>>> URB 5 going down...	
00000131	0.48143360	-- URB_FUNCTION_GET_INTERFACE:	
00000132	0.48144480	  TransferBufferLength = 00000001	
00000133	0.48145680	  TransferBuffer       = daa95e50	
00000134	0.48146720	  TransferBufferMDL    = 00000000	
00000135	0.48147760	  Interface            = 00	
00000136	0.48148800	  UrbLink              = 00000000	
00000137	0.48486800	 	
00000138	0.48487200	<<<<<<< URB 5 coming back...	
00000139	0.48488400	-- URB_FUNCTION_CONTROL_TRANSFER:	
00000140	0.48489520	  PipeHandle           = daa5e1fc	
00000141	0.48491360	  TransferFlags        = 00000403 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)	
00000142	0.48492560	  TransferBufferLength = 00000001	
00000143	0.48493680	  TransferBuffer       = daa95e50	
00000144	0.48494800	  TransferBufferMDL    = daa7c240	
00000145	0.48495520	 	
00000146	0.48495840	    0000:	
00000147	0.48496720	 00	
00000148	0.48497760	  UrbLink              = 00000000	
00000149	0.48502160	  SetupPacket          : 81 0a 00 00 00 00 01 00	
00000150	0.48602080	UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)	
00000151	0.48610160	UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)	
00000152	1.16353120	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000153	1.16354400	 	
00000154	1.16354800	>>>>>>> URB 6 going down...	
00000155	1.16356240	-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:	
00000156	1.16357440	  PipeHandle           = daa931c8	
00000157	1.16359280	  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)	
00000158	1.16360480	  TransferBufferLength = 00000040	
00000159	1.16361600	  TransferBuffer       = daa94249	
00000160	1.16362720	  TransferBufferMDL    = 00000000	
00000161	1.16363760	  UrbLink              = 00000000	
00000162	1.16539600	 	
00000163	1.16540480	<<<<<<< URB 6 coming back...	
00000164	1.16542480	-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:	
00000165	1.16544320	  PipeHandle           = daa931c8	
00000166	1.16546720	  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)	
00000167	1.16548480	  TransferBufferLength = 0000000c	
00000168	1.16550000	  TransferBuffer       = daa94249	
00000169	1.16551680	  TransferBufferMDL    = daa9aa20	
00000170	1.16552960	 	
00000171	1.16553840	    0000:	
00000172	1.16559280	 be ef ed 03 03 03 00 00 bf 62 33 a2	
00000173	1.16560880	  UrbLink              = 00000000	
00000174	1.19211200	UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB	
00000175	1.19212400