Bug 624247

Summary: Having problems to print a gif file with eog to a network printer
Product: [Fedora] Fedora Reporter: Joachim Backes <joachim.backes>
Component: gtk2Assignee: Marek Kašík <mkasik>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: jpopelka, mclasen, spoyarek, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-09-26 08:48:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
the gif file
none
tcpdump -i eth0 (the printer, called e120n, can be reached by eth0) none

Description Joachim Backes 2010-08-15 07:16:00 UTC
Description of problem:

I have some gif file, which I want to print with eog on my printer (lexmark e120n, connected via eth0 to my box). But after saying print, the network is full busy, but nothing is printed.


eog-2.31.4-0.1.20100623git.fc14.i686
Version-Release number of selected component (if applicable):

/var/log/cups/error_log shows error entries:

E [15/Aug/2010:08:31:13 +0200] Unable to set ACLs on root certificate "/var/run/cups/certs/0" - Operation not supported
E [15/Aug/2010:08:31:18 +0200] Unable to set ACLs on root certificate "/var/run/cups/certs/0" - Operation not supported

After doing lprm, I have to disconnect from network by the NetworkManager and to reconnect for getting a clean network.

How reproducible:
always

Steps to Reproduce:
1.eog <some gif>
2.
3.
  
Actual results:


Expected results:


Additional info:
1. Printing the gif file with lpr for example is done immediately.
2. Printing to a file by eog is done immediately
3. I dont't know if this is a cups issue.

Comment 1 Joachim Backes 2010-08-15 07:20:26 UTC
/etc/cups/printers.conf:
========================

# Printer configuration file for CUPS v1.4.4
# Written by cupsd on 2010-08-15 08:32
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<DefaultPrinter e120n>
AuthInfoRequired none
Info Lexmark E120n
MakeModel Lexmark E120n Foomatic/pxlmono (recommended)
DeviceURI dnssd://Lexmark%20E120n._ipp._tcp.local/
State Idle
StateTime 1281853913
Type 8400916
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-postscript 100 foomatic-rip
Filter application/vnd.cups-pdf 0 foomatic-rip
Filter application/vnd.cups-command 0 commandtops
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
Attribute marker-colors \#000000,none
Attribute marker-levels 100,0
Attribute marker-names Black Toner,Photo Drum
Attribute marker-types toner,opc
Attribute marker-change-time 1281853914
</Printer>

-------------------------------------------------------------------------------
/etc/cups/cupsd.conf
====================

MaxLogSize 0
#
# "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $"
#
# Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
# complete description of this file.
#

# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn

# Administrator user group...
SystemGroup sys root


# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Restrict access to the server...
<Location />
  Order allow,deny
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

# Set the default printer/job policies...
<Policy default>
  # Job-related operations must be done by the owner or an administrator...
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  # All administration operations require an administrator to authenticate...
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # All printer operations require a printer operator to authenticate...
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # Only the owner or an administrator can cancel or authenticate a job...
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  <Limit All>
    Order deny,allow
  </Limit>
</Policy>

# Set the authenticated printer/job policies...
<Policy authenticated>
  # Job-related operations must be done by the owner or an administrator...
  <Limit Create-Job Print-Job Print-URI>
    AuthType Default
    Order deny,allow
  </Limit>

  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  # All administration operations require an administrator to authenticate...
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # All printer operations require a printer operator to authenticate...
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # Only the owner or an administrator can cancel or authenticate a job...
  <Limit Cancel-Job CUPS-Authenticate-Job>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  <Limit All>
    Order deny,allow
  </Limit>
</Policy>

#
# End of "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $".

Comment 2 Joachim Backes 2010-08-16 09:12:51 UTC
Using xpaint for printing, prints the GIF file immediately and correctly. ImageMagick prints properly too.

But gimp only prints an empty page.

Comment 3 Joachim Backes 2010-08-16 09:13:43 UTC
Created attachment 438912 [details]
the gif file

Comment 4 Joachim Backes 2010-08-16 11:06:22 UTC
Trying to print the gif file in F13 (there with eog too!), the file is immediately printed properly.

