• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

Samba server printer not working over network

Started by vbien, 2012.05.03, 14:55:00

Previous topic - Next topic

ALT

Quote from: vbien on 2012.05.12, 14:13:48
Quote from: ALT on 2012.05.11, 13:22:29
You should then be able to print to any printer queue defined on OS/2 using TCP/IP (lpr) from another system.  The IP address is the IP address of your OS/2 system, and the print queue name is the "physical name" of the printer object shown on the first page of the printer object's properties notebook.

Still doesn't work.  When you add a network printer, using the Windows add a printer wizard, and you type the IP address of say an HP4000 network printer, and click Next the wizard moves to the next screen that asks you to specify the printer driver you need.  On my OS/2 computer with the lpd -c running and also lptportd running and you do the same you still get the critical stop error message.  It does not seem sufficient to just specify the IP address of the OS/2 machine.  The wizard seems to be asking for the path to the printer but how would you do that which makes sense to the Windows machine?  Typing 192.168.1.14/dos (DOS being the queue name of the OS/2 IBM Null printer driver) doesn't work.  When you look at the DOS printer in the WPS (and all the others) it's actually under D:\Desktop\Connections\Printers\ (D: is my OS/2 boot drive).  I wouldn't think this makes sense to Windows.  I tried typing that path and it also did not work, not surprising.  There is no link between lpd or lprportd and any particular installed printer.

First of all, yes, specifying the IP address alone is not sufficient.  You need to specify "the path to the printer" as you put it, that is, the printer queue name.  As I wrote above, this is the "Physical name" of the printer as it appears on the first page of the printer object properties.

Second, I'm not sure you should be using the IBMNULL driver.  I suppose it might work if you're not ever printing locally, but IMO it's safer to use the Lexmark E310 driver on the OS/2 system for the printer object as well.

Third, does printing (via this printer object) work from the OS/2 system?  Make sure that works before you try printing from a remote system.


Quote from: vbien on 2012.05.13, 14:48:37
By my figuring there would have to be something missing; some linkage missing.  What I mean is that the lpd daemon is a command or process that works at the filesystem level but the print objects are at the WPS level - comparable to the Window's GUI desktop.  The printer objects are specified in the ini files, the equivalent of Windows Registry.  So how does the data stream flowing into lpd get to a printer object?  Or does it go automatically to prn?  The catch is that in my case the printer is not connected to the parallel port; it is connected to an USB port.  Can prn be redirected from LPT1 (the parallel port) to the USB port?  How would one do that?

The OS/2 lpd program is designed to integrate with the WPS printing system.  It automatically maps all existing WPS printer object queues into LPD queues.

RobertM

#16
This document may also be helpful...

http://ltxfaq.custhelp.com/app/answers/detail/a_id/661/~/windows-xp,-tcp%2Fip-lpr%2Flpd-printing

I'd also verify TCP/IP connectivity from the Windows machine to the eCS machine (ie: the Windows machine can ping the eCS machine). I've got an instance where our NAT router doesn't seem to see certain machines on the non-NAT network unless the *router* is pinged by the eCS/Warp machines. Other odd things when NAT are involved can also be occurring of course.


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


RobertM

#17
Sorry gang, I was really busy before, and this is actually an easy one. Here's how you do it, step by step.

This is a LOT simpler than the verbosity and detail of my instructions below would imply (below is a step by step, tab by tab explanation of how to set this up on the Windows side - the Warp side is really a checkbox, two characters and Apply&reboot).



Prerequisites:
- TCP/IP installed and working on OS/2 or eCS
- TCP/IP installed and working on Windows
- LPD installed on Warp/eCS (should be automatically installed)
- Machines need to be able to see each other via TCP/IP
-- That's it! No SAMBA, no NetBEUI, no Peer... nothing else.



I will make a pretty version of this at some point and add it to our docs on the website.

On the eCS/Warp Side:

  • Autostart LPD in TCPCFG2 with the -c option

  • Find the appropriate printer on the OS/2 or eCS side, open its properties notebook and "record" the "Physical Name" (not the printer name), for instance, mine is PSCRIPTH.


