View previous topic :: View next topic |
Author |
Message |
CdWhistler n00b


Joined: 09 Jul 2003 Posts: 37 Location: Crazyworld
|
Posted: Sat Dec 27, 2003 3:44 am Post subject: Lexmark Z25 or Z35 printer setup |
|
|
After trying many things I concluded that the lexmark installer sucks. I found a start here: http://www.linuxprinting.org/lexmark-faq.html but it was for old drivers. So here are my new instructions that work for gentoo. This is not a usb printing step by step guide. This guide assumes you have the correct kernel setup and have cups working. I have a Z25 printer I tested this with but the Z35 should work the same since they use the same drivers.
1.Download drivers from: http://downloads.lexmark.com/cgi-perl/downloads.cgi?ccs=229:1:0:337:0:0&emeaframe=&fileID=1242
2.Open a terminal and extract the file with
cdwhistler@host cdwhistler # tar -zxf CJLZ35LE-CUPS-2.0-1.TAR.GZ
Updated 8-9-04
Lexmark did update their script lately which still has the extract command, it just dosen't work. As rende fingured out you have the extract them differently now.
3.Extract the driver files
cdwhistler@host cdwhistler # mkdir temp_lex
cdwhistler@host cdwhistler # tail -n +143 lexmarkz35-CUPS-2.0-1.gz.sh | gzip -cd | tar xvf - -C temp_lex
4.Convert the rpms' in the temp_lex folder to a tar.gz by running:
cdwhistler@host cdwhistler # rpm2targz temp_lex/*.rpm
5. Su to root
cdwhistler@host cdwhistler # su
6.Extract the drivers to root:
root@host root # tar -zxf lexmarkz35-CUPS-2.0-1.i386.tar.gz -C /
root@host root # tar -zxf z35llpddk-2.0-2.i386.tar.gz -C /
7. Change to the z35 driver folder
root@host / # cd /usr/local/z35llpddk/utility
If there is a bnsi1,2, or3.lut file, remove it
8. Link your locale (Only choose one)
root@host utility # ln -s auckUS.lut bnsi1.lut for US
root@host utility # ln -s auckEU.lut bnsi2.lut for EU
root@host utility # ln -s auckAS.lut bnsi3.lut for AS
9. Change to /usr/lib directory
root@host utility # cd /usr/lib
10. Create symlinks for some of the libraries
root@host lib # ln -s liblexz35core.so.0.0.0 liblexz35core.so.0
root@host lib # ln -s liblexz35printer.so.0.0.0 liblexz35printer.so.0
root@host lib # ln -s liblexz35printjob.so.0.0.0 liblexz35printjob.so.0
11.Check to see if the driver detects your printer:
root@host lib # /usr/lib/cups/backend/z35
12.Output should look similar to this:
direct z35:/dev/usb/lp0 "Lexmark Inkjet color printer" "Lexmark Printer"
13.If it says anything about missing libraries, make sure they are installed and symlinks were created correctly.
14.Run the paper alignment utility to make sure it is working:
root@host lib # /usr/lib/cups/backend/z35 utilities
15. Restart cups and add the printer through cups but choose the Lexmark Printer port, not the the usb port. Also choose the Lexmark driver (duh). Then everything should be working.
Let me know of success or problems.
UPDATE 8-9-04
For udev support add this to /etc/udev/rules.d/50-udev.rules as the last thing.
Code: | BUS="usb", SYSFS{idVendor}="043d", SYSFS{idProduct}="0057", NAME="usblp%n", SYMLINK="usb/lp%n" |
If this does not work run :
Code: | udevinfo -a -p /sys/class/usb/lp0 |
and see if the idVendor and idProduct are the same as mine (they should be). If not replace your idVendor and idProduct in the udev rule.
PM me if you want a response as I only check this thread when I need to follow my own instructions.
Edit: Fixed up the instructions.
Last edited by CdWhistler on Mon Aug 09, 2004 9:23 pm; edited 6 times in total |
|
Back to top |
|
 |
gps408 n00b


