Can anyone suggest how to approach installing a non-Class_07 USB Printer?

I am dealing with a USB printer which presents a non-standard interface; instead of a single BULK pipe, the printer presents two USB pipes, a BULK pipe and an INTERRUPT pipe. Because this does not meet the requirements for the Class_07 standard, the manufacturor correctly identifies it as Class_FF (vendor-specific). However...

The printer *can* be handled strictly through the BULK channel, behaving just as a Class_07 printer should. My principal has a USB printer mini-driver that I am to install, but because the hardware does not present as Class_07, the usual installation does not work... USBPRINT.SYS does not get loaded into the driver stack.

I have attempted two different approaches to this, either of which (I thought) should work. First, I have tried simply adding to the INCLUDE and NEEDS statements in my INF, thus:


Since this didn't work I tried adding a Services section:

AddService = usbprint,0,usbprint_Service_Inst

DisplayName = "Microsoft USB PRINTER Class"
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\usbprint.sys

In both cases the issue seems to be something to do with a "port", presumably the USB port. If I try to install via the "Add Printer" dialog, I am stymied because there is no USB port to choose. If I plug the hardware into the USB port I get a "New Hardware" dialog, but after providing the .INF, .DLL and .GPD files, the installation fails claiming that "The specified port is unknown". Since no port was specified, I am perplexed.

I am far from being an expert in installation; I am primarily an embedded software designer, who occasionally has to install the drivers I write. In the past I have had some success, but this problem has stalled me for days now. Any wizardly suggestions would be very much appreciated.
0 Comments   [ - ] Hide Comments


Please log in to comment

There are no answers at this time
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity