Forum Moderators: open

Message Too Old, No Replies

Windows 2000 Printer Sharing

Sharing a LAN printer without logon

         

rnfolsom

1:21 am on Jan 25, 2006 (gmt 0)

10+ Year Member



Elsewhere on this site, Lammert described how to "connect two Windows computers for printer sharing, without giving them any sharing rights" by using "an old Unix protocol, . . . LPR/LPD or TCP/IP printing." Later he apparently chooses TCP/IP printing, but I don't know why.

(In thread "Printer Sharing with Windows 2000: Getting the permissions right," see Lammert's messages 2 and 3, at [webmasterworld.com ]. The thread is now closed.) But I cannot get his method to work, so I am posting this message to ask for help.

Lammert was responding to Captaffy's initial post that opened the thread. Captaffy's scenario matches my own.

Computers A and B are connected to a workgroup (peer-to-peer) local network. Both use Win2k. Computer A is adjacent to a printer and connected to it by parallel ports and cable. Computer B is at some distance from any printer. (A Background P.S., below, gives more details.)

The objective is for Computer B to use Computer A's printer over the network --- but for security reasons, Computer B should not log in to computer A. And Computer A's guest account should be disabled and its guest group should be empty. (I think all of that means that no Computer B user would have any sort of account on Computer A.)

My understanding of Lammert's solution is:

On Computer A, in Network and Dialup Settings, at Advanced > Optional Networking Components, select "Other Network File and Print Services" [the Details button will show that "Print Services for Unix" is checked}. Then the Next button will install the "TCP/IP Print Server." (Although it will be started, it will be Manual rather than Automatic, so Lammert suggests going to "Administrative Tools, Services" and changing it to Automatic.)

On Computer B, Lammert's directions are a bit less detailed. So I installed a new Local Printer, unchecked plug and play, Added a "Standard TCP/IP" port (as he explicitly says, although I could have added an LPR port), typed in computer A's address (\\ComputerA\) and the the printer's share name (HPDJ). At one point I was asked for a network card, and (since nothing else matched) I selected the default Generic network card. I then finished the Wizard.

Then, on Computer B I tried a Print Test Page. Nothing happened on computer A (as far as I know), and Computer A's printer did not print anything. After waiting a bit, I got a failure message on computer B.

One possibility for the failure is that I am confused about what to do on Computer A, and what to do on Computer B. Maybe everything that Lammert describes (and that I have summarized in my Computer A and Computer B paragraphs above) should be done on only one of the two computers --- with something that is "obvious" to everyone other than me done on the other computer?

Another possibility is that some special permissions (e.g. on the printer, and/or on C:\WinNT\System32\Spool, possibly with some "traverse" permissions set on WinNT and System32) need to be set.

Another possibility may be that the LAN needs to itself use the TCP/IP protocol? Mine uses NetBEUI.

And since I really do not understand what I am doing here, there may be many other reasons for the failure.

I would very much appreciate any comments or suggestions that anyone may have.

Thank you.

Roger Folsom

P.S. BACKGROUND: In my case, Computers A and B are Dell and IBM laptops, each using Win2k Sp4 Rollup1. The printer is an HP Deskjet 1200C (with no jetdirect card).

Captaffy tried using a guest account on computer A, but he could not figure out "how to get it to automatically reconnect when computer B starts."

I have several Win2k books and all say that the Guest account should remain disabled because it is very dangerous (Why? Does the Everyone group include it?) --- and none of them say how a Guest account works or how to use it, much less how to change either Permissions or Rights to make it less dangerous or even innocuous (as I think it could be if it somehow were limited to printer sharing).

So I have ruled out using the Guest account, and also the Guest group, for two reasons: a) fear, and b) total ignorance of how it works or how to use it.

And Lammert's approach sounds like it would fit my situation perfectly, if I could make it work despite my network being NetBEUI.

[edited by: bill at 1:36 am (utc) on Jan. 25, 2006]
[edit reason] fixed link to thread [/edit]

lammert

9:20 am on Jan 25, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



rnfolsom, first of all welcome to WebmasterWorld!

On Computer B, Lammert's directions are a bit less detailed. So I installed a new Local Printer, unchecked plug and play, Added a "Standard TCP/IP" port (as he explicitly says, although I could have added an LPR port), typed in computer A's address (\\ComputerA\) and the the printer's share name (HPDJ). At one point I was asked for a network card, and (since nothing else matched) I selected the default Generic network card. I then finished the Wizard.