Joined: 28 Aug 2003 Posts: 9
|
Posted: Sat Jan 03, 2004 2:30 am Post subject: |
|
|
Thanks very much for this. I've been wanting to get my Z25 working for ages! I had thought it wasn't possible - but it's working beautifully now thanks to your guide.
I couldn't get the .sh file to work as a .gz file after I'd taken out all the bash code - I don't know what I was doing wrong. I got around it by running the script with the '-target' option and specifying a directory to unpack into - if you don't run it as root the script fails but all the files are unpacked into the directory you specify.
Also, I think the symlinks might be the wrong way round. On mine auckEU.lut already existed so I did:
ln -s auck.EU.lut bnsi2.lut
Same with the libraries, the *.so.0.0.0 ones were already in /usr/lib so I created the *.so.0 symlinks by flipping your commands the other way round i.e.
ln -s liblexz35core.so.0.0.0 liblexz35core.so.0
Finally, I got confused adding the printer to cups 'cus I couldn't see the drivers but of course you have to restart cups to get it to pick them up.
Anyway, thanks again. My girlfriend can print out her work for uni now without us having to go round to her mums! |
|
Back to top |
|
 |
nazgum Tux's lil' helper


Joined: 19 Apr 2003 Posts: 111 Location: Canada
|
Posted: Fri Jan 09, 2004 6:27 am Post subject: |
|
|
cool tutorial - worked for me except I had to do the same thing as gps408 with the .gz file.
sh *.sh -target /home/nazgum/unpack as a regular user and it unpacked everything for me to that directory.
everything else went smooth so thanks - now I can print  |
|
Back to top |
|
 |
ed0n l33t


Joined: 23 Apr 2003 Posts: 638 Location: Prishtine/Kosove
|
Posted: Fri Jan 09, 2004 9:42 am Post subject: |
|
|
I have a Lexmark , I was never interested searching for it becouse my color cardige is off . Thanks |
|
Back to top |
|
 |
gps408 n00b


Joined: 28 Aug 2003 Posts: 9
|
Posted: Sat Jan 10, 2004 11:40 am Post subject: |
|
|
Ok, I used the printer all last weekend and it worked perfectly. My girlfriend went back to uni for the week so I haven't used it for 5 days. She's come back this weekend and wants to print things again and it's stopped working!
If I run the z35 thing and it detects the printer (direct z35:/dev/usb/lp0 "Lexmark Inkjet color printer" "Lexmark Printer") but both cups and the command line utility report "Both cartridges are missing. Please install cartridges.". There is _definitely_ a cartridge in there. To pour salt into the wound it's working in windoze fine.
I've turned the printer on/off, restarted cups, taken out and re-inserted the ink cartridge, unplugged/plugged the usb cable - the printer's there but it's reporting this error which it doesn't give in windoze. As far as I know I've not changed anything that would affect it. I've installed a new kernel, but I'm now back using the one I was using last week. I've probably emerge synced a few times - could that have overwritten anything vital? I had a scout round and everything from the .gz files seems to be in place.
Any help would be greatly appreciated. |
|
Back to top |
|
 |
gps408 n00b


Joined: 28 Aug 2003 Posts: 9
|
Posted: Sun Jan 11, 2004 8:36 pm Post subject: |
|
|
I got it working again by setting up the printer in cups using 'USB Printer #1 (Lexmark Z25-Z35) as the device instead of the 'Lexmark Printer (Lexmark Inkjet color printer)' . |
|
Back to top |
|
 |
curious_bob l33t


Joined: 05 Dec 2003 Posts: 636 Location: San Francisco, CA
|
Posted: Thu Jan 15, 2004 2:20 am Post subject: |
|
|
When I try to run CUPS from the control center I get this error
Code: | Unable to retrieve the printer list. Error message received from manager:
Connection to CUPS server failed. Check that the CUPS server is correctly installed and running. Error: connection refused. |
|
|
Back to top |
|
 |
CdWhistler n00b


Joined: 09 Jul 2003 Posts: 37 Location: Crazyworld
|
Posted: Sat Feb 07, 2004 8:17 pm Post subject: |
|
|
Its great that people got their printer working. I simplified the instructions a little.One thing to note is that I cannot get this to work on a 2.6 kernel without devfs. Udev isn't creating the /dev/usb folder or the /dev/usblp0 device. I dont think this is specifically a cups or driver problem. Its just that udev does not create /dev like devfs does. |
|
Back to top |
|
 |
Byrne n00b

Joined: 05 Nov 2003 Posts: 19
|
|
Back to top |
|
 |
