Alway use the free software drivers if at all possible. The Lexmark drivers are not updated often enough, and do not integrate well with today's spoolers. Lexmark is supposedly working on this.
For the time being, gimp-print supports the following printers:
The Z45 is not supported by free software or Lexmark. This printer simply won't work.
This is possible, as the ratings only count for free software (“free” in the sense of liberty, www.gnu.org).
Free software has the big advantage that it comes with source code and the user is allowed to change and re-distribute it. So it can be easily used on BSD, Mac OS X, or other operating systems (this site does not only support GNU/Linux, but every Unixish OS), and the user can fix bugs and customize the software. And distributions can include free drivers on their downloadable CDs.
The Lexmark drivers are proprietary. You don't get the source code for them. In addition, they are made for GNU/Linux distributions as one had two or more years ago. Lexmark didn't realize that one uses CUPS and Foomatic nowadays. So it is extremely difficult to use them with modern distros.
In the beginning I have tried to help the users with my “lexmark-foomatic-kit” (which you also used), but Lexmark changed their drivers and published more and more different types of drivers. So I once gave up guessing how all these different Lexmark drivers work and producing non-working code due to lack of having test printers.
With a two years old distro it perhaps even works, as Lexmark didn't realize that on printing under Linux/Unix changed a lot and now CUPS and Foomatic are the standards. A GNU/Linux expert would perhaps make the printer working, too, but when a manufacturer promises GNU/Linux support for a consumer product, it must be possible that a consumer can set it up. Hiring an expert to make this printer running is out of discussion, it would cost at least ten times the price of the printer.
They published drivers which do not integrate well with current distros. In addition the drivers are proprietary, which makes the experts at the distro companies not integrating them (you cannot put non-free software on the downloadable CDs of a distro).
Don't use Internet Explorer for downloading .tar.gz
files, since IE likes to corrupt them. Try wget
.
Also try deleting and reinstalling the program.
If you were using the Lexmark drivers, the stopped working because your new distribution is not using the old “LPD” spooler system. It is probably using CUPS, and the Lexmark drivers do not work with CUPS. If possible, try to use a free software driver.
Many people have succeeded in installing the old “LPD” system instead of CUPS, and have made their printers work again. See below for the various steps involved.
This printer may be able to use the Samsung SmartGDI printer driver.http://www.openprinting.org/download/printing/samsung-gdi/
Yes, it has been reported printing, but very slow.
I think printer E320 and drivers recognises only PCL5.
The Generic PCL 5 printer
in the database onopenprinting.org and set up your print queue based on
that data, or use printconf-gui and choose the HP LaserJet 4 as
your printer model.
If the printer's manual claims that your printer is a PostScript printer, choose printer language auto-detection or PostScript as printer language (sometimes called “Personality”) in the front panel menus. If the printer has no front panel menus, get PUP to change the hardware configuration of the printer.
Another problem can be that when the printer is a PostScript printer and already in auto-detection mode that it does not understand PostScript when the PostScript job is preceeded by a PCL banner. Either do not use banners or use PostScript banners.
GhostScript drivers
Choose “Generic PCL 6/XL Printer” as your printer model. They support 1200 dpi.
This is untested.
Below is a patch against the ljet4
driver when the printer is
“Generic PCL 5/5e Printer”. The basic steps are:
2) From the PPD-O-Matic Select Printer
drop-down chooseGeneric PCL 5/5e Printer
. Click GENERATE PPD FILE
and save the resulting file to a convenient location.
By default the file is named Generic-PCL_5_5e_Printer-ljet4.ppd
.http://www.openprinting.org/show_driver.cgi?driver=ljet4
3) From the bottom of this message put everything AFTER the
//// PATCH BELOW ////
in a file in that same default location. Name the fileGenPCL5-to-LexE320.patch
. Make sure none of the lines in the patch have
been word-wrapped. The first column will ALWAYS be a @ + -
or a space.
Anything else means you got a wordwrap issue and the patch won't work.
4) From your shell, cd to the location of the files and issue the command
patch Generic_PCL_5_5e_Printer-ljet4.ppd GenPCL5-to-LexE320.patch
(the first file is the orignal PPD and the second is the patch in case you changed the names and aren't familiar with patch).
5) Rename this file to LexmarkE320.ppd
6) Move it to /usr/share/cups/models/Lexmark/LexmarkE320.ppd
or your
equivalent cups/models location.
7) Restart your cups server so it finds the new PPD and choose theLexmark → Lexmark E320
from your CUPS config tool of choice.
Sorry this is a little verbose but I want to make sure the causal user can create the file.
gzip -cd lexmarkz35-1.0-1.gz | tar xvf -
5. Use alien to convert their Redhat RPM to a .gz
file.
6. Untar the .gz
file, and place its contents in /usr/local/
.
7. Create the directory /var/spool/lexmark/Z35Driver/
WARNING! This directory is going to hold some rather
large output files. If you are low on space in var,
create this directory in their /usr/local/lexmark tree
and make a symlink to /var/spool/lexmark.
8. Run ./z35install
in the directory you extracted the gz.sh
file to. Ignore the RPM failure. Any other failures are
probably bad news, though. I had to run it twice, and
then it magically worked.
9. Make the following symlinks in /var/spool/lexmark/Z35Driver/
lrwxrwxrwx 1 root root 44 Sep 15 22:03 auckUS.lut -> /usr/local/lexmark/z25-z35/layout/auckUS.lut lrwxrwxrwx 1 root root 39 Sep 15 22:03 colorsV.lut -> /var/spool/lexmark/Z35Driver/auckUS.lut
NOTE: The links may be created automatically, but they will
point to the wrong place. Double check.
Also, make sure it copied the Z35Driver.conf
file into
the spool direcotry.
10. touch /var/spool/lexmark/Z35Driver/lpd.log
11. Check /etc/printcap
, and either change the
:if=/usr/bin/LexmarkZ35:
line to
:if=/usr/local/lexmark/z25-z35/scripts/LexmarkZ35:
or make a symlink.
12. Make sure that you have the following programs:
* enscript
* tetex-bin
* wv
* gs Youll need to make some links and copy some stuff that isn't in the right place. You may need to copy or link usleep to sleep in /bin
.
13. Now you' ll use
/usr/local/lexmark/z25-z35/scripts/LexmarkZ35
“directlly”. convert the doc you want to print and then use this command to print:
cat filetoprint.foo | /usr/local/lexmark/z25-z35/scripts/LexmarkZ35 -
14. You can modiffy the LexmarkZ35 script to make things
more “automatic”. Remember that you need the FIFO
pipes that has the spool-dir, you can use mknod -p …
to create them, look at the install scripts in the
rpm file.
===== Lexmark Z35 =====
==== Why does the driver die, just before printing? ====
Lexmark did a poor job of packaging the driver, and the
installation is broken.
There is a link missing.colorsV.lut
pointing atauckEU.lut
was missing. This can be seen by running the
driver with ltrace
or strace
Check to see
if there are broken links in the last lines of the trace output.
cat image.ppm | ltrace LexmarkZ35 > trace.info
==== How do I print to a file? ====
You can't. The Lexmark drivers do bi-directional communication
with the printers. Files don't to bi-directional I/O.
==== Where can I find a driver? ====
Type z35 Linux in the Find Drivers …
boxhttp://www.lexmark.com/US/support/drivers/index.html
and download CJLZ35LE-1.0-1.TAR.GZ
You will need enscript.
==== Why doesn't Mandrake 9.0 print to the Z35? ====
The Lexmark driver is made for LPD and LPRng. Red Hat 7.3
uses LPRng as default spooler, and Mandrake 9.0 uses CUPS.
You can switch to LPRng by doing urpmi LPRng
on the
command line (as root) and then starting printerdrake
,
clicking Expert Mode
, and then Change printing
system</tt>. Choose LPRng
. Some additional packages will
be installed. Say No
if you are asked to transfer your
Z35. Then re-install the Lexmark driver and you should be able
to print.
==== I'm having a lot of trouble installing the driver? ====
Take a look atLexmark-List
and the next pages also.
==== How do I get the printer working under debian? ====
0. Download the Z35 drivers from the lexmark site. These directions
apply to CJLZ35LE-1.0-1.TAR.GZ
. If you're reading this file from an
archive, it is possible that the tech support guys may have fixed some
of the problems noted, but unlikely.
1. Untar the file. A self-extracting gzip file will fall
out.Don't try to run it. It will
break things. Strip off the bash code till the END_OF_STUB marker, and
then save it as a .gz file.
2. Untar that with gzip -cd lexmarkz35-1.0-1.gz | tar xvf -
3. Use alien to convert their redhat rpm to a .tgz
file. Untar this
file and place its contents in /usr/local
, like they want.
4. Create the directory /var/spool/lexmark/Z35Driver/
WARNING! This directory is going to hold some rather large output
files.. If you are low on space in var, create this directory in their/usr/local/lexmark
tree and make a symlink to /var/spool/lexmark
.
5. Run ./z35install
in the directory you extracted the gz.sh
to. Ignore
the RPM failure. Any other failures are probably bad news, though. I had
to run it twice, and then it magically worked.
6. Make the following symlinks in /var/spool/lexmark/Z35Driver/
lrwxrwxrwx 1 root root 44 Sep 15 22:03 auckUS.lut -> /usr/local/lexmark/z25-z35/layout/auckUS.lut lrwxrwxrwx 1 root root 39 Sep 15 22:03 colorsV.lut -> /var/spool/lexmark/Z35Driver/auckUS.lut
NOTE: It will probably create these, but have them linking to the wrong
place. Double check.
7. Make sure it copied the Z35Driver.conf
file into the spool dir. Also,
touch /var/spool/lexmark/Z35Driver/lpd.log
8. Check /etc/printcap
, and either change the
:if=/usr/bin/LexmarkZ35:\
line to
:if=/usr/local/lexmark/z25-z35/scripts/LexmarkZ35:\
or make a symlink.
9. Apply the patch below to that script.
'' .--- /usr/local/lexmark/z25-z35/scripts/LexmarkZ35.old Sun Apr 28 22:14:39 2002 .+++ /usr/local/lexmark/z25-z35/scripts/LexmarkZ35 Mon Sep 16 00:47:41 2002 .@@ -1,4 +1,10 @@ .-#!/bin/sh .+#!/bin/bash .+ .+PIDOF=�hich pidof +if [ -z "$PIDOF" ] .+then .+ PIDOF=/sbin/pidof .+fi . . PDIR=/usr/local/lexmark/z25-z35 . CONFDIR=$PDIR/bin/lxgetconf VERIFY @@ -76,18 +82,43 @@ . fi ;; . esac . } .+ .+#HACK!!!!! .+#Dumbasses don't know how to create lock files... .+#They managed to create a 577 lock file and then tried open it O_RDONLY .+#Can you believe it? .+umask 002 .+touch /var/spool/lexmark/Z35Driver/Z35Driver.lck .+chmod 660 /var/spool/lexmark/Z35Driver/Z35Driver.lck .+ . if [ "$LXCOPIES" -gt "1" ] . then . COPY_COUNT=0 .+ #factored out of loop.. see below .+ image_conversion $LXTMPFILE "$LXRESOLUTION" "$LXDIMENSION" . while [ "$COPY_COUNT" -lt "$LXCOPIES" ]; . do .- LEXPID=/sbin/pidof -s Z35Driver + #Wow is this stupid... It's completely irrelevant now.. but it's funny .+ #so I left it in. .+ LEXPID=$PIDOF -s Z35Driver if [ "$LEXPID" != "" ] . then . sleep 12 . fi .- $PDIR/Z35Driver $LXBIDIFLAG & .- image_conversion $LXTMPFILE "$LXRESOLUTION" "$LXDIMENSION" .+ .+ # This is a RACE CONDITION! HELLO! Good thing they didn't provide .+ # source to the driver.. can't imagine what that code looks like... .+ #Futhermore, this is horrendously inefficient.. Factored out of loop. .+# $PDIR/Z35Driver $LXBIDIFLAG & .+# image_conversion $LXTMPFILE "$LXRESOLUTION" "$LXDIMENSION" .+ .+ #Originally, I was going to have the image conversion run in the .+ #background, but it occurred to me that on slow machines, .+ #the driver may starve on input from the converter and b0rk... .+ #I wouldn't put anything past these guys. .+ .+ $PDIR/Z35Driver $LXBIDIFLAG .+ . if [ "$?" != "0" ] . then . let COPY_COUNT=100 .@@ -96,20 +127,21 @@ . done . /bin/rm -f $LXTMPFILE . else .- LEXPID=/sbin/pidof -s Z35Driver - if [ "$LEXPID" != "" ] .- then .- sleep 12 .- fi .- $PDIR/Z35Driver $LXBIDIFLAG & .+ #Duh.... I work for Lexmark... My code is 3xtr4 s3kr3t . image_conversion $LXTMPFILE "$LXRESOLUTION" "$LXDIMENSION" .- /bin/rm -f $LXTMPFILE .+ $PDIR/Z35Driver $LXBIDIFLAG .+ /bin/rm -f $LXTMPFILE . fi .-LEXPID=/sbin/pidof -s Z35Driver -while [ "$LEXPID" != "" ] .-do .- usleep 1000 .- LEXPID=/sbin/pidof -s Z35Driver -done .+ .+#clean up after yourselves, for chrissake .+/bin/rm -f ${INPUT_PIPE} .+ .+#not needed .+#LEXPID=$PIDOF -s Z35Driver +#while [ "$LEXPID" != "" ] .+#do .+# usleep 1000 .+# LEXPID=$PIDOF -s Z35Driver +#done . . exit 3''
Some notes for people who have seen previous versions of their drivers:
The script provides essentially the same
functionality as the foomatic lexmarkwrapper did, but it only supports
the Z35. Also, the binary only driver now reads from/var/spool/lexmark/Z35Driver/input_pipe
instead of taking input from
stdin. They also introduced a whole slew of locking issues and race
conditions with this “functionality.” See the patch for details.
===== Lexmark Z42 =====
==== Why do I keep getting out of paper errors? ====
It sounds like
a sensor problem. If that is right you won't be able to print this test
page and you'd better call your support. Maybe they have a trick to fix
it. Or if it is in warranty it will be exchanged.
===== Lexmark Z44 =====
==== Does this printer work with free software? ====
This printer has been reported working with the drv_z42 driver.
===== Lexmark Z45 =====
==== Does this printer work with free software? ====
Generally, no.
It is possible to use the Z42 driver to print small images
(no larger than about 50×50 pixels). There is one report of this
printer working fine with the Z43 driver. Since the Z42 and
Z43 driver are the same backend ghostscript driver. There may
have been changes to the printer specifications at some point.
Please do not buy this printer expecting it to work.
===== Lexmark Z45SE =====
==== What does the SE stand for? ====
Second Edition.
==== What is improved in the second edition? ====
The z45SE has a higher resolution than the Z45:
Z45: 2400/1200
Z45SE: 4800/1200
==== Does it work with Free Software? ====
No.
Lexmark Z51
==== How do I make it work? ====
You may have to remove the /usr/bin/foomatic-gswrapper
script if it produces errors that prevent
the gs-esp output from making it to the printer.
For example, you might seeError: /undefinedfilename in (/dev/fd/0)
in/tmp/cupsomatic.log
file.
==== Where do I get the lx5000 driver? ====
It is included by default inESP GhostScript.
===== Lexmark Z53 =====
==== What drivers work? ====
* GIMP and CUPS
===== Lexmark Z54 =====
==== Which driver do I use? ====
The Z43 driver has been reported working.
===== Lexmark Z55 =====
==== How do I make it work with Debian and GNUlpr? ====
1) Retrieve the drivers for the printer at http://www.lexmark.com
2) Unpack the .tar.gz
file
3) Make sure that you have the following packages installed:alien
,rpm
,enscript
,print spooler
If you are going to interface with the printer through the usb port, make
sure that the usblp and printer modules are either loaded (with modprobe)
or compiled into the kernel. /sbin/lsmod
5) make a script called rpm-fake
in /usr/local/bin
with the following contents:
cp $3 /usr/local/src
6) Make the following changes
chmod ug+x /usr/local/bin/rpm-fake mv /usr/bin/rpm /usr/bin/rpm-real ln -s /usr/local/bin/rpm-fake /usr/bin/rpm mkdir /usr/etc ln -s /sbin/pidof /bin/pidof
RedHat and a few other distros
prefer the /bin
directory to store the pidof
binary, and the driver software isn't smart enough to look in the$PATH
.
11) Run the Lexmark installation script.
12) When the graphical installation program complains about unexpected
output from rpm –force …
quit the program.
13) ln -sf /usr/bin/rpm-real /usr/bin/rpm
14) There will be an rpm
file in /usr/local/src
that is similar to the
name of the downloaded driver file. Run the alien command on it
alien /usr/local/src/driver-name.rpm
15) Now there should be a .deb
file in your current directory.
dpkg -i
16) ln -sf /usr/local/bin/rpm-fake /usr/bin/rpm
17) Run the installation script once more, this time forcing the
installation even though it will inevitably give the same error message.
18) mv -f /usr/bin/rpm-real /usr/bin/rpm
19) You should not need to configure the printing system if you use GNUlpr
or lprng, but with CUPS you may need to.
* The input filter if:
in /etc/printcap
, should be /usr/bin/LexmarkZ55
.
* Specify the printer device as /dev/null
. This is necessary because it is in fact the /usr/bin/LexmarkZ55
program that accesses the port and interacts with the printer, NOT the printing system.
* The spool directory is probably /var/spool/lpd/lexmark
.
* Have one of the printer's aliases be lp
.
Reboot!
==== How do I fix the error libslang.so.1 Failed dependencies
? ====
ln -s /usr/lib/libslang.so /usr/lib/libslang.so.1
==== Why does the new driver cause problems like huge fonts, difficulty feeding the paper correctly? ====
The new version was made for Lexmark Z55se (second edition).
==== How do I fix the line feed problem? ====
Use an earlier version 1.01.
==== What are some things to check for? ====
* Make sure that there is a folder called /var/spool/lexmark/Z55Driver
or /var/spool/lpd/lexmark
If needed, create the folder and give it these permissions – group:root, user:lp, global-readable, user/group writable, global-executable.
* Change the lp=
line to lp=/dev/null
. This could be the main problem. It seems kind of pointless to send output to null, but it keeps the driver software happy.
* Try changing if=/usr/local/lexmark/z55/scripts/LexmarkZ55
to if=/usr/bin/LexmarkZ55
==== How do I get it working with gentoo? ====
A part
of this instruction was taken from the Gentoo Forum for a Lexmark Z33
printer and some changes are made to make it work with the Lexmark
Z55 and printers of the same generation (Z*5).
1. Make sure that usb is support for your kernel.
you can type cat /proc/bus/usb/devices
to check
2. Download the driver package from Lexmark site http://www.lexmark.com.
3. add lprng to your existing USE var list.USE=“lprng other_var1 other_var2
4. download lprng
emerge lprng rc-update add lprng default mv /etc/lprng/printcap /etc/printcap ln -sf /etc/printcap /etc/lprng/printcap
5. download the ghostscript
emerge ghostscript
6. download the enscript
emerge enscript
7. download killproc
emerge killproc
8. download rpm
emerge rpm
9. Prepare sone dir.
mkdir /etc/rc.d ln -s /etc/init.d /etc/rc.d/init.d mkdir /etc/rc.d/rc3.d mkdir /etc/rc.d/rc5.d
10. install the driver package from lexmark: - unpack the package,you will have two file. one is REAME,the other is lexmarkz*.sh
sh lexmarkz*.sh
( If you get error messages in the installation of the Lexmark driver, ignore it. ) 11. Make this link
ln -s /etc/enscript.conf /usr/etc/enscript.conf
If a error occurs, check if the directory exist. 12.Corrects some directory permissions.
checkpc -f
13. Now you can print. Start lprng/etc/init.d/lprng start
or reboot your
computer.
Lexmark Optra e+
==== How do I switch to PCL or PostScript? ====
Use the smartswitch on the printer, set it to pcl/ps.