[wdmaudiodev] Re: Proper handling of Feature Requests and Terminal Types allowed under Vista

  • From: "Jerry Trantow" <jtrantow@xxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 11 Oct 2007 11:05:43 -0500

www.usb.org <http://www.usb.org/>  originally had a USBCheck tool that would
verify USB descriptors.  This has been replaced by USBCV and it was a very
useful tool when you are playing around with descriptors.

 

 

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Perry, Chris
Sent: Thursday, October 11, 2007 10:27 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Proper handling of Feature Requests and Terminal
Types allowed under Vista

 

Wade,

 

We have a product that wouldn't enumerate the USB audio device part of a
composite device under Vista

because of not handling feature requests properly although it worked fine
under XP. Since our device

provided no software adjustable controls we got past this issue by directly
connecting the input terminal

to the output terminal thus eliminating the unneeded feature unit.

 

I would be interesting in knowing if there is anything non straight forward
in handling feature requests

since we do use these in other products.

 

Also potentially interesting to this group is that output terminal type
0x0601 (Analog connector) does not

show up in Vista's list of playback devices but terminal type 0x0301
(Speaker) does. However,

input terminal type 0x0603 (Line connector) does show up in Vista's list of
recording devices.

 

-Chris Perry

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of wade
Sent: Thursday, October 11, 2007 11:00 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: USB MIDI

 



Tim Roberts <timr@xxxxxxxxx> wrote: 

wade wrote: 

Hi Tim.  Not pretty but here it is:


This is helpful.  Your MIDI descriptors are virtually identical to the ones
in appendix B of the spec.  And when you plug this in and start a MIDI
program, you see bulk transfers happening?

 

With MidiOx open, the host is issuing INs once every ~9uS

;CS_MIDI_DESC_START

;*** Class Specific MS Interface Header Desriptor

db 007h ;bLength

db 024h ;bDescriptorType (CS_INTERFACE)

db 001h ;bDescriptorSubtype

db 000h ;bcdMSC

db 001h ;bcdMSC

db 63 ; Size-LSB

db 0 ; Size - MSB


How did you get 63 for the size?  Shouldn't it be 7+6+6+8+8 = 35?

 

I was having problems early on getting XP to recognize the MIDI portion of
the device so I made our MIDI descriptors violate 6.1.2.1 just like the
example.  Turns out the issue was related to not handling audio feature unit
requets correctly.  I never changed them back.  I just changedit back and
Vista and  XP seem to be fine with it.

 

 

IBy the way, I'm convinced the USB MIDI spec has a mistake in this
descriptor in the sample.  They show 0x0041 for the size in section B.4.2,
but based on the description in 6.1.2.1, it should be 7+6+6+9+9 = 0x0025.
To get 0x0041, you have to include the endpoint descriptors, and that
doesn't meet 6.1.2.1.  However, apparently no one checks this.

Aparently not!

;*** MIDI Out Jack Descriptor - MIDIJACK(OUT,EMB,2)->IN(ID2/PIN1) --> To USB

db 008h ;bLength

db 024h ;bDescriptorType

db 003h ;bDescriptorSubtype (MIDI_OUT_JACK)

db 001h ;bJackType (EMBEDDED)

db 003h ;bJackId

db 001h ;bNrInputPins

db 002h ;baSourceID(1)

db 001h ;baSourcePin(1)

;*** MIDI Out Jack Descriptor - MIDIJACK(OUT,EXT,4)->IN(ID1/PIN1)

db 008h ;bLength

db 024h ;bDescriptorType

db 003h ;bDescriptorSubtype (MIDI_OUT_JACK)

db 002h ;bJackType (EXTERNAL)

db 004h ;bJackId

db 001h ;bNrInputPins

db 001h ;baSourceID(1)

db 001h ;baSourcePin(1)


The spec shows these as being 9 bytes long, with a string descriptor ordinal
at the end.  If this works for you in XP, then I guess usbaudio.sys must not
care.

 

Oops.

 

--   Tim Roberts, timr@xxxxxxxxx  Providenza & Boekelheide, Inc.  

 

  

  _____  

Tonight's top picks. What will you watch tonight? Preview
<http://us.rd.yahoo.com/tv/mail/tagline/tonightspicks/evt=48220/*http:/tv.ya
hoo.com/%20%0d%0a>  the hottest shows on Yahoo! TV. 

Other related posts: