Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jun 2007 00:24:54 GMT
From:      "Michael B. Trausch" <michael.trausch@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/113870: USB printing fails w/ FreeBSD CUPS
Message-ID:  <200706200024.l5K0OsV4039260@www.freebsd.org>
Resent-Message-ID: <200706200030.l5K0U5Jl019135@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         113870
>Category:       ports
>Synopsis:       USB printing fails w/ FreeBSD CUPS
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 20 00:30:05 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Michael B. Trausch
>Release:        FreeBSD 6.2-RELEASE amd64
>Organization:
>Environment:
FreeBSD salt.lan 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Tue Jun 19 04:12:27 UTC 2007 root@salt.lan:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
        Using FreeBSD 6.2-RELEASE, the ability to use CUPS on a USB
        printer is broken.  I have attempted to report a bug to the
        CUPS project regarding it, and when it was discovered that
        the problem is not whether or not my printer is bidirectional,
        but something else FreeBSD specific, the CUPS author stated
        that the bug needed to go through FreeBSD "channels".

        The following trouble happens both with a stock kernel (e.g.,
        that which comes with 6.2-RELEASE known as GENERIC), and from
        a kernel slightly modified to treat the printer as a
        unidirectional USB device.

        When sending print jobs to the CUPS system, the CUPS
        system's USB backend will eventually go idle, not transmitting
        print jobs to the printer.  This same software works
        as-needed on the same hardware when using Ubuntu
        server, so it does seem that it is a FreeBSD-specific
        problem.  I am in the process of attempting to use
        the FreeBSD built-in printing solutions to see if I
        am able to use that, but would obviously prefer to be
        able to use CUPS.  However, it is more important that
        my server run FreeBSD for other features that come with
        the system.

>How-To-Repeat:
        Install FreeBSD 6.2, then pkg_add -r cups.
        Attach a Lexmark E240 printer to the system (which
         uses the pxlmono CUPS driver) and set it up with:
          lpadmin -p e240 -v usb:/dev/ulpt0 -m pxlmono.ppd \
           -L "Location" -D "Lexmark E240"
        Attempt to print test jobs to it both from localhost
        and from other networked machines.  (Note that the
        printer has to be set-up manually on other machines;
        FreeBSD's packaged version also doesn't seem to
        share the printers' information even when the config
        file is set up to do so.) 

>Fix:
        Unknown.  At first, the problem was suspected to be that
        the printer reports as bidirectional but really isn't; the
        CUPS person created a kernel modification to force the
        kernel as a unidirectional device.  This patch had no
        effect on the problem though it did alter the kernel's
        behavior regarding the device.

        To provide a comparison with another system which ran on
        this same server, Ubuntu Server 7.04 w/ CUPS worked as
        expected, after adding the configuration information to
        cupsd.conf to enable printer sharing.  The Linux kernel
        reports the printer as a bidirectional USB device and
        seems to treat it as such, and CUPS likes it just fine.

        Not knowing anything about the way kernel internals work,
        my best guess is that there is something in the dev
        interfaces that isn't functioning as expected, OR there is
        a bug in CUPS that is specific to FreeBSD (and this bug
        exists in packages/ports).  I apologize that I can not
        offer any more information to attempt to track down the
        problem's origin, nor a potential fix.

Added after initial attempt to submit by way of send-pr:  It is not a problem with the USB buses, printer, or kernel---FreeBSD's native/internal printing systems/daemons print to my printer just fine, after writing a filter to process incoming things and exporting the LPD printer to my network.  So, it appears to be a problem with CUPS' on FreeBSD.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706200024.l5K0OsV4039260>