• AVR Freaks

Asynchronous OUT endpoint with rate feedback?

Page: 12 > Showing page 1 of 2
Author
madhureddy
New Member
  • Total Posts : 9
  • Reward points : 0
  • Joined: 2009/05/19 01:55:00
  • Location: 0
  • Status: offline
2009/05/19 01:58:00 (permalink)
0

Asynchronous OUT endpoint with rate feedback?

Hi USB experts,
 
I have been struggling on Isochronous transfers. Here is my problem.
 
I am developing a USB audio class 1.0 device which uses an async OUT endpoint which is associated with a feedback IN endpoint in windows vista environment.
 
I heard that packet sizes change with the feedback value. I am not able to do this.
 
I am really in confusion with this feedback endpoint. I have so many doubts about this.
 
1) Host will ask for feedback info for every 2(pow)brefresh millisecond. am i right?
2) If host asks for feedback info how device will know about this host request.
3) Device need to send feedback info in 10.14 format.
 
I am developing a USB audio class 1.0 with the following properties.
 
Sample frequency : 32000 Khz.
Bits Per Sample : 16
Number of channels : 1
brefresh value is set to 5.
Max.Pkt size value is set to 64.
 
The feedback info was prepared in 10.14 format like below.
 
NbrSamplesPerFrame = 16;
NbrSamplesPerFrame <<= 14;
 
Is my feedback info was right in 10.14 format.
 
If you have answers for these it is really helpful for me.
If you have any queries or if you didn’t understand the question please let me know.
 
Thanks.
#1