Hal9k n00b

Joined: 06 Aug 2003 Posts: 6
|
Posted: Tue Mar 16, 2004 1:47 am Post subject: More on the z600 series |
|
|
Here is some more, primarily focused on the z600 series (e.g., the z605).
The previous post had the link for the z600 download. Go grab it. Steps 2-7 of the first post can be followed directly except for the fact that the filenames are slightly different. Do *NOT* do anything to the bnsi files; this means skipping step 8 and the sentence before it. For step 10 (the symlinks), do not mind the filenames. Instead, simply make sure *.0 points to *.0.0.0 for the libraries that were extracted on your system.
At this point, make sure that USB printer support has been compiled in your kernel. If a module, make sure module "printer" is loaded. Make sure the printer is connected and online. Now, test the backend, noting that the executable is "z600" in this case. Skip step 14 (paper align) as the backend differs here. (I'm sure there's a way of running it...)
Step 15 involves running "/etc/init.d/cupsd stop" and "/etc/init.d/cupsd start" as root to get him restarted. Then, to configure the printer, go to http://localhost:631 on your browser. Adding a printer should be straightforward. Just remember to look for the appropriate Lexmark option whenever there's a choice and choose it.
I hope this helps! |
|
Back to top |
|
 |
Lateralus n00b


Joined: 26 Feb 2004 Posts: 7
|
Posted: Wed Mar 31, 2004 8:24 pm Post subject: |
|
|
I've followed the directions, and nothing was wrong until:
bash-2.05b# /usr/lib/cups/backend/z35
bash-2.05b# /usr/lib/cups/backend/z35 utilities
ERROR: Unable to open printer port "/usr/lib/cups/backend/z35": Text file busy
as you can see, just running z35 didn't output anything, and using z35 utilities gives me a "text file busy" error. _________________
Code: | function comment(s)
{
if (i_know_what_to_do_shut_up_i_dont_need_your_help_mode) {
return
} else {
return s
}
} |
ext/skeleton/create_stubs, lines 40-47.
- PHP Core |
|
Back to top |
|
 |
CdWhistler n00b


Joined: 09 Jul 2003 Posts: 37 Location: Crazyworld
|
Posted: Wed Mar 31, 2004 8:37 pm Post subject: |
|
|
I tried that on my system and had the same results as you. But after I tried it I noticed my printer was unplugged and turned off. Plugging it in and turning it on fixed the problem. This might be caused from not having a /dev/usb/lp0 . Check if that exists before running the "z35 utilties" command. |
|
Back to top |
|
 |
Lateralus n00b


Joined: 26 Feb 2004 Posts: 7
|
Posted: Thu Apr 01, 2004 1:01 am Post subject: |
|
|
bash-2.05b$ ls /dev/usb/lp*
/dev/usb/lp0 /dev/usb/lp11 /dev/usb/lp14 /dev/usb/lp3 /dev/usb/lp6 /dev/usb/lp9
/dev/usb/lp1 /dev/usb/lp12 /dev/usb/lp15 /dev/usb/lp4 /dev/usb/lp7
/dev/usb/lp10 /dev/usb/lp13 /dev/usb/lp2 /dev/usb/lp5 /dev/usb/lp8
It exists, and my printer is on and such. Any suggestions?  _________________
Code: | function comment(s)
{
if (i_know_what_to_do_shut_up_i_dont_need_your_help_mode) {
return
} else {
return s
}
} |
ext/skeleton/create_stubs, lines 40-47.
- PHP Core |
|
Back to top |
|
 |
tehjap n00b


Joined: 11 Jun 2003 Posts: 70 Location: MS
|
Posted: Thu Apr 01, 2004 8:49 pm Post subject: |
|
|
i've gotten to the same point as lateralus, everything looks good... finally got some devices to show up in /dev/usb. /usr/lib/cups/backend/z35 doesn't return anything and z35 utilities says there is a text file busy. i'm using a 2.6 kernel and i tried the udevinfo stuff and it says "couldn't get the class device" any thoughts? |
|
Back to top |
|
 |
Tiganu Tux's lil' helper

