Visit Jeremy's Blog.
Go Back > Forums > Linux Forums > Linux - Hardware
User Name
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?


  Search this Thread
Old 09-09-2003, 01:47 PM   #1
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34

Rep: Reputation: 15
Cannot print to Linux printer from Windows 2k

Hi all,

Here is my system information:

Distribution on Linux machine: RedHat 7.1
Windows version: Windows 2000 Professional
Printer: Epson Stylus Color 850
Samba: 2.0.7-36
LPRng: 3.7.4-22
PPD: stc800ih[1].upp.ppd

My printcap

:filter_options= --lprng $Z /project/epsonppd/stc800ih[1].upp.ppd:

I got both the foomatic-rip script and the stc800ih[1].upp.ppd file from and this setting works well when I print from my Linux machine. However, when I print to it from a Windows 2000 machine through Samba, my printer will not print. I know that the print job has been sent to my Linux box since I could see it with the "lpq" command. However, when I entered the "lpq" command again, it showed that the print job was removed.

I tried to set up the printer with the print-gui program of RedHat and use its built in "stc800ih.upp" driver. Using this setting, I can print to the Linux printer from my Windows 2000 machien through Samba, so I think that my smb.conf file should be ok.

Have I done anything wrong? Does anybody have a clue? I appreciate any kind of pointer as I've been dealing with the problem for 2 days already, thanks!

Old 09-09-2003, 04:54 PM   #2
Registered: May 2003
Distribution: Slack Puppy Debian DSL--at the moment.
Posts: 341

Rep: Reputation: 30
You didn't mention whether you changed the settings in W2K to reflect a Linux/Unix printer share or to reflect a print server.

My router has an old fashioned print server built into it. (lp) So I had to set up the spooler and everything on the W2K(and later, XP) If you did those things, then it is sending printer commands (over ethernet) and you will be buggered up.

Well, I can't say that for sure. Unfortunately, I am one of those who need the machine in front of me to work on it. But if you set up spoolers and such on Windows 2K or XP (again ethernet) then your linux will keep waiting for the rest of the document and time out.

In linux (or any O.S.): a daemon listens for the the printer to send a "ready"; then it sends commands to the printer--waiting for a "Acknowledge" or "Retransmit" for each command--from the spool file. At the end of the print-job it sends an "End Of File" type of command.

A print server, a printer share, and a network printer are set up differently.

A shared printer accepts the print job as _a_set_of_documents_, the actual drivers and print spooler reside on the machine connected to the printer. The computer offering the printer share listens for a specific protocol on a specific port, requests identification (password etc.), accepts the formatted documents (Word, PDF, Whatever), translates them into a printer control language (Postscript or the other ones), and spools them. If it is busy or not accepting documents your computer will spool _the_ documents_ until the other machine accepts them.

[What you did was duplicate the print server built into my router. I never thought of doing it precisely that way. Interesting. ]

Last edited by Eqwatz; 09-11-2003 at 03:30 PM.
Old 09-10-2003, 10:30 AM   #3
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34

Original Poster
Rep: Reputation: 15
Hi Eqwatz

The way I set up the printer in W2K is by going to "My Network Places" and double-click on the printer share icon in my Linux Samba server. The printer is set up as a share in the smb.conf file:

comment = Epson Stylus Color 850
path = /tmp
browseable = yes
writable = no
public = yes
printable = yes

I think that my spooler resides on the Linux machine, which is LPRng. Someone told me that I should set up a "raw print queue" in my Linux box in order to let a W2K machine print to it. Do you know what it is and how I can set one up? Thanks!
Old 09-11-2003, 10:40 AM   #4
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34

Original Poster
Rep: Reputation: 15
Problem solved!

I got my problem solved. I figure out that I don't need to have any Linux driver to make my W2K machine print to the Linux printer. I only need to set up a "raw print queue", which is a queue that transfer the data it receives AS IS to the printer. A raw print queue in printcap looks like


After one configures a raw print queue on the Linux machine and advertises it through Samba, a Windows user will have to set up the printer through "My Network Places" with the Windows driver for the Linux printer. The Windows driver will convert all the print job into the printer's native protocol and send it to the Linux box. The Linux box just acts as a "middle man" to hand over the data. So, effectively, it's like the printer is connected directly to the parallel port of the W2K machine.

One has to note that he cannot print to the raw print queue from the Linux box. In order to do so, he'll actually need a Linux driver for the printer. Hope that this helps anyone who has the same problem as mine.
Old 09-12-2003, 12:37 PM   #5
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34

Original Poster
Rep: Reputation: 15
Doing the same thing w/ CUPS

I just upgraded my Linux to RedHat Linux 9.0 and it uses CUPS instead of LPRng as the spooler. To set up a raw print queue with CUPS, one only need to type

lpadmin -p rawprint -v parallel:/dev/lp0 -E

at a shell prompt. "rawprint" is the name of the print queue. I forgot to include "parallel" in the command and it didn't work, so be sure to include the appropriate type and device name for the -v option.

Hope that it can help anyone who's the same issue as mine
Old 09-16-2003, 10:29 PM   #6
Registered: Sep 2003
Location: Ames, IA
Distribution: Fedora Core 3
Posts: 92

Rep: Reputation: 15

i tried what you said there (w/ redhat 9)

the command i did was:

lpadmin -p rawprint -v usb:/dev/usb/lp0 -E

the printer showed up on the windows comptuers, but it still said access denied cannot connect.

I'm wondering if the usb part is right, the device part is right i'm sure of, don't know if you still read this thread, but if you do and you have an idea that would be great, thanks


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Unable to print to a Windows SMB printer from Linux jomy Linux - Networking 3 02-22-2005 07:47 AM
Printer Won't Print From Windows eggoz Linux - Networking 0 12-01-2004 10:47 PM
How do I Print using a Windows Printer 1kyle Linux - Networking 3 07-21-2004 03:28 PM
How do I print to a Windows printer in redhat 8.0 sgroy45 Linux - General 1 01-08-2003 04:10 PM
Can't print to Windows printer from Linux RedHat 7.2 LinuxJuanaBe Linux - Newbie 10 05-05-2002 10:47 PM > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 06:39 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration