Mycroft Community Forum

Picroft Jabra 510 Mic & Speaker Issues

Hi All,

I was hit by the dreaded Jabra issues that seems to affect a number of people, it would work fine initially but would eventually stop. I’ve managed to get to a point where both the speaker and the microphone are reliably working.

Currently I’m running the 2020-01-10 stable image, fully updated on a Raspberry Pi 3B+

First I disabled the onboard sound by editing /boot/config.txt and changing the following line:

dtpatam=audio=on
to
dtpatam=audio=off

Next I edited the /etc/mycroft/mycroft.conf file to look like this:

{
   "play_wav_cmdline": "aplay %1",
   "play_mp3_cmdline": "mpg123 %1",
   "enclosure": {
      "platform": "picroft"
   },
   "tts": {
      "mimic": {
         "path": "/home/pi/mycroft-core/mimic/bin/mimic"
      }
   },
   "ipc_path": "/ramdisk/mycroft/ipc/"
}

Next issue was the speaker showed a status of suspended when entering the command

pactl list sinks short

To resolve this I edited /etc/pulse/default.pa and commented out this line:

load-module module-suspend-on-idle

Somewhere along the line the speaker became muted, there wasn’t an obvious reason I could determine nor an obvious indicator for this as everything looked fine in alsamixer but issuing the amixer command showed [off] beside the Master output volumes.

I un-muted the speaker with

amixer Master unmute

Finally, the microphone does not work after a reboot, to fix this I have to run the following command:
mycroft-start all reboot

I haven’t found a permanent solution for this last microphone issue but as it doesn’t reboot often it’s not a big deal.

Hopefully this might help someone else facing the same issues.

I noticed on my Pi4 dtpatam=audio=off actually caused problems and think you also need to modprobe blacklist it.

Open /etc/modprobe.d/raspi-blacklist.conf and add blacklist snd_bcm2835

But prob best way is just to create a /etc/asound.conf
I usually just molest the respeaker asound.conf to my device.

# The IPC key of dmix or dsnoop plugin must be unique
# If 555555 or 666666 is used by other processes, use another one


# use samplerate to resample as speexdsp resample is bad
defaults.pcm.rate_converter "samplerate"

pcm.!default {
    type asym
    playback.pcm "playback"
    capture.pcm "capture"
}

pcm.playback {
    type plug
    slave.pcm "dmixed"
}

pcm.capture {
    type plug
    slave.pcm "array"
}

pcm.dmixed {
    type dmix
    slave.pcm "hw:seeed2micvoicec"
    ipc_key 555555 
}

pcm.array {
    type dsnoop
    slave {
        pcm "hw:seeed2micvoicec"
        channels 2
    }
    ipc_key 666666
}

You can get the PCMs of hardware through aplay -l or aplay -L and same with capture devices arecord -l or arecord -L

Maybe just keep inbuilt but just set the defaults in a /etc/asound.conf by just editing slave.pcm "hw:seeed2micvoicec" and pcm "hw:seeed2micvoicec" to your hardware.

PS dtpatam=audio=off ? dtparam=audio=off but prob just create /etc/asound.conf

Don’t know how the Jabra lists maybe just Usb Sound Card if usb dunno if bluetooth but that can be a whole other problem, but prob could with bluez-alsa

It might be where and how you start the Mycroft service as the soundcard service as I noticed starts very late in the boot order.

Thank you very much for this guide. I just changed the mycroft.conf and added the load module command in pulsaudio and my Jabra 710 does now work perfectly! I am using the stable version