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>