Re: assessing winusb potential
- From: "Doron Holan [MSFT]" <doronh@xxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 25 Apr 2008 17:02:21 -0700
the device can only put bits on the wire when the host asks for it. this is why the host driver must always pend a transfer on the IN endpoint if the device is sending data asynchronously outside of the host asking for it through a protocol (like writing a packet to the OUT endpoint). as for the exact sequence of events in hw, i am a bit fuzzy, but any book on the usb protocol will tell you.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
"pswork" <pswork@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:FE329BF1-867F-40C5-B4A6-337942AE1CDA@xxxxxxxxxxxxxxxx
Thanks. I am working with some example code from the micro-controller I am
using. So it appears in the USB interrupt handler that there is an event for
IN and OUT data. On OUT data it calls an endpoint handler that reads the data
sent by the host. But what triggers the IN data event. Does it go like this?
1. My device writes data to the IN endpoint.
2. USB hardware sends the data.
3. The IN data interrupt/event occurs after the data has been sent to the
host. My device can now write more data to the IN endpoint.
I'm still a little confused on when I can safely write to the data to the IN
endpoint and what is the significance of the IN data interrupt.
Paul
"Doron Holan [MSFT]" wrote:
no, the host controller by itself will not poll the device asking if it has
data. it is up to you to always have a pending transfer on the IN endpoint
so that the host controller is always asking for data. your device can then
send back data when it has something to send.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
"pswork" <pswork@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:78DF78A7-1D8F-4F8E-B2D4-87D9CCB03369@xxxxxxxxxxxxxxxx
> Thanks, that did it. If I may, have another question.
>
> Using a single bulk address with both a IN and OUT endpoint. I am a
> little
> unclear on the device sending data to the host. When does the host send
> notifcation to the device that it is expecting data? In particular my
> device
> is monitoring some engine functions and based on some conditions will
> asynchronously send status data to the host. I know a USB host > initiates
> IN
> data transfers. Does it periodically ask a device if it has any data to
> send?
>
> Paul
>
>
> "Doron Holan [MSFT]" wrote:
>
>> if you downloaded the latest WDK (6001) it comes with KMDF 1.7, which
>> would
>> be in wdfcoinstaller01007.dll. even then, you might have the 1.7
>> coinstaller b/c there was a servicing problem which delayed the >> release
>> of
>> the coinstaller. You can download the kmdf coinstaller separately,
>> http://blogs.msdn.com/doronh/archive/2008/04/17/the-wdf-1-7-cointstallers-are-now-available.aspx
>>
>> d
>>
>> -- >> Please do not send e-mail directly to this alias. this alias is for
>> newsgroup purposes only.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "pswork" <pswork@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> news:A2FE7491-7DD4-46C9-8F22-68CBA34161F1@xxxxxxxxxxxxxxxx
>> >I am trying to install WinUSB on XP. I think I have reviewed all
>> >possible
>> > documentation and am stuck. I installed WDK, used a sample INF from >> > a
>> > Microsoft site, the WinUSB co-installer works fine, however the KMDF
>> > does
>> > not. I do not have WdfCoInstaller01005.dll on my system nor can I >> > find
>> > out
>> > why or where to get it. Can you help?
>> >
>> > [CoInstallers_CopyFiles]
>> > WinUSBCoInstaller.dll
>> > WdfCoInstaller01005.dll
>> >
>> > "Doron Holan [MSFT]" wrote:
>> >
>> >> try the 1.5 versions from the 6000 WDK .. the installers you have >> >> may
>> >> not
>> >> be
>> >> able to install downlevle (IIRC, rc2 has coinstallers which can
>> >> install
>> >> downlevel properly)
>> >>
>> >> d
>> >>
>> >> -- >> >> Please do not send e-mail directly to this alias. this alias is for
>> >> newsgroup purposes only.
>> >> This posting is provided "AS IS" with no warranties, and confers no
>> >> rights.
>> >>
>> >>
>> >> "Neel" <Neel@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> >> news:F2FE6C0A-7267-45B7-897C-EC841E04E3B6@xxxxxxxxxxxxxxxx
>> >> > Thanks dmm for your inputs.
>> >> >
>> >> > I gone through many posting on the given link but my problem of
>> >> > installing
>> >> > the winusb.sys driver for the USB Stick is not solved (Using the >> >> > INF
>> >> > file
>> >> > details provided my microsoft in "WinUsb_HowTo.doc") .
>> >> >
>> >> > I am using the following WDK files (WDK - Windows Server 2008 >> >> > RC1)
>> >> > for
>> >> > the
>> >> > installation on WinXP:
>> >> > 1). WinUSBCoInstaller.dll
>> >> > 2). WdfCoInstaller01007.dll
>> >> > 3). WUDFUpdate_01007.dll
>> >> > & INF file from the ""WinUsb_HowTo.doc"
>> >> >
>> >> > I am installing the driver from "Device Manager->Update Driver" >> >> > on
>> >> > the
>> >> > connected "USB Mass storage Device".
>> >> > Intallation start copying & installing "WinUSBCoInstaller.dll" &
>> >> > "WdfCoInstaller01007.dll" but at the end, it displays the message
>> >> > dialog
>> >> > "Cannot install this hardware", "There was a problem installing >> >> > this
>> >> > hardware".
>> >> >
>> >> > Also, when I select the device in Device Manager and check the
>> >> > driver
>> >> > details, then I found that the WINUSB.SYS is NOT installed >> >> > (instead
>> >> > the
>> >> > default USBTOR.SYS is installed).
>> >> >
>> >> > I think there is problem withe INF file only.
>> >> > What could be the problem?
>> >> > Is this INF file not proper?
>> >> > Is the WDK files not proper?
>> >> >
>> >> > Thanks
>> >> > Neel
>> >> >
>> >> >
>> >> > "dmm" wrote:
>> >> >
>> >> >> Hi Neel
>> >> >>
>> >> >> I checked my notes and this is what I have:
>> >> >>
>> >> >> Goto the OSR Online site
>> >> >> http://www.osronline.com/cf.cfm?PageURL=showlists.CFM?list=NTDEV
>> >> >> and
>> >> >> search
>> >> >> for "winusb." There is a lot of good information there on >> >> >> editing
>> >> >> your
>> >> >> inf
>> >> >> file so that the co-installers will execute properly.
>> >> >>
>> >> >> dmm
>> >> >>
>> >> >> "Neel" wrote:
>> >> >>
>> >> >> > Hi dmm,
>> >> >> >
>> >> >> > Please could you tell me, how did you install the winusb.sys?
>> >> >> >
>> >> >> > I tried it 100 times but still not able to succeed.
>> >> >> > I followed the instructions given in "WinUsb_HowTo.doc" which >> >> >> > is
>> >> >> > from
>> >> >> > Microsoft.
>> >> >> > I tried it on internet with many options. But no use.
>> >> >> >
>> >> >> > I am using USB stick (Pen drive) device for installation.
>> >> >> >
>> >> >> > Thanks,
>> >> >> > Neel
>> >> >> >
>> >> >> > "dmm" wrote:
>> >> >> >
>> >> >> > > Thanks Don -- just like you said. During the >> >> >> > > inf/installation
>> >> >> > > process, the
>> >> >> > > winusb.sys is extracted and copied to directory
>> >> >> > > "\windows\system32\driver."
>> >> >> > >
>> >> >> > > dmm
>> >> >> > >
>> >> >> > > "Don Burn" wrote:
>> >> >> > >
>> >> >> > > > Look in redist\winUSB the files are part of a coinstaller.
>> >> >> > > >
>> >> >> > > >
>> >> >> > > > -- >> >> >> > > > Don Burn (MVP, Windows DDK)
>> >> >> > > > Windows 2k/XP/2k3 Filesystem and Driver Consulting
>> >> >> > > > Website: http://www.windrvr.com
>> >> >> > > > Blog: http://msmvps.com/blogs/WinDrvr
>> >> >> > > > Remove StopSpam to reply
>> >> >> > > >
>> >> >> > > > "dmm" <dmm@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> >> >> > > > news:BA76B8CC-E1C4-4158-9B0D-0475D7949941@xxxxxxxxxxxxxxxx
>> >> >> > > > > Hi Don
>> >> >> > > > >
>> >> >> > > > > I have installed WinDDK 6000 (which targets both vista >> >> >> > > > > and
>> >> >> > > > > xp)
>> >> >> > > > > on
>> >> >> > > > > my PC.
>> >> >> > > > > I
>> >> >> > > > > search the entire DDK for files "winusb.sys" and
>> >> >> > > > > "winusb.dll"
>> >> >> > > > > but
>> >> >> > > > > I get
>> >> >> > > > > no
>> >> >> > > > > hits.
>> >> >> > > > >
>> >> >> > > > > Thanks
>> >> >> > > > > dmm
>> >> >> > > > >
>> >> >> > > > > "Don Burn" wrote:
>> >> >> > > > >
>> >> >> > > > >> WinUSB is part of the WDK see
>> >> >> > > > >> http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx >> >> >> > > > >> for
>> >> >> > > > >> details how
>> >> >> > > > >> to
>> >> >> > > > >> get it.
>> >> >> > > > >>
>> >> >> > > > >>
>> >> >> > > > >> -- >> >> >> > > > >> Don Burn (MVP, Windows DDK)
>> >> >> > > > >> Windows 2k/XP/2k3 Filesystem and Driver Consulting
>> >> >> > > > >> Website: http://www.windrvr.com
>> >> >> > > > >> Blog: http://msmvps.com/blogs/WinDrvr
>> >> >> > > > >> Remove StopSpam to reply
>> >> >> > > > >>
>> >> >> > > > >> "dmm" <dmm@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> >> >> > > > >> news:A8FDE0B4-12BE-42CD-95F2-035F26746E7E@xxxxxxxxxxxxxxxx
>> >> >> > > > >> > My company manufactures a USB device that may attach >> >> >> > > > >> > to
>> >> >> > > > >> > any
>> >> >> > > > >> > USB port
>> >> >> > > > >> > on
>> >> >> > > > >> > the
>> >> >> > > > >> > PC but only one such device is allowed per PC. Our
>> >> >> > > > >> > device
>> >> >> > > > >> > is
>> >> >> > > > >> > currently
>> >> >> > > > >> > driven by an HID kernel-mode driver in the W2k/XP
>> >> >> > > > >> > platforms
>> >> >> > > > >> > and
>> >> >> > > > >> > basically
>> >> >> > > > >> > performs read/write operations aside from the >> >> >> > > > >> > power/pnp
>> >> >> > > > >> > functionality.
>> >> >> > > > >> >
>> >> >> > > > >> > If I am not mistaken, the WinUSB environment offers >> >> >> > > > >> > an
>> >> >> > > > >> > attractive
>> >> >> > > > >> > alternative for us in the Vista platform. Is this >> >> >> > > > >> > true
>> >> >> > > > >> > or
>> >> >> > > > >> > should we
>> >> >> > > > >> > be
>> >> >> > > > >> > looking at UMDF?
>> >> >> > > > >> >
>> >> >> > > > >> > If WinUSB is suitable, where may I download the
>> >> >> > > > >> > winusb.sys
>> >> >> > > > >> > and
>> >> >> > > > >> > .dll
>> >> >> > > > >> > files
>> >> >> > > > >> > for testing on XP?
>> >> >> > > > >> >
>> >> >> > > > >> > Thanks
>> >> >> > > > >> > dmm
>> >> >> > > > >>
>> >> >> > > > >>
>> >> >> > > > >>
>> >> >> > > >
>> >> >> > > >
>> >> >> > > >
>> >>
>> >>
>>
>>
.
- References:
- Re: assessing winusb potential
- From: pswork
- Re: assessing winusb potential
- From: Doron Holan [MSFT]
- Re: assessing winusb potential
- From: pswork
- Re: assessing winusb potential
- From: Doron Holan [MSFT]
- Re: assessing winusb potential
- From: pswork
- Re: assessing winusb potential
- Prev by Date: DRIVER_VERIFIER_DMA_VIOLATION (e6) for storport
- Next by Date: Re: DRIVER_VERIFIER_DMA_VIOLATION (e6) for storport
- Previous by thread: Re: assessing winusb potential
- Next by thread: Re: assessing winusb potential
- Index(es):
Relevant Pages
|