Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 01 Jul 2015, 13:12
All times are UTC - 4
 Forum index » Advanced Topics » Hardware » Printers
Common UNIX Printing System (CUPS) v1.3.11
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 5 Posts_count   Goto page: 1, 2, 3, 4, 5 Next
Author Message

Joined: 15 Jan 2009
Posts: 734

PostPosted: Sun 22 Mar 2009, 12:50    Post_subject:  Common UNIX Printing System (CUPS) v1.3.11
Sub_title: Support for NOP413 and Puppy 4.2.1 / 4.1.x / 3.01

--- Common Unix Printing System (CUPS) ---

----- The purpose of this thread is to provide specific printing support for NOP413 -----
---------- and general support for standard Puppy 4.x ----------

First and foremost, I'd like to stress that CUPS is not the only suspect
when you cannot perform the seemingly simple task of printing. To print
in Linux, you need to get ALL inter-related components to work together.
The Linux printing system can be broken down into various sub-systems.
Amongst them are the spooler, the printer driver, the printer firmware
and the document filters. If one of these doesn't work, the whole thing fails.

As of today, CUPS have become the defacto spooler system on most
Linux distro. CUPS can be considered as the central printing system that
glues together all the rest of the print sub-system. Unfortunately for
CUPS, since it is at the center of printing attention, any problems or
faults with external components are being diagnosed as CUPS faults
by the casual users.

I'd like to point out that its not CUPS that's a mess. It's the Linux Printing
System that is in a "mess". Depending on who you are, Linux printing can
either be called "Modular - Freedom of Choice" or "Disjointed - Hell of a
Choice". I wished that printing in Linux is at the very least to be like
(the more than 13 years old) windows 95 where it works as long as I
have a compatible printer driver.

Initially for me, it was mind boggling as how to get the various Linux
printing components to work in unity. The solution presented here is the
result of the various components that I've looked into so far.

1. CUPS software version 1.3.11 : status = working for Puppy
-This pet package is intended to be installed onto Puppy 4.1.x and
above but should also work on Puppy 3.01/4.0 (YMMV) ++
- It makes minor modifications to existing udev rules to allocate /dev
nodes to lpt and usb printers in a consistent manner (applicable only
to Puppy 4.1.2 and below which requires it)
- CUPS printer drivers are limited but they are known to work
right out-of-the-box

Update April 6, 2009:
- CUPS 1.3.9 pet have been tested to work on Puppy 3.01 - Puppy 4.20
- Puppy 2.17 specific CUPS 1.3.9 is now available

Update April 24, 2009:
- CUPS 1.3.10 stable pet is quietly available for the "wanderers"
- Currently in (slow) progress of making test runs with several
puppy versions.

Update Sept 10, 2009:
- CUPS 1.3.11 stable pet is quietly available for the "wanderers".
- Puppy 2.17 specific cups-1.3.9 withdrawn

2. GUTENPRINT version 5.x : status = working for Puppy
- This pet package is provided by ttuuxxx and were tested to work right
out-of-the-box which is a bonus

3. HPLIP version 3.9.x : status = working for Puppy
- Note: To consolidate the efforts of all who are involved with CUPS
printing subsystem (directly/indirectly), I am leveraging on the
capability of lluamco as the current packager for hplip/lite packages
to provide up-to-date pet packages whenever there's a need for it.
- Kindly take a look at hplip/lite pet packages and the supporting
libraries offered by lluamco here

4. PNM2PPA 1.12 : status = working for Puppy
- Reported to be working by rcrsn51 (thank you)
- Archived file provided by rcrsn51
- Requires the patched foomatic-rip script

5. SPLIX 2.0.0 : status = working for Puppy
- Reported to be working by Zyxmon (thank you)
- Available as standalone binaries or with Samsung color profiles.

6. FOO2ZJS : status = working for Puppy
- The latest package was built from 22 Sep 2009 update release
with built-in support for "hp-firmware-hotplug" mechanism.

7. The list of printer drivers that is currently known to work with latest
CUPS (v1.3.9 - 1.4.0 ) on Puppy 4.1 / 4.2 / 4.3 / NOP413 :

