CUPS problem - "waiting for localhost"

Problems and successes with specific brands/models of printers
Message
Author
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#31 Post by rcrsn51 »

@neurino:
I was messing around with the Debian installer for another printer driver and ended up in exactly your situation. I eventually discovered that the installer had changed permissions on a bunch of other folders and that was causing the

Code: Select all

/usr/lib/cups/cgi-bin/admin.cgi: Permission denied
Check the following folders.

/usr
/usr/local
/usr/share
/usr/share/doc

Each one should have root:root ownership and 755 permissions.

For any one that's wrong, run

Code: Select all

chown root:root xxx
chmod 755 xxx

User avatar
neurino
Posts: 362
Joined: Thu 15 Oct 2009, 13:08

#32 Post by neurino »

I installed Google Chrome from a deb package...

Like also mikeb suggested me I found this differences between original puppy sfs and current savefile:

Code: Select all

# ls -l /initrd/pup_ro2/etc/cups/
total 19
-rw-r--r-- 1 root root   1077 2010-09-13 21:47 command.types
-rw-r----- 1 root root   1218 2010-01-14 00:50 cupsd.conf
-rw-r----- 1 root      7 2470 2010-09-13 12:41 cupsd.conf.default
drwxr-xr-x 2 root root      3 2010-09-20 17:21 interfaces
-rw-r--r-- 1 root root   4543 2010-09-13 12:41 mime.convs
-rw-r--r-- 1 root root   6298 2010-09-13 12:41 mime.types
drwxr-xr-x 2 root root     35 2007-09-23 00:28 ppd
-rw-r----- 1 root root    405 2009-11-19 10:03 printers.conf
-rw-r--r-- 1 root root    946 2009-11-19 10:03 pstoraster.convs
-rw-r----- 1 root nobody  186 2010-09-13 12:41 snmp.conf
drwxr-xr-x 2 root root      3 2010-09-20 17:21 ssl
# ls -l /etc/cups/
total 40
-rw-r----- 1 root nobody 1247 2011-01-11 22:12 cupsd.conf
-rw-r----- 1 root      7 2470 2010-09-13 12:41 cupsd.conf.default
drwxr-xr-x 2 root root   4096 2009-07-20 02:08 interfaces
-rw-r--r-- 1 root root   4543 2010-09-13 12:41 mime.convs
-rw-r--r-- 1 root root   6298 2010-09-13 12:41 mime.types
drwxr-xr-x 2 root nobody 4096 2009-07-20 02:08 ppd
-rw-r----- 1 root root    186 2010-09-13 12:41 snmp.conf
drwx------ 2 root nobody 4096 2009-07-20 02:08 ssl
but no matter I can restore ownership and permissions things does not change and after every reboot I get ownerships and permission restored like above!

I used

Code: Select all

find / -type d ! -perm 755
to find out possible anomalies but just these 2 are cups-related:

Code: Select all

/etc/cups/ssl
/etc/cups-old/ssl
others are about themes, python etc...[/b]

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#33 Post by rcrsn51 »

The root:nobody ownerships are fine. CUPS wants them that way. Did you also check the folders I listed above?

User avatar
neurino
Posts: 362
Joined: Thu 15 Oct 2009, 13:08

#34 Post by neurino »

