[sane-devel] Bulk message segmentation problem with USB/UHCI (former [sane-devel] High res problem with Epson 1240U USBScanner)

Stephan Feder sf at stephan-feder.de
Sun Aug 12 18:36:50 BST 2001


I found a workaround for the timeout problem:

After trying several modifications in the usb-uhci source I finally set
the buffer sizes IBUF_SIZE und OBUF_SIZE in scanner.h to 64, thereby
forcing transmission of only 64-byte-sized bulk messages, and there were
no more timeouts, everything works fine, except transmission is dead
slow (the scanner even stops scanning shortly before the end of the
page, waits, scans, waits, scans and finally finishes).

The following output from usb-uhci.o gave me the idea (mind the transfer
length of 13515, which is way too large for a single USB frame):

uhci_submit_bulk_urb: urb c3341de0, old 00000000, pipe c0008280, len
13515
Allocated qh @ c1e54400
uhci_submit_bulk: qh c1e54400 bqh 00000000 nqh 00000000
submit_urb: scheduled with ret: 0

Then nothing happened for some time, and the next thing I got:

usb_control/bulk_msg: timeout

So obviously either the usbcore.o or the usb-uhci.o is not able to
segment these large bulk transfers correctly.

Thanks for all your help and suggestions, and I'll continue trying new
versions of usbcore and usb-uhci.

	Stephan

--

Stephan Feder wrote:
> 
> Sorry but I do not know anyone near me who uses USB on Linux.
> 
> But I am almost convinced it is a USB related problem, as I pointed out
> in my last posting to Bill Slade. There have been other reports of a
> behaviour quite similar to what I experienced on the USB mailing lists
> so maybe I should put up the problem there.
> 
> Thanks for your help
> 
>         Stephan
> 
> --
> 
> Karl Heinz Kremer wrote:
> >
> > Do you have access to a different machine (different motherboard or
> > at least different USB adapter) or a USB adapter card that you could
> > try? I've seen similar problems go away with a different adapter.
> >
> > Karl Heinz
> >
> > On Tue, Aug 07, 2001 at 12:00:56AM +0200, Stephan Feder wrote:
> > > Thanks for your suggestion, but I think scanner.c 0.4.5 (included in
> > > kernel 2.4.7) is up to date. Which version of scanner.c do you refer to?
> > > Did I overlook a new version on David Nelson's web site?
> > >
> > >       Stephan
> > >
> > > --
> > >
> > > Bill Slade wrote:
> > > >
> > > > Dear Stephan,
> > > > Updating scanner.o to the latest version on the Sane site fixed the problem for me.....
> > > > Now it works like a charm!
> > > > Cheers,
> > > > Bill
> > > >
> > > > >>> sf at stephan-feder.de 08/05/01 23:11 PM >>>
> > > > Dear Karl Heinz,
> > > >
> > > > I had exactly the same problems as Bill. I now have a working
> > > > 2.4.7-kernel which includes scanner.c 0.4.5. But every time while
> > > > scanning I get USB timeout messages from usb.c. I tried usb-uhci.o as
> > > > well as uhci.o for the Intel 82371SB USB controller in may Asus P55T2P4
> > > > mainboard. I cannot pinpoint the troublemaker: sane-epson, scanner.o,
> > > > usbcore.o, usb-uhci.o/uhci.o. Has anyone any idea?
> > > >
> > > > Just as an aside: The setup works with another well-known operating
> > > > system, so it is no hardware issue.
> > > >
> > > > Thanks in advance
> > > >
> > > >         Stephan
> > > >
> > > > --
> > > >
> > > > Karl Heinz Kremer wrote:
> > > > >
> > > > > Bill,
> > > > >
> > > > > please read the FAQ for the EPSON backend on my site:
> > > > > http://www.freecolormanagement.com/sane/faq.html
> > > > >
> > > > > You have to increase a timeout value in the kernel scanner driver -
> > > > > or use a newer kernel that automatically increases this timeout for
> > > > > EPSON scanners.
> > > > >
> > > > > Karl Heinz
> > > > >
> > > > > Bill Slade <bill.slade at rmit.edu.au> said:
> > > > >
> > > > > > Hi all,
> > > > > > Perhaps someone can help me fix this problem.   I have an Epson 1240 U
> > > > > Scanner.  After doing all the configuration mentioned in the USB scanner FAQ
> > > > > and conecting the scanner to the USB port...I was all excited when it worked
> > > > > straight away....until  I tried to scan at a resolution higher than 600dpi.
> > > > > Xsane choked and a  dialog window "Error during read: Invalid argument"
> > > > > popped up.
> > > > > >
> > > > > > Doing a <<cat /proc/bus/usb/devices >> yields
> > > > > >
> > > > > > :  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
> > > > > > B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
> > > > > > D:  Ver= 100 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> > > > > > P:  Vendor=0000 ProdID=0000 Rev= 0.00
> > > > > > S:  Product=USB UHCI Root Hub
> > > > > > S:  SerialNumber=3400
> > > > > > C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
> > > > > > I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
> > > > > > E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
> > > > > > T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
> > > > > > D:  Ver= 1.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
> > > > > > P:  Vendor=04b8 ProdID=010b Rev= 1.14
> > > > > > S:  Manufacturer=?????
> > > > > > S:  Product=??????????????
> > > > > > C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  2mA
> > > > > > I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbscanner
> > > > > > E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
> > > > > > E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
> > > > > >
> > > > > > The kernel complains withthe maintainer.
> > > > > > Jul 23 12:43:38 localhost kernel: scanner.c: read_scanner(0): funky result:-
> > > > > 32.
> > > > > > Please notify the maintainer.
> > > > > > Jul 23 12:43:38 localhost last message repeated 50 times
> > > > > > Jul 23 12:43:38 localhost kernel: sd_scanner(0): funky result:-32. Please
> > > > > notify the maintainer.
> > > > > > Jul 23 12:43:38 localhost kernel: scanner.c: read_scanner(0): funky result:-
> > > > > 32.
> > > > > > Please notify the maintainer.
> > > > > > Jul 23 12:43:38 localhost last message repeated 1168 times
> > > > > >
> > > > > > What is happening and what fixes it?  Isit the backend or the USB driver
> > > > > that is the problem?  Any help would be greatly appreciated.
> > > > > >
> > > > > > BTW -  I am using RedHat 7.1 on a Compaq laptop with kernel 2.4.2-2. The
> > > > > scanner.o module  is dated April 9, 2001.
> > > > > >
> > > > > > Cheers,
> > > > > > Bill
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > Sane-devel mailing list
> > > > > > Sane-devel at www.mostang.com
> > > > > > http://www.mostang.com/mailman/listinfo/sane-devel
> > > > > >
> > > > >
> > > > > --
> > > _______________________________________________
> > > Sane-devel mailing list
> > > Sane-devel at www.mostang.com
> > > http://www.mostang.com/mailman/listinfo/sane-devel
> >
> > --
> > Karl Heinz Kremer                                  khk at khk.net
> > PGP Key at http://www.freecolormanagement.com/download/khk.asc
> > EPSON Sane Backend:         http://www.freecolormanagement.com
> >
> >   ------------------------------------------------------------------------
> >    Part 1.2Type: application/pgp-signature
> _______________________________________________
> Sane-devel mailing list
> Sane-devel at www.mostang.com
> http://www.mostang.com/mailman/listinfo/sane-devel



More information about the sane-devel mailing list