[wdmaudiodev] USB Audio device Hi-Speed

  • From: Danijel Spasojevic <danijel.spasojevic@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Fri, 24 Jul 2009 10:31:39 +0200

Hi everyone,

We are developing an USB Audio Device based on Cypress EZ-USB FX2LP and are experiencing some problems that we believe are related to USB descriptors. The device works on FullSpeed hosts/hubs but not on HiSpeed. The device enumerates in both cases but the recording does not work on Hi Speed. This is a recording device only. We recorded the USB traffic and it seems we are not getting the IN tokens for audio EP. Below is the descriptor for the Hi Speed part.

Could someone take a look to this descriptor. We would appreciate any help.
Does the generic USB audio driver work with Hi Speed USB Audio devices compliant with USB Audio Class 1.0 specification?


Thanks in advance,
Danijel
;;**************************************************Audio******************************************************
;;Standard Interface Descriptor - audio control db DSCR_INTRFC_LEN ;; Descriptor length
     db   DSCR_INTRFC                  ;; Descriptor type
db 01h ;; bIfaceNum - interface number db 00h ;; bAltSetting - Alternate setting 0 (no others) db 00h ;; bNumEndpoints - Number of endpoints = use EP0 only db 01h ;; bIfaceClass - Interface class 01=AUDIO db 01h ;; bIfaceSubClass - Audio Control
     db   00h                                  ;; bIfaceProtocol - none
     db   00h                                  ;; iInterface - no string

Usb_ac_iface_hs:
;;Class Specific Audio Control Interface Descriptor Header
     db   09h                                         ;; bLength
db 24h ;; Audio class specific interface descriptor
     db   01h                                         ;; HEADER type
dw 0001H ;; Specification Version (BCD) db (Usb_ac_iface_end_hs-Usb_ac_iface_hs) mod 256 ;; Total Length (LSB) db (Usb_ac_iface_end_hs-Usb_ac_iface_hs) / 256 ;; Total Length (MSB) db 01h ;; number of streaming interfaces db 02h ;; Interface number=2 belongs to this control IF
;;CS-specific Input Terminal Descriptor
    db   0ch                           ;; bLength
db 24h ;; Audio class specific interface desc
    db   02h                           ;; Input Terminal
    db   IT_ID1                      ;; TerminalID
    dw   0102h                      ;; TerminalType = Microphone
    db   00h                           ;; output AssocTerminal
db 01h ;; Number of Channels dw 0000h ;; wChannelConfig = Mono
    db   00h                           ;; iChannelNames=none
    db   00h                           ;; iTerminal

;;CS-specific Feature Unit Descriptor
db 09h ;; bLength db 24h ;; Audio class specific interface desc
    db   06h                           ;; Feature Unit descriptor
    db   FU_ID2                     ;; Unit ID
    db   IT_ID1                      ;; Source ID
db 01h ;; ControlSize Length in bytes of bmaControls db 03h ;; bmaControls(0) defines supported features in master channel db 00h ;; bmaControls(1) defines supported features in log. channel 0: db 00h ;; iFeature - index of string descriptor, descr. feature unit


;;CS-specific Output Terminal Descriptor
db 09h ;; bLength db 24h ;; Audio class specific interface desc
    db   03h                           ;; Output Terminal
    db   OT_ID3                     ;; TerminalID
    dw   0101h                       ;; TerminalType streaming
db 00h ;; bAssocTerminal=terminalID connect to=0? db FU_ID2 ;; SourceID=TerminalID which is the source for this terminal
    db   00h                            ;; iTerminal=string
Usb_ac_iface_end_hs:

; Standard Interface Descriptor for alternate setting 0
     db   DSCR_INTRFC_LEN          ;; Descriptor length
     db   DSCR_INTRFC                  ;; Descriptor type
     db   02h                ;; bInterfaceNumber
     db   00h                ;; bAlternateSetting 0
     db   00h                ;; bNumEndpoints    Number of endpoints
     db   01h                ;; bIfaceClass    Interface class 01=AUDIO
     db   02h                ;; bIfaceSubClass    Audio Streaming
     db   00h                ;; bIfaceProtocol    none
     db   00h                ;; iInterface    String

;; Standard Interface Descriptor for alternate setting 1
     db   DSCR_INTRFC_LEN              ;; Descriptor length
     db   DSCR_INTRFC                      ;; Descriptor type
     db   02h                ;; bInterfaceNumber
     db   01h                ;; bAlternateSetting 1
     db   01h                ;; bNumEndpoints    Number of endpoints
     db   01h                ;; bIfaceClass    Interface class 01=AUDIO
     db   02h                ;; bIfaceSubClass    Audio Streaming
     db   00h                ;; bIfaceProtocol    none
     db   00h                ;; iInterface    String

;;CS-Audio Streaming Interface General Descriptor for alternate setting
     db   07h                ;; bLength
     db   24h                ;; Audio Class Specific AS Interface Desc.
     db   01h                ;; AS_GENERAL
     db   OT_ID3          ;; TermLink connected to Upstream OT
     db   00h                ;; Delay=0
     dw   0100h            ;; FormatTag=PCM

;; CS-Audio Streaming Interface Format Type 1 Descriptor
    db   0bh                       ;; bLength    ; Format Specification
db 24h ;; Audio Class Specific AS Interface Desc.
    db   02h                       ;; Subtype
    db   01h                       ;; formatType
db 01h ;; NrChannels db 02h ;; SubFrameSize db 10h ;; BitResolution db 01h ;; number of sampling freq
    dw   80bbh                  ;; 48kHz
    db   00h                       ;; hi byte

;;Standard Isochronous Audio Data Endpoint for alternate setting db 09h ;; bLength Length of this descriptor
    db   05h                ;; bDescType    5=ENDPOINT
    db   82h                ;; bEndpointAddr    End Point address
    db   0Dh                ;; bmAttr    ISO syncronous rate
    db   60h                 ;; wMaxPacketSize LSB  96 bytes
    db   00h                 ;; wMaxPacketSize MSB  96 bytes
    db   08h                ;; bInterval
db 00h ;; bRefresh db 00h ;; SyncAddr None

;;CS-Isochronous Audio Data Endpoint Desriptor include for alternate setting
    db   07h                ;; bLength    Length of this descriptor
    db   25h                ;; bDescType    Class specific ENDPOINT
    db   01h                ;; SubType    GENERAL
    db   01h                ;; bmAttr:    Samplingrate
    db   02h                ;; bLockDelayUnits
    dw   0100h           ;; bLockDelay

HighSpeedConfigDscrEnd:

--


******************

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.com/

Other related posts: