From: Christoph Lindemann on 27 Nov 2008 07:06 Does your printer support the class specific GET_DEVICE_ID request. This will return the IEEE 1284 Device ID, which windows uses to build the hardware ID for USB (actually any IEEE 1284 compatible device) print devices. (The USS-720 chip forwards this request to the connected IEEE 1284 device, if your device does not return this, it will return a 0 length ID) Checkout "Universal Serial Bus Device Class Definition for Printing Devices 1.1" section "4.2.1 GET_DEVICE_ID" You should provide a serial number when you want to run several devices concurrently on 1 machine. I also suggest that you provide your own values for idVendor, idProduct, iManufacturer, iProduct... to prevent clashing with other pruducts that are using the USS720. -- Christoph Lindemann Undocumented Printing http://www.undocprint.org/ "Dave Burns" <dburns(a)newsgroup.nospam> wrote in message news:uLVyu8AUJHA.5376(a)TK2MSFTNGP02.phx.gbl... > We would like to adapt our current printer driver to develop a PNP > compatible WHQL signed driver for use on Windows 2000, XP, Vista, Server > 2003, Server 2008 for 32 and 64 bit versions but without changing the USB > descriptors in the hardware if possible. At device detection, the driver > installers would have to key off of "Prism Plus" in the iProduct string to > uniquely identify the product and instantiate the device. Multiple > devices must be able to instantiate then operate simultaneously while > attached to the same host computer. > > Here is the dump for the USB device descriptor. > > > Regards, Dave > > Device descriptor > Name Value Dec Hex Bin > bLength 18 18 0x12 10010 > bDescriptorType DEVICE 1 0x01 1 > bcdUSB 1 256 0x0100 1 > bDeviceClass Class defined at interface level 0 0x00 0 > bDeviceSubClass Subclass defined at interface level 0 0x00 0 > bDeviceProtocol None 0 0x00 0 > bMaxPacketSize0 8 8 0x08 1000 > idVendor Agere Systems Inc. "1,150" 0x047E 100 > idProduct USS720 Parallel Port "4,097" 0x1001 10000 > bcdDevice 2.0.2 514 0x0202 10 > iManufacturer 1 1 0x01 1 > iProduct "2 ""Prism Plus""" 2 0x02 10 > iSerialNumber 0 0 0x00 0 > bNumConfigurations 1 1 0x01 1 > > > Name Value Dec Hex Bin > bLength Valid 9 0x09 1001 > bDescriptorType CONFIGURATION 2 0x02 10 > wTotalLength 78 bytes 78 0x004E 0 > bNumInterface 1 1 0x01 1 > bConfigurationValue 1 1 0x01 1 > iConfiguration 0 0 0x00 0 > bmAttributes. Reserved Zero 0 0x00 0 > bmAttributes. RemoteWakeup Not supported 0 0x0 0 > bmAttributes. SelfPowered Yes 1 0x1 1 > bmAttributes. Reserved7 Invalid 0 0x0 0 > bMaxPower 100 mA 50 0x32 110010 > > > > Configuration descriptor > Name Value Dec Hex Bin > bLength Valid 9 0x09 1001 > bDescriptorType CONFIGURATION 2 0x02 10 > wTotalLength 78 bytes 78 0x004E 0 > bNumInterface 1 1 0x01 1 > bConfigurationValue 1 1 0x01 1 > iConfiguration 0 0 0x00 0 > bmAttributes. Reserved Zero 0 0x00 0 > bmAttributes. RemoteWakeup Not supported 0 0x0 0 > bmAttributes. SelfPowered Yes 1 0x1 1 > bmAttributes. Reserved7 Invalid 0 0x0 0 > bMaxPower 100 mA 50 0x32 110010 > > Interface descriptor > Name Value Dec Hex Bin > bLength Valid 9 0x09 1001 > bDescriptorType INTERFACE 4 0x04 100 > bInterfaceNumber 0 0 0x00 0 > bAlternateSetting 0 0 0x00 0 > bNumEndpoints 1 1 0x01 1 > bInterfaceClass Printer 7 0x07 111 > bInterfaceSubClass Printer 1 0x01 1 > bInterfaceProtocol Unidirectional 1 0x01 1 > iInterface 0 0 0x00 0 > > Endpoint descriptor > Name Value Dec Hex Bin > bLength Valid 7 0x07 111 > bDescriptorType ENDPOINT 5 0x05 101 > bEndpointAddress 1 OUT 1 0x01 1 > bmAttributes. TransferType Bulk 2 0x2 10 > bmAttributes. Reserved Zero 0 0x00 0 > wMaxPacketSize 64 bytes 64 0x0040 0 > bInterval Ignored for Bulk endpoints 0 0x00 0 > > Interface descriptor > Name Value Dec Hex Bin > bLength Valid 9 0x09 1001 > bDescriptorType INTERFACE 4 0x04 100 > bInterfaceNumber 0 0 0x00 0 > bAlternateSetting 1 1 0x01 1 > bNumEndpoints 2 2 0x02 10 > bInterfaceClass Printer 7 0x07 111 > bInterfaceSubClass Printer 1 0x01 1 > bInterfaceProtocol Bidirectional 2 0x02 10 > iInterface 0 0 0x00 0 > > Endpoint descriptor > Name Value Dec Hex Bin > bLength Valid 7 0x07 111 > bDescriptorType ENDPOINT 5 0x05 101 > bEndpointAddress 1 OUT 1 0x01 1 > bmAttributes. TransferType Bulk 2 0x2 10 > bmAttributes. Reserved Zero 0 0x00 0 > wMaxPacketSize 64 bytes 64 0x0040 0 > bInterval Ignored for Bulk endpoints 0 0x00 0 > > Endpoint descriptor > Name Value Dec Hex Bin > bLength Valid 7 0x07 111 > bDescriptorType ENDPOINT 5 0x05 101 > bEndpointAddress 2 IN 130 0x82 10000010 > bmAttributes. TransferType Bulk 2 0x2 10 > bmAttributes. Reserved Zero 0 0x00 0 > wMaxPacketSize 64 bytes 64 0x0040 0 > bInterval Ignored for Bulk endpoints 0 0x00 0 > > Interface descriptor > Name Value Dec Hex Bin > bLength Valid 9 0x09 1001 > bDescriptorType INTERFACE 4 0x04 100 > bInterfaceNumber 0 0 0x00 0 > bAlternateSetting 2 2 0x02 10 > bNumEndpoints 3 3 0x03 11 > bInterfaceClass Vendor-specific 255 0xFF 11111111 > bInterfaceSubClass Vendor-specific 0 0x00 0 > bInterfaceProtocol Vendor-specific 255 0xFF 11111111 > iInterface 0 0 0x00 0 > > Endpoint descriptor > Name Value Dec Hex Bin > bLength Valid 7 0x07 111 > bDescriptorType ENDPOINT 5 0x05 101 > bEndpointAddress 1 OUT 1 0x01 1 > bmAttributes. TransferType Bulk 2 0x2 10 > bmAttributes. Reserved Zero 0 0x00 0 > wMaxPacketSize 64 bytes 64 0x0040 0 > bInterval Ignored for Bulk endpoints 0 0x00 0 > > Endpoint descriptor > Name Value Dec Hex Bin > bLength Valid 7 0x07 111 > bDescriptorType ENDPOINT 5 0x05 101 > bEndpointAddress 2 IN 130 0x82 10000010 > bmAttributes. TransferType Bulk 2 0x2 10 > bmAttributes. Reserved Zero 0 0x00 0 > wMaxPacketSize 64 bytes 64 0x0040 0 > 1000000 > bInterval Ignored for Bulk endpoints 0 0x00 0 > > Endpoint descriptor > Name Value Dec Hex Bin > bLength Valid 7 0x07 111 > bDescriptorType ENDPOINT 5 0x05 101 > bEndpointAddress 3 IN 131 0x83 10000011 > bmAttributes. TransferType Interrupt 3 0x3 11 > bmAttributes. Reserved Zero 0 0x00 0 > wMaxPacketSize 4 bytes 4 0x0004 0 > bInterval 1 frame (1 ms) 1 0x01 1 > > > > String descriptor > Name Value Dec Hex Bin > bLength 4 4 0x04 100 > bDescriptorType STRING 3 0x03 11 > wLANGID[0] English (US) "1,033" 0x0409 100 > 1001 > > > String descriptor > Name Value Dec Hex Bin > bLength 22 22 0x16 10110 > bDescriptorType STRING 3 0x03 11 > Content """Prism Plus""" > > > > > > > > >
First
|
Prev
|
Pages: 1 2 3 4 Prev: Blue screen with UMDF driver Next: Writes to storage on file reads |