[sane-devel] Introduction

Benjamin Pierce bpierce815@yahoo.com
Thu, 14 Mar 2002 20:08:08 -0800 (PST)


--0-893304315-1016165288=:87368
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hello everyone,
  My name is Benjamin Pierce.  I am joining this list
because I am trying to get my new HP4400c working with
my linux box.  I looked through the archives and found
that the 4400c was not yet supported.  I also did some
research and found ways to document what the scanner
was doing.  I have included some usbtraces using
USBSnoop with a modified filter from Bertrik
Sikken(thanks).  Since I know very little about
coding, especially drivers, I was wondering if anyone
would be willing to delve into this project.  Even if
you do not have a 4400c yourself, I am perfectly
willing and able to give any and all debug output or
information that you need.

Thanks,
Benjamin Pierce 

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - live college hoops coverage
http://sports.yahoo.com/
--0-893304315-1016165288=:87368
Content-Type: text/plain; name="scannerlog.txt"
Content-Description: scannerlog.txt
Content-Disposition: inline; filename="scannerlog.txt"

//This came from turning the device on....

00000000  0.00000000  UsbSnoop 0.13 - Entering DriverEntry: DriverObject ED486228
00000001  0.00001600  UsbSnoop - Running under Windows 98
00000002  0.00004000  UsbSnoop - Entering AddDevice: DriverObject ED486228, pdo ED315888
00000003  0.00024640  UsbSnoop - IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
00000004  0.00035360  UsbSnoop - IRP_MJ_PNP (IRP_MN_START_DEVICE)
00000005  0.00074480  UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB
00000006  0.00075440   
00000007  0.00076000  >>>>>>> URB 1 going down...
00000008  0.00077040  -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
00000009  0.00078880    TransferBufferLength = 00000012
00000010  0.00079760    TransferBuffer       = ed330840
00000011  0.00080640    TransferBufferMDL    = 00000000
00000012  0.00081600    Index                = 00
00000013  0.00082640    DescriptorType       = 01 (USB_DEVICE_DESCRIPTOR_TYPE)
00000014  0.00083600    LanguageId           = 0000
00000015  0.00897280   
00000016  0.00897760  <<<<<<< URB 1 coming back...
00000017  0.00899120  -- URB_FUNCTION_CONTROL_TRANSFER:
00000018  0.00900080    PipeHandle           = ed341d3c
00000019  0.00901520    TransferFlags        = c28049c7 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000020  0.00902480    TransferBufferLength = 00000012
00000021  0.00903360    TransferBuffer       = ed330840
00000022  0.00904320    TransferBufferMDL    = c18004f0
00000023  0.00905040   
00000024  0.00905520      0000:
00000025  0.00909200   12 01 10 01 00 00 00 08 f0 03 05 07 00 01 04 03
00000026  0.00909840      0010:
00000027  0.00910800   05 01
00000028  0.00911760    UrbLink              = 00000000
00000029  0.00914160    SetupPacket          : 80 06 00 01 00 00 12 00
00000030  0.00920800  UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB
00000031  0.00921760   
00000032  0.00922320  >>>>>>> URB 2 going down...
00000033  0.00923360  -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
00000034  0.00924240    TransferBufferLength = 00000109
00000035  0.00925120    TransferBuffer       = ed497a60
00000036  0.00926000    TransferBufferMDL    = 00000000
00000037  0.00926960    Index                = 00
00000038  0.00928000    DescriptorType       = 02 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
00000039  0.00928800    LanguageId           = 0000
00000040  0.04427360   
00000041  0.04427920  <<<<<<< URB 2 coming back...
00000042  0.04428880  -- URB_FUNCTION_CONTROL_TRANSFER:
00000043  0.04429760    PipeHandle           = ed341d3c
00000044  0.04431120    TransferFlags        = c28049c7 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
00000045  0.04432000    TransferBufferLength = 00000109
00000046  0.04432880    TransferBuffer       = ed497a60
00000047  0.04433760    TransferBufferMDL    = c18004f0
00000048  0.04434480   
00000049  0.04435040      0000:
00000050  0.04438640   09 02 27 00 01 01 06 e0 00 09 04 00 00 03 00 00
00000051  0.04439200      0010:
00000052  0.04442720   00 07 07 05 81 02 40 00 00 07 05 02 02 08 00 00
00000053  0.04443280      0020:
00000054  0.04446720   07 05 83 03 01 00 fa 04 03 09 04 00 00 00 12 01
00000055  0.04447280      0030:
00000056  0.04450640   10 01 00 00 00 08 f0 03 05 07 00 01 04 03 05 01
00000057  0.04451200      0040:
00000058  0.04454640   22 03 48 00 50 00 20 00 53 00 63 00 61 00 6e 00
00000059  0.04455200      0050:
00000060  0.04458720   4a 00 65 00 74 00 20 00 34 00 34 00 30 00 30 00
00000061  0.04459200      0060:
00000062  0.04462720   63 00 20 03 48 00 65 00 77 00 6c 00 65 00 74 00
00000063  0.04463280      0070:
00000064  0.04466720   74 00 2d 00 50 00 61 00 63 00 6b 00 61 00 72 00
00000065  0.04467280      0080:
00000066  0.04471360   64 00 18 03 43 00 4e 00 31 00 41 00 55 00 41 00
00000067  0.04471920      0090:
00000068  0.04475360   44 00 32 00 37 00 57 00 42 00 00 27 00 00 00 00
00000069  0.04475840      00a0:
00000070  0.04479360   00 00 00 00 00 00 0a 1a 65 53 00 03 04 0c 00 00
00000071  0.04479840      00b0:
00000072  0.04483280   00 00 00 55 aa 0b 12 03 49 00 6e 00 64 00 65 00
00000073  0.04483840      00c0:
00000074  0.04487280   78 00 2d 00 31 00 30 00 00 00 00 00 00 00 00 00
00000075  0.04487840      00d0:
00000076  0.04491200   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000077  0.04491680      00e0:
00000078  0.04495120   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000079  0.04495680      00f0:
00000080  0.04499120   00 00 00 00 00 00 32 03 53 00 65 00 6c 00 66 00
00000081  0.04499680      0100:
00000082  0.04501760   2d 00 70 00 6f 00 77 00 65
00000083  0.04502720    UrbLink              = 00000000
00000084  0.04505040    SetupPacket          : 80 06 00 02 00 00 09 01
00000085  0.04510160  UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB
00000086  0.04511040   
00000087  0.04511600  >>>>>>> URB 3 going down...
00000088  0.04512560  -- URB_FUNCTION_SELECT_CONFIGURATION:
00000089  0.04513680    ConfigurationDescriptor = 0xed497a60 (configure)
00000090  0.04514640    ConfigurationDescriptor : bLength             = 0x09
00000091  0.04515680    ConfigurationDescriptor : bDescriptorType     = 0x02
00000092  0.04516800    ConfigurationDescriptor : wTotalLength        = 0x0027
00000093  0.04517760    ConfigurationDescriptor : bNumInterfaces      = 0x01
00000094  0.04518800    ConfigurationDescriptor : bConfigurationValue = 0x01
00000095  0.04519840    ConfigurationDescriptor : iConfiguration      = 0x06
00000096  0.04520960    ConfigurationDescriptor : bmAttributes        = 0xe0
00000097  0.04522160    ConfigurationDescriptor : MaxPower            = 0x00
00000098  0.04523040    ConfigurationHandle     = 0x00000010
00000099  0.04524080    Interface[0]: Length            = 0x0000004c
00000100  0.04525040    Interface[0]: InterfaceNumber   = 0x00
00000101  0.04526000    Interface[0]: AlternateSetting  = 0x00
00000102  0.04921840   
00000103  0.04922400  <<<<<<< URB 3 coming back...
00000104  0.04923360  -- URB_FUNCTION_SELECT_CONFIGURATION:
00000105  0.04924480    ConfigurationDescriptor = 0xed497a60 (configure)
00000106  0.04925440    ConfigurationDescriptor : bLength             = 0x09
00000107  0.04926480    ConfigurationDescriptor : bDescriptorType     = 0x02
00000108  0.04927520    ConfigurationDescriptor : wTotalLength        = 0x0027
00000109  0.04928560    ConfigurationDescriptor : bNumInterfaces      = 0x01
00000110  0.04929520    ConfigurationDescriptor : bConfigurationValue = 0x01
00000111  0.04930560    ConfigurationDescriptor : iConfiguration      = 0x06
00000112  0.04931520    ConfigurationDescriptor : bmAttributes        = 0xe0
00000113  0.04932560    ConfigurationDescriptor : MaxPower            = 0x00
00000114  0.04933520    ConfigurationHandle     = 0xc29aaab0
00000115  0.04934560    Interface[0]: Length            = 0x0000004c
00000116  0.04935440    Interface[0]: InterfaceNumber   = 0x00
00000117  0.04936400    Interface[0]: AlternateSetting  = 0x00
00000118  0.04937360    Interface[0]: Class             = 0x00
00000119  0.04938320    Interface[0]: SubClass          = 0x00
00000120  0.04939280    Interface[0]: Protocol          = 0x00
00000121  0.04940240    Interface[0]: InterfaceHandle   = 0xed35ecc0
00000122  0.04941200    Interface[0]: NumberOfPipes     = 0x00000003
00000123  0.04942320    Interface[0]: Pipes[0] : MaximumPacketSize = 0x0040
00000124  0.04943440    Interface[0]: Pipes[0] : EndpointAddress   = 0x81
00000125  0.04944480    Interface[0]: Pipes[0] : Interval          = 0x00
00000126  0.04946400    Interface[0]: Pipes[0] : PipeType          = 0x02 (UsbdPipeTypeBulk)
00000127  0.04947600    Interface[0]: Pipes[0] : PipeHandle        = 0xed35ecd8
00000128  0.04948720    Interface[0]: Pipes[0] : MaxTransferSize   = 0x00010000
00000129  0.04949760    Interface[0]: Pipes[0] : PipeFlags         = 0x00
00000130  0.04950880    Interface[0]: Pipes[1] : MaximumPacketSize = 0x0008
00000131  0.04951920    Interface[0]: Pipes[1] : EndpointAddress   = 0x02
00000132  0.04953120    Interface[0]: Pipes[1] : Interval          = 0x00
00000133  0.04954320    Interface[0]: Pipes[1] : PipeType          = 0x02 (UsbdPipeTypeBulk)
00000134  0.04955440    Interface[0]: Pipes[1] : PipeHandle        = 0xed35ecf4
00000135  0.04956560    Interface[0]: Pipes[1] : MaxTransferSize   = 0x00010000
00000136  0.04957600    Interface[0]: Pipes[1] : PipeFlags         = 0x00
00000137  0.04958640    Interface[0]: Pipes[2] : MaximumPacketSize = 0x0001
00000138  0.04959680    Interface[0]: Pipes[2] : EndpointAddress   = 0x83
00000139  0.04960800    Interface[0]: Pipes[2] : Interval          = 0xfa
00000140  0.04961920    Interface[0]: Pipes[2] : PipeType          = 0x03 (UsbdPipeTypeInterrupt)
00000141  0.04963120    Interface[0]: Pipes[2] : PipeHandle        = 0xed35ed10
00000142  0.04964160    Interface[0]: Pipes[2] : MaxTransferSize   = 0x00001000
00000143  0.04965200    Interface[0]: Pipes[2] : PipeFlags         = 0x00
00000144  0.04981280  UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
00000145  0.04987280  UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
00000146  0.61050960  UsbSnoop - IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)


