UMIK microphone not recognized

Hello,
We built an app to detect ambient noise by recording audio with external microphones, based on the waveform demo sample code available on your site and following the these suggestions about swapping audio devices.

It indeed works fine with the waveIn APIs, we are able to record audio and monitor the relative octave bands.
We initially tested the feasibility by calling waveInGetNumDevs with this simple audio adapter and it works fairly.

But when we connected our intended target microphone, UMIK-1 of miniDSP, we have not been able to make it recognized by our wince7 device.
As expected, when plugged no driver are asked to be installed, still the waveInDevNumCaps call return 1. Maybe the device is not seen as a waveform input device? Or maybe it is loaded under another driver?

I certainly don’t expect a full-fledged solution related to a third-paty external device, but any help or suggestion on where to look or what to specifically ask to better interface with the mic producer, would be really appreciated. Thank you

Dear @EnricoPompeiani

The microphone input is just an analog input to the Colibri board. There’s no detection whether any microphone is connected or not, and the driver is always loaded.
To be precise the SODIMM pin 1(MIC_IN) is routed through a 1μF capacitor to the audio Codec WM97115L, pin 21 (MIC1). Maybe your microphone needs any special external circuitry.

Regards, Andy

This the response from miniDSP team:

Thanks for your interest in our
products. Unfortunately we’re unsure
what could be the issue here having
never tested/checked this OS before
(First time we hear of ti to be
honest… :slight_smile: The UMIK-1 is a standard
UAC1 (USB Audio Class 1 device). It’s
driverless on all OS we’ve seen so
far. Maybe best for you to contact
Windows/SOM supplier on how to install
a UAC1 driver on your os.

Are all UAC1 devices supported by the buildin driver (silly question)?
What if another driver jump in and erroneously recognize the device first?

Dear @EnricoPompeiani,

Thank you for your reply. If it is a standard USB Audio Class device then it would work by following this forum question : https://www.toradex.com/community/questions/21399/play-audio-from-usb-speaker.html

Please let us know if it doesn’t work for you.

Dear raja,
We followed the suggestion as per your forum link, but if it works for the first model of USB micophone we tested, it seems not working for the UMIK-1.

As declared by manufacturer it is a standard USB Audio Class 1 device, and in effect no any driver is request when connected to T20 board but waveInDevNumCaps call return 1, instead of 2 as per working USb microphone (the built in one on T20 board and the external USB one).
Have you any suggestion or link where i can find how to investigate about why USB Audio Class 1 device is not completely recognized?
Thanks in advance
Roberto

More news We just discovered about the UMIK:

Although They claim It to be UAC1 compliant and they suggest to ask you for a driver to install, it’s hardcoded on 48kHz sample rate with stereo 24-bit, not customizable user side.

I would expect It to be detected in any case, just without working properly…
Anyway, what do You think, could It be the root cause of the non-detection?

Dear @EnricoPompeiani,

I suggest you debug the issue with the debug image build using the Windows Embedded Compact platform builder. Our binary BSPa and Workspace can be download from here : https://developer.toradex.com/software/windows-embedded-compact/t20-t30-wec-software.
Instructions are documented here : https://www.toradex.com/community/questions/32319/workspace-setup.html expect you need to select Debug or checked build instead of release build.

Dump USB Descriptor and share with us, one such example here : https://developer.toradex.com/knowledge-base/usb-hid-touch#how-to-save-usb-touch-hid-descriptor-details, let us find is there any clue for us.