Date: Sun, 12 Jul 2009 09:52:29 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-current@freebsd.org Cc: Patrick Lamaiziere <patfbsd@davenulle.org> Subject: Re: ulpt problem (USB_ERR_IOERROR) Message-ID: <200907120952.30158.hselasky@c2i.net> In-Reply-To: <20090711232635.24b28f1f@baby-jane.lamaiziere.net> References: <20090703172600.1971111e@baby-jane.lamaiziere.net> <200907072039.27811.hselasky@c2i.net> <20090711232635.24b28f1f@baby-jane.lamaiziere.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 11 July 2009 23:26:35 Patrick Lamaiziere wrote: > Le Tue, 7 Jul 2009 20:39:26 +0200, > > Hans Petter Selasky <hselasky@c2i.net> a =E9crit : > > There was a small bug in my patch. Could you post-patching edit > > /sys/dev/serial/ulpt.c > > > > urlpt_open(struct usb_fifo *fifo, int fflags) > > ulpt_open(struct usb_fifo *fifo, int fflags) > > Well, as I must use the unlpt device, I think this does not change > anything. > > If I understand well, with /dev/unlpt0, ulpt.c calls unlpt_open(), not > ulpt_open() nor unlpt_open()? > > Just in case, I've tried to change unlpt_open() with > static int > unlpt_open(struct usb_fifo *fifo, int fflags) > { > struct ulpt_softc *sc =3D usb_fifo_softc(fifo); > > if (sc->sc_fflags & fflags) { > return (EBUSY); > } > > /* set defrag write mode */ > > if (fflags & FWRITE) { > printf("unlpt_open: using defrag write mode\n"); > usb_fifo_set_write_defrag(fifo, 1); > } > ... > > But the printer hangs after the first job (the data led on the printer > stay on): > unlpt_open: using defrag write mode > ulpt_write_callback:237: state=3D0x0 actlen=3D0 > ulpt_write_callback:237: state=3D0x1 actlen=3D32768 > ulpt_write_callback:237: state=3D0x1 actlen=3D32768 > ulpt_write_callback:237: state=3D0x1 actlen=3D32768 > The prints look good. Did you restart/repower the printer, before trying to print? What document format is being used on /dev/ulpt? Maybe you have to use anot= her=20 format. Did you use the correct PPD file for your printer? I have a brother= =20 printer here which uses USB, and claims to support PCL 6, but whenever I pr= int=20 something in PCL 6, it's not recognized. I found out I had to download a=20 special PPD file, and install foomatic-rip, for cups. Then it worked using = the=20 GDI protocol. =2D-HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907120952.30158.hselasky>