Bernard,
That is also the setting that Thesycon suggests in their usage details.
All of my bintervals are set to 4 now as well. We had used 8 in the past
without issues as well, but the newer Thesycon drivers do not like that
as much.
Thanks,
Gordon
On 2/9/15 12:40 PM, 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]
--
J. Gordon Rankin
Owner and Chief Scientist
====== Wavelength Audio, ltd ======
High-End Audio since 1981
SET Tube Amplifiers, DACS & Preamps
http://www.WavelengthAudio.com
===================================
Computer Audio, USB DACS
http://www.USBDacs.com
===================================
Tube Guitar Amplifiers
NAMM Member since 1998
http://www.Guitar-Engines.com
===================================
6902 Murray Avenue
Cincinnati, Ohio 45227 USA
mailto: [email protected]
(513) 271-4100 phone/voicemail
_______________________________________________
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]