Lexmark Printers
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] Introduction
Lexmark Inkjet printers are generally not Linux friendly because they do not provide Linux drivers above or below the Z600-800 series; however, what drivers they do provide can be used to get your X-series or Z-series printer to work (hopefully!).
[edit] Prerequisites
- USB Printer Support in Kernel
| Linux Kernel Configuration: USB Printer support |
Device Drivers --->
USB support --->
<*> Support for Host-side USB
<*> USB Printer support
|
- A printer driver, provided by one of these ebuilds:
- For the X- and Z-series: lexmark-z600-1.0.1.ebuild
- For Z25/Z35: lexmark-z600-1.0.1.ebuild (rename to lexmark-z35-2.0.1.ebuild)
- For Z55: lexmark-z600-1.0.1.ebuild (rename to lexmark-z55-1.0.1.ebuild)
- For Z65: lexmark-z600-1.0.1.ebuild (rename to lexmark-z65-1.0.1.ebuild)
- For Z700/P700/P3150: lexmark-z700-1.1.1.ebuild
- If you don't know how to use an ebuild, see HOWTO Installing 3rd Party Ebuilds.
Your printer may have a driver made specifically for it. See http://downloads.lexmark.com/
[edit] Printers confirmed to work
\
- Lexmark E120 (usb-only model, works with as Optra E with hpijs driver, MAC drivers don't work)
- Lexmark E120n (network model, using PPD which I extracted from driver for MAC, works also with HP PCL6 PPD, trying to make lexmark drivers for linux to work.)
- Lexmark E220 (using udev - used PPD which I extracted from driver for MAC)
- Lexmark E232 (using udev - used PPD which I extracted from driver for MAC and had to remove several lines from PPD)
- Lexmark E330 (using udev)
- Lexmark 5700 (using udev - black & white only)
- Lexmark X1100 (using udev)
- Lexmark X1110 (using devfs)
- Lexmark X1130 (using devfs, only Printing)
- Lexmark X1140 (using devfs, only Printing)
- Lexmark X1150 (using devfs, using udev: black & white only; prints full color from linux to shared printer on XP Pro)
- Lexmark X1170 (using udev)
- Lexmark X1185 (using devfs and udev)
- Lexmark X1190 (using udev, only Printing; somewhat slow...)
- Lexmark X1195 (using udev)
- Lexmark X1240 (using udev, only Printing)
- Lexmark X1250 (using udev)
- Lexmark X1270 (using udev)
- Lexmark X5150 (using udev, z55 driver, only Printing)
- Lexmark Z23 (using udev, z35 driver)
- Lexmark Z25 (using devfs and udev)
- Lexmark Z33 (using devfs, z35 driver)
- Lexmark Z33 (using devfs, z35 driver)
- Lexmark Z35 (on Ubuntu 5.04 Hoary, using udev) -- Had to install PPD manually due to several errors.
- Lexmark Z55 (using udev)
- Lexmark Z513 (using udev)
- Lexmark Z515 (using devfs and udev)
- Lexmark Z517 (using udev)
- Lexmark Z65 (using devfs, z65 driver)
- Lexmark Z600 (using udev)
- Lexmark Z605 (using devfs and udev ) -- Personal note: thank you for this tutorial!
- Lexmark Z605 (on Debian Sarge without neither devfs nor udev) -- thank you very much :-)
- Lexmark Z611 (using devfs and udev)
- Lexmark Z612 (devfs) - http://florian-konnertz.de thanks a lot for this detailed howto!
- Lexmark Z615 (using devfs and udev)
- Lexmark Z617
- Lexmark Z645 (udev)
- Lexmark Z705 (using udev)
- Dell A920 (using devfs, z600 driver)
- Dell A920 (using udev, z600 driver)
- Dell Photo 720 (using udev, z600 driver)
- Lexmark P3150 (using udev, z600 driver, w/ some shading issues )
- Lexmark P3120 (has a slight alignment issue relative to the page) - When using the P3120, two printers will show up in the GNOME selection menu. DO NOT use the one that says "Lexmark Lexmark 3100 Series". Use the other one.
Please feel free to add your printer and if you were using udev or devfs.
[edit] Printers confirmed not to work
- Lexmark X2550 - Sets up Ok and all looks good but no test page appears.
- Lexmark X2580 - Sets up Ok and all looks good but no test page appears.
- Lexmark X5250 (using udev) - There is an LLPDDK for this, but no driver for it that works.
- Lexmark x1270m - No drivers from Lexmark, using z600 appears okay but no test page appears. No error given from print dialog in openoffice.
[edit] Instructions
The following instructions are exemplary with the z600 driver. The other four drivers work analogous.
[edit] Part One - Installing the driver
Get the ebuild, save it to one of the following that matches your printer (see above):
(if you have a Portage Overlay, then you probably want to put the ebuild there)
/usr/portage/net-print/lexmark-z600/lexmark-z600-1.0.1.ebuild /usr/portage/net-print/lexmark-z35/lexmark-z35-2.0.1.ebuild /usr/portage/net-print/lexmark-z55/lexmark-z55-1.0.1.ebuild /usr/portage/net-print/lexmark-z65/lexmark-z65-1.0.1.ebuild /usr/portage/net-print/lexmark-z700/lexmark-z700-1.1.1.ebuild
digest and emerge it in like manner with one of the following:
emerge --digest -av lexmark-z600 emerge --digest -av lexmark-z35 emerge --digest -av lexmark-z55 emerge --digest -av lexmark-z65 emerge --digest -av lexmark-z700
Restart CUPS:
/etc/init.d/cupsd restart
Note on AMD64:
The e-build is not for the x86_64 architecture. to work arround this i did the following:
emerge --ask --verbose emul-linux-x86-compat cd /tmp
download z600cups-1.0-1.i386.rpm and z600llpddk-2.0-1.i386.rpm
make a tar file from the rpms with:
rpm2targz z600cups-1.0-1.i386.rpm rpm2targz z600llpddk-2.0-1.i386.rpm
and unpack the tar files:
tar -xzf z600llpddk-2.0-1.i386.tar.gz tar -xzf z600cups-1.0-1.i386.tar.gz
This will give you a /tmp/usr, but because I like to keep non-gentoo stuff
out of the way i do:
cd /tmp/usr mkdir local mv lib share local/
And copy this to /usr/local with:
cd /tmp tar --sparse -cf - ./usr | ( cd /; tar -xvpf - )
I made a symlink for rastertoz600:
ln -s /usr/local/lib64/cups/filter/rastertoz600 /usr/libexec/cups/filter/rastertoz600
Now you can add your printer in cups, the ppd file is located at:
/usr/local/share/cups/model/Lexmark-Z600-lxz600cj-cups.ppd.gz
Check to see if the right libraries are found with:
ldd /usr/local/lib64/cups/backend/z600
this should give no errors or "not found" messages Check if the printer is recognized with:
/usr/local/lib64/cups/backend/z600
If all is well.... Happy printing :-)
[editor: please let me know if there is something wrong with the instructions at ed[<AT]>kapitein<[D0T>]org
]
[edit] Part two - Adding the printer
Plug in the printer, switch it on, then check the driver backend:
/usr/libexec/cups/backend/z600
from which the output should be something like:
direct z600:/dev/usb/lp0 "Lexmark Lexmark Z600 Series" "Lexmark Printer"
The easiest way for adding the new printer is, in my opinion, CUPS browser interface. But if you feel like using any other way (such as KDE Printer config wizard), I guess the steps can be easily figured out. So, assuming you are going to use the browser:
- Point the browser to http://localhost:631/
- Click on "Manage printers", then "Add printer". You'll probably have to type your root password.
- Type a name for your printer. The printer name may only contain up to 127 printable characters and may not contain spaces. The Location and Description are optional, but it is always a good idea to fill them.
- Choose your device. If the printer is on and your kernel is correctly configured to use USB printers (module usblp), you'll probably see "Lexmark Z600" or something right below the USB Printer #1 (or other number, depending on your system).
- Choose the make "Lexmark".
- Choose the driver "Lexmark Z600 v1.0-1 (en)".
That's it, your printer is installed. You can check by entering in the link for the printer and clicking on "Print test page".
If you get the following error: "Unsupported format 'application/postscript'!", remove the new added printer, add the following line to the file "/usr/share/cups/model/Lexmark-Z600-lxz600cj-cups.ppd"
*cupsFilter: "application/vnd.cups-postscript 0 foomatic-rip"
and install the printer again.
[edit] Credits
- sefd from this thread: http://forums.gentoo.org/viewtopic.php?t=218402&highlight=lexmark
- pinnockio from this thread: http://forums.gentoo.org/viewtopic.php?t=185993&highlight=lexmark
- Martin Michelsen for the Z700 driver (http://users.cybercity.dk/~dko12479/).
