xCORE-200-MC-AUDIO Question

If you have a simple question and just want an answer.
New User
Posts: 2
Joined: Sat Feb 08, 2020 11:52 pm

Post by SYN08 »

Having exactly the same problem as the initiator of this thread (and I am a beginner too).

Using Windows 10 with the default USB Audio 2.0 driver provided by MS (Thesycon, in fact, if I understand correctly).

Brand new XK-AUDIO-216-MC-AB xCORE-200 Multichannel Audio board. With the default firmware flashed works like a charm.

Imported the projects in the workspace and trying to build app_usb_aud_xk_216_mc. All USB Audio 1.0 targets are running just fine, the board is recognized as USB 1.0.

Tried building the minimal 2i10o10xxxxxx and the default 2i10o10xsxxxx, absoltely no code changes, both built successfully (with some warning though, nothing earth shaking as far as I can tell, but then again I'm a beginner on this platform). When running (no flashin yet) over the debugger coming wit the board, I get the USB 2.0 dreadful "This device cannot start. (Code 10)" with the details:

Device USB\VID_20B1&PID_0008&MI_00\8&27f7ae39&1&0000 was not migrated due to partial or ambiguous match.
Last Device Instance Id: HDAUDIO\FUNC_01&VEN_14F1&DEV_1F86&SUBSYS_17AA229E&REV_1001\4&207797ee&0&0001
Class Guid: {4d36e96c-e325-11ce-bfc1-08002be10318}
Location Path:
Migration Rank: 0xF000FFFFFFFFF122
Present: false
Status: 0xC0000719

Device USB\VID_20B1&PID_0008&MI_00\8&27f7ae39&1&0000 was configured.
Driver Name: usbaudio2.inf
Class Guid: {4d36e96c-e325-11ce-bfc1-08002be10318}
Driver Date: 06/20/2019
Driver Version: 10.0.18362.207
Driver Provider: Microsoft
Driver Section: usbaudio2_Device.NT
Driver Rank: 0xFF2000
Matching Device Id: USB\Class_01&SubClass_00&Prot_20
Outranked Drivers: wdma_usb.inf:USB\Class_01:00FFFFFF:USB\Class_01&SubClass_00&Prot_20
Device Updated: false
Parent Device: USB\VID_20B1&PID_0008\7&2764c1d6&0&2

Device USB\VID_20B1&PID_0008&MI_00\8&27f7ae39&1&0000 had a problem starting.
Driver Name: usbaudio2.inf
Class Guid: {4d36e96c-e325-11ce-bfc1-08002be10318}
Service: usbaudio2
Lower Filters:
Upper Filters:
Problem: 0xA
Problem Status: 0xC0440025

Removing the offending device and re-detecting leads to the same result. Didn't try the XMOS driver (but I guess if the board is working with the MS driver so should the default build).

I'm stuck, help pretty please!
Alfred Goh wrote: Sat Sep 02, 2017 10:32 am 1. Here is the issue, I downloaded and imported, sw_usb_audio_[sw]_6.15.2rc1, app_usb_aud_xk_216_mc.
The built configuration was 2i10o10xssxxx, no code was modified. When I connect to my Macbook Air and Pro, the audio plays. However, when I connect to my Window 10 Home system (after running XMOS_TUSBAudio_eval_v4.11.0_2017-05-16_setup) and directed to XMOS XK-AUDIO-216-MC-AB...the device status shows "This device cannot start (Code 10)...{Operation Failed} The requested operation was unsuccesful."...Same issue on Windows 7. What am I doing wrong?

User avatar
XCore Addict
Posts: 185
Joined: Tue Mar 26, 2013 12:10 pm

Post by johned »

Have you tried using USBDevView from Nirsoft to remove all cached driver configurations ?
You can sort on VID (XMOS VID is 0x20b1) to make this task easier.
New User
Posts: 2
Joined: Sat Feb 08, 2020 11:52 pm

Post by SYN08 »

Meantime, I solved the problem.

Noted that the board was working (in terms of recognizing the) perfectly fine with the XMOS Thesycon Eval driver, with both the original and recompiled firmware. Which led me to the known issue of #define UAC_FORCE_FEEDBACK_EP (or the makefile equivalent as a flag) which, after rebuilding the firmware woked fine.

I am now having troubles with the PC application that is not working with the new WDM (returns "Unspecified Error"), happens with both the Windows 10 native driver and the Thesycon driver, even in the original firmware, but that's a different problem for now.

I'm not claiming I fully understand the effect of this UAC_FORCE_FEEDBACK_EP flag, but I'm reading that it may lead to an suboptimal implementation for Apple devices. This would be very unfortunate, is this true? If so, is there any other way (except switching to the Thesycon driver) that would allow avoiding using this flag?