//And these are three of the communications during the initial communication of the HP software to the scanner.


00011459  2.49231280  >>>>>>> URB 7580 going down...
00011460  2.49232240  -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00011461  2.49233280    PipeHandle           = ed318298
00011462  2.49234560    TransferFlags        = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
00011463  2.49235520    TransferBufferLength = 00000040
00011464  2.49236480    TransferBuffer       = ed31fa50
00011465  2.49237440    TransferBufferMDL    = 00000000
00011466  2.49238320    UrbLink              = 00000000

00011506  2.51308240  <<<<<<< URB 7582 coming back...
00011507  2.51309920  -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00011508  2.51311360    PipeHandle           = ed3182b4
00011509  2.51313120    TransferFlags        = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
00011510  2.51314560    TransferBufferLength = 00000006
00011511  2.51316000    TransferBuffer       = 00000000
00011512  2.51317440    TransferBufferMDL    = ed32e010
00011513  2.51318960    UrbLink              = 00000000
00011514  2.51726400  UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB

00011516  2.51728320  >>>>>>> URB 7583 going down...
00011517  2.51729520  -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
00011518  2.51730480    PipeHandle           = ed3182b4
00011519  2.51731760    TransferFlags        = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
00011520  2.51732720    TransferBufferLength = 00000005
00011521  2.51733680    TransferBuffer       = 00000000
00011522  2.51734640    TransferBufferMDL    = ed2e4420
00011523  2.51735520    UrbLink              = 00000000

   

--0-893304315-1016165288=:87368--