Joined: 02 Oct 2002 Posts: 105 Location: Montreal
|
Posted: Thu Apr 01, 2004 9:26 pm Post subject: |
|
|
Hi,
thanks for the info here, I got my Epson printer reconfigured in 5min
It seems there's a BIG oversight in the default udev configuration files: it does not reproduce the much-used /dev/usb/ tree.
So there's some reconfiguration to be done to get a nice /dev/ entry for the printer.
After checking out /etc/udev/udev.rules I settled for this format, because it looks like it will keep the same name regardless of where on the usb chain is inserted: Quote: | # USB Epson printer to be called lp_epson
#BUS="usb", SYSFS_serial="HXOLL0012202323480", NAME="lp_epson"
|
This is the line I inserted in /etc/udev/udev.rules
Code: | BUS="usb", SYSFS_serial="3P3DM0101101240550", NAME="lp_epson" |
To get the SYSFS_serial value:
Code: | $udevinfo -a -p /sys/class/usb/lp0 |
Quote: | zamolxe root # udevinfo -a -p /sys/class/usb/lp0
udevinfo starts with the device the node belongs to and then walks up the
device chain, to print for every device found, all possibly useful attributes
in the udev key format.
Only attributes within one device section may be used together in one rule,
to match the device for which the node will be created.
device '/sys/class/usb/lp0' has major:minor 180:0
looking at class device '/sys/class/usb/lp0':
SYSFS{dev}="180:0"
follow the class device's "device"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:10.0/usb2/2-2/2-2.1/2-2.1:1.0':
BUS="usb"
ID="2-2.1:1.0"
SYSFS{bAlternateSetting}=" 0"
SYSFS{bInterfaceClass}="07"
SYSFS{bInterfaceNumber}="00"
SYSFS{bInterfaceProtocol}="02"
SYSFS{bInterfaceSubClass}="01"
SYSFS{bNumEndpoints}="02"
SYSFS{detach_state}="0"
SYSFS{iInterface}="00"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:10.0/usb2/2-2/2-2.1':
BUS="usb"
ID="2-2.1"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="00"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}=" 2mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0100"
SYSFS{bmAttributes}="c0"
SYSFS{detach_state}="0"
SYSFS{idProduct}="0005"
SYSFS{idVendor}="04b8"
SYSFS{manufacturer}="EPSON"
SYSFS{product}="USB Printer"
SYSFS{serial}="3P3DM0101101240550"
SYSFS{speed}="12"
|
emphasis is mine
I hope this will help some folks to get those links behaving in a civilized manner.
I have to say that the udev way of dealing with devices has a lot of promise.
Cheers _________________ "The mind commands the body and immediately it obeys.
The mind orders itself, and meets resistance"
st. Augustine |
|
Back to top |
|
 |
tehjap n00b


Joined: 11 Jun 2003 Posts: 70 Location: MS
|
Posted: Thu Apr 01, 2004 11:36 pm Post subject: |
|
|
my problem is that udevinfo returns "couldn't get the class device" i'm stuck |
|
Back to top |
|
 |
Lateralus n00b


Joined: 26 Feb 2004 Posts: 7
|
Posted: Fri Apr 02, 2004 10:06 pm Post subject: |
|
|
bash-2.05b# udevinfo -a -p /sys/class/usb/lp0
bash: udevinfo: command not found _________________
Code: | function comment(s)
{
if (i_know_what_to_do_shut_up_i_dont_need_your_help_mode) {
return
} else {
return s
}
} |
ext/skeleton/create_stubs, lines 40-47.
- PHP Core |
|
Back to top |
|
 |
dr_dre n00b

Joined: 19 Mar 2004 Posts: 43 Location: Cape Town
|
Posted: Sun Apr 04, 2004 12:45 pm Post subject: |
|
|
Thanks for the guide, i though i was never going to be able to print in gentoo. Too bad i am not finding any love with my printer. I think i am just being a dumbass but here goes
bash-2.05b$ tar -zxf CJLZ35LE-CUPS-2.0-1.TAR.GZ
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors
so instead i left out the z option and ended up with with the script and 2 text files. When running the script i get
bash-2.05b$ ./lexmarkz35-CUPS-2.0-1.gz.sh -target temp_lex
Creating directory temp_lex
Verifying archive integrity...OK
Uncompressing Lexmark Printer Driver
./lexmarkz35-CUPS-2.0-1.gz.sh: line 133: ./install: No such file or directory
The program returned an error code (127)
line 133 of the script is
[ x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY ] && { $script $scriptargs $*; res=$?; }
whatever the hang that means.
any ideas?
dr_dre |
|
Back to top |
|
 |
