HP Laserjet III via USB/LPT dongle to Windows XP?

  • Thread starter Thread starter Frantisek.Rysanek
  • Start date Start date
F

Frantisek.Rysanek

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/\IO Cable\PL-2305\Doc\Data Sheet\ds_pl2305_v1.3.pdf
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 :-)

Frank Rysanek
 
In said:
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/\IO Cable\PL-2305\Doc\Data Sheet\ds_pl2305_v1.3.pdf
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 :-)
Frank Rysanek

Hi,

I do not really know what to do under XP, but maybe you can use
Linux to see whether it can work at all. With KNOPPIX or another
live CD you can do this without installation. It is possible that
the dongle and the LJIII are incompatible.

Arno
 
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/\IO Cable\PL-2305\Doc\Data Sheet\ds_pl2305_v1.3.pdf
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 :-)

Frank Rysanek

You can - but it will cost you - order an usb to LPT cable.
 
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
. . .
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).

Does this setup also require that LPT be enabled in BIOS
(perhaps not done if you have up to now worked only via USB)?
 
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/\IO Cable\PL-2305\Do...
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.

I've posted a more detailed request for help to linux-
(e-mail address removed). 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 :-)

Frank Rysanek
 
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-
(e-mail address removed). 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
 
Back
Top