SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Have 2 possibly interrelated probs. I define the printer as LOCAL by clicking on LPT#1 but when the name/description/location come up the connection is "parallel: /dev/lp0" No USB option??? No place to setup USB
The second one is after providing the PPD file via "Browse...", clicking Add Printer and defining options, when the queue is displayed it shows idle/Accepting Jobs/Not shared and :
"Filter" /usr/lib/cups/filter/epson-escpr-wrapper" for printer "epb" [my name for monochrome printer] not available: No such file or directory" and that is true.
Did anyone else define their printer as Local?
Test page in queue but won't print, of course.
I have scanned in b&w and color but cannot get it to print (the print file gets created, seen via lpq -a) OR create a pdf copy to file. I think this is due to how I set up the printer as a local printer:
Under add printer and becoming root to CUPS I
clicked LPT#1 under local printer
Entered printer name, description, and location but right below that it shows connection as: parallel: /dev/lp0 without any option to change there or elsewhere in CUPS.
I did not have the computer connected to the printer via the USB cable when I set up the printer driver and scanner. Could this have caused this?
Finally got the sequence correct by plugging in the USB cable--Dah!, but the last instruction on the startup page said do not connect the USB cable-- anyway.
Was able to re-create 2 printers color and monochrome. But, when I listed the queues (printer names, epb and epc) I see that CUPS says they are both still missing the file: /usr/lib/cups/filter/epson-escpr-wrapper".
On checking the file does exist: /usr/lib/cups/filter/epson-escpr-wrapper. Are CUPS and the printer not communicating??
Think I see the problem. /usr/local/lib... has the wrapper file and the error is about a symlink in /usr/lib... That symlink was put there by the install when I attempted an earlier printer setup and is pointing to what is now a non-existing directory. I guess because the symlink was there future efforts did not overwrite it. I removed the symlink but wonder if I need to make a symlink which points at the /usr/local/lib/... wrapper file or just reinstall the driver? Since the install did not put a link at /usr/lib/..., I don't know if it is necessary and wonder how to get rid of the error that CUPS is perceiving (ie non-existent file)?
I removed the monochrome printer and used CUPS to re created the printer it but it did not change the error message from CUPS because now there is no wrapper file for escpr in /usr/lib...
Looks like you already solved the first part. The printer has to be connected to the USB port and on-line before it will show up in CUPS under Add Printer, Local Printers. You can confirm your connection from the command line by running (as root):
Running a backend driver in debug mode like this should list all the ports it knows. For the usb backend, it should show your printer's URI, something like usb://EPSON/...
Here is some help if you still see filter-related problems. This can happen because CUPS can't find the filter, or because it finds the filter but the filter fails to load.
The PPD files says how to get the filter. You can look in /etc/cups/ppd/PRINTERNAME for *cupsFilter and see how it calls out the filter. For the ESC/P-R driver, EPSON does not seem to include the path. Mine has just this:
That means CUPS needs to find epson-escpr-wrapper in /usr/lib/cups/filter and it will not look anywhere else (maybe it looks on PATH - I don't know). I deal with this using a link to the actual filter.
$ /usr/lib/cups/filter/epson-escpr-wrapper -h
* epson-escpr-wrapepr is a part of Epson Inkjet Printer Driver (ESC/P-R) for Linux 1.2.3
This will tell you that the link is correct, and the filter does load. (Note: The typo "wrapepr" is actual output - I copied this from the command.)
In addition, epson-escpr-wrapper needs to find the other part, epson-escpr. Make sure that loads too:
$ /usr/lib/cups/filter/epson-escpr -h
* epson-escpr is a part of Epson Inkjet Printer Driver (ESC/P-R) for Linux 1.2.3
Usage: $ epson-escpr model width_pixel height_pixel Ink PageSize Quality
If there is a missing dependent library, they won't work, and CUPS will fail, but the above should show you.
Very rarely run debug and haven't used it on:
/usr/lib/cups/backend/usb being a binary file, so tried to egrep on it (hoping to snag a string) with no results.
I did find >> *NickName: "Epson XP-200 Series, Epson Inkjet Printer Driver (ESC/P-R) for Linux" << in /etc/cups/ppd/PRINTERNAME
and also *cupsFilter: "application/vnd.cups-raster 0 epson-escpr-wrapper".
My /usr/lib/cups/filter had:
...but no epson-escpr-wrapper.
Because I had removed the epson-escpr-wrapper & epson-escpr files from /usr/lib (their path was pointing to a directory I removed after installing using --prefix) nothing could find them anyway.
Given that I am thinking to remove the printer driver and reinstall. Here are the what might be problems with that:
1) because those 2 files were not rebuilt in /usr/lib (possibly because they could not be overwritten) I wonder if the files like in /usr/lib/cups/backend/usb and /usr/lib/cups/filter and of course elswhere might not get overwritten, if need be.
I have made a complete list of what is currently in /usr/local/bin, .../lib, .../sbin, and .../share. And think I know which/what to remove (no info in manuals on doing this for "NON-LSB" system like Slackware [the only remaining *NIX-like distro available]. U know I wonder if there is a high level battle to squeeze out some distros).
Has anyone done a de-install and re-install successfully?
2) I have /opt/EPSON/epson-inkjet-printer-escpr-1.2.3/src/epson-escpr-wrapper and epson-escpr are those the files that are put into /usr/lib/... . If so I could just put a copy/link to them there.
I was perplexed by the "Try this" suggested as those 2 files do not exist there and I do not recall using a "path/file -h" command before. I am very interested in learning about it. Can someone point me to an explanation?
Thanks for the great help, its terrific!
Yes. If those files don't exist, the filter can't be found by CUPS, so printing will fail.
"Try this" means run those programs from the command line, adding the "-h" option for help. That does not work for all programs, but it does for these filters. When run with -h, they provide a brief help message. This shows you that the programs exist and are executable. Other than that, these programs are not meant to be run from the command line.
The file /usr/lib/cups/backend/usb is the CUPS-provided USB backend driver (the program that sends data to a USB printer). Other than running it as I said above from the command line to see what it finds, you should not mess with it. It is part of CUPS, not Epson. But if your printer already shows up in CUPS "Add Printer" with a USB connection, you already have that working and you do not need be concerned with this part.
The PPD files are text files. You can view them in any text editor, but changing them is not a good idea.
You do need to get copies of (or links to) those filter programs in the cups/filter directory. I mentioned this in the other thread (".tar.gz vs tgz"). The commands will be something like this (as root):
# cd /usr/lib/cups/filter
# ln -s /opt/epson???/lib/cups/filter/epson-escpr* .
However, I don't understand the path you mention below: "/opt/EPSON/epson-inkjet-printer-escpr-1.2.3/src" - is that really where the filter program got installed? It should have ended up under something like /opt/EPSON.../lib/cups/filter when you used "make install".
Thanks for the info on -h, I was unaware one could do that, surprise after many years with *nix.
I created /opt/EPSON for the printer/scanner .tar.gz files from where I un-gz'd/untarred them. That created the epson-inkjet-printer-escpr-1.2.3 directory, of course, and in which I find the "src" directory. It was there that I found: epson-escpr (a POSIX shell script text executable) and epson-escpr-wrapper (ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped). I think these are the files that should be copied to /usr/lib/cups/filter, is this correct (U've helped so much that I sure don't want to blow it now) ?
I see that the privs on epson-escpr and epson-escpr-wrapper are both -rwxr-xr-x in /opt/EPSON/epson-inkjet-printer-escpr-1.2.3/src where they were untarred. In /usr/lib/cups/filter most of the owners are root and privs are -r-xr-xr-x with the exception of 4 raster and postscript files which have write privs on root, like wrapper. Since U linked the privs I guess privs have to stay the same under /usr/lib/cups/filter when copied and I'll just change ownership to root.
... It was there that I found: epson-escpr (a POSIX shell script text executable) and epson-escpr-wrapper (ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped). I think these are the files that should be copied to /usr/lib/cups/filter, is this correct?
No, this is wrong. Both epson-escpr and epson-escpr-wrapper are compiled programs (ELF 32-bit LSB executable...). Not shell scripts. If you are seeing one as a shell script, something went wrong when you built, installed, or after.
At this point, it might be quicker to clean it all up and start over. You want to unpack the downloaded file "epson-inkjet-printer-escpr-1.2.3-1lsb3.2.tar.gz" into a new, empty temporary directory - NOT where you are going to install the result. I just use a directory under my home. After "make install" you can just delete the whole unpacked directory (keeping only the downloaded file).
Filter programs should be owned by root, with permissions rwxr-xr-x or r-xr-xr-x - both work, doesn't matter.
Here is a slight variation on what I posted before:
$ mkdir build
$ cd build
$ tar -xvzf /tmp/epson-inkjet-printer-escpr-1.2.3-1lsb3.2.tar.gz
$ cd epson-inkjet-printer-escpr-1.2.3
$ ./configure --prefix=/opt/epson-printer
# make install
# cd /usr/lib/cups/filter
# ln -s /opt/epson-printer/lib/cups/filter/epson-* .
I think U might be correct about cleanup and start over. I was tempted to do that until I made what I thought was a complete list of the files (using find / -name "*pson*") which might need to be deleted (uninstalled). Then U pointed out one that didn't show up under /etc so my faith failed me. I couldn't be confident that all files would be overwritten by a reinstall.
Please don't take it that I am being argumentative but in case someone reads this my thinking runs like this. Would normally presume like U say that both of those files would be ELF files. However, the .tar.gz image I downloaded had just been put up (I had downloaded one 2 days prior and this one had a later date), which makes me wonder if they might have changed epson-escpr to and executable POSIX, and it is thus different from earlier .tar.gz images.
The sequence I used in the last driver install was exactly like U show in Ur last message EXCEPT where U used "build" I used "/opt/EPSON" which I created (and had installed SWEEP that way). Also I did not use --prefix and thus did not need to use the last 2 commands following "make install".
I revisited my find / -name "pson" and using egrep to excluded files I knew about and found the /etc files and that epson-escpr/epson-escpr-wrapper in /usr/local/lib/cups/filter/ where they are owned by root and have file types: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped.
Combined with what U've said I perceive these as the files to copy into: /usr/lib/lib/cups/filter and not the ones from /opt/.../src . These have sizes of 79396 for epson-escpr (not 5656 as in /opt/EPSON/.../src) and 25758 for epson-escpr-wrapper (same as was in /opt/EPSON/.../src). The privs are -rwxr-xr-x for both under /usr/local/... .
I will try copying these /usr/local/lib/cups/filter/ files into /usr/lib/cups/filter.
WALLA! I printed my color test page just fine. No need to re-install.
I tried creating a pdf file created by pressing the 2 scanner copy buttons simultaneously but got no feed back via the computer as to what to name it and did not see (maybe blind) the scanner trying to scan. Is this a problem for another post as the scanner did previous to the file copying work for b/w and color.
I see there is a logo file for this printer/scanner is it used to bring up printer/scaner info? Should it be visible or is there a way to make it visible, if useful?
I kinda like the idea of iscan but that cause a flash of light and thunder. Why install iscan from slackbuild if I already have sane and xsane and will be using gimp which will use the scanner?
So I ran lsusb and found:
Bus 002 Device 002: ID 04b8:0896 Seiko Epson Corp.
Then ran scanimage -L to find it only recognized my webcam and bttv.
So ran sane-find-scanner and got No USB scanners found.
I then checked man sane-usb where it says libusb must be installed but find could not find it.
I would like to try to setup sane/xsane on Slackware 13.37. Any suggestions?
Somthing quick to check: If you ran scanimage -L as a non-root account and it didn't see your scanner, try it as root. If it works as root, you have a permissions problem. Either your account isn't in the right group (scanner or lp, depending on the Slackware version), or there is a problem with udev setting the device permissions (see other threads on that in this forum).
Rechecked myself and as root it shows:
device `v4l:/dev/video1' is a Noname BT878 video (Hauppauge (bt878)) virtual device
device `v4l:/dev/video0' is a Noname SN9C1xx PC Camera virtual device
lsusb as root shows:
Bus 002 Device 002: ID 04b8:0896 Seiko Epson Corp.
/etc/group shows root & users on scanner and lp.
There are only 2 videos, does the indication above mean another one is needed for the scanner?
I checked my /usr/local/bin and /usr/local/share and it is showing that I created iscan files. Those were created from:
iscan-data_1.23.0-1.tar.gz & iscan_2.29.1-5.tar.gz these exceed the ones shown in the reference given for epkowa.
Could there be a need for a hidden file? I listed both my user and root directories for one and see none for epson.
This is a USB printer/scanner (on in all cases above) but I have /dev/video1 and /dev/video0 taken by a camera and bttv card. Is there an assignment problem?
I was unable to find info on udev but am still looking.