Printer Problems: Special Causes

Support knowledgebase (jsmeix_print-spezialprobleme)
Applies to

SuSE Linux: All versions

Symptom

You have configured your printer according to the manuals or, if you have SuSE Linux up to 7.3, according to the article "Installing a Printer" or "Installing a Printer Since SuSE Linux 6.4" from our support database, but your printer still does not print or does not print correctly.

Examples and Possible Solutions

  1. Normally, the following variables are set in the configuration file /etc/rc.config as follows:
    START_LOOPBACK="yes"
    START_LPD="yes"
    

    To check that these variables are correctly set, start YaST and go to System Administration -> Change configuration file. Then search for the variables mentioned above and, if necessary, set their values to "yes". The system must be rebooted to apply the changes.

  2. Normally, find the following lines in the file /etc/conf.modules or, since SuSE Linux 6.3, in the file /etc/modules.conf
      alias parport_lowlevel    parport_pc
      options parport_pc io=0x378 irq=none,none
      # If you have multiple parallel ports, specify them this way:
      # options parport_pc io=0x378,0x278  irq=none,none
    

    If not, adjust these lines accordingly. Set "io=0x..." to the IO address of the parallel interface according to the BIOS setting and set, in almost every case, "irq=none" for the polling mode of the printer or the interrupt of the parallel interface according to the BIOS settings. The polling service is generally less problematic than the interrupt mode and is also not slower (except very old computers).

  3. Normally, the process of the printer daemon lpd is started during booting automatically. If ps aux | grep "lpd" | grep -v grep does not give output like root ... /usr/sbin/lpd, stop and start lpd as user root by typing the commands rclpd stop and rclpd start.
  4. If you are able to print using lpr -Plp file, but you cannot print using lpr file, probably the variable PRINTER is not set correctly. echo $PRINTER should output lp. Normally, the variable PRINTER is set to lp in the file /etc/profile. Since SuSE Linux 7.1, it is the file /etc/SuSEconfig/profile in the lines:
    PRINTER='lp'
    export PRINTER
    

    If not, adjust the file accordingly.

  5. Normally, ls -l / | grep tmp outputs
    drwxrwxrwt  ...  root  root  ...  tmp
    

    If there is no directory /tmp, create, as user root, a new directory using mkdir /tmp. If the permissions are not correct, change them as user root using chmod u=rwx,g=rwx,o=rwxt /tmp. The sticky bit (o=...t) should be set, because (except root) only the respective owners should be able to delete their files in /tmp.

  6. If you are able to print only as user root, for example, using lpr file, but other users cannot do this, it is possible that the root partition is almost full. Use df -h to view the available space of the root partition. The root partition is mounted at /. A small part of the root partition is reserved for the user root (in case of an emergency, the user root will still be able to work), but if this small part is the only unoccupied space, regular users cannot create files in the directory /tmp, making printing impossible.
  7. Normally, the line
    # printer  stream  tcp  nowait  root  /usr/sbin/tcpd  /usr/bin/lpd -i
    
    in the file /etc/inetd.conf is deactivated with the hash ("#"). The printer daemon lpd is started directly and not via inetd. Otherwise, trying to start the lpd, /var/log/messages shows the error message lpd[...]: bind: Address already in use.
  8. Normally, the package hardsuse is not installed and therefore /usr/sbin/harden_suse cannot be executed. If you execute /usr/sbin/harden_suse despite the warning messages, normal printing is no longer possible. Users who should print have to be a member of the trusted group (use YaST to add them to this group), but root must use the -s option for printing, as in lpr -s /usr/share/ghostscript/5.50/examples/colorcir.ps, and, after booting, the printer daemon must be started manually (using rclpd start). /etc/undo_harden_suse does not restore the standard settings.

See also:
o Installing a Printer
o Installing a Printer from SuSE Linux 6.4 to 7.3

Keywords: PRINTER, PRINTING, SPECIAL

Categories: Frequently asked Questions , Documentation , Printer

SDB-jsmeix_print-spezialprobleme, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 09. Aug 2000
SuSE Linux AG - Last generated: 15. Oct 2002 by jsmeix (sdb_gen 1.40.0)