maps
January 12th, 2004, 17:38
Hello all!

I have a new problem that I bet you all are dying to answer: How to print to a Windows shared printer from FreeBSD?

And no, I will not accept an answer that tells be to put FreeBSD on the other machine! :twisted:

I have reviewed all the documentation I could find (FreeBSD Handbook, Samba, etc.) and BBSs and still have no luck. I tried with lpr, I tried using cupsd, etc., etc., etc.

I am probably missing something small and if one of you can steer me in the right direction, I would appriciate it!

Thank you in advance,

Maps

Kernel_Killer
January 12th, 2004, 18:34
Setup UNIX Printing on the Windows system, and on the FreeBSD system setup CUPS to print to that shared printer via port 515.

For setting up CUPS go to localhost:631 in a browser.

maps
January 12th, 2004, 22:41
Thanx for the response!

[quote="Kernel_Killer"]Setup UNIX Printing on the Windows system, and on the FreeBSD system setup CUPS to print to that shared printer via port 515.

I set up lpd on the Windows box but I am having trouble adding a printer in CUPS. Based on your comment, I tried adding the following:

Name: EPSONLPR
Location: smb://archon:515/EPSONLPR
Comment: EPSON

The above entry (and every other entry combination too) gives the same error:

Request Entity Too Large

The request is too large for this server to process.

Any further suggestions?

Thanx,

Maps

Kernel_Killer
January 12th, 2004, 22:51
It seems that it is making it. Did the test page work? You might try lowering the resolution settings to see if it gets anywhere. BTW, what Epson model is it, and do you know how much memory is available?

maps
January 14th, 2004, 01:28
It seems that it is making it. Did the test page work? You might try lowering the resolution settings to see if it gets anywhere. BTW, what Epson model is it, and do you know how much memory is available?

Unfortunately, the test page did not work...

I did find this on the net and I am little farther:

"create the /var/spool/cups folder
make sure to create the /var/spool/cups/tmp folder as well..
make sure the lp and sys users have write access"

Now I can get to configure the printer. But when it is to save the settings, I get this new error:

"client-error-not-authorized" :cry:

My printer is an Epson Stylus CX3200.

Does anyone have any ideas to correct the new error?

Thanx,

Maps

socomm
January 14th, 2004, 11:22
Check your directory permissions. I mucked around with cups a few months back and this errors usually arise from wrong directory permissions or missing directories. Also make sure that you are doing all this printer modifications as admin/root read more about this stuff here (http://www.cups.org/ipp.html). And some more stuff here (http://linuxprinting.org/show_printer.cgi?recnum=Epson-Stylus_CX3200).

Best of luck.

maps
January 18th, 2004, 17:14
Check your directory permissions. I mucked around with cups a few months back and this errors usually arise from wrong directory permissions or missing directories. Also make sure that you are doing all this printer modifications as admin/root read more about this stuff here (http://www.cups.org/ipp.html). And some more stuff here (http://linuxprinting.org/show_printer.cgi?recnum=Epson-Stylus_CX3200).

Best of luck.

Well, I did finally figured it out. And yes, it was mostly due to permissions and missing directories.

Now, I believe, that most people solve their problems and forget (now they have everything working) to post what they did. So I am posting what I had to do to get cups working with kde and hopefully save people a lot of time.

First, share the printer on the Windows machine. See http://ca.samba.org/samba/docs/using_samba/ch10.html for instructions.

Install (using ports) samba, cups and foomatic. How to do this is explained in the Handbook.

Set up samba using: http://ca.samba.org/samba/docs/using_samba/toc.html

Make the following link:

ln -s /usr/local/bin/smbspool /usr/local/libexec/cups/backed/smb

Send a HUP to the cups daemon (killall -HUP cupsd) or just start cups with "cupsd" if it was not started before. Type: lpinfo -v and you should see output that includes a line that says network smb.

Now, I do not know if this is applicable to cups printing, but, I was trying to print using lpr instead and I found that the command line uses a different lpr than KDE. Therefore, I linked the 2 files. Unfortunatley, I forgot which one was linked to which one.

Add the following directories for cups (if they do not exsist):

/usr/local/etc/cups/certs
/usr/local/etc/cups/ppd
/var/log/cups
/var/spool/cups

For cups, make all files and directories owned by root and group daemon. Allow root and group to have read, write and execute permissions. This can be done (logged in as root) in Konqueror by right-clicking on the file, selecting properties and selecting the permissions tab. Ensure all subdirectories and files of the following directories have the mentioned permissions:

/usr/local/etc/cups/
/var/log/cups
/var/spool/cups
/usr/local/share/cups
/var/log/cups
/var/spool/cups
/etc/cups

Open up your favourite web browser and type http://localhost:631 and add a new printer. This printer will be a smb (samba) printer and the location will be smb://<user of windows machine>:<password of user>@<windows machine>/<shared printer name>. Hopefully, your printer model will be listed. If not, you might have to find your printer in one of the subdirectories of /usr/local/share/cups/model/ and extract it into /usr/local/share/cups/model.

If all is well, the printer is set up. If it is not well or I missed something and all I can offer you is a method to troubleshoot the problem.

1. Change the line "LogLevel info" to "LogLevel debug" in /usr/local/etc/cups/cupsd.conf.
2. Reproduce the error.
3. Check /var/log/cups/error_log and see what is possibly causing the error.

I hope this helps.

Maps

maps
January 18th, 2004, 17:22
Oh, I forgot. Type in the following command to run cupsd everytime you boot:

cp /usr/local/etc/rc.d/cups.sh.sample /usr/local/etc/rc.d/cups.sh


Maps