From owner-freebsd-usb@FreeBSD.ORG Mon Oct 23 08:31:00 2006 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9A97C16A417 for ; Mon, 23 Oct 2006 08:31:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 68D7E43D62 for ; Mon, 23 Oct 2006 08:30:59 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k9N8UHUV011799 for ; Mon, 23 Oct 2006 08:30:17 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k9N8UHP2011798; Mon, 23 Oct 2006 08:30:17 GMT (envelope-from gnats) Resent-Date: Mon, 23 Oct 2006 08:30:17 GMT Resent-Message-Id: <200610230830.k9N8UHP2011798@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-usb@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Eygene Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 417ED16A412 for ; Mon, 23 Oct 2006 08:27:06 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from pobox.codelabs.ru (pobox.codelabs.ru [144.206.177.45]) by mx1.FreeBSD.org (Postfix) with ESMTP id 66FA443D5A for ; Mon, 23 Oct 2006 08:27:05 +0000 (GMT) (envelope-from rea-fbsd@codelabs.ru) Received: from codelabs.ru (pobox.codelabs.ru [144.206.177.45]) by pobox.codelabs.ru with esmtpsa (TLSv1:AES256-SHA:256) id 1Gbv96-0004V4-Ea for FreeBSD-gnats-submit@freebsd.org; Mon, 23 Oct 2006 12:26:56 +0400 Message-Id: <20061023082651.GG1032@codelabs.ru> Date: Mon, 23 Oct 2006 12:26:52 +0400 From: Eygene Sender: rea@codelabs.ru To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: usb/104704: GNATS report X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Eygene List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Oct 2006 08:31:00 -0000 >Number: 104704 >Category: usb >Synopsis: Add Xerox WorkCentre M15 to the list of unidirectional USB printers >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-usb >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 23 08:30:16 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Eygene Ryabinkin >Release: FreeBSD 6.2-PRERELEASE i386 >Organization: Code Labs >Environment: System: FreeBSD XXX 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #9: Fri Oct 20 18:56:59 MSD 2006 root@XXX:/usr/src/sys/i386/compile/XXX i386 >Description: USB printer Xerox WorkCentre M15 reports the bidirectional functionality to the USB subsystem, but all read requests are failing. >How-To-Repeat: Compile kernel with the ulpt support, plug in the Xerox WorkCentre M15 printer and try to read something from the device via 'cat < /dev/ulpt0'. It will hang and when ^C will be pressed it will tell that I/O error occured. Xerox support was unable to comment if their printer supports native USB bidirectionality or the bidirectional interface is supported through IEEE 1284.4 layer. Or the device just wrongly specifies its bidirectionality. >Fix: Force unidirectional mode via usb_quirks.c. The patch is attached. The device and vendor IDs are numerical, because there is no Xerox manufacturer ID in the official list of USB vendors. --- /sys/dev/usb/usb_quirks.c.orig Fri Oct 20 18:56:29 2006 +++ /sys/dev/usb/usb_quirks.c Fri Oct 20 18:56:06 2006 @@ -86,6 +86,8 @@ { USB_VENDOR_HP, USB_PRODUCT_HP_810C, ANY, { UQ_BROKEN_BIDIR }}, { USB_VENDOR_HP, USB_PRODUCT_HP_830C, ANY, { UQ_BROKEN_BIDIR }}, { USB_VENDOR_HP, USB_PRODUCT_HP_1220C, ANY, { UQ_BROKEN_BIDIR }}, + /* Xerox WorkCentre M15 */ + { 0x0924, 0xffef, ANY, { UQ_BROKEN_BIDIR }}, /* YAMAHA router's ucdDevice is the version of farmware and often changes. */ { USB_VENDOR_YAMAHA, USB_PRODUCT_YAMAHA_RTA54I, ANY, { UQ_ASSUME_CM_OVER_DATA }}, >Release-Note: >Audit-Trail: >Unformatted: