LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Can't print to shared printer after suspend to ram (https://www.linuxquestions.org/questions/linux-software-2/cant-print-to-shared-printer-after-suspend-to-ram-736125/)

adrianmariano 06-27-2009 09:14 PM

Can't print to shared printer after suspend to ram
 
I have a machine with CUPS 1.3.10-2 installed that acts as a print server. It seems that a recent upgrade on the server (of CUPS?) has created a situation where I can print to the shared printer from the client machine just after rebooting the client. But if I suspend the client to RAM (/usr/sbin/s2ram) then printing doesn't work at all after I wake it up.

I upgraded the client to the same CUPS version. When I print after suspending I get the following in /var/log/cups/error_log:

Code:

E [27/Jun/2009:21:46:35 -0400] [Job 145] recoverable: Unable to connect to printer; will retry in 30 seconds...
This is repeated a lot and the jobs remain in the queue as shown by "lpq" when run on the client. The cupsd.conf on the client is the default on installed by debian, which I list below.

I restarted cups after switching LogLevel to "debug" and got the following messages about failure to connect to printers:

Code:

D [27/Jun/2009:22:02:55 -0400] process_browse_data: photo@alpaca.local not found...
D [27/Jun/2009:22:02:56 -0400] process_browse_data: photo4x6@alpaca.local not found...
D [27/Jun/2009:22:02:58 -0400] process_browse_data: lp300@alpaca.local not found...
D [27/Jun/2009:22:02:59 -0400] [Job 145] Connection error: No such file or directory
E [27/Jun/2009:22:02:59 -0400] [Job 145] recoverable: Unable to connect to printer; will retry in 30 seconds...
D [27/Jun/2009:22:02:59 -0400] Discarding unused printer-state-changed event...
D [27/Jun/2009:22:02:59 -0400] Discarding unused job-progress event...
D [27/Jun/2009:22:03:05 -0400] process_browse_data: lp300@alpaca.local not found...
D [27/Jun/2009:22:03:05 -0400] Discarding unused printer-deleted event...
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-stopped event...
W [27/Jun/2009:22:03:05 -0400] [Job 145] Printer/class lp300 has gone away; canceling job!
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-completed event...
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-completed event...
W [27/Jun/2009:22:03:05 -0400] [Job 146] Printer/class lp300 has gone away; canceling job!
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-completed event...
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-completed event...
W [27/Jun/2009:22:03:05 -0400] [Job 147] Printer/class lp300 has gone away; canceling job!
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-completed event...
D [27/Jun/2009:22:03:05 -0400] Discarding unused job-completed event...
E [27/Jun/2009:22:03:05 -0400] PID 4294 (/usr/lib/cups/backend/ipp) stopped with status 1!
D [27/Jun/2009:22:03:05 -0400] process_browse_data: lp600@alpaca.local not found...
D [27/Jun/2009:22:03:05 -0400] Discarding unused printer-deleted event...
D [27/Jun/2009:22:03:05 -0400] process_browse_data: photo@alpaca.local not found...
D [27/Jun/2009:22:03:05 -0400] Discarding unused printer-deleted event...
D [27/Jun/2009:22:03:05 -0400] process_browse_data: photo4x6@alpaca.local not found...
D [27/Jun/2009:22:03:05 -0400] Discarding unused printer-deleted event...
D [27/Jun/2009:22:03:07 -0400] process_browse_data: lp300@alpaca.local not found...
D [27/Jun/2009:22:03:07 -0400] Added remote printer "lp300"...
D [27/Jun/2009:22:03:07 -0400] Discarding unused printer-added event...
D [27/Jun/2009:22:03:08 -0400] process_browse_data: lp600@alpaca.local not found...
D [27/Jun/2009:22:03:08 -0400] Added remote printer "lp600"...
D [27/Jun/2009:22:03:08 -0400] Discarding unused printer-added event...
D [27/Jun/2009:22:03:09 -0400] process_browse_data: photo@alpaca.local not found...
D [27/Jun/2009:22:03:09 -0400] Added remote printer "photo"...
D [27/Jun/2009:22:03:09 -0400] Discarding unused printer-added event...
D [27/Jun/2009:22:03:10 -0400] process_browse_data: photo4x6@alpaca.local not found...
D [27/Jun/2009:22:03:10 -0400] Added remote printer "photo4x6"...
D [27/Jun/2009:22:03:10 -0400] Discarding unused printer-added event...
D [27/Jun/2009:22:03:38 -0400] process_browse_data: lp300@alpaca.local not found...

These "process_browse_data: <printer> not found" messages continue to repeat. I tried printing with debug on and saw this on the client (and no messages on the server):

Code:

D [27/Jun/2009:22:12:06 -0400] [Job 148] Connection error: No such file or directory
E [27/Jun/2009:22:12:06 -0400] [Job 148] recoverable: Unable to connect to printer; will retry in 30 seconds...

Can anybody tell me what could be going on or how I might fix this?


This is the cupsd.conf from the client:
Code:

LogLevel warning

# Administrator user group...
SystemGroup lpadmin


# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Restrict access to the server...
<Location />
  Order allow,deny
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Encryption Required
  Order allow,deny
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

# Set the default printer/job policies...
<Policy default>
  # Job-related operations must be done by the owner or an administrator...
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  # All administration operations require an administrator to authenticate...
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # All printer operations require a printer operator to authenticate...
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # Only the owner or an administrator can cancel or authenticate a job...
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  <Limit All>
    Order deny,allow
  </Limit>
</Policy>


This is the cupsd.conf from the server:

Code:

LogLevel debug
SystemGroup lpadmin
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
# Enable printer sharing and shared printers.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL
DefaultAuthType Basic
<Location />
  # Allow shared printing...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin>
  Encryption Required
  Order allow,deny
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>
<Policy default>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>


arckane 06-29-2009 07:41 AM

By the sounds of it, the hardware isn't coming fully out of suspend. I'm wondering whether you could try kicking UDEV and then CUPS and see if that helps. Just restart the services.

let us know.

adrianmariano 06-29-2009 03:57 PM

Quote:

Originally Posted by arckane (Post 3589964)
By the sounds of it, the hardware isn't coming fully out of suspend. I'm wondering whether you could try kicking UDEV and then CUPS and see if that helps. Just restart the services.

let us know.

Tried restarting udev and cups. This had no effect.

On the client isn't it the case that the only hardware interface I'm using is the network connection? (And the internet connection works just fine after suspend. I haven't found anything else that is broken after suspend.) I'm not suspending the server, just the client.

adrianmariano 06-30-2009 09:14 PM

I restarted some stuff in /etc/init and discovered that restarting avahi-daemon restores my print service.

Any idea why this would be?

Is there a way to automatically restart this daemon after coming out of suspend?


All times are GMT -5. The time now is 10:16 PM.