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? |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
09-09-2003, 01:47 PM
|
#1
|
Member
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34
Rep:
|
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
epson:\
:sh:\
:ml=0:\
:mx=0:\
:sd=/var/spool/lpd/epson:\
:lp=/dev/lp0:\
:if=/usr/bin/foomatic-rip:\
: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 linuxprinting.org 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!
Alex
|
|
|
09-09-2003, 04:54 PM
|
#2
|
Member
Registered: May 2003
Distribution: Slack Puppy Debian DSL--at the moment.
Posts: 341
Rep:
|
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.
|
|
|
09-10-2003, 10:30 AM
|
#3
|
Member
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34
Original Poster
Rep:
|
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:
[epson]
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!
|
|
|
09-11-2003, 10:40 AM
|
#4
|
Member
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34
Original Poster
Rep:
|
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
rawprint:\
:sh:\
:ml=0:\
:mx=0:\
:sd=/var/spool/lpd/rawprint:\
:lp=/dev/lp0:
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. 
|
|
|
09-12-2003, 12:37 PM
|
#5
|
Member
Registered: Jun 2003
Location: LA
Distribution: RedHat Linux 7.1
Posts: 34
Original Poster
Rep:
|
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 
|
|
|
09-16-2003, 10:29 PM
|
#6
|
Member
Registered: Sep 2003
Location: Ames, IA
Distribution: Fedora Core 3
Posts: 92
Rep:
|
paranoia,
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
|
|
|
All times are GMT -5. The time now is 11:49 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|