On Windows, you pretty much only need to follow my steps below with a few additions (the parts I couldn't quickly dredge up from memory) - here are all of the steps in detail:

  • Hit "Add a Printer" (or applicable button/text depending on Windows version) and select "Next" if you get the standard "This wizard helps you..." page first.

  • On "Local or Network" select "Local" and UNselect "Automatically detect..." and then hit "Next"

  • On the "Select a Printer Port" page, select "Create New Port" and "Standard TCP/IP port" from the drop down. Hit "Next" on the "Welcome..." for the port creation wizard.

  • At Printer Name or IP Address: Add the IP address, nothing more (or DNS name if it is a resolvable name)

  • At Port Name: Type whatever the heck you want. It will default to IP_##.##.##.## - feel free to make it descriptive, such as "HP Color Laserjet 4600 PS"

    Hit "Next" - this can sometimes take a bit of time... wait for Windows to chug along

  • On the next screen, you may get Windows' standard "I don't really have a clue about anything network related - what is this I'm connecting to?" dialog ("Additional Port Information Required") - Select (x) Standard: "Generic Network Card" and hit "Next" - and probably wait... again, this is "normal" on most versions of Windows...

  • Hit "Finish" (you aren't - but run with this... we'll fix this in a bit)

  • WAIT (again) while Windows switches the "Add Printer Wizard" from the port selection page to the Printer Driver page - select the correct printer driver - this is exactly as you would for setting up any driver manually (ie: sometimes it is easier to have the driver pre-installed, even for a dummy printer, so you can find it in the list - such as with the massive monolithic driver packages that don't let you simply use "Have disk" to select the driver from a decompressed driver archive).

    Hit "Next"

  • Your printer name should probably already been assigned - if not, name it. Select Yes/No for "use... as... default" as suits your needs and hit "Next"

  • Don't bother printing a test page... select "No" and "Next" and then "Finish" (which we still aren't... read on...) You again may be stuck waiting a bit - don't worry, it will figure things out and finish this step, after which, we are on to our final steps.

  • Once that disappears, find the new printer, right click on it and select (on XP) "Properties" or (on Vista onwards) "Printer Properties" and change to the "Ports" tab.

  • Select the port (should already be selected) and hit the "Configure Port" button

  • Again, Port Name doesn't matter (and you can't change it now anyway).
    - Make sure LPR is selected in Protocol
    - Enter the Queue Name (the name from "Physical Name" on eCS/Warp)
    - CHECK LPR Byte Counting Enabled
    - I have SNMP Status Enabled UNchecked - feel free to play with it if you want


  • Hit "OK" to close that dialog, then hit "Apply" on the Printer Properties dialog, followed by "Close" (oddly, sometimes, changes would only let me hit "Close" - do that if "Apply" is greyed out).


Happy Printing!!!

-Rob


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


RobertM

Side note: You can use the actual existing OS/2 printer queue for what is below instead of IBMNULL. IBMNULL should only be used if there is a problem due to driver mismatches (for instance, my printer supports three different protocols... if OS/2 supports one, and Windows supports another, and those two are different) - and thus causing "weird" issues such as raw printer code being printed, THEN I would try the IBMNULL driver - otherwise, it isn't necessary.


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


RobertM

Here's the "How To" document (sans images, which I will add later):

http://www.os2world.com/wiki/index.php?title=OS2_World_Wiki:HOW_TO:_Printing_to_an_OS2_Printer_From_a_Windows_Computer

It's probably a little easier to read than my forum post below.

-R


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


vbien

Quote from: RobertM on 2012.05.15, 02:34:29
Here's the "How To" document (sans images, which I will add later):

http://www.os2world.com/wiki/index.php?title=OS2_World_Wiki:HOW_TO:_Printing_to_an_OS2_Printer_From_a_Windows_Computer

It's probably a little easier to read than my forum post below.

-R

Now it work!  So problem solved!  Thanks very much.

  The bit I was missing was applying the OS/2 "physical" printer name to the Windows printer property dialogue - the section in the above link headed Final Port Configuration.  The "physical printer" name is the name of the printer on the WPS.  In my case it is called DOS which uses the IBM Null driver.  Unassisted I would not have known about selecting the LPR protocol and clicking LPR Byte Counting.

  Also to answer Alex Taylor above, DOS is the correct Queue name or Physical name although it's a bit counter-intuitive.  The Windows driver is Lexmark but the queue name has to be via IBM Null because the stream of data going to OS/2 is correct for the printer so one does not want OS/2 to do anything other than just pass the stuff through.  This has been true from the year dot.  When printing from Win-OS2 on the OS/2 computer the native OS/2 printer to use has always been DOS (IBM Null).  However, the driver inside Win-OS2 has to be Lexmark.  So by extension that is what I expected would be required from a Windows computer connected via the network.

  So the salient difference between Win-OS2 and a network connected Windows computer comes down to a piece of blue LAN cable!

  However, when printing from native OS/2 programs such as DeScribe, PMMail or PMView one has to use a queue name which uses the OS/2 Lexmark driver.  I call my Lexmark physical or queue name Lexmark Optra E310.

  If either queue name is used inappropriately you quickly know!  You get gibberish!