a. CUPS provided drivers
b. Gutenprint drivers
c. Hplip drivers
d. Splix drivers
e. Pnm2ppa
f. Foo2zjs
g. Canon CAPT & CNIJ
h. Minolta PPro 12/13/14xxW

There's probably several other issues that may still prevent printing
to work on your system. Let me know what works and what breaks. This
will help to eventually make printing on Puppy a straightforward process.

This thread is not meant to be a printing helpdesk and I do not have
the resources to find out if a particular printer model driver works
or breaks. However, I'll try to assist puppy users with what I can.

When reporting issues related to CUPS, please provide some
specific details. If you intend to post cups error log, please make it
into an attachment (zip/tgz).

"Still trekking the path towards hassle-free printing on Puppy Linux but we'll get there ... "


Back to top
View user's profile Send_private_message 

Joined: 15 Jan 2009
Posts: 734

PostPosted: Sun 22 Mar 2009, 12:53    Post_subject:  

Cups and Related Software

1. CUPS 1.3.11 stable release
[download modular pet]
CUPS version 1.3.11 pet package intended for Puppy 4.x.
Initial test runs done on NOP413, Puppy 412, Puppy 421 & Puppy 430
Should work on Puppy 3.01 onwards

This pet has a specially designed installer that provides a
modular install from a single pet. See sample screenshot:

(note: dbus & ldap support requires dbus + ldap libraries.)

2. CUPS 1.3.10 stable release
[download modular pet]
CUPS version 1.3.10 pet package intended for Puppy 4.1.x.
Initial test runs done on Puppy 4.1.x & NOP413
Have been tested to work on Puppy 3.01 upto Puppy 4.20
Default package in Puppy 4.21

3. CUPS 1.3.9 stable release
[download full pet]
CUPS version 1.3.9 pet package intended for Puppy 4.1.x.
Have been tested to work on Puppy 3.01 upto Puppy 4.20

4. Gutenprint 5.2.3
Gutenprint ppd driver set, packaged by ttuuxxx
[Supported printers list]

5. HPLIP 3.9.2 featherlight full pet (for NOP413/Puppy 4.1) [archived]
Contains hplip executable binary, patched script and dynamic+static ppd
drivers required for printing. Only printing and scanning modules are
included. Fax, network and toolbox support is not included. Requires no
other dependencies on a standard Puppy 4.1.x

6. HPLIP 3.9.2 featherweight base pet (Puppy 4.2) [archived]
Contains only the executable binary + dynamic ppd required for foomatic.
Supports only printer and scanner. For Puppy 4.2.x with foomatic v4.

Withdrawn for rebuilding
- HPLIP 3.9.2 featherlight base pet
- HPLIP 3.9.2 PPD drivers pet
- HPLIP 3.9.2 featherweight PPD pet (Puppy 4.2)
Note: I'll only be looking into packaging hpijs portion drivers from now
on. Anyone requiring hplip drivers are advised to look at lluamco's
hplip/lite packages here.

7. PNM2PPA driver archive
Contains printer driver for HP PPA printers
HP710/720/800 Series/1000 Series
Archive file is compiled and provided by rcrsn51

8. Splix 2.0.0 (english) driver pet [Printer List]
Contains Splix binaries and ppds (english)
For certain Samsung, Dell & Xerox printers

9. Splix 2.0.0 locale fr, pt ppd pet
Contains Splix locale fr, pt ppd set for use with
the above Splix driver pet.

10. Splix 2.0.0 (english) driver pet with Samsung color profile
Contains Splix binaries and ppds (english)
For certain Samsung, Dell & Xerox printers
Includes Samsung printers color profile (5MB!)
(Note: Provided for your convenience.)

11. Foomatic-rip-hplip patched script pet
foomatic-rip-hplip v3.x on Puppy 4.1.2
For your convenience should you be using lluamco's hplip.

12. Foomatic-rip patched script pet
foomatic-rip v3.x on Puppy 4.1.2
For your convenience should you be using foomatic with pnm2ppa/foozjs