CdWhistler n00b


Joined: 09 Jul 2003 Posts: 37 Location: Crazyworld
|
Posted: Tue Apr 06, 2004 5:36 pm Post subject: |
|
|
Lateralus wrote: | bash-2.05b# udevinfo -a -p /sys/class/usb/lp0
bash: udevinfo: command not found |
Looks like you dont have udev installed. Try Code: | ACCEPT_KEYWORDS=~x86 emerge udev |
I just installed the latest udev [024-r1] and it looks like it sets up usb correctly. I dont have time to test now though.
/etc/udev/udev.rules
# USB devices
KERNEL="hiddev*", NAME="usb/%k"
KERNEL="auer*", NAME="usb/%k"
KERNEL="legousbtower*", NAME="usb/%k"
KERNEL="dabusb*", NAME="usb/%k" |
|
Back to top |
|
 |
CdWhistler n00b


Joined: 09 Jul 2003 Posts: 37 Location: Crazyworld
|
Posted: Tue Apr 27, 2004 12:00 pm Post subject: |
|
|
Udev still dosen't work out of the box. My original instructions still work though. |
|
Back to top |
|
 |
Lateralus n00b


Joined: 26 Feb 2004 Posts: 7
|
Posted: Mon May 17, 2004 9:12 pm Post subject: |
|
|
Code: | root@Shadowfax lateralus # udevinfo -a -p /sys/class/usb/lp0
couldn't get the class device |
 _________________
Code: | function comment(s)
{
if (i_know_what_to_do_shut_up_i_dont_need_your_help_mode) {
return
} else {
return s
}
} |
ext/skeleton/create_stubs, lines 40-47.
- PHP Core |
|
Back to top |
|
 |
silvan n00b

Joined: 24 May 2004 Posts: 1
|
Posted: Mon May 24, 2004 1:24 am Post subject: Thanks!! |
|
|
It took me a long time to google up this post of yours, but once I did, it only took me five minutes to get the stupid !@#%@#% printer working.
You really saved my butt. I told Mom to buy one of those things without really looking into it. $23, Tux right on the box... What a misadventure that turned out to be. Linux support. Sure, except if you run Debian, Gentoo, or Slack. Nobody would run one of those crazy distros anyway, would they?
Well, all's well that ends well. Thanks from a Debian user to everyone who put these pieces together into the only ready-made solution to this particular problem in all of googlespace. You saved me hours!  |
|
Back to top |
|
 |
kLUMSY bOT n00b


Joined: 23 Jul 2004 Posts: 69
|
Posted: Fri Jul 23, 2004 5:56 am Post subject: |
|
|
thanks you so much!!!
you are the ownz!
i spent so long looking though ghostscript and enscript and looking for libslang.... and it was here waiting for me!! thanks so much!!
btw, i had to go and figure out how to find the cups thingo which is http://localhost:631/printers/Z35 but thats not a problem to find.
thanks again!! |
|
Back to top |
|
 |
rende n00b

Joined: 26 Jul 2004 Posts: 12
|
Posted: Tue Jul 27, 2004 9:17 pm Post subject: |
|
|
I need some help. This darn printer driver has been driving me nuts. I downloaded the driver from the site listed at the beginning of this tutorial. I untar as directed and then:
Quote: | [root@metro /home/rende/test]# ./lexmarkz35-CUPS-2.0-1.gz.sh -target temp_lex
Creating directory temp_lex
Verifying archive integrity...tail: cannot open `+6' for reading: No such file or directory
Error in check sums 928328828 1187817646
|
Can anyone PLEASE shed some light on this!
Thanks,
rende. |
|
Back to top |
|
 |
rende n00b

Joined: 26 Jul 2004 Posts: 12
|
Posted: Tue Jul 27, 2004 9:50 pm Post subject: |
|
|
And just in case you think its because I was root:
Quote: | [rende@metro ~/test]$ sh ./*.sh -target test
Creating directory test
Verifying archive integrity...tail: cannot open `+6' for reading: No such file or directory
Error in check sums 928328828 1187817646
|
|
|
Back to top |
|
 |
|