Having a printserver based on cups which is able to handle a printer which is not powered all the time (only on demand). The printer is the Samsung ML-1610 with the free splix ppd instead of the ppd file from the install cd.
NOTE(2007-Jan): Our splix ebuild is now in portage so this page is obsolete
According to the splix homepage this printers seem to be supported (or not):
Xerox Phaser 6100 Works Samsung CLP-300 Non-working Samsung CLP-500 Works Samsung CLP-510 Works Samsung CLP-600 Untested Samsung ML-1510 Works Samsung ML-1520 Works Samsung ML-1610 Works Samsung ML-1710 Works Samsung ML-1740 Works Samsung ML-1750 Works Samsung ML-2010 Works Samsung ML-2150 Untested Samsung ML-2250 Works Samsung ML-2550 Untested
Today we (Jakob & I) decided to create ebuilds and after a while ... here you are! Have fun. You can download them here:
More up to date ebuilds can be found here until they are available on gentoo-sunrise:
We tested this ebuilds with:
not having gentoo
Problem, now old problem...
I've tried cups 1.1.23-r8 which is gentoo stable but it didn't work because there I had to restart the cupsd process every time when the printer was powered. So I decided for cups 1.2.3 which has this kind of "hotplugging". There the job is processed but if no printer is attached it'll wait for 30 seconds and then tries again.
So what software did I use, which drivers:
the cups ddk 1.0 and 1.0.1 error I got while make
routeFix cupsddk-1.0.1 # make for dir in espmsg cups ppdc data examples man po; do \ (cd $dir ; make ) || exit 1;\ done make: Entering directory `/root/cups-ddk/cupsddk-1.0.1/espmsg' make: Nothing to be done for `all'. make: Leaving directory `/root/cups-ddk/cupsddk-1.0.1/espmsg' make: Entering directory `/root/cups-ddk/cupsddk-1.0.1/cups' gcc -Wall -Wwrite-strings -O -fno-exceptions -fno-rtti -o cupsprofile cupsprofile.o -lcups -L/usr/lib -lgnutls -lgcrypt -lgpg-error -lz -lpthread -lm -lcrypt -lm -lsupc++ cupsprofile.o: In function `main': cupsprofile.c:(.text+0xfc): undefined reference to `cups_strlcat' cupsprofile.c:(.text+0x10b): undefined reference to `cups_strlcat' cupsprofile.c:(.text+0x130): undefined reference to `cups_strlcat' cupsprofile.c:(.text+0x145): undefined reference to `cups_strlcat' cupsprofile.c:(.text+0x173): undefined reference to `cups_strlcat' cupsprofile.o:cupsprofile.c:(.text+0x194): more undefined references to `cups_strlcat' follow cupsprofile.o: In function `main': cupsprofile.c:(.text+0x22b): undefined reference to `cups_strlcpy' collect2: ld returned 1 exit status make: *** [cupsprofile] Error 1 make: Leaving directory `/root/cups-ddk/cupsddk-1.0.1/cups' make: *** [all] Error 1
My cups useflags:
routeFix cups # emerge -pv cups These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] net-print/cups-1.2.3 USE="X jpeg nls pam png ppds slp ssl -dbus -php -samba -tiff" 0 kB Total size of downloads: 0 kB
My cupsd.conf extension:
# I've added this important line: Listen 192.168.100.100:631 # And I had to change the <Location /> <Location /> Order allow,deny Allow localhost Allow 192.168.100.111 # this line was added </Location>
I tried to use the cups configuration dialog but ...:
After I clicked "change settings" my /etc/cups/cupsd.conf file was deleted (but there is a backup called cupsd.conf.O). I don't know what caused that problem but it's working now and I have different things to do. However you can configure /etc/cups/cupsd.conf as documented in the cups documentation which is quite good. This way you don't need this setting to be applied via the web interface setting dialog.