Page 1 of 2

USB Audio 1.0 in xCORE-200 MC Audio

Posted: Tue Apr 26, 2016 8:00 am
by jarbona
Hello,

For our product, we would like to have the option to boot in either USB Audio 1.0 (driverless) or 2.0. When I download/flash the 1i2o2xxx... configuration, the board will enumerate correctly. However, for whatever reason, Windows will not play audio. If you go to the Windows sound properties and click the Test button (sample rate selection window), it throws a "Failed to play test tone." error.

It works fine in USB Audio 2.0 configurations.

I am using Windows 7 and the xCORE-200 MC AUDIO 2V0 board. USB Audio reference source code: 6.15.2rc1

Thanks and Regards,
Jorge

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Tue Apr 26, 2016 9:59 am
by Ross
As a test, try changing the UAC1 PID and rebuilding - you might have a driver caching issue.

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Tue Apr 26, 2016 12:51 pm
by jarbona
Hi Ross,

I used a completely different PID as you suggested and it is still having issues. Could you try testing the 1i2o2xxx... configuration on the latest release 6.15.2rc1 with the xCORE-200 MC AUDIO board? I just want to make sure the problem is not the reference code.

Thanks a lot,
Jorge

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Mon Jul 18, 2016 6:55 am
by fchin
Hi Ross,

I'm having the same issue as Jorge. Neither "1i2o2xxxxxx" nor "2i8o2xxxxxx" works. My xCORE-200 MC AUDIO board is connected to a Windows 7 PC and it keeps failing to play a test tone. I did try adding the "-DCODEC_MASTER=1" flag in the Makefile but it didn't help. I also tried changing the UAC1 PID to make the Windows re-enumerates every time I built the code.

USB Audio 2.0 using the "2i10o10xxxxxx_slave" configuration works OK after installing the evaluation driver.

Could you please help validate the sample code "sw_usb_audio-[sw]_6.15.2rc1"?

Thanks,
Frankie

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Mon Jul 18, 2016 3:53 pm
by Ross
Hi guys,

I've just tried the 1i202xxx config on the MC board and it checks out fine for me (admittedly on my Mac rather than Windows)

I double checked the USB trace and it looks good, I also don't see any test failures here.

Cheers
Ross

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Tue Jul 19, 2016 12:35 am
by fchin
Hi Ross,

Thanks for your quick response. I tested the 1i2o2xxxxxx config on a Mac book in the office and the audio was coming out fine from the MC board. What do you suggest me to do to get it working on Windows 7?

We do have an enterprise support license. Do you think I should lodge a support ticket?

One other observation i.e. Mac is not detecting any input signal from the MC board. I've tried all the 4 line inputs on the board.

Regards,
Frankie

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Tue Jul 19, 2016 11:18 am
by Ross
I can't see any issues on our regression results but i'll manually double check Windows.

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Tue Jul 19, 2016 4:05 pm
by Ross
There is an issue with the built in Windows UAC driver where is doesn't like implicit feedback for the output interface. You might have noted that input does operate. To work around this you can forcibly turn on the feedback endpoint e.g.

Code: Select all

# Audio Class 1, 2 channels Input, 2 channels Output, no MIDI, no SPDIF
XCC_FLAGS_1i2o2xxxxxx = $(BUILD_FLAGS) -DAUDIO_CLASS=1 -DUAC_FORCE_FEEDBACK_EP=1 
INCLUDE_ONLY_IN_1i2o2xxxxxx =
My initial view was that this issue only came about when the input and output stream formats/channel counts differed (hence the note in app_usb_aud_mic_array/makefile) but experiments today suggest that there is a blanket issue with implicit feedback.

I will investigate further.

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Wed Jul 20, 2016 2:41 am
by fchin
Hi Ross,

Thanks for your fix. I tested the "feedback endpoint" solution and the Windows 7 test tone is now playing out from the MC board line output beautifully.

One question: Will it work if we switch from asynchronous to synchronous mode and disable the feedback endpoint? I got this idea from comparing the endpoint descriptors with those of a Logitech USB headset.

Regards,
Frankie

Re: USB Audio 1.0 in xCORE-200 MC Audio

Posted: Wed Jul 20, 2016 10:40 am
by Ross
Synchronous mode will with with usbaudio.sys but you would have to change the design to sync the audio stream to the USB SOFs from the host. You could do this using an external clock multiplier (e.g. Cirrus CS2100) or sample rate conversion. Proper operation would not just be a case of simply changing the descriptors.

Enabling the feedback endpoint is a reasonable work around - the code base used to do this by default until fairly recently (hence this issue popping up)