From: Arno Wagner on
In comp.sys.ibm.pc.hardware.misc Frantisek.Rysanek(a)post.cz wrote:
> On 2 Pro, 13:45, Frantisek.Rysa...(a)post.cz wrote:
>> Dear All,
>>
>> I've tried to attach an old HP LaserJet III to a modern notebook PC
>> using a cheap USB-to-LPT dongle. I used the generic USB printing
>> support (driver for the dongle) in XP, installed a HP LJ III printer
>> manually (the stock XP driver) and pointed the printer profile to use
>> the virtual USB printing port.
>>
>> The first result is, that it just doesn't work. The printing subsystem
>> in Windows keeps trying something for a while, then merely says that
>> the printing failed.
>>
>> I am aware that maybe the stock XP driver still relies on physical LPT
>> hardware (or on LPT hardware-specific low-level driver in XP).
>>
>> There's also a slight chance of some hardware mismatch (logic levels
>> mismatch, LPT/USB dongle under-powered, fuzzy PSU rails inside the
>> dongle etc). The dongle is based on this chip (Prolific PL2305):http://www.prolific.com.tw/support/files/%5CIO%20Cable%5CPL-2305%5CDo...
>> The USB device is clearly alive - the dongle is detected by the XP OS
>> and the generic USB printing support driver gets loaded.
>>
>> Do you have any explicit experience/knowledge that this should /
>> should not work?
>>
>> In the past, I've been into various printing tricks: redirecting the
>> print jobs to a file, to a network printer via Samba or LPR (Microsoft
>> built-in or 3rd-party spooler), to a local XP-borne GhostScript
>> installation... I'm pretty sure I could redirect the HP LJ III
>> driver's output harmlessly into some sort of common "virtual pipe"
>> along those lines - and then maybe forward the traffic back to the USB
>> device by some other means.
>>
>> At a first attempt, I can see that the USB device doesn't respond to
>> the PRN or LPT device names. Is there any way to reach the USB printer
>> port by some common device name from the Windows command line? Or, for
>> that matter, a simple way to open the raw USB LPT port from Windows
>> user space programmatically, via the Win32 API?
>>
>> At the hardware level, I don't think the LJ III would use some non-
>> standard signaling, that would require direct software access to the
>> LPT hardware. Quite the contrary - to me, the LJ III is a "mother of
>> all printers", a reference printer implementation. If you attach just
>> anything to its Centronics port and start sending bytes of data, using
>> the Strobe and Busy signals in a vaguely standard way, you just have
>> to get some output :-) I would expect that any USB/LPT converter
>> provides at least this much.
>>
>> Any ideas are welcome :-)
>>
>> FrankRysanek

> Thanks to all who replied... First of all, the bit of information
> about Prolific 2305, that was a misinformation - not true - courtesy
> of the dongle vendor. Now I can't find that note on their web site
> anymore. The actual chip used on the inside is a WinChipHead CH340S
> (or so the label says) - although by function and pinout it would more
> closely resemble a CH341.

> It shows some signs of life both in Windows and in Linux (usblp.c) - I
> do get some data printed on paper, fairly garbled (the Windows test
> page). It seems as if the dongle expects bidirectional communication,
> but reading back the printer status somehow always fails. Both Windows
> and Linux throw error messages along those lines.

> It fails exactly the same way with LaserJet III and LaserJet 6P.
> I've even tried improving power rail filtering inside the dongle, to
> no avail.

Sounds like a parial or broken implementation of the parallel
port in the dongle.

> I've posted a more detailed request for help to linux-
> usb(a)vger.kernel.org. If those gurus don't help (I hope they don't
> blacklist me right away for offtopic questions), I guess hardly anyone
> else can help me :-)

Good idea. They will not blacklist you typically, but they
might lfame you. Handle that like any good flaming, just ignore
it.

Arno