[Solved - of sorts] CUPS printing problems

David G. Miller dave at davenjudy.org
Thu Apr 20 14:30:19 UTC 2006


Jeff Vian <jvian10 at charter.net> wrote:

> On Thu, 2006-04-20 at 08:17 -0500, Jeff Vian wrote:
>
>>> On Thu, 2006-04-20 at 08:03 +0100, Paul Howarth wrote:
>>    
>>
>>>> > On Wed, 2006-04-19 at 20:52 -0500, Jeff Vian wrote:
>>>      
>>>
>>>>> > > I have recently added an FC5 system to my home network.
>>>>> > > I already have an FC4 server that has all my printers connected and I
>>>>> > > want to not have to move them.  I want to have all machines on my local
>>>>> > > LAN able to print to this server.
>>>>> > > Note: I am not running samba since I have no windows systems to deal
>>>>> > > with.
>>>>> > > 
>>>>> > > Printing from the local machine works, so it seems this is related to
>>>>> > > enabling 
>>>>> > > 
>>>>> > > I have gone to the CUPS documentation and it seems that I should be able
>>>>> > > to add a simple "Listen IP:port" in the cupsd.conf file and it should
>>>>> > > work.
>>>>> > > Whenever I try adding this option in the conf file then restarting cups
>>>>> > > it fails with "child exited with error 98!", as if the syntax was wrong.
>>>>> > > I cannot see the error, and what I have is like the example given in
>>>>> > > the .conf file but it just fails.
>>>>> > > 
>>>>> > > Without the Listen option, the access_log shows me that the printing
>>>>> > > attempt from the remote system fails with a 403 error.
>>>>> > > 
>>>>> > > Any pointers to the obviously simple fix for my blind eyes? 
>>>>        
>>>>
>>>> > 
>>>> > Make sure there's no uncommented "Port" option in the file.
>>>> > 
>>>> > What I have on my printer server is:
>>>> > 
>>>> > Browsing On
>>>> > BrowseProtocols cups
>>>> > BrowseOrder Deny,Allow
>>>> > BrowseAllow from @LOCAL
>>>> > BrowseAddress 255.255.255.255
>>>> > Listen *:631
>>>> > 
>>>> > The other linux boxes on my network auto-discover my printer with this
>>>> > config on the server.
>>>> > 
>>>> > Paul.
>>>> > 
>>>      
>>>
>>> I see this at the end of my cupsd.conf file
>>> 
>>> <Location /printers/stylus-photo-r300--1>
>>> Order Deny,Allow
>>> Deny From All
>>> Allow From 127.0.0.1
>>> AuthType None
>>> </Location>
>>    
>>
>
>In each of the location stanzas of the type above I added another 
>"Allow From x.x.x.x" line with the IP of the remote workstation.
>Now when I restarted cupsd I can print from the remote workstation.
>
>This is at best a work-around and I need to find out why it cannot be
>configured this way using the cups interface (or file a bug because it
>cannot).
>
>  
>
>>> Browsing On
>>> BrowseProtocols cups
>>> BrowseOrder Deny,Allow
>>> BrowseAllow from @LOCAL
>>> BrowseAddress 255.255.255.255
>>> Listen *:631
>>> 
>>> Similar <Location> stanzas for *some* of the printers I have defined,
>>> but not all.
>>> It seems it has all the lines you suggested Paul, but the location
>>> blocks likely prevent the connection.
>>> 
>>> My questions now become this:
>>> 1. Why does it only show some of the defined printers?
>>> All were defined using the cups interface. The ones listed in cupsd.conf
>>> and those not listed there all work from the local print server.
>>> 
>>> 2.  This area is clearly marked with a line that says 
>>> # Lines below are automatically generated - DO NOT EDIT
>>> What happens if I do edit that part of the file, then maybe change or
>>> add printers after editing it?
>>> 
>>> 
>>> I would think that the use of the cups interface to define printers
>>> would be standard, but it was not.  I also cannot find in any of
>>> the /admin pages a way to turn on sharing so it seems this would have to
>>> be edited in order to enable sharing.
>>> 
>>> I guess the admin of cups is a bit obscure on how to do things other
>>> than printing on the localhost.
>>> 
>>> I will try a couple of other things and see what the result is.
>>> 
>>> Thanks for the pointers.
>>> 
>>> Jeff
>>> 
>>    
>>
The following was generated using the cups configuration tool.  It 
allows printing from any system on my local network (192.168.0.0/16) as 
well as the print server.  I'm guessing you would need to find somebody 
who really understands CUPS to explain the need for the multiple layers 
(/printers/SamsungML-1210, /printers/Samsung, /, /printers/lp0) but it 
works.  The only manual configuration required was to diddle with 
/etc/cups/mime.convs and /etc/cups/mime.types so that Windoze boxes on 
the network can print.

...
[Boilerplate cups.conf file]
...
#
# End of "$Id: cupsd.conf.in,v 1.8 2002/12/13 16:23:54 mike Exp $".
#
<Location /printers/SamsungML-1210>
Order Deny,Allow
Deny From All
Allow From 192.168.0.0/16
AuthType None
</Location>
<Location /printers/Samsung>
Order Deny,Allow
Deny From All
Allow From 192.168.0.0/16
AuthType None
</Location>
<Location />
Order Deny,Allow
Deny From All
Allow From 192.168.0.0/16
</Location>
# Lines below are automatically generated - DO NOT EDIT
<Location /printers/lp0>
Order Deny,Allow
Deny From All
Allow From 192.168.0.0/16
AuthType None
Allow from All
</Location>
Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
BrowseAddress 255.255.255.255
Listen *:631





More information about the users mailing list