Date: Sun, 1 Jan 2006 09:26:32 +1100 From: Peter Jeremy <PeterJeremy@optushome.com.au> To: freebsd-usb@freebsd.org Subject: Problems printing to EPSON CX3500 Message-ID: <20051231222632.GA42330@cirb503493.alcatel.com.au>
next in thread | raw e-mail | index | archive | help
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: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 17.2 on pci0 uhci0: [GIANT-LOCKED] usb0: <VIA 83C572 USB controller> 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: <VIA 83C572 USB controller> 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: <VIA VT6202 USB 2.0 controller> 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: <VIA VT6202 USB 2.0 controller> 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<BABBLE,STALLED> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051231222632.GA42330>