24 Replies Related Threads

    sc6po
    Senior Member
    • Total Posts : 133
    • Reward points : 0
    • Joined: 2006/06/28 01:52:36
    • Location: France
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/19 02:59:31 (permalink)
    0
    Hi,
    There were old threads about this, you should get a look at these discussion between stefanopod and myself.
    - Packet size : either packet size can change or you fill packet with empty data.
    - "I'm not able to do this" :  there is a bit  in bmAttributes (D7=1 => MaxpacketsOnly)...Check this one.
    - feedback refresh every 2e5s asked by the host.
    - Device knows about feedback request because feedback Endpoint.UOWN = _UCPU  (the prev value has been read, so update the next one)
    - 10.14 : the data in 10.14 is the average number of samples to send every 1ms...You should have 32 (guess it is 32kHz...not 32000kHz), so  (32<<=14)
    Check out this :  www.usb.org/developers/presentations/pres0500/Knapen_IsoSynch.ppt
    #2
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/19 03:30:53 (permalink)
    0
    Thanks for reply.
     
    sorry, it is 32kHz...not 32000kHz. thanks for correction.
     
    i have read the discussions between stefanopod and yourself.that's really helpful.i learnt a lot from that. but still in confusion.
     
    i  read from some of the forums that "number of samples per frame" changes with the feedback info, is that right? 
     
    Is there any way to know about feedback request to the device (like SET_INTERFACE, GET_INTERFACE etc)?
     
    I didn't understand "feedback Endpoint.UOWN = _UCPU  (the prev value has been read, so update the next one) " please explain in detail.

    thanks.
    #3
    sc6po
    Senior Member
    • Total Posts : 133
    • Reward points : 0
    • Joined: 2006/06/28 01:52:36
    • Location: France
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/19 04:33:34 (permalink)
    0

    Async Isoc Feedback is part of the Playback Isco communication schem.
    Isoc Data Endpoint does not need setup (unlike control or interrupt transfer).
    Neither does Feedback Endpoint.
    So what you do is prepare the BDT so that data is ready when the host ask the data to the sie ( EPxx In token).
    When it has been read, the EPxx.Stats.UOWN bit is set to _UCPU, and the USB stack is updated.  ( UOWN = BDT owner, either CPU or SIE)
    Then you know the feedback has been read by the host.
    Then you know you got to update the value.
    All you need to do is prepare the data that will be picked up by the host.


    #4
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/19 22:16:05 (permalink)
    0
    hi sc6po,
     
    In which scenario, "SYNCH FRAME" request is used?
     
    "Number of samples per frame" changes with the feedback info, is that right?
     
    whenever the host ask the data to the sie  EPxx In token interrupt is raised, is that you mean ?
     
    thanks.
    #5
    sc6po
    Senior Member
    • Total Posts : 133
    • Reward points : 0
    • Joined: 2006/06/28 01:52:36
    • Location: France
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/19 23:33:09 (permalink)
    0
    Don't know, I've never used it.
    Seems to be for implicit feedback.
    Yes, the nmuber of samples per frame changes, so that the average value is the one you have set in feedback...
    Whenever the host ask the data to the sie, the sie release the Data set (BDT) and give it back to CPU...This process generates a USTAT update and UIR bits udpate.
    #6
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/20 00:51:27 (permalink)
    0
    hi
     
    Thanks for reply.
     
    I am developing a audio device on LPC3250 controller. so the LPC3250 controller doesn't have USTAT and UIR bits.
     
    so, I tried to send feedback info for every 1ms(every SOF). still the Number of samples per frame didn't change. do you have any idea.
    #7
    sc6po
    Senior Member
    • Total Posts : 133
    • Reward points : 0
    • Joined: 2006/06/28 01:52:36
    • Location: France
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/20 01:21:47 (permalink)
    0
    Seems your µC handles isoc endpoints a specific way.
    But you can use the Frame itnerrupt to update your feeback each 1ms...
    You only need to validate the data.
    The host will come and pick it if ti is validated, if not validted, it will try again...
    #8
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/20 06:22:04 (permalink)
    0
    I am developing a USB audio class 1.0 with the following properties.

    Sample frequency : 32 Khz.
    Bits Per Sample : 16
    Number of channels : 1
     
    as per data above device will receive 32 samples per frame. But i want to receive only 16 samples per frame.

    so, The feedback info was prepared in 10.14 format like below. This feedback info was sent to host for every ms.

    NbrSamplesPerFrame = 16; (Only integer part)
    NbrSamplesPerFrame <<= 14;

    Is my feedback info was right in 10.14 format?
    #9
    sc6po
    Senior Member
    • Total Posts : 133
    • Reward points : 0
    • Joined: 2006/06/28 01:52:36
    • Location: France
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/20 07:07:13 (permalink)
    0
    The computation is correct. But the host check for the validity of the value...How? ...It depends on your host...
    #10
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/20 07:55:24 (permalink)
    0
    I am developing a USB audio class 1.0 device in windows vista environment.does it had any problems?
    #11
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/20 23:50:32 (permalink)
    0
    hi
     
    i have analyzed USB Audio device through "USB Monitor". I have noticed that host will reset the feedback IN endpoint and feedback info was taken. But the packet size is not alterring according to feedback info. Does anybody can help me out.
     
    thanks. 
    #12
    xiaofan
    Super Member
    • Total Posts : 6247
    • Reward points : 0
    • Joined: 2005/04/14 07:05:25
    • Location: Singapore
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/21 05:59:24 (permalink)
    0
    I saw your same question in USB.org forum (where many USB experts are in) without an answer.
    https://www.usb.org/phpbb/viewtopic.php?t=14392
    It seems there are only a handful of people in the world who knows this topic. sc6po is one of them.

    Anyway, not so sure if this helps.
    http://www.techtalkz.com/windows-help/19805-usbaudio-sys-bug-asynchronous-out-enpoint-rate-feedback.html
    So it can be done but how it can be done is another story.

    The Microsoft presentation is interesting.
    http://ampalliance.org/files/folders/summit_decks/entry77.aspx

      USB_Links and libusb
    #13
    xiaofan
    Super Member
    • Total Posts : 6247
    • Reward points : 0
    • Joined: 2005/04/14 07:05:25
    • Location: Singapore
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/21 06:03:17 (permalink)
    0
    Just in case that forum archive is not available in the future, here is the copy.
    http://www.techtalkz.com/windows-help/19805-usbaudio-sys-bug-asynchronous-out-enpoint-rate-feedback.html

    I am developing a USB audio class 1.0 device which uses an async OUT
    endpoint which is associated with a feedback IN endpoint. Everything is
    working normally in the sense that my device is recognized, usb frames with
    the audio are sent etc. I verified this with a USB bus analyzer.

    The problem is that when I enable the feedback functionality, the usb frames
    to my OUT endpoint have skipping problems. Basically the frames/data sent
    over the USB bus are out of order. Instead of the order being the expected
    1,2,3...10,11... I get 1,2.3..8,9,20,11,12,13..19,30,31,32 etc.

    This happens even when the feedback value is the same as the device sample
    rate. Everything else works. The packet sizes change with the feedback
    value etc, so it looks like the USB device firmware and usbaudio.sys are
    correctly communicating. The only wrong thing is this frame skipping problem.

    This is under Vista with latest updates as well as Windows 7 beta. I even
    tried Vista SP2 RC with no change. This happens with WASAIP as well as ASIO
    and different playersand multiple computers, so it is not the players or
    hardware. Offhand I don't know if it happens with regular/non-WASPI audio
    since those streams mess up the audio data anyway. Since I verified this
    with a USB bus analyzer I can say with certainty that vista is simply sending
    the frames out of order.

    So, I believe that usbaudio.sys or surrounding layers have some sort of
    buffer overrun problem and are writing over a frame buffer which has not been
    sent yet.

    Any ideas? Everything is pointing at USBaudio.sys. Unfortunately the
    driver source is not available so there is no way for me to fix the bug
    (unlike Linux and OSX). Or is it possible to get the sources? I have done
    Vista driver development so it would be not problem to debug this problem...

    Thanks

    Philip



    Checkout this presentation, there may be a hint for you e.g. refresh may not
    be less than 4:
    http://ampalliance.org/files/folders...s/entry77.aspx

    Leo



    Thanks Leo, that document was very helpful. I actually looked through this
    before and therefore I always used a refresh values of 5 or 9, so this was
    not the problem.

    Looking through it again, though, the document recommended creating separate
    settings for different wMaxPacketSize sizes (in order to conserve bandwidth).
    I simply used a single setting and set wMaxPacketSize to 1024. This should
    work, and does work without feedback, but for some reason this caused the
    feedback problems I had.

    Now I created separate settings and set wMaxPacketSize to be only slightly
    larger than what is required for the given sample rate and feedback works as
    expected.

    So, it appears that there is a bug in usbaudio.sys (since it should have
    worked before), but this is easily worked around by using separate settings -
    which should be done anyway to conserve bus bandwidth.

    Anyway, thanks again and I will post back with my final results since I have
    not done much testing with this new configuration yet....

    Cheers

    Philip



    So things are working better. I can even do 192/24bit audio by using a high
    bandwidth endpoint with 2 transactions pre frame. Feedback is also working
    properly now except for one case:

    When running at 192/24 and setting the feedback value to be one greater than
    required by the sample rate (193 samples), the system blue screens
    immediately every time.

    This is on Vista with SP2 RC and SP1. Since it is a blue screen crash, I
    think this should be fixed for SP2. How do I get the necessary infomration
    to MS for them to fix this? I could upload a crash dump. I looked through
    the connect web site and cannot find any place to add a bug report for
    Vista/Sp2...

    Thanks

    Philip


      USB_Links and libusb
    #14
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/21 06:27:33 (permalink)
    0
    hi xiaofan,
     
    yes, you are right. A very few people responding for this topic. sc6po is one of them.
     
    I have also gone through the forum given as a hint. In that post he is saying that he is able to change the packet size with feedback info, but i am not able to do that. How to do that is cracking my brain.
     
     
     
     
    #15
    xiaofan
    Super Member
    • Total Posts : 6247
    • Reward points : 0
    • Joined: 2005/04/14 07:05:25
    • Location: Singapore
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/21 06:55:31 (permalink)
    0
    It seems to me that some Creative device may use this method. So you can probably buy one of them and see how they work.

    Example: http://www.audioasylum.com/forums/pcaudio/messages/7719.html
    Creative Audigy 2 NX

    Example: http://www.clarestudio.org/music/status.html
    E-MU 0404 | USB

    Example: Creative Technology, Ltd SoundBlaster MP3+ (this might be cheap)
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/34002


    Bus 001 Device 010: ID 041e:3010 Creative Technology, Ltd SoundBlaster MP3+
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 1.10
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 64
    idVendor 0x041e Creative Technology, Ltd
    idProduct 0x3010 SoundBlaster MP3+
    bcdDevice 1.00
    iManufacturer 0
    iProduct 1 USB Audio
    iSerial 0
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 294
    bNumInterfaces 3
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
    (Bus Powered)
    MaxPower 500mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 0
    bInterfaceClass 1 Audio
    bInterfaceSubClass 1 Control Device
    bInterfaceProtocol 0
    iInterface 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 1 (HEADER)
    bcdADC 1.00
    wTotalLength 169
    bInCollection 2
    baInterfaceNr( 0) 1
    baInterfaceNr( 1) 2
    AudioControl Interface Descriptor:
    bLength 12
    bDescriptorType 36
    bDescriptorSubtype 2 (INPUT_TERMINAL)
    bTerminalID 1
    wTerminalType 0x0101 USB Streaming
    bAssocTerminal 0
    bNrChannels 2
    wChannelConfig 0x0003
    Left Front (L)
    Right Front (R)
    iChannelNames 0
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 12
    bDescriptorType 36
    bDescriptorSubtype 2 (INPUT_TERMINAL)
    bTerminalID 2
    wTerminalType 0x0201 Microphone
    bAssocTerminal 0
    bNrChannels 2
    wChannelConfig 0x0003
    Left Front (L)
    Right Front (R)
    iChannelNames 0
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 12
    bDescriptorType 36
    bDescriptorSubtype 2 (INPUT_TERMINAL)
    bTerminalID 3
    wTerminalType 0x0603 Line Connector
    bAssocTerminal 0
    bNrChannels 2
    wChannelConfig 0x0003
    Left Front (L)
    Right Front (R)
    iChannelNames 0
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 12
    bDescriptorType 36
    bDescriptorSubtype 2 (INPUT_TERMINAL)
    bTerminalID 4
    wTerminalType 0x0605 SPDIF interface
    bAssocTerminal 0
    bNrChannels 2
    wChannelConfig 0x0003
    Left Front (L)
    Right Front (R)
    iChannelNames 0
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 9
    bDescriptorType 36
    bDescriptorSubtype 3 (OUTPUT_TERMINAL)
    bTerminalID 5
    wTerminalType 0x0605 SPDIF interface
    bAssocTerminal 0
    bSourceID 1
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 9
    bDescriptorType 36
    bDescriptorSubtype 3 (OUTPUT_TERMINAL)
    bTerminalID 6
    wTerminalType 0x0301 Speaker
    bAssocTerminal 0
    bSourceID 9
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 9
    bDescriptorType 36
    bDescriptorSubtype 3 (OUTPUT_TERMINAL)
    bTerminalID 7
    wTerminalType 0x0101 USB Streaming
    bAssocTerminal 0
    bSourceID 8
    iTerminal 0
    AudioControl Interface Descriptor:
    bLength 9
    bDescriptorType 36
    bDescriptorSubtype 5 (SELECTOR_UNIT)
    bUnitID 8
    bNrInPins 3
    baSource( 0) 10
    baSource( 1) 11
    baSource( 2) 12
    iSelector 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 6 (FEATURE_UNIT)
    bUnitID 9
    bSourceID 15
    bControlSize 1
    bmaControls( 0) 0x01
    Mute
    bmaControls( 1) 0x02
    Volume
    bmaControls( 2) 0x02
    Volume
    iFeature 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 6 (FEATURE_UNIT)
    bUnitID 10
    bSourceID 2
    bControlSize 1
    bmaControls( 0) 0x43
    Mute
    Volume
    Automatic Gain
    bmaControls( 1) 0x00
    bmaControls( 2) 0x00
    iFeature 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 6 (FEATURE_UNIT)
    bUnitID 11
    bSourceID 3
    bControlSize 1
    bmaControls( 0) 0x01
    Mute
    bmaControls( 1) 0x02
    Volume
    bmaControls( 2) 0x02
    Volume
    iFeature 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 6 (FEATURE_UNIT)
    bUnitID 12
    bSourceID 4
    bControlSize 1
    bmaControls( 0) 0x01
    Mute
    bmaControls( 1) 0x00
    bmaControls( 2) 0x00
    iFeature 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 6 (FEATURE_UNIT)
    bUnitID 13
    bSourceID 2
    bControlSize 1
    bmaControls( 0) 0x03
    Mute
    Volume
    bmaControls( 1) 0x00
    bmaControls( 2) 0x00
    iFeature 0
    AudioControl Interface Descriptor:
    bLength 10
    bDescriptorType 36
    bDescriptorSubtype 6 (FEATURE_UNIT)
    bUnitID 14
    bSourceID 3
    bControlSize 1
    bmaControls( 0) 0x01
    Mute
    bmaControls( 1) 0x02
    Volume
    bmaControls( 2) 0x02
    Volume
    iFeature 0
    AudioControl Interface Descriptor:
    bLength 15
    bDescriptorType 36
    bDescriptorSubtype 4 (MIXER_UNIT)
    bUnitID 15
    bNrInPins 3
    baSourceID( 0) 1
    baSourceID( 1) 13
    baSourceID( 2) 14
    bNrChannels 2
    wChannelConfig 0x0003
    Left Front (L)
    Right Front (R)
    iChannelNames 0
    bmControls 0x00
    iMixer 0
    junk at descriptor end: 00
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 1
    bAlternateSetting 0
    bNumEndpoints 0
    bInterfaceClass 1 Audio
    bInterfaceSubClass 2 Streaming
    bInterfaceProtocol 0
    iInterface 0
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 1
    bAlternateSetting 1
    bNumEndpoints 1
    bInterfaceClass 1 Audio
    bInterfaceSubClass 2 Streaming
    bInterfaceProtocol 0
    iInterface 0
    AudioStreaming Interface Descriptor:
    bLength 7
    bDescriptorType 36
    bDescriptorSubtype 1 (AS_GENERAL)
    bTerminalLink 1
    bDelay 3 frames
    wFormatTag 1 PCM
    AudioStreaming Interface Descriptor:
    bLength 11
    bDescriptorType 36
    bDescriptorSubtype 2 (FORMAT_TYPE)
    bFormatType 1 (FORMAT_TYPE_I)
    bNrChannels 2
    bSubframeSize 2
    bBitResolution 16
    bSamFreqType 1 Discrete
    tSamFreq[ 0] 48000
    Endpoint Descriptor:
    bLength 9
    bDescriptorType 5
    bEndpointAddress 0x01 EP 1 OUT
    bmAttributes 9
    Transfer Type Isochronous
    Synch Type Adaptive
    Usage Type Data
    wMaxPacketSize 0x00c8 1x 200 bytes
    bInterval 1
    bRefresh 0
    bSynchAddress 0
    AudioControl Endpoint Descriptor:
    bLength 7
    bDescriptorType 37
    bDescriptorSubtype 1 (EP_GENERAL)
    bmAttributes 0x00
    bLockDelayUnits 1 Milliseconds
    wLockDelay 4 Milliseconds
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 2
    bAlternateSetting 0
    bNumEndpoints 0
    bInterfaceClass 1 Audio
    bInterfaceSubClass 2 Streaming
    bInterfaceProtocol 0
    iInterface 0
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 2
    bAlternateSetting 1
    bNumEndpoints 1
    bInterfaceClass 1 Audio
    bInterfaceSubClass 2 Streaming
    bInterfaceProtocol 0
    iInterface 0
    AudioStreaming Interface Descriptor:
    bLength 7
    bDescriptorType 36
    bDescriptorSubtype 1 (AS_GENERAL)
    bTerminalLink 7
    bDelay 1 frames
    wFormatTag 1 PCM
    AudioStreaming Interface Descriptor:
    bLength 14
    bDescriptorType 36
    bDescriptorSubtype 2 (FORMAT_TYPE)
    bFormatType 1 (FORMAT_TYPE_I)
    bNrChannels 2
    bSubframeSize 2
    bBitResolution 16
    bSamFreqType 2 Discrete
    tSamFreq[ 0] 48000
    tSamFreq[ 1] 44100
    Endpoint Descriptor:
    bLength 9
    bDescriptorType 5
    bEndpointAddress 0x82 EP 2 IN
    bmAttributes 5
    Transfer Type Isochronous
    Synch Type Asynchronous
    Usage Type Data
    wMaxPacketSize 0x00c8 1x 200 bytes
    bInterval 1
    bRefresh 0
    bSynchAddress 0
    AudioControl Endpoint Descriptor:
    bLength 7
    bDescriptorType 37
    bDescriptorSubtype 1 (EP_GENERAL)
    bmAttributes 0x01
    Sampling Frequency
    bLockDelayUnits 0 Undefined
    wLockDelay 0 Undefined
    Device Status: 0x0000
    (Bus Powered)

    #16
    madhureddy
    New Member
    • Total Posts : 9
    • Reward points : 0
    • Joined: 2009/05/19 01:55:00
    • Location: 0
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/22 00:05:39 (permalink)
    0
    hey,

    my problem got solved. reason:

    The feedback pipe was not intended to allow a sample rate that is that far from the nominal value. It is intended to adjust as becomes necessary for device FIFOs and is limited to +/- 10% from the nominal rate.

    My device will receive 32 samples per frame. But i adjusted to receive only 16 samples per frame which is wrong(50 % decrese). It is intended to adjust as becomes necessary for device FIFOs and is limited to +/- 10% from the nominal rate.

    have a nice day.
    post edited by madhureddy - 2009/05/22 00:11:14
    #17
    xiaofan
    Super Member
    • Total Posts : 6247
    • Reward points : 0
    • Joined: 2005/04/14 07:05:25
    • Location: Singapore
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/22 00:18:52 (permalink)
    0
    Thanks for reporting back and glad to hear that you solved the problem.

      USB_Links and libusb
    #18
    sc6po
    Senior Member
    • Total Posts : 133
    • Reward points : 0
    • Joined: 2006/06/28 01:52:36
    • Location: France
    • Status: offline
    RE: Asynchronous OUT endpoint with rate feedback? 2009/05/25 00:26:37 (permalink)
    0
    Sometimes, I may not be cristal clear...One issue after the other...
    But this was what I meant by "The computation is correct. But the host check for the validity of the value...How? ...It depends on your host..."
    One other thing you got to check...is your max packet data valid? Can you achieve your max freq with the maxpacket value you uses...
    #19
    alexlee188
    New Member
    • Total Posts : 3
    • Reward points : 0
    • Joined: 2010/09/30 07:43:56
    • Location: 0
    • Status: offline
    Re: RE: Asynchronous OUT endpoint with rate feedback? 2010/09/30 07:57:21 (permalink)
    0
    Hi,

    I have a question about audio playback with ASYNC OUT with rate feedback.

    I'm using UAC1 but with a HIGH speed USB port.  The feedback rate format is supposed to be 10.14 in 3 bytes  (with a FS UAC1 device), and 16.16 in 4 bytes in accordance with USB2.0 ISOCHRONOUS feedback specs.

    However, when the host is Linux, the UAC driver expects a format of 12.13 in 4 bytes.  This has been confirmed with my testing.

    Now I'm trying to make rate feedback work in Mac OSX (Snow Leopard), Win Vista and Win 7.

    So my question is:  what is the rate feedback format for OSX, Vista and Win7, for ASYNC OUT using UAC1 and HIGH speed USB port ?

    Thanks.

    Alex
    #20
    Page: 12 > Showing page 1 of 2
    Jump to:
    © 2019 APG vNext Commercial Version 4.5