Thanks Dan, I am fairly sure you are correct that it was the kernel.  Code
is now running fine on 2.6.30.rc5, and I found at least one comment in the
diffs that seems to be along the right lines (although I have no idea
whether this *particular* change solved the problem):

    /* Put interfaces back into the same altsettings as before.
     * Don't bother to send the Set-Interface request for interfaces
     * that were already in altsetting 0; besides being unnecessary,
     * many devices can't handle it.  Instead just reset the host-side
     * endpoint state.
     */

Appreciate your tip - I was tearing my hair out there.

Glen.

On Wed, May 13, 2009 at 3:45 AM, Dan Streetman <ddstr...@ieee.org> wrote:

> On Mon, May 11, 2009 at 6:01 PM, Glen Harris <ghng2...@middlegable.org>
> wrote:
> > Hi there,
> >
> > Hoping for a hint in the right direction.  I have the following
> situation:
> >
> > 1) Third party USB HID device with 1 interrupt IN and 1 interrupt OUT
> > endpoints.  Unknown quality of firmware.
> > 2) Linux Ubuntu 8.10 kernel 2.6.27-11
> > 3) usbhid has been told to ignore the device via quirks, and this has
> been
> > confirmed via checking /sys
> > 4) usbmon and Ellisys USB Tracker 110 for bus monitoring
> > 5) Using javax.usb.ri.linux 1.0.2
> >
> > The problem:
> > I can get valid communication to my device, however in both usbmon and
> USB
> > Tracker traces I see a SetInterface command on the bus *when my program
> > finishes*.  And I have no idea where it is coming from.
>
> It probably is coming from the kernel code.
>
> >
> > I have grepped the source (jni and java)
> > I have single stepped the code
> > I am out of ideas.
> >
> > More than happy to provide debug logging output, but mainly just looking
> for
> > a hint of where to look, or what might be triggering this.  Other
> > information:
> >
> > 1) Why is this a problem?  After the 'SetInterface' I lose communication,
> > and my working theory is that the SetInterface resets the toggle, so when
> I
> > try to send the next DATA1 packet the device is expecting a DATA0 and
> > ignores it.  The USB Tracker logs support this theory, and if I have sent
> an
> > even number of packets before the 'SetInterface' the next run of the
> program
> > works fine.
>
> It's possible, there was also some fixes done in this area in the
> 2.6.28-29 timeframe, so you might want to test on a 2.6.29 kernel to
> see if it works.  If so, then you should be fine in later kernels.
>
> > 2) It is only when the application finishes that I see the SetInterface
> > command, I have tried manually closing everything and then triggering gc,
> > but I cant see it until the program finishes.
>
> If the kernel is issuing the set-interface (which I highly suspect it
> is) then you would never be able to see it just by debugging the app.
>
> > 3) When I say program, I am running via test cases in Eclipse.
> >
> > Thanks for any thoughts,
> >
> > Glen.
> >
> >
> >
> ------------------------------------------------------------------------------
> > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> > production scanning environment may not be a perfect world - but thanks
> to
> > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK
> > i700
> > Series Scanner you'll get full speed at 300 dpi even with all image
> > processing features enabled. http://p.sf.net/sfu/kodak-com
> > _______________________________________________
> > javax-usb-devel mailing list
> > javax-usb-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/javax-usb-devel
> >
> >
>
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
javax-usb-devel mailing list
javax-usb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to