13. foo2xxx_r220909-0.0 (zjs/xqx/slx/oak/hp/xxx) package (11MB) (Printer List)
Contains full foo2xxx package (Sep 2009) with hplj-firmware-autoloading.
This preliminary driver package have been verified to be working
by x_XP on hp-1020 (thank you).
(Note: Provided for your convenience)

Description  splix 2.0.0 driver for samsung, dell, xerox (english)

Filename  splix-samsung-en-2.0.0-i486.pet 
Filesize  58.11 KB 
Downloaded  1342 Time(s) 
Description  splix locale fr, pt ppd

Filename  splix-ppd-locale-fr-pt-2.0.0-i486.pet 
Filesize  23.43 KB 
Downloaded  824 Time(s) 
Description  updated to include gswrapper script

Filename  foo-rip-3.0.pet 
Filesize  53.37 KB 
Downloaded  1040 Time(s) 

Filename  foo-hplip-3.0.pet 
Filesize  54.65 KB 
Downloaded  1244 Time(s) 

Back to top
View user's profile Send_private_message 

Joined: 15 Jan 2009
Posts: 734

PostPosted: Sun 22 Mar 2009, 12:54    Post_subject:  

Q & A

Q1. How do I start using CUPS + Gutenprint ?
A1. You can install them in no particular order in sequence. Perform a
reboot only once before configuring your printer.

The Gutenprint pet once installed will have the english ppd ready for use.
Point your browser to http://localhost:631 and you'll find them listed upon
configuring your printer. If you need locale ppd then you'll need to start
the CUPS printer wizard and click yes when prompted "Do you want to
add a new printer".

Q2. How do I start using CUPS + HPlip ?
A2. You can install them in no particular order in sequence. Perform a
reboot only once before configuring your printer.

Point your browser to http://localhost:631 and configure your printer.
It is normal to see your printer listed twice when adding a new printer.
Select the one listed as hplip backend when configuring with hplip drivers.
Select the one listed as direct usb/lpt when configuring with other drivers.

Q3. Do I need to install CUPS v1.3.9 on NOP413 ?
A3. No. NOP413 already have CUPS v1.3.9 installed as a standard issue.

Q4. What's with you and NOP413 ?
A4. Gray took a huge leap of faith by installing CUPS v1.3.9 on NOP413.
I was surprised by his move as I'm totally unaware of it. I took one look
at NOP413 and was immediately impressed with what he has done. He
must have taken a great deal of effort to assemble them all in. NOP413
is in a class of its own pup ...

I felt compelled to help ensure that NOP413 will be remembered for its
good taste and not marred by pesky printing issues. So, here we are ...

Q5. Why did you make the cups-1.3.9 pet ?
A5. Basically, I needed cups to work with latest samba server. The samba
software in standard Puppy distribution is described as samba client.
The samba (3.0.26) server pet itself was a relatively new version at the
time and DOES NOT WORK with cups-1.1.23 that came with Puppy. Apart
from that I also needed some newer functionality from cups.

Q6. Why don't you make a CUPS 1.4 beta pet ?
A6. I did made a cups 1.4 beta2 pet. However, after looking at the
sources, I'm in the opinion that it is not in a fully completed state yet.
Most of the locale files have yet to be included and I'm still wondering
about the usb backend.

I'd prefer to use stable versions for daily production use and have the
beta versions for testing purposes. Once CUPS 1.4 have reached stable
status, I'll re-evaluate it once again ...

Q7. Why do we need to reboot after installing cups 1.3.9 pet ?
A7. The basic reason for this is that in cases where cups and usb printers
have been configured, the /dev/lp related nodes have already been
allocated to the usb printers. This also means that the related modules
are already loaded into the kernel. I've yet to find a way to unload the
modules without causing a wreck. Anyway, since it was configured to
/dev/lp, the new udev rules are now pointing to /dev/usb/lp thus may
cause some printing grief. So, we might as well play safe and reboot.

(But if no printer is attached or active then its a safe bet to just
restart udevd again. Refer to Q13 below on how to do this.)

The new udev rules will consistently allocate /dev/usb/lp# to usb printers
and /dev/lp# to lpt printers. This allows usb and lpt printers to be used
simultaneously. Without the udev rules, you can only use either usb or
lpt printers at any one time.