rcrsn51 wrote:The root:nobody ownerships are fine. CUPS wants them that way. Did you also check the folders I listed above?
Yes... all right... no changes :(

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#35 Post by rcrsn51 »

Where did you get the Google Chrome package?

User avatar
neurino
Posts: 362
Joined: Thu 15 Oct 2009, 13:08

#36 Post by neurino »

Mmh.. I think to remember here

And if I recall right I installed the deb and once I saw it was working I removed it and installed a pet I made joining the deb contents and necessary libs (from GrumphyWolfe see post)

So now my pet is installed but at least once I run the deb package.

I didn't know deb packages could make changes to my folders... :( :roll:

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#37 Post by rcrsn51 »

I can confirm that installing the Chrome deb will kill CUPS. It's not the content of the deb itself - it's how Puppy's dpkg-deb installer utility installs it.

However, it does not appear to be a permissions problem like I saw above with the printer driver. And I can't see anything that has changed so I can fix it. Simply deleting the contents of the Chrome install doesn't help and there are no processes running that affect CUPS.

BTW, the same thing happens with certain older Open Office packages. I'm curious as to whether this also happens with a full install of Puppy.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#38 Post by rcrsn51 »

Update:

1. The Chrome deb also kills CUPS in a full install.

2. Installing CUPS 1.4.x in Wary also fails.

3. Installing the Chrome deb in Lupu also kills CUPS.

4. However, this failure does not happen with all debs.

5. The CUPS daemon appears to be running OK at the command line. The problem is specific to the web interface at localhost:631

6. There are other reports on the web of "permission denied" with "admin.cgi", but they were fixable by correcting ownership and/or permissions of various folders.

I have found no way of recovering from this problem other than a new pupsave. It's a mystery.

User avatar
neurino
Posts: 362
Joined: Thu 15 Oct 2009, 13:08

#39 Post by neurino »

I rather guess it's something in the deb package:

I'm writing now from a fresh pupsave file from a chrome tab and in the tab aside there's CUPS working, also added my printer with your Samsung pet (trimmed) and printed a sample page succesfully!

I looked into the pet I made with deb contents and, after creating a separate NLS pet, I removed only a cron script to check for apt updates (not very useful in Puppy).

So just installing this pet does not kill CUPS...

Now... if I could not throw my perfectly tuned savefile I'd be grateful... otherwise I'll start over with a new one... :roll:

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#40 Post by rcrsn51 »

So just installing this pet does not kill CUPS...
Agreed. If you manually extract the deb to a temporary location and make PET out of it, everything works fine. But if you let dpkg-deb extract it directly into the main file system, something subtle changes.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#41 Post by rcrsn51 »

Here is another chapter in this saga. During Lupu development, someone complained that their CUPS had died like yours. We eventually tracked it down to an old Open Office sfs, even though there were no apparent ownership or permission problems coming from it.

So I unpacked the sfs and discovered that the /usr folder inside had 700 permissions, which made it unreadable by an unprivileged user. This has the effect of blocking the temporary unprivileged CUPS user from running the CUPS web interface.

I changed the privileges to 755 and repacked the sfs. That version worked properly with CUPS.

I still don't know how CUPS is seeing these incorrect privileges. However, it appears that installing an unknown DEB into a working Puppy environment is a dangerous thing. This may explain why other community members complain about CUPS mysteriously quitting on them.

User avatar
neurino
Posts: 362
Joined: Thu 15 Oct 2009, 13:08

#42 Post by neurino »

I checked all my (3: devx, gimp, my python sfs) mounted sfs's permissions in /initd and found nothing wrong...

There's still something we don't know deb packages do when installed beside changing folder permissions...

What about a deb2pet tool?

I'm just waiting for a fast way to install a bunch of pets (about 20) "all in one" before I switch to a new savefile and get rid of this behavior... :roll:

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#43 Post by jpeps »

rcrsn51 wrote:

I changed the privileges to 755 and repacked the sfs. That version worked properly with CUPS.

I still don't know how CUPS is seeing these incorrect privileges. However, it appears that installing an unknown DEB into a working Puppy environment is a dangerous thing. This may explain why other community members complain about CUPS mysteriously quitting on them.
Interesting about the privileges. IMHO, CUPS is the weakest link in linux; almost anything breaks it. Anything that touches or affects a /var can break it, for example. Most recently, I found simple remasters (eliminating nothing below /usr) broke CUPS, while everything else worked. Reinstalling the printer didn't help. I'm thinking a new pupsave is the key, as CUPS needs a very specific setup that can't be altered.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#44 Post by rcrsn51 »

The thing to understand about CUPS is that it is designed to work in a multi-user environment where security is important. It really doesn't like to work in an all-root situation like Puppy, so it employs temporary users such as root:nobody. You can see this in play if you look at the ownership of the folder /var/run/cups.

If you do a remaster where these root:nobody folders become owned by root:root, then CUPS will fail. You need to delete them all and let the CUPS daemon rebuild them.

By comparison, the old CUPS 1.1.x didn't care as much about security issues, so it would happily run in an all-root Puppy. It was only when Puppy upgraded to CUPS 1.3 and 1.4 that these problems started occurring.

There isn't anything fundamentally "weak" or "broken" about CUPS. But if you want to use it in Puppy, you have to recognize the way it works.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#45 Post by jpeps »

rcrsn51 wrote:The thing to understand about CUPS is that it is designed to work in a multi-user environment where security is important. It really doesn't like to work in an all-root situation like Puppy, so it employs temporary users such as root:nobody. You can see this in play if you look at the ownership of the folder /var/run/cups.

If you do a remaster where these root:nobody folders become owned by root:root, then CUPS will fail. You need to delete them all and let the CUPS daemon rebuild them.

By comparison, the old CUPS 1.1.x didn't care as much about security issues, so it would happily run in an all-root Puppy. It was only when Puppy upgraded to CUPS 1.3 and 1.4 that these problems started occurring.

There isn't anything fundamentally "weak" or "broken" about CUPS. But if you want to use it in Puppy, you have to recognize the way it works.
Thanks for pointing this out. I just noticed that cups changes /var/run/cups/cert from root:root to nobody:lpadmin.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#46 Post by jpeps »

rcrsn51 wrote:
There isn't anything fundamentally "weak" or "broken" about CUPS. But if you want to use it in Puppy, you have to recognize the way it works.
I think there's a few more issues going on then permissions in getting cups to work. I never did find a way to get a remaster working with cups, although everything else works. All files look fine, everything is there. No errors, cups doesn't recognize the print job. Tried with and without a pupsave, installing the printer from scratch (which seems to install okay). Print a test file, nothing, no jobs listed*. USB printer is correctly listed as "online", and works okay with original distro.

*EDIT: or "job completed" but no printout; or filter errors for geany.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#47 Post by rcrsn51 »

I thought that I would play around with this issue some more. I took the lupu_520.sfs and manually unsquashed it. I then installed the HP printer driver package into the unsquashed file system, along with the files to represent an installed printer. I then resquashed it, leaving all the /var folders empty, like they are in the original sfs.

I then used the new sfs in a fresh Lupu frugal install with no pupsave. The HP printer was recognized and worked properly.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#48 Post by jpeps »

Yeah..no problem at all for my networked HP940c either; in fact I can print with my old pupsave. My USB connected HP laserjet Pll02w is a different matter: Here's the listing in cups:

P1102w Foomatic/foo2zjs-z2 (recommended) Idle - "Printer is now online."

Print a test page, and no jobs show even show up. I remastered by simply removing homebank from lupu_520.sfs and resquashing; didn't touch any /var or /etc files.

EDIT: using "lp -d HP_LaserJet_Professional_P1102w" I can get an error:
"/usr/lib/cups/filter/foomatic-rip failed"

Must be driver specific. Strange it works fine on the original distro..Have no idea why the remaster breaks it, though.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#49 Post by rcrsn51 »

P1102w Foomatic/foo2zjs-z2 (recommended)
Is this one of the printers that requires the hot-plug firmware download? I wonder if it's not working.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#50 Post by jpeps »

rcrsn51 wrote:
P1102w Foomatic/foo2zjs-z2 (recommended)
Is this one of the printers that requires the hot-plug firmware download? I wonder if it's not working.
Yes, foo2zjs includes it.

Post Reply