From owner-freebsd-usb@FreeBSD.ORG Sat Dec 31 22:26:37 2005 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B2D8C16A41F for ; Sat, 31 Dec 2005 22:26:37 +0000 (GMT) (envelope-from PeterJeremy@optushome.com.au) Received: from mail24.syd.optusnet.com.au (mail24.syd.optusnet.com.au [211.29.133.165]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6069B43D45 for ; Sat, 31 Dec 2005 22:26:35 +0000 (GMT) (envelope-from PeterJeremy@optushome.com.au) Received: from cirb503493.alcatel.com.au (c220-239-19-236.belrs4.nsw.optusnet.com.au [220.239.19.236]) by mail24.syd.optusnet.com.au (8.12.11/8.12.11) with ESMTP id jBVMQXCC026220 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Sun, 1 Jan 2006 09:26:34 +1100 Received: from cirb503493.alcatel.com.au (localhost.alcatel.com.au [127.0.0.1]) by cirb503493.alcatel.com.au (8.12.10/8.12.10) with ESMTP id jBVMQXHh042392 for ; Sun, 1 Jan 2006 09:26:33 +1100 (EST) (envelope-from pjeremy@cirb503493.alcatel.com.au) Received: (from pjeremy@localhost) by cirb503493.alcatel.com.au (8.12.10/8.12.9/Submit) id jBVMQWLZ042391 for freebsd-usb@freebsd.org; Sun, 1 Jan 2006 09:26:32 +1100 (EST) (envelope-from pjeremy) Date: Sun, 1 Jan 2006 09:26:32 +1100 From: Peter Jeremy To: freebsd-usb@freebsd.org Message-ID: <20051231222632.GA42330@cirb503493.alcatel.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc Subject: Problems printing to EPSON CX3500 X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Dec 2005 22:26:37 -0000 I recently bought an Epson CX3500 on the grounds that it was supported by PIPS (specifically ports/print/pips-scx3500_3600s). Whilst the printer probes, I don't seem able to print to it and the GUI claims the printer is inaccessible. I'm running -current from early December with pips-scx3500_3600s-2.6.2. My reading of the printer blurb is that it supports both USB1 and USB2. Relevant bits of dmesg are: uhci0: port 0xe400-0xe41f irq 10 at device 17.2 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 usbd_get_string: getting lang failed, using 0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered ... usb3: on uhci3 usb3: USB revision 1.0 usbd_get_string: getting lang failed, using 0 uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xdffffb00-0xdffffbff irq 11 at device 20.2 on pci0 ehci0: [GIANT-LOCKED] usb4: EHCI version 0.95 usb4: companion controllers, 2 ports each: usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 4 ports with 4 removable, self powered I can start /usr/local/libexec/pips/printer/ekpd successfully but when I start ekpstm, it reports that the printer is not responding. Looking at the debug output below, things start off OK but then the printer appears to send a message that the UHCI driver can't handle. I've enabled USB debugging as follows: hw.usb.ehci.debug: 1 hw.usb.uhci.debug: 1 hw.usb.ulpt.debug: 3 With the printer plugged into a USB1 port, I get: ulpt0: EPSON USB MFP, rev 1.10/1.00, addr 2, iclass 255/255 ulpt0: using bi-directional mode ulptopen: flags=0x40 ulpt_open: open input pipe ulptopen: done, error=0 ulptread ulptread: transfer 1024 bytes ulptread ulptread: transfer 1024 bytes ulptwrite ulpt_status: status=0x18 err=0 ulptwrite: transfer 27 bytes ulptread ulptread: transfer 8 bytes ulptwrite ulpt_status: status=0x18 err=0 ulptwrite: transfer 8 bytes ulptread ulptread: transfer 9 bytes ulptwrite ulpt_status: status=0x18 err=0 ulptwrite: transfer 17 bytes ulptread ulptread: transfer 16 bytes ulptwrite ulpt_status: status=0x18 err=0 ulptwrite: transfer 13 bytes ulptread ulptread: transfer 12 bytes ulptwrite ulpt_status: status=0x18 err=0 ulptwrite: transfer 11 bytes ulptwrite ulpt_status: status=0x18 err=0 ulptwrite: transfer 11 bytes ulptread ulptread: transfer 10 bytes ulptread ulptread: transfer 6 bytes ulptread ulptread: transfer 6 bytes uhci_idone: error, addr=2, endpt=0x83, status 0x500000 uhci_timeout: uxfer=0xc20f9a00 uhci_timeout_task: xfer=0xc20f9a00 uhci_check_intr: aborted xfer=0xc20f9a00 ulptread: error=13 ulptread ulptread: transfer 6 bytes uhci_device_bulk_abort: uhci_check_intr: aborted xfer=0xc1d9ba00 ulptread: error=18 error=13 is USBD_IOERROR and error=18 is USBD_INTERRUPTED The last interrupted read continues indefinitely until I kill ekpd. Even more annoyingly, when I unplug the printer, I get: ulpt0: at uhub0 port 1 (addr 2) disconnected ulpt_detach: sc=0xc2292480 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 ulpt0: detached So far so good, but if I then plug the printer back in, I get: uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 usb_new_device: set address 2 failed - trying a port reset uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 uhci_timeout: uxfer=0xc1d9ba00 uhci_timeout_task: xfer=0xc1d9ba00 uhci_check_intr: aborted xfer=0xc1d9ba00 usb_new_device: set address 2 failed ... uhub_explore: usb_new_device failed, error=SET_ADDR_FAILED uhub0: device problem (SET_ADDR_FAILED), disabling port 1 And I then can't use that uhub until I reboot. With the printer plugged into a USB2 port, I get: ehci_pcd: change=0x10 ehci after reset, status=0x00001801 ehci_disown: index=4 lowspeed=0 ehci_pcd: change=0x10 ulpt0: EPSON USB MFP, rev 1.10/1.00, addr 2, iclass 255/255 ulpt0: using bi-directional mode And then exactly the same sequence as above. I've looked through the USB commits since I last updated my sources and don't see anything relevant. Does anyone have any suggestions? -- Peter Jeremy