Q8. How many printers can be attached simultaneously ?
A8. The new udev rules allocates a maximum of 16 usb printers and 4 lpt
printers. This is in accordance to the limit set in a standard kernel
compile. If you needed more printer ports allocation then you need to
recompile the kernel. If you know how to configure the kernel compile
then you should also know how to configure the udev rules if the need arise.

Q9. How did you get CUPS 1.3.9 to work ?
A9. I've spent nearly a month poking around with cups source codes,
testing binaries, tracing stuffs, dev nodes checking, permissions checking,
etc, etc ... I'm lame with C and its never my idea of having fun going
through thousand lines of codes.

However, the necessity of getting cups + samba to work made me
persevere and upon having understood how it basically works, I made
a pet ...

The basic ingredient to getting cups to work on Puppy:

1. Ensure the required /dev nodes are acessible to the world. This is due
to root owning all resources. Cups will run its backend as non-root and if
the /dev nodes are not world accessible, you'll get the cups 'lp0
permission denied errors' since cups backends cannot access them.

2. Cups backends can be thought as the printer port interface handler. It
is the sub-system that send/receive data to your printer. We may
selectively enable some or all backends to run as root. This is documented
by CUPS. Since Puppy is running as root then everything else also need to
run as root. Running backends as root also improves printer detection
reliability on Puppy in my tests.

Q10. Can't we just run CUPS as root ?
A10. Yes and No. Yes, the CUPS daemon will run as root but external
processes will not. If one forces CUPS to run as root, external processes
(backends, drivers, filters) will be executed as user nobody. The only
exception are the CUPS backends. According to CUPS documentation, the
backend will run as root if their permission is tagged only for the owner.
This is the ONLY exception that I've seen so far. This is currently
employed in CUPS-1.3.9 pet ...

Q11. Why do I still get foomatic-rip errors ?
A11. Good question Dave ... As the error message implies, the problem
now lies within the foomatic-rip script. Should anyone cares to check,
foomatic versions prior to 4.0 were written in perl. Perl has this security
mode that checks for tainted data. This tainted checking mode also checks
among other things, user-id and group-id. Whenever they're different
from what perl is expecting, tainted mode is enforced whether we want to
or not.

Since CUPS no longer runs external process as root, the perl script will be
run as non-root and at times with mismatched user/group. This causes
perl to terminate whenever the script themselves starts forking their own
processes as perl sees them as 'being tainted'.

So, to get them running without being terminated, I made the script run
with unsafe mode turned on. This is only applicable to foomatic script
written in perl. Newer foomatic versions has been rewritten in C and
should no longer have this issue.

Q12. Why do I still get foomatic-rip-hplip errors ?
A12. Hplip uses a modified foomatic-rip script. See Q11.

Q13. I've installed Hplip 3.9.2 but it doesn't seem to work ?
A11. Hplip also provides a set of udev rules for printer support. You
should either reboot to enforce the new rules or restart udevd like this:

# killall udevd
# /sbin/udevd --daemon

That should make hplip find the printers properly.

Q14. I've previously installed hpliplite from lluamco's pet and now have
it removed before installing the hplip provided here. Why am I getting
"Unable to open file "/var/spool/cups/d0x-0x" - Permission denied" error ?

A14. Good question Henry ... The uninstallation of hpliplite probably did
not remove the user-id lp that it created previously. This user-id can
cause CUPS 1.3.9 to override spool folder group ownership. The
backend filters will fail if this user-id exist.

