Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 158623 - Epson Stylus CX4800 Printing Broken with CUPS >= 1.2.6
Summary: Epson Stylus CX4800 Printing Broken with CUPS >= 1.2.6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Printing Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-19 23:01 UTC by David Tomaschik
Modified: 2007-10-14 06:54 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (einfo,3.12 KB, text/plain)
2006-12-19 23:27 UTC, David Tomaschik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Tomaschik 2006-12-19 23:01:10 UTC
I own an Epson Stylus CX4800, connected via USB, which worked perfectly under CUPS  1.1.23.  Upon upgrading to 1.2.6 (and a subsequent test of 1.2.7) printing no longer worked at all.  Sending a job to the printer was successful, but the printer never reacted.  In the CUPS web interface, the message "Printer not connected; will retry in 30 seconds..." was received.  Reconnecting and power on/off of the printer resulted in no improvement.  No error messages were logged in the cups logs.

With some searching online, I came around the possible workaround of changing the DeviceURI to file:/dev/usb/lp0, upon which the printer immediately woke up and started printing my jobs.  Before the change, printers.conf looked like:
<Printer Epson>
Info Epson
DeviceURI usb://EPSON/Stylus%20CX4800
State Idle
StateTime 1166596776
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

and the only change made it:
<Printer Epson>
Info Epson
DeviceURI file:/dev/usb/lp0
State Idle
StateTime 1166596776
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

In my mind, it seems like the CUPS USB backend is broken, which is sortof odd since the backend CAN see the printer:
# lpinfo -v
network socket
network beh
direct usb://EPSON/Stylus%20CX4800
network http
network ipp
network lpd
direct scsi
serial serial:/dev/ttyS0?baud=115200
file cups-pdf:/
network smb
# /usr/libexec/cups/backend/usb
direct usb://EPSON/Stylus%20CX4800 "EPSON Stylus CX4800" "EPSON Stylus CX4800 USB #1" "MFG:EPSON;CMD:ESCPL2,BDC,D4,ESCPR1;MDL:Stylus CX4800;CLS:PRINTER;DES:EPSON Stylus CX4800;"
Comment 1 David Tomaschik 2006-12-19 23:27:09 UTC
Created attachment 104420 [details]
emerge --info

Not sure how useful my emerge --info is, but here it is.
Comment 2 David Tomaschik 2006-12-21 17:17:32 UTC
When printing from a Windows XP machine via IPP, this same system exhibits the exact behavior described in bug 156421: http://bugs.gentoo.org/show_bug.cgi?id=156421
Comment 3 David Tomaschik 2006-12-21 17:22:27 UTC
Last comment can be fixed by uncommenting:
application/octet-stream        application/vnd.cups-raw        0       -

in the /etc/cups/mime.convs file.
Comment 4 Sannin 2007-01-29 18:29:08 UTC
Same problem with Epson RX500. What kind of information would help?
Comment 5 Juergen Kaetzler 2007-01-30 12:59:23 UTC
I just did an 'emerge -uD world" and several packages were updated.
Suddenly, my USB-Printer (Epson Stylus Color 830U) stopped working and CUPS gave me the error message "printer not connected, retrying in 30 seconds".
I downgraded packages like sysfsutils, usbutils, libusb and so on, but it didn't help.

In the Gentoo-Forums I found that thread: http://forums.gentoo.org/viewtopic-t-504442.html

At the bottom of page 1 it says:
> My fix was to replace usb://dev/usb/lp0 with file://dev/usb/lp0 in deviceURI

So I edited /etc/cups/printers.conf manually and filled in "file://dev/usb/lp0"
in deviceURI. So the printer works again for me.
Comment 6 Sannin 2007-01-31 13:15:13 UTC
That does not work with me. The DeviceURI of my printer is usb://EPSON/Stylus%20Photo%20RX500. I changed it to file://EPSON/Stylus%20Photo%20RX500 but cupsd would not start...

I have an additional error message is printer' s status: 'Ready: /usr/libexec/cups/filter/rastertoprinter failed'
Comment 7 Juergen Kaetzler 2007-01-31 14:12:56 UTC
Don't change it to "file://EPSON/Stylus%20Photo%20RX500", replace that with "file://dev/usb/lp0" (or the corresponding device).
Could you try that?
Comment 8 Sannin 2007-01-31 14:20:24 UTC
I tried that too. The job does not start, and i get the same error as in my previous post.
Comment 9 Juergen Kaetzler 2007-01-31 15:15:11 UTC
OK, maybe this is a stupid question, but did you restart cups with "/etc/init.d/cupsd restart"?
And look in /dev/usb/ if you've got a device called lp0.
Comment 10 Sannin 2007-01-31 15:59:23 UTC
Yes, i did! :)

