No Audio Output on Picroft with Jabra 410


#32

If you are ever in Zürich Switzerland you’ve got it.


#33

This has got my Jabra 410 going. Thanks, the solution is still needed!


#34

I know I am kind of reactivating a dead thread here so excuse me for that.
I have tried this guide and it worked until step 4. It gave lots of errors and this is the output:

ALSA lib conf.c:1371:(parse_def) c does not exists
ALSA lib conf.c:1852:(snd_config_load1) toplevel:2:14:No such file or directory
ALSA lib conf.c:3615:(config_file_open) /etc/asound.conf may be old or corrupted: consider to remove >or fix it
ALSA lib conf.c:3537:(snd_config_hooks_call) function snd_config_hook_load returned error: No such >file or directory
ALSA lib conf.c:3986:(snd_config_update_r) hooks failed, removing configuration
amixer: Control default open error: No such file or directory

ALSA lib conf.c:1371:(parse_def) c does not exists
ALSA lib conf.c:1852:(snd_config_load1) toplevel:2:14:No such file or directory
ALSA lib conf.c:3615:(config_file_open) /etc/asound.conf may be old or corrupted: consider to remove or fix it
ALSA lib conf.c:3537:(snd_config_hooks_call) function snd_config_hook_load returned error: No such file or directory
ALSA lib conf.c:3986:(snd_config_update_r) hooks failed, removing configuration
amixer: Mixer attach default error: No such file or directory

Alsamixer doesn’t work either, nor does the microphone. This is very weird because I installed Picroft again from the same image file, and the previous time, it was only the speaker which didn’t work. Step 4 crashed in a similar way there too. If it helps, here is my alsa-info output:

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Thu Apr 4 14:26:07 UTC 2019

!!Linux Distribution
!!------------------

ID_LIKE=debian

!!DMI Information
!!---------------

Manufacturer:
Product Name:
Product Version:
Firmware Version:

!!Kernel Information
!!------------------

Kernel release: 4.14.50-v7+
Operating System: GNU/Linux
Architecture: armv7l
Processor: unknown
SMP Enabled: Yes

!!ALSA Version
!!------------

Driver version: k4.14.50-v7+
Library version: 1.1.3
Utilities version: 1.1.3

!!Loaded ALSA modules
!!-------------------

snd_bcm2835

!!Sound Servers on this system
!!----------------------------

No sound servers found.

!!Soundcards recognised by ALSA
!!-----------------------------

0 [ALSA ]: bcm2835_alsa - bcm2835 ALSA
bcm2835 ALSA


#35

Hi Adutchman