Comment 5 Joachim Backes 2010-08-20 11:37:58 UTC
sudo lpinfo -l -v
Device: uri = scsi
        class = direct
        info = SCSI Printer
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = ipp
        class = network
        info = Internet Printing Protocol (ipp)
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = http
        class = network
        info = Internet Printing Protocol (http)
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = https
        class = network
        info = Internet Printing Protocol (https)
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = lpd
        class = network
        info = LPD/LPR Host or Printer
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = socket
        class = network
        info = AppSocket/HP JetDirect
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = dnssd://Lexmark%20E120n._printer._tcp.local/
        class = network
        info = Lexmark E120n
        make-and-model = Lexmark Lexmark E120n
        device-id = MFG:Lexmark;MDL:E120n;FZY:1;
        location = 
Device: uri = dnssd://Lexmark%20E120n._ipp._tcp.local/
        class = network
        info = Lexmark E120n
        make-and-model = Lexmark Lexmark E120n
        device-id = MFG:Lexmark;MDL:E120n;FZY:1;
        location = 
Device: uri = dnssd://Lexmark%20E120n._pdl-datastream._tcp.local/
        class = network
        info = Lexmark E120n
        make-and-model = Lexmark Lexmark E120n
        device-id = MFG:Lexmark;MDL:E120n;FZY:1;
        location = 
Device: uri = smb
        class = network
        info = Windows Printer via SAMBA
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = hp
        class = direct
        info = HP Printer (HPLIP)
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = beh
        class = network
        info = Backend Error Handler
        make-and-model = Unknown
        device-id = 
        location = 
Device: uri = hpfax
        class = direct
        info = HP Fax (HPLIP)
        make-and-model = Unknown
        device-id = 
        location =

Comment 6 Siddhesh Poyarekar 2010-08-28 00:12:46 UTC
Doesn't seem like an eog issue. I can print quite OK to my Canon iR 4080.

Comment 7 Joachim Backes 2010-09-15 08:00:57 UTC
Created attachment 447404 [details]
tcpdump -i eth0 (the printer, called e120n, can be reached by eth0)

Comment 8 Joachim Backes 2010-09-15 08:03:12 UTC
Same problem with .png files and eog-2.31.91-1.fc14.i686

Comment 9 Siddhesh Poyarekar 2010-09-15 09:06:53 UTC
Can you try with something like gthumb or any other image viewer that uses gtkprinter? gimp not working either is an indicator that it has something to do with either the gtk layer or cups.

Also if possible, please see if printing to another device works. Assigning to cups to get more insight.

Comment 10 Joachim Backes 2010-09-15 09:57:56 UTC
The gthumb behaviour is exactly the same: after saying print, the network is
full busy, but nothing is printed (if printing a png file with gthumb)

Comment 11 Tim Waugh 2010-09-15 10:10:30 UTC
09:49:26.525316 IP eule.53191 > e120n.jetdirect: Flags [S]
[...]
09:49:37.033503 IP eule.53191 > e120n.jetdirect: Flags [.], seq 230153:231601,
ack 1, win 92, options [nop,nop,TS val 14513048 ecr 1484466], length 1448

11 seconds after starting the JetDirect connect it is still transferring the
data, albeit slowly.  The slow speed is due to the reduced TCP window ("win 0")
on the printer here:

09:49:26.906328 IP e120n.jetdirect > eule.53191: Flags [.], ack 83905, win 0,
options [nop,nop,TS val 1483452 ecr 14502881], length 0
[...]
09:49:27.627713 IP e120n.jetdirect > eule.53191: Flags [.], ack 83905, win
11584, options [nop,nop,TS val 1483524 ecr 14502881], length 0

and here:

09:49:27.745284 IP e120n.jetdirect > eule.53191: Flags [.], ack 101281, win 0,
options [nop,nop,TS val 1483536 ecr 14503710], length 0
[...]
09:49:28.426535 IP e120n.jetdirect > eule.53191: Flags [.], ack 101281, win
10136, options [nop,nop,TS val 1483604 ecr 14503710], length 0

and 8 more times shown in the trace.

Otherwise it looks like a normal print job.  A few hundred kilobytes is not unusual for print job data (more commonly it is much more).

Please try 'lp -dprinter image.gif' to print it directly without involving any graphical utilities to see if that avoids the problem.

Comment 12 Joachim Backes 2010-09-15 10:28:54 UTC
Hi Tim,

Both lp and lpr print that gif (or png) file immediately :-)

Seems to be a problem with some library common to eog and gthumb.

Comment 13 Joachim Backes 2010-09-26 08:48:21 UTC
Got rid from the described problem after having changed the driver to Lexmark E120n Foomatic/hpijs-pcl5e (had been Lexmark E120n Foomatic/pxlmono)