On Monday 14 November 2005 7:07 pm, Alan Stern wrote:
> On Mon, 14 Nov 2005, Iqbal wrote:
> 
> > Hi,
> > 
> > I am back porting 2.6 usbtest to 2.4.x. I don't find any documentation,
> > if there are any please point me out. Also, please share your views on
> > the same. Let me also know whether the code can be merged to 2.4
> > officially or not. I know this list is working only on 2.6, curious to
> > know how the list members would respond.
> 
> I'm not aware of much documentation for usbtest.  Have you looked through
> www.linux-usb.org?  If you figure out how usbtest works well enough to
> write some docs, they would be a welcome contribution!

http://www.linux-usb.org/usbtest/ ... ?

That basicallly tells how to use "usbtest" as part of a test plan.
There are a few gaps in the writeup.


> To be honest, I don't see much point in porting usbtest to 2.4.  The host 
> controller drivers in 2.4 don't share the core infrastructure that's 
> present in 2.6, and they each have their own idiosyncrasies and 
> peculiarities.  There doesn't seem to be any reason to test them when 
> better drivers are already available in 2.6.  If the tests reveal a 
> problem, who'll want to spend the time to fix it?

And more to the point, Linux 2.6 changed a bunch of the HCD semantics
specifically so that something like "usbtest" could actually work.
The semantics of 2.4 were poorly defined, and in effect "untestable".
Examples:

  - clean "urbs complete only once" semantics ... in 2.4 there were
    special "automagic completion" modes for interrupt and isochronous
    transfers, which didn't act the same with different HCDs, and
    unlinking/canceling urbs was rather nonportable.

  - all urb types can be queued, with no special flags ... in 2.4 that
    wasn't true for any HCD (except possibly OHCI).

  - HCDs now have essentially the same fault modes, except for a few
    cases where the hardware reports things differently ... in 2.4 the
    fault modes were different enough that portable fault handling was
    unrealistic.

And there are more.

You might be able to get some of the most basic tests working on 2.4
kernels -- simple half duplex bulk in/out, non-queued control, and
possibly a few of the others -- but there's not much point in doing
that.  Overall, the 2.6 stack works so much better that there's not
a lot of point in using 2.4 for any new host-side USB stuff.  (The
peripheral side stuff is simpler, and closer to 2.6 ... less trouble
to use that for 2.4, if you must, but still sub-optimal.)

- Dave


> And if you want to use usbtest to test the USB implementation in a 
> peripheral, you might as well use it under 2.6 anyway.  That way at least 
> you don't have to worry about the test results being contaminated so much 
> by the odd nature of the host controller drivers.
> 
> Alan Stern
> 
> 
> 


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to