Chris,

thank you, now the feedback is sometimes queried once :). It's at least some kind of progress....

Best regards,

Bernhard

On 2015-02-09 18:40, Chris McErlean wrote:
Hello Bernhard,

I have compared your configuration descriptor with that which I created for our products. 
 There is nothing obviously wrong with your descriptor.  However, I have found that 
setting "bInterval" to 1 for the feedback endpoint does not work in Mac OS X: 
there are no IN transactions from that endpoint.  The problem does not seem to exist on 
Windows.

For my devices, bInterval is set to 4 meaning that the endpoint requests 
polling every 8 micro-frames - i.e. every 1mS.  This works for both Mac OS X 
and Windows, but whereas Windows polls the endpoint every 1mS, OS X polls it 
every 8mS!

Try changing bInterval to 4 in your feedback endpoint descriptor to see if this 
works for you.

Hope this helps.

Kind regards,
Chris

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Ing. 
Bernhard Schauer
Sent: 06 February 2015 14:18
To: [email protected]
Cc: [email protected]
Subject: Re: USB Audio Device Class v2: explicit feedback supported?

Hello Gordon,

thank you for your reply.  I've now dumped all my config descriptor and double 
checked with the spec. As far as I've seen, everything should be ok. Could you 
please be so kind and have a short look too at it? Maybe I just looked over it. 
I'm just curious, as the device works under Windows and Linux without issues .

      Configuration Descriptor
          Length (and contents):   152
              Raw Descriptor (hex)    0000: 09 02 98 00 02 01 00 80 70 08
0B 00 02 01 00 20
              Raw Descriptor (hex)    0010: 00 09 04 00 00 00 01 01 20 00
09 24 01 00 02 0A
              Raw Descriptor (hex)    0020: 40 00 00 08 24 0A 01 03 07 03
00 11 24 02 02 01
              Raw Descriptor (hex)    0030: 01 00 01 02 03 00 00 00 00 00
00 00 12 24 06 04
              Raw Descriptor (hex)    0040: 02 0F 00 00 00 0F 00 00 00 0F
00 00 00 00 0C 24
              Raw Descriptor (hex)    0050: 03 03 01 03 00 04 01 00 00 00
09 04 01 00 00 01
              Raw Descriptor (hex)    0060: 02 20 00 09 04 01 01 02 01 02
20 00 10 24 01 02
              Raw Descriptor (hex)    0070: 00 01 01 00 00 00 02 03 00 00
00 00 06 24 02 01
              Raw Descriptor (hex)    0080: 04 18 07 05 01 05 D0 00 01 08
25 01 00 00 01 00
              Raw Descriptor (hex)    0090: 01 07 05 81 11 04 00 01
          Number of Interfaces:   2
          Configuration Value:   1
          Attributes:   0x80 (bus-powered)
          MaxPower:   224 mA
          Interface Association   Audio/Unknown
              First Interface   0
              Interface Count   2
              Function Class   1   (Audio)
              Function Subclass   0   (Unknown)
              Interface Protocol   32
              Function String   0 (none)
          Interface #0 - Audio/Control
              Alternate Setting   0
              Number of Endpoints   0
              Interface Class:   1   (Audio)
              Interface Subclass;   1   (Control)
              Interface Protocol:   32
              Audio Control Class Specific Header
                  Descriptor Version Number:   02.00
                  Category:   10
                  Class Specific Size:   64
                  bmControls:   0
                  Dump Contents (hex):   09 24 01 00 02 0A 40 00 00
              Audio Class Specific Clock Source
                  Clock ID:   1
                  Attributes:   Internal Programmable Clock
                  Controls:   7
                  Associated Terminal:   3
                  Clock Source Name String Index:   0 [NONE]
                  Dump Contents (hex):   08 24 0A 01 03 07 03 00
              Audio Class Specific Input Terminal
                  Terminal ID:   2
                  Input Terminal Type:   0x101 (USB streaming)
                  OutTerminal ID:   0 [NONE]
                  Number of Channels:   2
                  Spatial config of channels:   0000000000000011
                                    ^.  Left Front
                                   ^..  Right Front
                  String index for first logical channel:   0
                  Terminal Name String Index:   0 [NONE]
                  Dump Contents (hex):   11 24 02 02 01 01 00 01 02 03 00
00 00 00 00 00
                  Dump Contents (hex):   00
              Audio Class Specific Feature
                  Unit ID:   4
                  Source ID:   2
                  Number of Channels (ch):   2
                      Master Channel:......................... ( Mute:RW 
Volume:RW  )
                      Channel 1:............................. ( Mute:RW 
Volume:RW  )
                      Channel 2:............................. ( Mute:RW 
Volume:RW  )
                  Feature Unit Name String Index:   0
                  Dump Contents (hex):   12 24 06 04 02 0F 00 00 00 0F 00
00 00 0F 00 00
                  Dump Contents (hex):   00 00
              Audio Class Specific Output Terminal
                  Terminal ID:   3
                  Output Terminal Type:   0x301 (Speaker)
                  InTerminal ID:   0 [NONE]
                  Source ID:   4
                  Terminal Name String Index:   0 [NONE]
                  Dump Contents (hex):   0C 24 03 03 01 03 00 04 01 00 00 00
          Interface #1 - Audio/Streaming
              Alternate Setting   0
              Number of Endpoints   0
              Interface Class:   1   (Audio)
              Interface Subclass;   2   (Streaming)
              Interface Protocol:   32
          Interface #1 - Audio/Streaming (#1)
              Alternate Setting   1
              Number of Endpoints   2
              Interface Class:   1   (Audio)
              Interface Subclass;   2   (Streaming)
              Interface Protocol:   32
              Audio Control Class Specific Header
                  Audio Stream General
                      Endpoint Terminal ID:   2
                      Format Type:   1
                      Formats   PCM
                      Number of Channels   2
                      Channel Configuration   3
                      Dump Contents (hex):   10 24 01 02 00 01 01 00 00
00 02 03 00 00 00 00
              Audio Class Specific Audio Data Format
                  Audio Stream Format Type Desc.
                      Format Type:   1
                      Slot Size:   4
                      Bit Resolution:   24
                      Dump Contents (hex):   06 24 02 01 04 18
              Endpoint 0x01 - Isochronous Output
                  Address:   0x01  (OUT)
                  Attributes:   0x05  (Isochronous asynchronous data
endpoint)
                  Max Packet Size:   0x00d0  (208 x 1  transactions
opportunities per microframe)
                  Polling Interval:   1 (1 microframe (125 microsecs) )
              Class-Specific AS Audio EndPoint
                  Attributes:   0x00
                  bmControls:   0x00
                  bLockDelayUnits:   0x01  (Milliseconds)
                  wLockDelay:   256 ms
              Endpoint 0x81 - Isochronous Input
                  Address:   0x81  (IN)
                  Attributes:   0x11  (Isochronous no synchronization
feedback endpoint)
                  Max Packet Size:   0x0004  (4 x 1  transactions
opportunities per microframe)
                  Polling Interval:   1 (1 microframe (125 microsecs) )

Thank you,

Bernhard

On 2015-02-05 21:47, Gordon Rankin wrote:
Bernard,

On 2/5/15 3:00 PM, [email protected] wrote:
As it seems the feedback is never queried by OS X and so there are
clicks in the final audio stream.
If you do not see "IN's" for your feedback pipe then your descriptor
tables have not correctly linked the output and feedback pipes
according to spec.

You can get copies of USBProber from the dev kit and dump you tables
to see were the problem is.

Thanks,
Gordon

  _______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/cmcerlean%40bwgroup.com

This email sent to [email protected]



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to