A few assorted notes:

A couple years ago I've mapped the twisted path from DOS to Samba and 
CUPS and documented some landmarks here:
http://support.fccps.cz/download/adv/frr/cups_howto/cups_howto.htm

I do not want to promise, that your average print server will provide 
a Samba service for printing (SMB/CIFS protocol). Rather, I'd expect 
to use an intermediate Linux machine with CUPS or LPD to be required, 
just to get a Samba service.
And, some *very cheapest* host-controlled USB printers may not work 
at all through a generic print server.
(Still have a chance with a host-based dedicated driver in Linux, 
i.e. direct USB interconnect to a Linux PC box. E.g. the RPI may not 
cut it, if the printer driver is a binary download with x86 only 
binaries.)

On the DOS-based client side of Samba, the Microsoft networking 
package came in several versions, with names such as "Microsoft 
Network Client 3.0 for MS-DOS" or "Lan Manager 2.2a" or 2.2c.
This can create a virtual LPT device in DOS, at the cost of quite a 
bit of conventional RAM for the whole stack.

Putting Samba aside:

Most cheap print servers support HP JetDirect (just open TCP port 
9100 and shove the print job data) or the LPR protocol (legacy UNIX 
printing thing).

I've noticed someone mentioning lpr.exe.
And possibly tracked this down to a historical software package 
called PC/TCP by FTP Software Inc.
https://www.google.com/search?&q=PC%2FTCP+by+FTP+Software%2C+Inc.
Apparently the download can still be found.
I have no personal experience with this one.

If I should be slightly cheeky, I am surprised that M.Brutman doesn't 
have an lpr.exe of his own yet ;-)

One of the previous posters has mentioned having a Marvell NIC.
The family name of those adapters is Yukon.
And you will possibly still find some DOS drivers for it, either 
novell ODI, or Microsoft NDIS, possibly also a CRYNWR packet driver.
If you need the CRYNWR packet driver interface for your app, but you 
only find drivers with ODI or NDIS interface (Novell / Microsoft), 
mind the existence of odipkt and ndispkt shims.

As for USB/LPT interfacing stuff:

Eric Auer has already provided a link to the USB standard document, 
describing the USB LPT device class. 
As an alternative source of inspiration, I'd suggest the source code 
of the Linux driver:
https://github.com/torvalds/linux/blob/master/drivers/usb/class/usblp.
c

I have historical experience, must've been like 15 years ago, when I 
was trying to interface an HPLJ-III and HPLJ6 to a USB-only computer, 
via some USB/LPT dongles available at the time.
If memory serves, initially I purchased some dongle at random, which 
turned out to contain the CH341a, and tried that with the LJ6 in my 
office. That did not want to work. I then purchased another dongle, 
that I knew in advance was based on the Prolific PL2305. Which did 
work with the LJ6 just fine.
I then brought both dongles to my home, where I had the HP LJ III 
(already ancient back then). And, to my surprise, the PL2305 did not 
work for the old printer, but the CH341a did !
My idea back then was, that it may have to do with some more modern 
features of the later revisions of the IEEE1284. Such as, the 
GET_DEVICE_ID command/mechanism. The newer printer supported or 
required that to work, the older printer did not support that.
Meanwhile, time has passed, there are probably newer revisions of 
both those USB/LPT chips mentioned, and they possibly run firmware of 
their own, which possibly also evolves. No doubt that there are also 
knock-off chips floating around.
So... although the USB LPT has a USB device class of its own, and 
modern operating systems therefore contain a generic driver, still 
some USB/LPT dongles may work for your printer and some may not, and 
there is enough detail in the dumb old LPT port for the devil to hide 
in...

Frank



_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to