[vox-tech] Slack 10 print problem solved

Shwaine shwaine at shwaine.com
Mon Nov 29 11:32:32 PST 2004


On Tue, 23 Nov 2004, wild bill wrote:

> Thanks again to all for their time, effort and input.
> Thanks especially to Ken Bloom for persevering with finding
> the ultimate solution.
>
> I don't know why uncommenting the required entries in the
> rc.modprobe file did not work;  but, as Ken suggested, I
> put the modprobe parport_pc and modprobe lp where Slackware
> would find them on startup.  I chose rc.local since it is
> my hack of the problem and it seems to me to be a logical
> choice.
>
> Manually editing the /edit/cups/printers.conf failed to
> produce print output.  And, the parallel port choice still
> does not show in the http://localhost:631/admin Device
> screen.  However, the KDE printer setup was able to do its
> magic and produced the Cups Printer Test Page.
>

I was on vacation, so apologies for the late reply, but it seems to me 
that you did not edit /etc/rc.d/rc.modules properly. I also have a Slack 
10.0 install and had no issues with loading the lp module via that file. 
The section you need should appear as such, starting at line 62:

#### Parallel printer support ###
if cat /proc/ksyms | grep "\[lp\]" 1> /dev/null 2> /dev/null ; then
   echo "lp support built-in, not loading module" > /dev/null
else
   if [ -r /lib/modules/$RELEASE/misc/lp.o \
        -o -r /lib/modules/$RELEASE/misc/lp.o.gz \
        -o -r /lib/modules/$RELEASE/kernel/drivers/char/lp.o \
        -o -r /lib/modules/$RELEASE/kernel/drivers/char/lp.o.gz ]; then
     /sbin/modprobe lp
   fi
fi

Note the line /sbin/modprobe lp. If it is not working on your system, then 
the if statement to fine the module is failing for some reason. RELEASE is 
set to uname -r. I am still using the default kernel and kernel modules 
that came with Slackware and it works fine. The module is found in 
/lib/modules/2.4.26/kernel/drivers/char/lp.o.gz. Are you running a custom 
kernel? If so, did you remember to make modules and make modules-install? 
If you aren't, did you install the kernel modules package? Can you find 
the lp module in one of the above locations substituting the output of 
uname -r for RELEASE?

The above section of rc.modules gets the modules loaded before CUPS loads 
so CUPS sees the parallel port. The rc.local file executes last in the 
rc.M script, so that's probably why CUPS is still not seeing the parallel 
port in your solution. I actually avoid putting any modprobes in rc.local 
for this reason (and for compatability with hotplug). rc.modules is the 
place for modprobes. Plus rc.modules gets called from rc.S, while rc.local 
only gets called from rc.M, which means you'd only get printer support in 
multi-user init mode and would lose it in single user init mode using your 
current solution. Perhaps not vital for the printer, but could be a 
problem with other drivers, so I thought I'd point out the differences 
between the two files.

Shwaine


More information about the vox-tech mailing list