No Audio Output on Picroft with Jabra 410


#28

I’ve updated steps 5 and 6.

Step 5:- Before you do the speaker test, use the -/+ controls on the Jabra and set the volume about 75%

Step 6:- Mycroft has control of the microphone driver, so it needs to be stopped for the next test.

One other step I did do early in my testing, but did not include it in my notes was download the latest updates from GIT, including the Mimic engine:

mycroft-core/dev_setup.sh -fm

See how you go. I’ll grab another SD card and run through the procedure end to end, and make sure it’s repeatable.


#29

Ok, I ran through it again and it worked! Thank you for your help - I am sure I wouldn’t have figured it out on my own. I am now running the “mycroft-core/dev_setup.sh -fm” - hopefully everything will work after this. But I created a backup of my working build just in case.


#30

Hi djl,
Thanks for the fix. I can take Mycroft out of the draw and place it back in to my project.
The history with my installation was it worked out of the box since installing last year.
I documented it in this video where it worked flawlessly.
Then around mid July (2018) sound out just stopped. I got it back but the quality was terrible - lots of poping, stuttering and clicking. After a total rebuild I could not get it back at all until your fix.

Many Thanks
Beer owed.


#31

Hi ausinch
Beers are always good. Glad to be of help.
Cheers
djl.


#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