public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: "Doyle, Patrick" <Patrick_Doyle@dtccom.com>
Cc: "'ecos-discuss@ecos.sourceware.org'" <ecos-discuss@ecos.sourceware.org>
Subject: Re: [ECOS] USB MSD stack
Date: Thu, 04 May 2006 14:38:00 -0000	[thread overview]
Message-ID: <20060504143816.GO3797@lunn.ch> (raw)
In-Reply-To: <F7F756E5ED50F345959AE893AD2F15660A21F7@dtcsrvr09.dtccom.com>

On Thu, May 04, 2006 at 10:25:10AM -0400, Doyle, Patrick wrote:
> > From: Andrew Lunn [mailto:andrew@lunn.ch] 
> > 
> > My USB book is at home....  
> > 
> > I thought you had to select an interface to be in use. So having a HID
> > interface and a MSD interface is not a problem. However i think you
> > can only have one interface selected at once.
> > 
> > But i could be wrong....
> > 
> >     Andrew
> > 
> OK, I see what you're getting at... I have a couple of USB books here (and
> an overload of information), but I've definitely seen a "select this
> interface for use" message somewhere in one of those.  So, I would agree to
> your assertion that I can have only one interface selected at a time.
> 
> Hmmm... I wonder what I should expect a Windows host to do when I plug in a
> device that says it has two interfaces, one an HID and one an MSD?  I'll
> find out soon enough by experimentation, but I suppose it's possible that it
> could select interface 1 when it needed to access the disk and interface 2
> when it needed to access the mouse... hmmm that doesn't feel right -- does
> that mean I can't move my mouse/disk while I'm listing files?
> 
> Ahh... the adventure continues :)

What you might be able to do is not set a device class. You then need
to tell M$ windows that when it sees vendor XYZ it should load both
the HID driver and the MSD driver. The HID driver will grab the
interupt end point and the MSD driver will grab the bulk in and out
endpoints.  A lot will depend on what level M$ does its resource
allocations. If it does the allocation at interface level, it will not
work, the first loaded driver will win. If it does it at endpoint
level you have a chance. Handling control transfers is going to be
interesting.

Or you could just write a HID and MSD driver for M$. Well, you don't
need full drivers, just an intermediate driver which has two
interfaces on top and one on the bottom. Does M$ have USB intermediate
drivers? I know they exist for the networking stack....

         Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

  reply	other threads:[~2006-05-04 14:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-04 14:25 Doyle, Patrick
2006-05-04 14:38 ` Andrew Lunn [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-05-04 14:47 Doyle, Patrick
2006-05-04 23:12 ` Frank Pagliughi
2006-05-04 14:07 Doyle, Patrick
2006-05-04 14:18 ` Andrew Lunn
2006-05-04 13:46 Doyle, Patrick
2006-05-04 13:44 Doyle, Patrick
2006-05-04 14:00 ` Andrew Lunn
2006-05-04 13:03 Doyle, Patrick
2006-05-04 13:11 ` Stefan Sommerfeld
2006-05-04 13:26 ` Andrew Lunn
2006-05-04 13:36 ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060504143816.GO3797@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=Patrick_Doyle@dtccom.com \
    --cc=ecos-discuss@ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).