/dev/usb/lp0 exists:

crw-rw---- 1 root scanner 180, 0 2007-01-30 07:10 lp0

I don' t know if this helps, but i use gimp-print-4.2.7.
Comment 11 Juergen Kaetzler 2007-01-31 17:37:40 UTC
Since I'm just a simple user, the only thing I can see is, that my permissions on /dev/usb/lp0 are different to your ones:

tekknokaetzi@hardcore ~ $ ll /dev/usb/lp0
crw-rw---- 1 root plugdev 180, 0 31. Jan 18:29 /dev/usb/lp0
tekknokaetzi@hardcore ~ $ groups
disk lp wheel floppy audio cdrom video games usb users lpadmin portage scanner music camera plugdev modem vmware

Your lp0 is in scanner group, mine is in plugdev group.

I found 2 threads in the Gentoo-Forums:
http://forums.gentoo.org/viewtopic-t-519881.html --> look at page 2
http://forums.gentoo.org/viewtopic-t-521190.html

I really hope, that this helps you!
Comment 12 Sannin 2007-02-01 00:13:54 UTC
It might be a permision problem, but RX500 is a multimachine so i don' t know if group scanner is the correct one...

I really appreciate your help! :)
Comment 13 kavol 2007-02-07 15:57:49 UTC
I have similar problem, but in my case, putting file://... instead of usb://... won't work :-(

the problem is that the printer driver expects the printer on /dev/lp0 by default but the Gentoo udev rules put it to /dev/usb/lp0 and cups does not pass the device parameter to the driver

the cups error log says:

renderer command: gs -q -dNOPAUSE -dPARANOIDSAFER -dBATCH -sDEVICE=pbmraw -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -r600 -sOutputFile=- - | min12xxw -m 1300W -f letter -r 600 -p normal -t auto

... there is clearly missing the parameter "-d /dev/usb/lp0"

this has an easy workaround by putting SYMLINK+="%k" into udev usb lpX rule
Comment 14 Sannin 2007-03-02 13:34:20 UTC
(In reply to comment #13)
> I have similar problem, but in my case, putting file://... instead of usb://...
> won't work :-(
> 
> the problem is that the printer driver expects the printer on /dev/lp0 by
> default but the Gentoo udev rules put it to /dev/usb/lp0 and cups does not pass
> the device parameter to the driver
> 
> the cups error log says:
> 
> renderer command: gs -q -dNOPAUSE -dPARANOIDSAFER -dBATCH -sDEVICE=pbmraw
> -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -r600 -sOutputFile=- - |
> min12xxw -m 1300W -f letter -r 600 -p normal -t auto
> 
> ... there is clearly missing the parameter "-d /dev/usb/lp0"
> 
> this has an easy workaround by putting SYMLINK+="%k" into udev usb lpX rule
> 

So that workaround works for you? Can you print normally?
Comment 15 kavol 2007-03-02 15:43:15 UTC
(In reply to comment #14)
> > this has an easy workaround by putting SYMLINK+="%k" into udev usb lpX rule
> > 
> So that workaround works for you? Can you print normally?

yes, if there is a symlink /dev/lp0 to /dev/usb/lp0 and the device is writable by the group lp, I can print normally

p.s. I forgot to mention explicitly that I use Konica-Minolta PagePro 1300W but the symptoms look the same, and it worked with older system setup (don't know if the CUPS version is the only thing to blame ...)
Comment 16 Edgar Acosta 2007-04-13 19:08:30 UTC
(In reply to comment #5)
> > My fix was to replace usb://dev/usb/lp0 with file://dev/usb/lp0 in deviceURI
> 
> So I edited /etc/cups/printers.conf manually and filled in "file://dev/usb/lp0"
> in deviceURI. So the printer works again for me.
> 

It worked for me: cups-1.2.9, gimp-print-5.1.0

I had almost half a year with this problem, and never found a solution. I expected it to get fixed with new versions of cups or gimp-print, it never happened.

I noticed that foomatic-config sets the DeviceURI to usb:/EPSON/printer_model, so each time I was replacing it with usb:/dev/usb/lp0. It never occurred to me to use what I was using with foomatic-config, namely: -c file:/dev/usb/lp0

So, maybe the problem is in foomatic-config

Thank you!
Comment 17 Sannin 2007-05-25 07:15:11 UTC
(In reply to comment #8)
> I tried that too. The job does not start, and i get the same error as in my
> previous post.
> 

I want to confirm that changing the URI to file:/dev/usb/lp0 now works, with Cups-1.2.9 and gimp-print-5.1.1.
Comment 18 Stefan Schweizer (RETIRED) gentoo-dev 2007-10-14 06:54:57 UTC
people say it is fixed :)