(I'll spare you the nitty-gritty internal details why such thing happens.)

To cure this, please open a terminal and do:

# cat /etc/passwd
# cat /etc/group

If lp user and/or group is listed then remove it with:

# deluser lp
# delgroup lp

The last step is to restart cups:

# /etc/init.d/cups restart

Now, you may begin printing.

Q15. How do I install CUPS 1.3.9 on Puppy 3.01 ?
A15. Here's how :

1. Install CUPS 1.3.9 pet. This may take a while.
2. A window popup will ask to reboot. Not required for Puppy 3.01
3. Open a terminal, remove previous cups webadmin pages and start the
new cups daemon:

# rm -rf /usr/share/doc/cups-1.2.11
# /etc/init.d/cups start

4. Start cups printer wizard and configure your printer.

Q16. How do I install CUPS 1.3.9 on Puppy 2.17
A16. Download the puppy 2.17 specific CUPS 1.3.9 and one-click-to-install.
Once it's done, start Cups printer wizard and configure your printer. My
tests are done only with CUPS 1.3.9 and Gutenprint 5.0/5.2.3. Should you
have any issues with this pet, please let me know.
[Additional note: Please be aware that any other additional printer driver
may need to be reworked for Puppy 2.17]

Q17. How to install CUPS 1.3.10 ?
A17. CUPS 1.3.10 pet comes with a modular post-installer. This allows
one to install only the required modules. Users are advised to uninstall
any previous versions of CUPS that was registered with pet manager,
if possible.

This modular installer is designed to work with puppy pet manager.
Users will be able to see later which CUPS modules were installed in
the pet manager. Should the need arise, the uninstallation process can
be done normally using the pet manager itself. However, the routines
have not receive extensive field testing and as such, any bug reports
will be appreciated.

Q18. What's this "Disable web interface password" in
CUPS 1.3.10 installer ?

A18. This option if selected will overwrite cupsd.conf with one that
remove most authentication requirements within the web interface. It
does NOT disable system level authentication requirements. For
example, adding a printer or cancelling a print job no longer requires
a user login/password. Restarting or making changes to CUPS server
configurations still requires a user login/password.


Back to top
View user's profile Send_private_message 

Joined: 16 Nov 2008
Posts: 181

PostPosted: Sun 22 Mar 2009, 13:49    Post_subject: Thanks!!!!  

One of the most impressive efforts that I've seen with incredible documentation!!!!

Here is a link to all the pets and the documentation in one zip file:http://rapidshare.com/files/212245081/Cups_v1.3.9_by_Patriot.zip
Back to top
View user's profile Send_private_message 

Joined: 05 Sep 2006
Posts: 9938
Location: Stratford, Ontario

PostPosted: Sun 22 Mar 2009, 15:32    Post_subject:  

#!/usr/bin/perl -U

Nice work! The printers that use the drivers pnm2ppa and foo2zjs need this fix on both of these files:

Back to top
View user's profile Send_private_message 

Joined: 04 Apr 2007
Posts: 6822
Location: Chatham, Kent, UK

PostPosted: Sun 22 Mar 2009, 15:49    Post_subject:  

Super job, well done, Patriot - a long overdue task for Puppy

& thanks also to techtype for the all-in-one zip, hopefully the rapidshare link will have longevity, as I'm sure this thread will!

Patriot, can you also have a look at those USB printserver network add-ons, such as the Netgear PS121, & D-Link DP-300U & what they need to work on a Puppified setup?

Aitch Smile
Back to top
View user's profile Send_private_message 

Joined: 15 Jan 2009
Posts: 734

PostPosted: Sun 22 Mar 2009, 22:45    Post_subject:  

Hmmm ...

Thanks techtype for making that on-line backup !

Thank you for reporting pnm2ppa/foozjs is working. I have added gswrapper to the foomatic-rip pet.

I'll see if I can get my hands on one.

I will have to return the hp printer (on loan) that I'm using for the hplip tests by the end of this week. Please report any hplip issues before then.

Back to top
View user's profile Send_private_message 

Joined: 03 Nov 2006
Posts: 171
Location: UK

PostPosted: Mon 23 Mar 2009, 01:02    Post_subject: hp710c Printer  

WOW! Thank you patriot.

A great piece of writing explaining such a dificult topic as getting old hp printers to work. and providing the software as well.
Thanks also to rcrsn51 for his software & input also.
Now to get my hp710c printer to work on the 4.2 series I know you only mentioned 4.1.xx and maybe also try on some woof derivitives maybe it`l work.
Back to top
View user's profile Send_private_message 

Joined: 16 Mar 2007
Posts: 207
Location: Banyoles, Spain

PostPosted: Mon 23 Mar 2009, 09:08    Post_subject: Excellent!  

Hi Patriot.
Excellent that you manage to make hplip functional for new puppy versions.
I have not been able to find the reasons why the previous hplip and hpliplite pets refuse to print.
Back to top
View user's profile Send_private_message 

Joined: 23 Mar 2009
Posts: 20

PostPosted: Wed 25 Mar 2009, 22:06    Post_subject: Hp D4260  

I wish I'd found this thread 3 days ago! I had quite a time getting my HP (Deskjet) D4260 to print with Puppy 4.1.2.
When I first ran CUPS, it showed my printer connected to USB1, but nothing would print. Printing the test page caused the lights on the printer buttons to go nuts, so I knew there was at least some communication taking place. The printer just sat there showing "Status: idle, accepting jobs".

Going off of other threads here, I downloaded the following:
tcl-8.5anothread & tk-8.5a4nothread
After a save & a reboot, the test page printed properly. That was almost a little too much for a week-old Linux noobie! Smile

Wait a minute....I'm changing to Linux because I want more control over my PC and want to learn more about 'puters besides just mindlessly clicking buttons to accomplish tasks, lol.
Back to top
View user's profile Send_private_message 

Joined: 09 Oct 2008
Posts: 3726
Location: UK

PostPosted: Thu 26 Mar 2009, 08:39    Post_subject:  

Thanks for this Tour De Force Patriot. I have learned a huge amount from it, and I totally agree with your comments re NOP. I will see if I can install these updates and get printing working better.
Spup Frugal HD and USB
Root forever!
Back to top
View user's profile Send_private_message 

Joined: 05 Nov 2008
Posts: 15
Location: Moscow, Russia

PostPosted: Thu 26 Mar 2009, 13:30    Post_subject:  

Splix 2.0.0 (english) driver pet
.... Requesting status report from testers.

It works in NOP 412 + old CUPS version and in NOP 413 + new CUPS!

Back to top
View user's profile Send_private_message Visit_website 

Joined: 09 Oct 2008
Posts: 3726
Location: UK

PostPosted: Thu 26 Mar 2009, 15:08    Post_subject:  

Brilliant. Now I can print using the correct driver (HP Photosmart C4380) from 4.2 RC4
Spup Frugal HD and USB
Root forever!
Back to top
View user's profile Send_private_message 

Joined: 15 Jan 2009
Posts: 734

PostPosted: Mon 06 Apr 2009, 15:35    Post_subject:  

Hmmm ...

I've finally made some tests on puppy 2.17 and puppy 3.01 :

1. Puppy 3.01 : existing CUPS 1.3.9 works
2. Puppy 2.17 : requires recompiled CUPS 1.3.9

You can find the necessary installation instructions in the Q&A section.

Back to top
View user's profile Send_private_message 

Joined: 15 Jan 2009
Posts: 734

PostPosted: Sun 27 Sep 2009, 19:33    Post_subject:
Sub_title: Canon cnij-common drivers

Hmmm .....

During the recent troubleshooting of plankenstein's canon ip2600, I have encountered a bug in several canon cnij (InkJet) drivers that is preventing them from working in cups 1.3.x and 1.4 ... The backend filter must not have an underscore in them or they will be rejected as an invalid backend interface ...

The affected canon drivers are mostly v2.90 and below ... This seems to have been fixed from canon v3.0 onwards ... If you are affected by the bug, kindly pm me with your model number for verification ...

Currently in the works are bug-fixed and/or puppy specific drivers for canon pixma series (and related printers) :

- ip100, ip2600

- ip1000, ip1500, ip3100
- ip4100, ip8600

- ip1900, ip3600, ip4600
- mp190, mp240, mp540, mp630

I'm currently awaiting initial test results from plankenstein who will be testing the driver set for ip2600 ..... Anyone else who has any of the above printer and willing to give them a test run, please pm me for the download links ...

Back to top
View user's profile Send_private_message 
Display_posts:   Sort by:   
Page 1 of 5 Posts_count   Goto page: 1, 2, 3, 4, 5 Next
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Hardware » Printers
Jump to:  

You cannot attach files in this forum
You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1425s ][ Queries: 13 (0.0051s) ][ GZIP on ]