As these instruction are relatively old, they do relate to the [Picroft Stable 2018-09-12 ] version of pycroft. Can you please retry the instructions using the 2018-09-12 version (https://github.com/MycroftAI/enclosure-picroft/tree/stretch) as the version you download.

While the instructions are not perfect, as ALSA Master is not implemented, it did work for me and many others in getting pycroft loaded and working.

Once you have it running, you can upgrade pycroft to the latest verison.

Let me know how you go.
Good luck
Cheers
DJL.


#36

Hi DJL,
I do still use the 2018-09-12 as that is still the latest stable version. On the point of the instructions, I know that it worked for many and I am very thankful that you came up with the solution but I just want to find out what I have to do to get the same result.
Thank you for tuning in,
Adutchman


#37

I have tried it again today for some 3 to 4 hours and it still doesn’t work. I tried it on Ubuntu Mate to make it easier to configure the audio (GUI). I have now come to a point that still only the microphone works and that the speaker only outputs the end of sentences. I have tested ALSA and that works and I have tested Firefox and that works too so it is a problem with Mycroft. This kind of pisses me of because Mycroft claims on the main page about Picroft that this device works but it just doesn’t. I have bought a Raspberry pi with accessories for 60 euros for this and now it doesn’t work and that is very annoying.
@krisgesling, Can Mycroft do something about the support for this device or remove it from the Picroft page because the listing of the device is kind of misleading when it doesn’t work. I had the Jabra laying around but I can see people buying this as a premium device and them being annoyed because it doesn’t work.
@DJL, You don’t have to help me of course, but since you wrote a solution, maybe you can help. As I already said, the ALSA works (the audiotest of the WAV file works) and Pulseaudio works (Firefox audio works) and Mycroft does recognise something because it can produce some sound, but only at the end of lines. It also gives me errors about the mycroft.conf file.


#38

Hi Adutchman

I can assist, but it may not be prompt as I have local undertakings that significantly restrict the time I can respond in.

From your alsa-info listing above it appears your alsa-info results are not as they should be.

Your alsa-info output has the following issues:

ISSUE #1.

!!Loaded ALSA modules
!!-------------------

snd_bcm2835

PROBLEM—> snd_bcm2835 should not be here if the internal sound module is disabled as per step 1.

From steps above:
!!-----------------------
#1. Disable BCM2835 overlay from loading at boot time.
#- Edit /boot.config.txt

sudo cp -p /boot/config.txt /boot/config.txt.orig
sudo bash -c 'cat >> /boot/config.txt << __EOF
dtparam=audio=off
__EOF'
more /boot/config.txt
sudo shutdown -r now

ISSUE 2.

The sound card recognised is not the USB sound driver.

!!Soundcards recognised by ALSA
!!-----------------------------

0 [ALSA ]: bcm2835_alsa - bcm2835 ALSA
bcm2835 ALSA

should be:
!!Soundcards recognised by ALSA
!!-----------------------------

0 [USB ]: USB-Audio - Jabra SPEAK 410 USB
Jabra SPEAK 410 USB at usb-3f980000.usb-1.3, full speed

The sound card is recognised after the module loads following successful scan of the USB bus. (This is why I suggest a reboot after commands that affect boot sequences)

Also note: the JABRA 410 first boots in muted mode. (Bug… who knows.) As per Step 5. First check the speaker volume. Use the -/+ on the Jabra and set it at about 75%.

This can catch anyone out even if everything is working.

So to help you:

1… Can you please send me the name of the pycroft image and MD5 sum of that file so we can verify you are using the correct image.

2… Then to verify the steps:
Step 1.
Can you send me that last 5 lines of /boot/config.txt.

Step 2.
Can you send the output of ```/etc/modprobe.d/alsa-base.conf

Step 3.
Can you send the output of /etc/asound.conf

Step 4.
Can you send the output of ~/audio_setup.sh

Step 7.
Can you send the output of /etc/mycroft/mycroft.conf

Next time I will be able to respond is in two weeks.

Best regards
DJL
``


#39

Hello ,

I am studying engineering school and I have to set up mycroft service. Small problem, the sound does not go out of my jabra.
I tried to follow your instructions but several configuration files do not exist. Could you help me quickly so that I can put my year-end project to a successful conclusion?

Besr regards

Eli


#40

Hi Elimane,

Can I check what you’ve attempted already and what might be showing up in your audio and voice logs?

These are located at /var/log/mycroft/ or if you just want to upload all your logs to termbin tell Mycroft to “create a support ticket” and you’ll get an email with a link.


#41

Hello ,

Thank you for your answer
LOGS :

==> /var/log/mycroft/audio.log <==
audio.shutdown()
File “/home/pi/mycroft-core/mycroft/audio/audioservice.py”, line 494, in shutdown
self.bus.remove(‘mycroft.audio.service.play’, self._play)
File “/home/pi/mycroft-core/mycroft/messagebus/client/ws.py”, line 163, in remove
self.emitter.remove_listener(event_name, func)
File “/home/pi/mycroft-core/mycroft/messagebus/client/threaded_event_emitter.py”, line 57, in remove_listener
return super().remove_listener(event_name, func)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/pyee/init.py”, line 205, in remove_listener
self._events[event].pop(f)
KeyError: <bound method AudioService._play of <mycroft.audio.audioservice.AudioService object at 0x74f1baf0>>

==> /var/log/mycroft/audio.log.txt <==
audio.shutdown()
File “/home/pi/mycroft-core/mycroft/audio/audioservice.py”, line 494, in shutdown
self.bus.remove(‘mycroft.audio.service.play’, self._play)
File “/home/pi/mycroft-core/mycroft/messagebus/client/ws.py”, line 163, in remove
self.emitter.remove_listener(event_name, func)
File “/home/pi/mycroft-core/mycroft/messagebus/client/threaded_event_emitter.py”, line 57, in remove_listener
return super().remove_listener(event_name, func)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/pyee/init.py”, line 205, in remove_listener
self._events[event].pop(f)
KeyError: <bound method AudioService._play of <mycroft.audio.audioservice.AudioService object at 0x74f6fad0>>

==> /var/log/mycroft/bus.log <==
07:39:58.174 - tornado.access - INFO - 101 GET /core (127.0.0.1) 2.70ms
07:40:00.781 - tornado.access - INFO - 101 GET /core (127.0.0.1) 7.06ms
07:40:02.226 - tornado.access - INFO - 101 GET /core (127.0.0.1) 2.25ms
11:29:21.629 - mycroft.api:is_paired:445 - WARNING - Could not get device info: ConnectionError(MaxRetryError(“HTTPSConnectionPool(host=‘api.mycroft.ai’, port=443): Max retries exceeded with url: /v1/device/b5aec5d9-3b91-4e8f-8a49-24cf3f6e4f10 (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7563cbd0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,))”,),)
11:29:22.085 - tornado.access - INFO - 101 GET /core (127.0.0.1) 5.05ms
11:29:22.138 - tornado.access - INFO - 101 GET /core (127.0.0.1) 2.69ms
11:29:22.146 - tornado.access - INFO - 101 GET /core (127.0.0.1) 2.97ms
11:29:22.823 - tornado.access - INFO - 101 GET /core (127.0.0.1) 2.80ms
11:29:25.926 - tornado.access - INFO - 101 GET /core (127.0.0.1) 2.76ms
11:29:26.787 - tornado.access - INFO - 101 GET /core (127.0.0.1) 4.23ms

==> /var/log/mycroft/enclosure.log <==
options.pop(‘socket’, None))
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
11:30:45.448 - mycroft.messagebus.client.ws:on_error:81 - ERROR - Exception closing websocket: ConnectionRefusedError(111, ‘Connection refused’)
11:30:45.457 - mycroft.messagebus.client.ws:on_error:83 - WARNING - WS Client will reconnect in 60 seconds.

==> /var/log/mycroft/skills.log <==
options.pop(‘socket’, None))
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
11:30:45.349 - mycroft.messagebus.client.ws:on_error:81 - ERROR - Exception closing websocket: ConnectionRefusedError(111, ‘Connection refused’)
11:30:45.365 - mycroft.messagebus.client.ws:on_error:83 - WARNING - WS Client will reconnect in 60 seconds.

==> /var/log/mycroft/voice.log <==
resp = self.send(prep, **send_kwargs)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/sessions.py”, line 637, in send
r = adapter.send(request, **kwargs)
File “/home/pi/mycroft-core/.venv/lib/python3.5/site-packages/requests/adapters.py”, line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘github.com’, port=443): Max retries exceeded with url: /MycroftAI/precise-data/raw/dist/armv7l/latest (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x74ec1bb0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,))
11:29:21.382 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “hey mycroft” wake word via pocketsphinx
11:29:21.878 - mycroft.client.speech.listener:create_wakeup_recognizer:269 - INFO - creating stand up word engine
11:29:21.883 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “wake up” wake word via pocketsphinx
11:29:22.094 - mycroft.messagebus.client.ws:on_open:60 - INFO - Connected

Thanks


#42

Hi Elimane, I was just rereading your last post and when you said:

Does this mean it’s coming out of a different device? Are you hearing some sounds but not the dialogue spoken by Mycroft, or no sound at all?

Can I also confirm that you’ve already tried the steps djl listed above in post #26?

If so, it would be good to see the output of alsa-info. Running this should write to a txt file, something like /tmp/alsa-info.txt.sjZKu3eeLd. The contents of that file are probably quite long so you can upload this to termbin using:
cat /path/to/file.txt | nc termbin.com 9999


#43

Hello ,

-There is no sound coming out of the jabra. The microphone recognizes correctly my voice but the answer is only displayed in writing.

-I tried the setps djl but that does not change anything

-I ran alsa-info :

libkmod: ERROR …/libkmod/libkmod-config.c:635 kmod_config_parse: /etc/modprobe.d/alsa-base.conf line 1: ignoring bad line starting with ‘option’

libkmod: ERROR …/libkmod/libkmod-config.c:635 kmod_config_parse: /etc/modprobe.d/alsa-base.conf line 2: ignoring bad line starting with ‘option’

ALSA Information Script v 0.4.64


This script visits the following commands/files to collect diagnostic

information about your ALSA installation and sound related hardware.

dmesg

lspci

lsmod

aplay

amixer

alsactl

/proc/asound/

/sys/class/sound/

~/.asoundrc (etc.)

See ‘/usr/sbin/alsa-info --help’ for command line options.

libkmod: ERROR …/libkmod/libkmod-config.c:635 kmod_config_parse: /etc/modprobe.d/alsa-base.conf line 1: ignoring bad line starting with ‘option’

libkmod: ERROR …/libkmod/libkmod-config.c:635 kmod_config_parse: /etc/modprobe.d/alsa-base.conf line 2: ignoring bad line starting with 'op

-This actually created me a file alsa-info.2wGWCJmnyb , but this file is empty


#44

Have you double checked /etc/modprobe.d/alsa-base.conf?

There’s clearly something it doesn’t like about the two lines added in djl’s step 2. Can you post the contents of that file?


#45

The content of the file /etc/modprobe.d/alsa-base.conf

option snd_usb_audio index=0
option snd_bcm2835 index=-2


#46

Ah I think these two lines should start with “options” rather than “option”.

Hoping that makes a difference :crossed_fingers:


#47

Sorry for the long time offline, I have been busy and will be busy for some time. My summer holidays are coming up so by then I will look at it again. Thanks in advance


#48

Hello folks,
pinging @djl @KathyReid

I just wanted to put my 5 cents here. I spent the whole night yesterday trying to make Mycroft work with Jabra, and this thread has been invaluable, just like this random find:

I followed all the instructions and learnt a lot about pulseaudio and alsa in the process, but still can’t figure exactly out what’s wrong. So far Mycroft works, and the only differences with the approach mentioned above are:

  1. Used the config from gist, renaming hw:1,0 into hw:0,0.
  2. Replacing the /etc/asound.conf with the one from gist, with same changes.
  3. Adding a “-D sysdefault” flag to the “play_wav_cmdline” parameter

I would love to know however what’s the reason why the default call to aplay %1 ends up producing no sound, as opposed to a -D sysdefault call (which I d guess supposed to be the same?)

[EDIT]: I think i figured how to solve the default situation according to this ancient bug:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/295832

the solution is to go into /usr/share/alsa/pulse-alsa.conf and replace the pcm.!default with your devices of choice (in my case):

pcm.jabra {
type hw
card 0
device 0
rate 48000
}

pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm “jabra”
}
capture.pcm {
type plug
slave.pcm “hw:0,0”
}
}

I also cannot figure out still how to adjust the volume; I get the error:

amixer: Unable to find simple control 'PCM',0

It is surprising and frustrating at the same time that Jabra Speaker is mentioned on the front page, and yet causes so much btt-hurt. Imagine my frustration coming here after spending a previous weekend realizing that Bluetooth speaker / mic combo does not work well either…


#49

I’m in the same boat, purchased a Jabra 410 because it was specifically listed as compatible. Spending a little over 4 hours this weekend attempting and failing to get it working isn’t really what I would describe as compatible. Please remove the Jabra 410 from the compatibility list since it clearly is not.


#50

I’ve updated the Picroft documentation with a column for hardware status, added that problems are being reported for Jabra, and linked to this thread.

This is a challenge as we want to add details on devices that have been reported as working, however as ALSA and Pulse update things sometimes break.

Hopefully we can find a resolution for these problems as I know a number of people in the Community use this mic.


#51

Thank you very much, I understand that finding a solution is difficult but than at least people should know about it. I am going to try again soon since there are new images out with Debian Buster and that could maybe help with the problems. If this not the case and after some trial and error someone can find a solution, it is not outdated as fast.