Microphone input not working on Apalis i.MX6 with Yocto Boot2Qt

I can’t get analog audio input.

When I start Qt’s ‘Audio Example’ that shows the audio amplitude level from the microphone I can’t see any voice samples while speeling into the microphone.

However, I notice some noise and knocking on the headphones speaker produces some peaks on the microphone amplitude.

Hints:

  • I did not cross the headphone and the microphone connectors.
  • amixer setup seems OK for capturing from MIC:
Simple mixer control 'Headphone',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 63 [50%] [-20.00dB]
  Front Right: Playback 63 [50%] [-20.00dB]
  Simple mixer control 'Headphone Mux',0
  Capabilities: enum
  Items: 'DAC' 'LINE_IN'
  Item0: 'DAC'
Simple mixer control 'Headphone Playback ZC',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 192
  Mono:
  Front Left: Playback 144 [75%]
  Front Right: Playback 144 [75%]
Simple mixer control 'Mic',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 3
  Mono: 2 [67%] [30.00dB]
Simple mixer control 'Capture',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 15
  Front Left: Capture 12 [80%]
  Front Right: Capture 12 [80%]
Simple mixer control 'Capture Attenuate Switch (-6dB)',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Capture Mux',0
  Capabilities: enum
  Items: 'MIC_IN' 'LINE_IN'
  Item0: 'MIC_IN'
Simple mixer control 'Capture ZC',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]

Hardware:

  1. Apalis i.MX6 module on Ixora carrier board
  2. Headset adaptor plugged into HP/MIC connector of Ixora carrierboard: http://www.produktinfo.conrad.com/datenblaetter/1300000-1399999/001380526-da-01-en-SPEAKA_SUPERSOFT_3_5MM_HEADSET_KABEL_4P.pdf
  3. Logitech H110 headset plugged into above adapor: %product-title% kaufen

Software:

  1. OS: current Boot2Qt Yocto with Qt 5.8, kernel 3.14.52
  2. Qt ‘Audio Example’ (sorry no Link, check in Qt Creator examples)

May I suggest for you to try the same on one of our supported Embedded Linux BSPs being either stable V2.6 or our latest V2.7 beta 1.

Hi

I think you have two issues with the hardware setup.

  • The Ixora does not have a biasing circuit, and additonally there is no biasing circuit on the Apalis iMX6 module. (I expect your headset’s microphone to need biasing)
  • There are at least two common pinouts for 3.5mm headset connectors. On the Ixora the “OMTP” assignment is used, your cable adapter seems to use the “CTIA / AHJ” assignment.

I’m not very familiar with the Boot2Qt software stack, however I would expect that once the above two issues are overcome that audio works. Otherwise Marcel’s suggestion of first bringing up audio with one of our regular images could prove that the audio hardware is working and one has to see how to use alsa with the Boot2Qt image.

Max

Thanks Max!

Can confirm that the Adaptor is OMTP and Ixora HP jack is CTIA/AHJ.

I used this info:

I haven’t access to the SGTL5000 circuit on the Apalis i.MX6 board. So I can’t check if the bias is connected or not as suggested in the SGTL5000 datasheet page 60: http://www.nxp.com/assets/documents/data/en/data-sheets/SGTL5000.pdf

Can you provide that part of the schematics?

Does it make sense to not connect the BIAS voltage? If yes, which headset can I use?

Best regards

-Carsten

In the meanwhile I measured the MiiC in signal between pin 4 (APP_MICIN) and pin 1 (APP_GND). There is no bias really offset.

Since I don’t know if there are any Microphones/Headsets driving their own bias on micrphone input I created an adaptor by my own:

conection scheme speakers:

  • connector pin 3 → cable green, right speaker +
  • connector pin 4 → cable white, left speaker +
  • connector pin 5 → cable brown, GND // required by OMTP spec

connection scheme microphone:

  • connector pin 3, pin 4 → cable ‘spiral’. microphone in // required by OMTP spec
  • connector pin 5 → cable brown, GND // required by OMTP spec

I also added a 2.2k resistor on mic in to drive 2.5 extenally.

Playing audio on the speakers works with:

gst-launch-1.0 audiotestsrc ! audioconvert ! alsasink

Echo loop mic to speakers sin’t still working eevn if I drive bias externally:

gst-launch-1.0 alsasrc ! audioconvert ! alsasink

Please help!

OK driving 2.5 V over 2.2k externally works with my adapor with this echo pipeline:

gst-launch-1.0 -v alsasrc device="hw:0,0" ! alsasink

So thank you Max, you were totally right!

Issue solved!

Can confirm both issues!

Hi

Can you provide that part of the schematics?
We don’t give out the schematics of the modules. However I’m sure that there is no way to enable a biasing voltage on the module.

Does it make sense to not connect the BIAS voltage? > If yes, which headset can I use?
Not really, as nowadays nearly all microphones require this. Adding this will be part of the next hardware revision of the Ixora board.

Max