Linux and Printers

edited August 2015 in Software
I'm not frankly sure if this is a software issue or a hardware issue, but I do need some help and or guidance with this. My OS is elementary OS 0.3 Freya (32-bit) which is based upon Ubuntu 14.04, and my printer is a HP Photosmart-2570-series. The problem is that when ever I try to print a multi page document it prints one page and then hangs on the other, the printer seems to be expecting for another page but it never receives it. My computer tells me that printing is in progress but yet I see nothing happening.. So my question: is there a way to fix this problem & is it a driver issue?

Thank you in advance.

Comments

  • Sounds like software issue. You might need to reinstall the CUPs printer server.
  • TCPMeta wrote:
    Sounds like software issue. You might need to reinstall the CUPs printer server.
    And how might I do that?
    I did
    sudo apt-get install cups
    
    and said it was the latest version all ready... I also tried to follow this but I could not find for the life of me the lines to comment out of...
  • You'll need to find the CUPS log, which might be located in /var/log or somewhere similar.
  • I've had good luck with CUPS and HP printers - did you install HPLIP though? That may offer better drivers and support.
  • Yea HPLIP is always a best bet with HP printers.

    sudo apt-get --purge remove cups
    sudo apt-get clean && sudo apt-get autoremove
    sudo apt-get install cups hplip

    Those commands should get things going.
    Also follow this howto to get it fully working right,
    https://help.ubuntu.com/12.04/serverguide/cups.html
  • You don't need to remove CUPS - just install HPLIP, and likely remove the printer in CUPS and add it again, but with an HPLIP driver.
  • TCPMeta wrote:
    Yea HPLIP is always a best bet with HP printers.

    sudo apt-get --purge remove cups
    sudo apt-get clean && sudo apt-get autoremove
    sudo apt-get install cups hplip

    Those commands should get things going.
    Also follow this howto to get it fully working right,
    https://help.ubuntu.com/12.04/serverguide/cups.html
    Thank you, that helped a lot and actually fixed most of it. But now it can't print to the printer. Is there line's in the cups configure file that I'm suppose to comment out?
    ampharos wrote:
    You don't need to remove CUPS - just install HPLIP, and likely remove the printer in CUPS and add it again, but with an HPLIP driver.
    And yes I have HPLIP installed, its updated to the newest version and all the dependencies have been installed as well.
  • Post up your CUPs configuration file and let me take a look see.
  • Here you go:
    #
    #
    # Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
    # complete description of this file.
    #
    
    # Log general information in error_log - change "warn" to "debug"
    # for troubleshooting...
    LogLevel warn
    
    # Deactivate CUPS' internal logrotating, as we provide a better one, especially
    # LogLevel debug2 gets usable now
    MaxLogSize 0
    
    # 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 Off
    BrowseLocalProtocols dnssd
    
    # Default authentication type, when authentication is required...
    DefaultAuthType Basic
    
    # Web interface setting...
    WebInterface Yes
    
    # Restrict access to the server...
    <Location />
      Order allow,deny
    #New lines
      Allow localhost
      Allow 172.20.22
    </Location>
    
    # Restrict access to the admin pages...
    <Location /admin>
      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/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <Limit Create-Job Print-Job Print-URI Validate-Job>
        Order deny,allow
      </Limit>
    
      <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 Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
        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 CUPS-Get-Devices>
        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 Cancel-Jobs 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>
    
    # Set the authenticated printer/job policies...
    <Policy authenticated>
      # Job/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <Limit Create-Job Print-Job Print-URI Validate-Job>
        AuthType Default
        Order deny,allow
      </Limit>
    
      <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 Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
        AuthType Default
        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 Cancel-Jobs 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>
        AuthType Default
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit All>
        Order deny,allow
      </Limit>
    </Policy>
    
    #
    #
    
  • Try this config and also see if there is a user group on the system called cups.
    LogLevel info
    
    # Administrator user group...
    SystemGroup cups
    #SystemGroup wheel
    #SystemGroup root
    
    # Listen for connections on Port 631.
    Port 631
    #Listen localhost:631
    Listen /var/run/cups/cups.sock
    
    # Show shared printers on the local network.
    Browsing Off
    BrowseOrder allow,deny
    #BrowseAllow @LOCAL
    #BrowseAllow 192.168.1.* # change to local LAN settings
    #BrowseAddress 192.168.1.* # change to local LAN settings
    
    # Default authentication type, when authentication is required...
    DefaultAuthType Basic
    DefaultEncryption Never # comment this line to allow encryption
    
    # Allow access to the server from any machine on the LAN
    <Location />
      Order allow,deny
     Allow localhost
     #Allow 192.168.1.* # change to local LAN settings
    </Location>
    
    # Allow access to the admin pages from any machine on the LAN
    <Location /admin>
      #Encryption Required
      Order allow,deny
      Allow localhost
      #Allow 192.168.1.* # change to local LAN settings
    </Location>
    
    # Allow access to configuration files from any machine on the LAN
    <Location /admin/conf>
      AuthType Basic
      Require user @SYSTEM
      Order allow,deny
      Allow localhost
      #Allow 192.168.1.* # change to local LAN settings
    </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 Pause-Printer Resume-Printer Set-Printer-Attributes 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-Add-Printer CUPS-Delete-Printer CUPS-Add-Class \
    CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
        AuthType Basic
        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>
    

    After everything checks out you'll need to access the web interface and make sure to check and see if the printer is added and secure the settings.
  • TCPMeta wrote:
    Try this config and also see if there is a user group on the system called cups.
    After everything checks out you'll need to access the web interface and make sure to check and see if the printer is added and secure the settings.
    I do not see a user group called cups, although when I go into my networks folder I a plain folder called WORKGROUP. With in that is:
    -->Indi (my computer)
    --->print$ (Un-known folder)
    I also can't access the web interface via http://localhost:631/

    I'll try to print again in a little bit and I will post an update on the results...

    Update: When I try to print it tells me that the printing service is not available.
    I also decided to check out the error log and it gave me some interesting results:
    I [19/Aug/2015:13:21:06 -0700] Listening to 0.0.0.0:631 (IPv4)
    I [19/Aug/2015:13:21:06 -0700] Listening to [v1.::]:631 (IPv6)
    I [19/Aug/2015:13:21:06 -0700] Listening to /var/run/cups/cups.sock (Domain)
    E [19/Aug/2015:13:21:06 -0700] Unknown directive BrowseOrder on line 21 of /etc/cups/cupsd.conf.
    E [19/Aug/2015:13:21:06 -0700] Syntax error on line 57.
    I [19/Aug/2015:13:21:36 -0700] Please move "SystemGroup cups" on line 10 of /etc/cups/cupsd.conf to the /etc/cups/cups-files.conf file; this will become an error in a future release.
    I [19/Aug/2015:13:21:36 -0700] Listening to 0.0.0.0:631 (IPv4)
    I [19/Aug/2015:13:21:36 -0700] Listening to [v1.::]:631 (IPv6)
    I [19/Aug/2015:13:21:36 -0700] Listening to /var/run/cups/cups.sock (Domain)
    E [19/Aug/2015:13:21:36 -0700] Unknown directive BrowseOrder on line 21 of /etc/cups/cupsd.conf.
    E [19/Aug/2015:13:21:36 -0700] Syntax error on line 57.
    
  • So I decided to put back the original code in the configuration file, after that I decided to go to the http://localhost:631 and It let me through. So I decided to test if it would print, and as it turned out it did! :D So I guess just re-installing CUPS and updating HPLIP did the trick. So thank you TCPMeta for helping me out on this.
  • No problem. It was a shot in the dark for the config file and thought maybe mine would work but my config file is used with Debian and probably a older version. I'm happy that you got it working.
Sign In or Register to comment.