I think this is where the problem resides. The type of port you have to create is an LPR Port. This is a little bit confusing, because on the other side you have to enable the "TCP/IP" printing service. But in fact the printer will try to communicate over the LPR/LPD protocol.

The dialog box for the LPR Port needs two entries. The first one is the name of the computer which is the name as the computer can be recognized on a low level. This is the name without the slashes, so probably something like "computera". Try to ping this name from Computer B. If the ping succeeds, you are safe. In that case the LPR/LPD protocol will also find Computer A. If the ping fails, either add manually the name and IP address of computer A to the hosts file of computer B (in \windows\system32\drivers\etc) or use the fixed IP address of computer A in the LPR dialog box instead.

The second entry is the share name of the printer. "hpdj" is a good choice. The LPR/LPD protocol is not too happy with sharenames with many characters, spaces etc. so limiting it to a maximum of 8 characters is a wise thing.

Now the connection should work. Please post here if it succeeds, maybe I overlooked a small thing here or there.

rnfolsom

3:00 am on Jan 26, 2006 (gmt 0)

10+ Year Member



Lammert:

Thank you very much for your reply.

With much embarrassment, I have realized that my initial message here omitted a crucial piece of information: On my workgroup (peer-to-peer) network, Computers A and B are connected through a Linksys BEFSR41 Etherfast Cable/DSL router.

And the Linksys router uses DHCP to attach new "dynamic" addresses to Computers A and B (and also C, but it is a W98se computer that is not involved in this issue) when they connect each morning. All computers, and also the Linksys, are turned off at night.

I have found that I can use one computer to ping the Linksys and also to ping another computer --- using their likely numeric addresses, either 192.168.1 or .2 or .3 or .4 or .5).

However, I have not been able to ping a computer name, using the command "ping Dell_C800" (without the quotes). So I removed the underscore, but I still could not ping it. More generally, none of the three computers can ping the name of any other computer, with one exception: Win2k Computer B can ping the name of W98se Computer C (whose name includes an underscore), even though Win2k Computer A cannot do so. I have no idea why.

All computer names easily satisfy the limit of 15 characters or less, and have no spaces.

I haven't yet tried using numeric addresses for Computer C, either in the printer installation or in the hosts file, because the computer addresses are dynamic. (Admittedly, I think the Linksys could make them permanent, but I don't want to start messing with permanent addresses unless I have to do so).

Before running those ping tests, I did install another printer on Computer B, including an LPR port (again using Computer A's HP Deskjet 1200C). But the Print Test, as usual, failed.

My installation had one ambiguity: An SNMP status check box was to be selected if the printer supports RFC1759. I left it unchecked, because my HP 1200C printer documentation doesn't mention RFC1759, and the printer goes back to 1993 or earlier, and the internet mentions RFC1759 development in 1995, and some software that uses RFC1759 said that the HP Deskjet 1200c had only "limited" support for RFC1759.

It's possible that security software (NOD32 AV, SpySweeper, CounterSpy) is causing the problem --- but why it would block Computer A but not Computer B from pinging the W98se Computer C (which has only Norton AntiVirus because it's a backup machine and usually not turned on).

In any case, I turned the security software off and pinging a computer name (with the same single exception between computers B and C) still did not work. Of course, one of those programs could have changed something that blocks pinging computer names --- but even outbound pinging (computer A cannot ping W98se computer C, although Computer B can do so).

I'd be interested in any comments you may have. Then if there is no other solution, I will either give up or move to permanent numeric addresses.

Could MAC addresses somehow be used instead?

Thanks for the help!

With appreciation, Roger Folsom

rnfolsom

7:13 am on Jan 26, 2006 (gmt 0)

10+ Year Member



P.S. to Lammert:

My immediately preceding message refers to "one ambiguity" during my installation of the LPR port on Computer B. But there was another one:

I was asked for the LPR Print Queue name. Since I didn't know what that name would be, I simply invented the name "LPR-LPD."

I've since seen a book reference (about Windows computers printing to a Unix based printer, not your "trick") that suggests that the print queue name could be the printer name. But it doesn't make clear whether that would be the printer's share name, or the printer's "real" name.

