Anyway, I also found following link about same question asked,
http://www.usb.org/phpbb/viewtopic.php?t=12470&start=0&sid=16d57b781a92802130db567b7d52a24d
but no one seems to answer him so far and I might think that this is "a new
feature" in Vista. :-)
Thank you
Why do you think it is a bug? I wouldn't expect the number of packets to
change.
In XP, USBAUDIO.SYS submits 10 packets of 400 bytes, and the device fills
in however much arrives in each millisecond. So, the amount of data
returned in each packet will vary based on the frequency, but those 10
packets will always be 10 milliseconds.
What problem are you seeing?
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.
"Tim Roberts" wrote:
> In XP, USBAUDIO.SYS submits 10 packets of 400 bytes, and the device fills
> in however much arrives in each millisecond. So, the amount of data
> returned in each packet will vary based on the frequency, but those 10
> packets will always be 10 milliseconds.
>
> What problem are you seeing?
As you said in XP there are 10 packets whereas 4 packets in Vista. Is that
what you expected to see under same hardware configurations?
Sorry.. what was I saying on last post!
I was trying to say that as you said that in XP there are always 10 packets
in every 10ms interval. However, I found that in Vista there are always 4
packets instead of 10 (under same hardwares) and I just wondering whether
Microsoft has changed it this way or purely my mistake.
aze2cool
Could this be part of the reason so many with USB audio devices have found
they do not work under windows vista? (Devices are seen and recognised but
fail with a code 10 error). Many people have been switching the USBAudio.sys
that comes with Vista for a copy from XP without any ill effects which fixes
the issue until MS do.
The difference in the number of packets requested for capture does not
have anything to do with device compatibility. The majority of the
device failures from XP to Vista have come from a tightening of the
driver to the specification. Usually this manifests due to a
descriptor that is not class compliant. XP was not as strict and many
bugs resulted which are fixed in the Vista version. If you are having
a problem with a particular piece of hardware let me know and I will
see if I can determine why it fails with the new driver.
It is true that the number of packes submitted per request has changed
from XP to Vista from 10 to 4. This was done to lower the latency for
USBAudio capture.
DJ Sisolak
Microsoft Corp.
(USB Audio driver developer)
"DJSisolak" wrote:
Many thanks for your reply.
I am just curious that whether it is possible to switch back the number of
packet to "10" for some reason?
aze2cool
Why? It won't affect the operationg of your device. It increases the
overhead slightly, but the benefit of reducing the latency from 10ms to 4ms
is considerable.
As Tim points out, there is a slight amount of extra overhead to do
the 4ms request size in the form of added requests and the associtated
DPCs, but I felt the latency benefit outweighed this. I am currently
looking into a bit of refactoring to reduce the overhead as much as
possible. I have considered making the request packet count a registry
setting, but have not implemented it as such to date and it is not
currently scheduled work.
The specific device I've seen the problem is the 'VOIP Voice Cyberphone K'
(a usb sound input and output device).
Device IDs: USB\VID_0D8D&PID_0652&REV_0001&MI_00
USB\VID_0D8D&PID_0652&MI_00
It works fine with the XP usbaudio.sys even in Vista. I found the solution
of using the XP usbaudio.sys after a few quick google searches where I found
quite a few people having similar problems with usb audio devices.
Any light you can shed on this would be great.
WHAT problem? You keep saying that you think the packet count is the
cause, but I don't believe you have given a single hint as to what problems
you are seeing.
You may have missed my previous post where I stated: 'Devices are seen and
recognised but
fail with a code 10 error'.
To elaborate on this, the specific symptom is - with the Vista usbaudio.sys,
many usb audio devices including the cyberphone k are recognised by vista
and drivers automatically installed (using standard windows drivers). The
device then fails to initialise and is show with a yellow bang and a message
along the lines of 'code 10 device could not start' is seen in device
manager.
I am not in any shape or form a developer of device drivers and have never
claimed to be such or that the packet count is causing the problem - I
merely asked if this could be why devices that work in Windows Vista with
the XP usbaudio.sys do not work with the vista usbaudio.sys.
If the device is code 10 then it is definitely not the packet size
causing the problem. More than likely it is a descriptor error issue
that was not found in XP. I have asked our test team to order one of
these devices to verify the issue. I will also try to contact the
vendor in the meantime to see if I can get a soft copy of the
descriptors I can run through my tests.
DJ
>
> If the device is code 10 then it is definitely not the packet size
> causing the problem. More than likely it is a descriptor error issue
> that was not found in XP. I have asked our test team to order one of
> these devices to verify the issue. I will also try to contact the
> vendor in the meantime to see if I can get a soft copy of the
> descriptors I can run through my tests.
>
> DJ
Hi DJ,
Have you heard any updates regarding these incompatibilities?
I've recently moved a system over to Vista x64 and found exactly the same
situation (made a little worse as its not possible to use the old XP
usbaudio.sys as a workaround).
Thanks,
J