Thanks a lot DJ, i'll be waiting your private email... But, why, if windows uses the strings in the sound control panel, it doesn't use it in the device manager? it'll get a little messy if you have 5 mics (one for each position in the room) and 5 speakers... they will be 10 USB audio devices :S Changing the subject, Today, i'm working with a speaker layout: USB-Streaming -> IT -> OT -> Speaker when i compile a wav array in MATLAB of a perfect sawtooth, and in the device i receive a sawtooth with scratchs, may be windows it's sending me another thing that just sample's high byte and low byte? It's a mono system. Brian ----- Original Message ----- From: "DJ Sisolak" <dsisolak@xxxxxxxxxxxxxxxxxxxxxx> To: <wdmaudiodev@xxxxxxxxxxxxx> Sent: Monday, March 10, 2003 3:48 PM Subject: [wdmaudiodev] Re: USB Audio class device > > Hello Brian, > > The strings in the descriptor are taken into account after the device = > has been enumerated into the system. Therein lays the problem. Before = > the descriptors can be read, the device has to be discovered. Therefore = > the name in the INF is used in device manager, but the descriptor = > strings ARE used in the control panel apps since they can be read once = > the device is started by the driver. > > The driver issues GET_CUR/SET_CUR, GET_MIN, GET_MAX, and GET_RES = > attribute requests to units which support ranges for the controls (ie = > Volume Control). It will only issue GET_CUR/SET_CUR to units which are = > Boolean in nature (ie Mute).=20 > > I will review your descriptors and get back to you on a private thread. > > Thanks, > DJ > > This posting is provided "AS IS" with no warranties, and confers no = > rights. > > -----Original Message----- > From: Brian Toba [mailto:briantoba@xxxxxxxxx]=20 > Sent: Monday, March 10, 2003 5:45 AM > To: wdmaudiodev@xxxxxxxxxxxxx > Subject: [wdmaudiodev] Re: USB Audio class device > > > Hi DJ Sisolak, i'll attach at the end of this email my descriptor file. > > Thanks for your answer. > > Woah! I can't believe it! so the strings in the descriptors doesn't work = > at > all? What do i have to do, to make Microsoft add my device in that file? > does it'll be updated thru Windows Update? Why don't they just use the > strings suplied by the device? > > Other thing, wich messages, like GET_CUR, issues the OS to audio = > devices? > > Thanks a lot. > > Brian. > > *** THIS IS MY DESCRIPTOR FILE **** > *** STRINGS ARE NOT HERE *** > *** Some comments are in spanish, sorry for that *** > DeviceDscr: db DeviceDscrEnd-DeviceDscr ;; Descriptor length > db DSCR_DEVICE ;; Decriptor type > dw 0001H ;; Specification Version (BCD) > db 00H ;; Device class > db 00H ;; Device sub-class > db 00H ;; Device sub-sub-class > db 64 ;; Maximum packet size > dw 3412H ;; Vendor ID Cypress 4705H > dw 0500H ;; Product ID > dw 0100H ;; Product version ID > db 1 ;; Manufacturer string index > db 2 ;; Product string index > db 3 ;; Serial number string index > db 1 ;; Numder of configurations > DeviceDscrEnd: > > ConfigDscr: db ConfigDscrEnd-ConfigDscr ;; Descriptor length > db DSCR_CONFIG ;; Descriptor type > db 109 ;; Configuration + End Points length (LSB) > db 00 ;; Configuration length (MSB) > db 2 ;; Number of interfaces > db 1 ;; Interface number > db 4 ;; Configuration string > db 10000000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu) > db 50 ;; Power requirement (div 2 ma) > ConfigDscrEnd: > > Intrfc0Dscr: > db Intrfc0DscrEnd-Intrfc0Dscr ;; Descriptor length > db DSCR_INTRFC ;; Descriptor type > db 0 ;; Zero-based index of this interface > db 0 ;; Alternate setting > db 0 ;; Number of end points > db C_AUDIO ;; Interface class: AUDIO > db SC_AUDIO_CONTROL;; Interface sub class: AUDIO_CONTROL > db 00H ;; Interface sub sub class > db 5 ;; Interface descriptor string index > Intrfc0DscrEnd: > > ClassSpecificIntrfc0Dscr: > db ClassSpecificIntrfc0DscrEnd-ClassSpecificIntrfc0Dscr ;; Descriptor > length > db CS_INTERFACE ;; Descriptor type > db HEADER ;; Descriptor sub-type > dw 0001H ;; Rev. de la clase de audio 1.0 > db 39 ;; Tama=F1o total de los Class-specific Descriptor (LSB) > db 00 ;; Tama=F1o total de los Class-specific Descriptor (MSB) > db 1 ;; N=FAmero de interfaces de audio (streaming) > db 1 ;; Lista de interfaces de audio (como solo hay una...) > ClassSpecificIntrfc0DscrEnd: > > IT0Dscr: > db IT0DscrEnd-IT0Dscr ;; Descriptor length > db CS_INTERFACE ;; Descriptor type > db INPUT_TERMINAL ;; Descriptor sub-type > db 1 ;; Identificador del Terminal > dw 0502H ;; Tipo de terminal: Micr=F3fono de escritorio > db 0 ;; Asociacion > db 1 ;; N=FAmero de canales > dw 0000H ;; que canales? > db 8 ;; Nombre del primer canal > db 7 ;; Nombre del Terminal > IT0DscrEnd: > > FTDscr: > db FTDscrEnd-FTDscr ;; Descriptor length > db CS_INTERFACE ;; Descriptor type > db FEATURE_UNIT ;; Descriptor sub-type > db 2 ;; Identificador del Feature Unit > db 1 ;; ID de la Fuente de se=F1al > db 1 ;; Control Size > db 03H ;; Controles Master ch: Mute y Volumen > db 00H ;; Controles ch 1: Ninguno > db 0 ;; Nombre de la Feature > FTDscrEnd: > > OT0Dscr: > db OT0DscrEnd-OT0Dscr ;; Descriptor length > db CS_INTERFACE ;; Descriptor type > db OUTPUT_TERMINAL ;; Descriptor sub-type > db 3 ;; Identificador del Terminal > dw 0101H ;; Tipo de terminal: USB Streaming > db 0 ;; Asociacion > db 2 ;; ID de la fuente > db 8 ;; Nombre del Terminal > OT0DscrEnd: > > Intrfc1AS0Dscr: > db Intrfc1AS0DscrEnd-Intrfc1AS0Dscr ;; Descriptor length > db DSCR_INTRFC ;; Descriptor type > db 1 ;; Zero-based index of this interface > db 0 ;; Alternate setting > db 0 ;; Number of end points > db C_AUDIO ;; Interface class: AUDIO > db SC_AUDIO_STREAMING ;; Interface sub class: AUDIO STREAMING > db 00H ;; Interface sub sub class > db 9 ;; Interface descriptor string index > Intrfc1AS0DscrEnd: > > Intrfc1AS1Dscr: > db Intrfc1AS1DscrEnd-Intrfc1AS1Dscr ;; Descriptor length > db DSCR_INTRFC ;; Descriptor type > db 1 ;; Zero-based index of this interface > db 1 ;; Alternate setting > db 1 ;; Number of end points > db C_AUDIO ;; Interface class: AUDIO > db SC_AUDIO_STREAMING ;; Interface sub class: AUDIO STREAMING > db 00H ;; Interface sub sub class > db 10 ;; Interface descriptor string index > Intrfc1AS1DscrEnd: > > ClassSpecificIntrfc1Dscr: > db ClassSpecificIntrfc1DscrEnd-ClassSpecificIntrfc1Dscr ;; Descriptor > length > db CS_INTERFACE ;; Descriptor type > db GENERAL ;; Descriptor sub-type > db 3 ;; OT al que est=E1 conectado > db 01H ;; Retraso de la interfaz > dw 0100H ;; Formato: PCM > ClassSpecificIntrfc1DscrEnd: > > FormatDscr: > db FormatDscrEnd-FormatDscr ;; Descriptor length > db CS_INTERFACE ;; Descriptor type > db FORMAT_TYPE ;; Descriptor sub-type > db FORMAT_TYPE_I ;; Tipo de formato > db 1 ;; N=FAmero de canales > db 2 ;; Bytes por sub frame > db 16 ;; Bits por muestra > db 1 ;; Frecuencias soportadas > db 40H ;; Frecuencia en Hz (LSB) > db 1FH ;; Frecuencia en Hz (CSB) > db 00H ;; Frecuencia en Hz (MSB) > FormatDscrEnd: > > EpI1Dscr: > db EpI1DscrEnd-EpI1Dscr ;; Descriptor length > db DSCR_ENDPNT ;; Descriptor type > db 88H ;; Endpoint number, and direction > db ET_ISO ;; Endpoint type > db 10H ;; Maximun packet size (LSB) > db 00H ;; Maximun packet size (MSB) > db 1 ;; Packet per frame > db 0 ;; Refresh (0 por definici=F3n) > db 0 ;; SyncAddress (0 por definici=F3n) > EpI1DscrEnd: > > CSEpI1Dscr: > db CSEpI1DscrEnd-CSEpI1Dscr ;; Descriptor length > db CS_ENDPOINT ;; Descriptor type > db GENERAL ;; Descriptor sub-type > db 00H ;; Atributos > db 00H ;; Lock delay bits > dw 0000H ;; Lock delay > CSEpI1DscrEnd: > > StringDscr: > StringDscr0: > db StringDscr0End-StringDscr0 ;; String descriptor length > db DSCR_STRING > db 09H,04H > StringDscr0End: > > ----- Original Message ----- > From: "DJ Sisolak" <dsisolak@xxxxxxxxxxxxxxxxxxxxxx> > To: <wdmaudiodev@xxxxxxxxxxxxx> > Sent: Monday, March 10, 2003 3:37 AM > Subject: [wdmaudiodev] Re: USB Audio class device > > > > > > Hello Brian, > > > > I can answer the second part of your message at least. The device = > shows > > up in device manager as "USB Audio Device" in device manager because = > it > > enumerates through the class identifiers in the wdma_usb.inf file. = > Only > > devices which are explicitly called out by this file will show up > > otherwise. > > > > As to why the device does not show the proper controls, I cannot be > > certain without the device in hand. Perhaps if you sent me a listing = > of > > your descriptors I could better understand. > > > > Thanks, > > DJ Sisolak > > Microsoft Corp. > > > > This posting is provided "AS IS" with no warranties, and confers no > > rights. > > > > -----Original Message----- > > From: Brian Toba [mailto:briantoba@xxxxxxxxx]=3D20 > > Sent: Sunday, March 09, 2003 10:47 AM > > To: wdmaudiodev@xxxxxxxxxxxxx > > Subject: [wdmaudiodev] USB Audio class device > > > > Hi, > > > > I've developed a usb audio class device, it's a microphone. An IT, a > > feature > > unit and an OT, it works fine in Windows XP, i mean i can record audio > > in > > the Sound Recorder. The detail is, that i can't find to make windows > > detect > > the feature unit, because when y select my device in Control Pane-> > > Sound > > the Volume button is disabled. I've have programmed the device to = > answer > > to > > GET and SET CUR, MAX, MIN and RES and tested them with Jungo's = > WinDriver > > Wizard. So, wich could be the issue? > > > > Another thing is that when i plug my device, and the balloon pops up, = > it > > says: "Microphone" (My product name) then USB Composite Device (As = > it's > > get > > registered in the Device manager list under USB controllers, then it > > detect > > the "Interface 0" and then USB Class Audio. So far it's nice, but why > > does > > the interface get listed in the Device Manager under Sound, video and > > game > > controller as "USB Class Audio" rather than "Interface 0". Notice that > > in > > Control Pane-> Sound in the dropdown box i have "Interface 0" as the > > device > > name. > > > > Thanks a lot > > > > Afro. > > > > > > ****************** > > > > WDMAUDIODEV addresses: > > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > > Subscribe: =3D > > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3D3Dsubscribe > > Unsubscribe: > > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3D3Dunsubscribe > > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > > > URL to WDMAUDIODEV page: > > http://www.wdmaudiodev.de/ > > > > ****************** > > > > WDMAUDIODEV addresses: > > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > > Subscribe: = > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3Dsubscribe > > Unsubscribe: = > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3Dunsubscribe > > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > > > URL to WDMAUDIODEV page: > > http://www.wdmaudiodev.de/ > > > > > ****************** > > WDMAUDIODEV addresses: > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > Subscribe: = > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3Dsubscribe > Unsubscribe: = > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3Dunsubscribe > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > URL to WDMAUDIODEV page: > http://www.wdmaudiodev.de/ > > ****************** > > WDMAUDIODEV addresses: > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe > Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > URL to WDMAUDIODEV page: > http://www.wdmaudiodev.de/ > ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/