Thanks again for the help.

Roger Folsom

The book is Robert Cowart and Brian Knittel, Using Microsoft Windows 2000 Professional, Que, c2000, pages 772-773 and 908-909.

lammert

9:26 am on Jan 26, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



The LPR/LPD protocol is a low level protocol and I am almost convinced that if a regular ping doesn't work, the print protocol will also fail. I have done some digging in FreeBSD manuals and these mention that the LPR/LPD only works if the print server has a static IP address assigned to it. The same will probably apply to the protocol used on Windows boxes.

I've since seen a book reference (about Windows computers printing to a Unix based printer, not your "trick") that suggests that the print queue name could be the printer name. But it doesn't make clear whether that would be the printer's share name, or the printer's "real" name.

Maybe I wasn't clear enough, but yes, the LPR queue name is the name of the printer as it is known at the print server side. This is the share name on the remote computer. I would advice to use a share name without spaces, fancy characters etc. because they might not be recognized by the LPR/LPD protocol.

rnfolsom

5:43 pm on Jan 26, 2006 (gmt 0)

10+ Year Member



Lammert:

I'm now beginning to understand the concept underlying your method for letting computer B use a printer connected to computer A --- without the computer B user having an account on computer A, and therefore without the computer B user having to logon to computer A.

You've combined Win2k's ability to let a Win2k computer print to a Unix printer (that's the setup on computer B), together with Win2k's ability to receive a print job from a Unix computer (that's the setup on computer A).

Your latest answers to my questions should do it.

This weekend, I will switch to fixed addresses, and then try again.

Thank you very much.

Roger Folsom

sun818

5:18 pm on Jan 27, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



> with something that is "obvious" to everyone
> other than me done on the other computer?

Firewall often seems to be a culprint. I prefer making printers independent by attaching them a print server instead of a desktop.

rnfolsom

12:00 am on Jan 28, 2006 (gmt 0)

10+ Year Member



Sun818

Thank you very much for your response.

Firewall often seems to be a culprint. I prefer making printers independent by attaching them a print server instead of a desktop.

To make sure that my Firewall wasn't the issue, I went back to a partition C: image (on two computers) that predated having any firewall. I still couldn't ping computer names across Lammert's clever "Unix" printing network. So I have concluded that the issue is dynamic versus fixed [static is a synonym, I think] numeric addresses.

Question: I assume that a print server would receive printing input via the network (in particular via a Category 5 cable). Correct? And in any case, wouldn't its printer side also use a Category 5 cable?

My 1993 HP Deskjet 1200C accepts only a parallel cable. (This 1993 era printer is ancient but gives me great text quality output for my purposes, and it works with my ancient 1984 Victor 9000 MS-Dos computer that has some software --- the PS Technical WordProcessor --- that I still use for some purposes.)

I could retrofit the HP Deskjet 1200C with a JetDirect card, but I would have to find one, and then learn how to set it up: the 1200C documentation was awful, even though I have three different manuals for it.

Finally, if possible, I really want Computer B to use Computer A's printer (the HPDJ 1200C) without needing a computer B account on Computer A, and therefore without needing a network logon of B to A. (Recall that my network is a workgroup, peer-to-peer; no domain type client-server network anywhere in sight.) And if I understand Lammert correctly, his "Unix printing" trick should let me do that.

Thanks again.

Roger Folsom

lammert

12:21 am on Jan 28, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I could retrofit the HP Deskjet 1200C with a JetDirect card...

This is not necessary. At the company where I used this trick some years ago we had about 15 printers--both laser and inket--connected with parallel cables to normal desktops. The other computers in the network were connected with these desktops with an ethernet network with cat5 cables and the were all able to print to these printers without logging on. We even had one printer routed through a proxy server and over an ISDN network to an office in another country and we could print to that printer without problems from any computer in our office without logging on to the remote network.

Finally, if possible, I really want Computer B to use Computer A's printer (the HPDJ 1200C) without needing a computer B account on Computer A, and therefore without needing a network logon of B to A. (Recall that my network is a workgroup, peer-to-peer; no domain type client-server network anywhere in sight.) And if I understand Lammert correctly, his "Unix printing" trick should let me do that.

Yes, it is possible. During this thread I received an email from another WebmasterWorld reader who tried this trick in his peer-to-peer network and he succeeded.