usb printer rejects incoming data [SOLVED]

Hans Petter Selasky hselasky at c2i.net
Wed Nov 18 08:40:14 UTC 2009


On Tuesday 17 November 2009 18:23:10 Alex Troussov wrote:
> On Tue, Nov 17, 2009 at 09:16:03AM +0100, Hans Petter Selasky wrote:
> > > Recently I upgraded to the latest RELENG_8 and rebuilt world.
> > > Now I'm having strange problems with my USB printer (Samsung CLP 315).
> > > Digging into it these last days, I found that it seems to refuse
> > > incoming data via USB port.
> > >
> > > >sudo cat tiger.qpdl > /dev/usb/4.3.0
> > >
> > > cat: stdout: Input/output error
> > >
> > > I'm sure this file tiger.qpdl contains the data needed, I created it
> > > from /usr/local/share/ghostscript/8.64/examples/tiger.eps using gs +
> > > foo2qpdl and tested on another PC.
> >
> > .0 is the control endpoint. You won't get any data through there :-)
> >
> > See:
> >
> > usbconfig -u 4 -a 3 dump_curr_config_desc
> >
> > for the correct OUT endpoint.
>
> OK, here is what it gives:
> >sudo usbconfig -u 4 -a 3 dump_curr_config_desc
>
> ugen4.3: <CLP-310 Series Samsung Electronics Co., Ltd.> at usbus4, cfg=0
> md=HOST spd=HIGH (480Mbps) pwr=ON
>
>  Configuration index 0
>
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0020
>     bNumInterfaces = 0x0001
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x00c0
>     bMaxPower = 0x0001
>
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0002
>       bInterfaceClass = 0x0007
>       bInterfaceSubClass = 0x0001
>       bInterfaceProtocol = 0x0002
>       iInterface = 0x0000  <no string>
>
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0002
>         bmAttributes = 0x0002
>         wMaxPacketSize = 0x0200
>         bInterval = 0x000a
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
>
>      Endpoint 1
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0081
>         bmAttributes = 0x0002
>         wMaxPacketSize = 0x0200
>         bInterval = 0x000a
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
>
> I don't know where to look for the right endpoint here...
>
> But I tried every endpoint - /dev/usb/4.3.0, /dev/usb/4.3.1 and
> /dev/usb/4.3.2 - and the last one worked.
> So, the problem is solved for me.
>
> Just for my curiosity, where can I read more about USB endpoints?

Try google. I don't have any links at hand.

--HPS



More information about the freebsd-usb mailing list