Thank you for your donation!


Problem: Cyrus soundkey intermittent distortion
#1
I have a Cyrus soundKey USB DAC/headphone amplifier plugged into my Pi-4B running moOde 6.4.2. The sound output to my headphones is excellent except when it suddenly distorts in a random fashion. Pausing the music and then pressing play again immediately fixes the problem, until it next happens again a minute or two later.

The Audio Device section of Audio Information reports:

Code:
AUDIO DEVICE
Device:     USB audio device
Chip:     
Interface:     USB
Formats:     PHP Notice: Undefined offset: 1 in /usr/local/bin/moodeutl on line 206
Platform:     Pi-4B 4GB v1.2
Even to my untrained eye, the "Formats:" output looks wrong.
I have tried plugging it into USB 2 and USB 3 ports and with the USB (UAC2) fix both off and on. I have also removed the Pimoroni Shim Fan just in case the distortion was being triggered in some way by the fan starting, but that does not seem to be the cause.
Any help or suggestions would be most welcome.
Many thanks.
Reply
#2
The PHP error shown in the Formats: field is a bug that's fixed in upcoming 6.5.0. It's nothing that affects the audio stream.

The symptom "except when it suddenly distorts in a random fashion" suggests something external to moOde software for example bad or corrupt SDCard, incompatibility between Pi USB and DAC USB, other hardware issue.

You could try connecting another DAC to the Pi or another streamer to the DAC to see if you can isolate the component causing the issue.
Reply
#3
(03-05-2020, 08:06 PM)Tim Curtis Wrote: The PHP error shown in the Formats: field is a bug that's fixed in upcoming 6.5.0. It's nothing that affects the audio stream.

The symptom "except when it suddenly distorts in a random fashion" suggests something external to moOde software for example bad or corrupt SDCard, incompatibility between Pi USB and DAC USB, other hardware issue.

You could try connecting another DAC to the Pi or another streamer to the DAC to see if you can isolate the component causing the issue.

Thank you for the prompt reply.

The other DAC that I have is the Audiolab M-DAC that's creating the popping-noise problem that's being discussed on another thread at the moment. However, I do have a Pi-2B+ that works fine with the M-DAC and I will pair that up with the Cyrus soundKey DAC and see what happens. I also have plenty spare microSD cards and will try that approach too.

Thanks again, Tim.
Reply
#4
@leicray

Have to agree with Tim on this one. I have only three USB DACs at hand---a white-label (aka "no name") USB-audio adapter, a Creative BT-W2 which is a USB-Bluetooth adapter which presents as a USB DAC to moOde, and a Khadas Tone Board---but all three have worked without issue with various RPi2B, RPi3B/B+, and RPi4B boards.

Best of luck finding the root problem with your Cyrus. The vendor description and few reviews I read certainly don't suggest any special requirements. Cyrus claims only 50ma current draw which is well within the capability of an RPi's USB port.

Regards,
Kent
Reply
#5
Hi Kent,

Many thanks for the additional suggestions. After lots of test combinations, and rewriting of microSD cards, I conclude that the USB ports on a Pi-4B do not play nicely with some USB DAC-like devices.

I have previously reported that my Pi-4B causes a popping noise when connected to my Audiolab M-DAC, though the M-DAC works just fine when connected to a Pi-2B running exactly the same version of moOde. However, the Pi-4B does work fine with a simple USB audio adapter (Trond AC2-B). The adapter would have been a possible solution, but the volume is simply too low and that's why I bought the Cyrus soundKey which incorporates an amplifier.

I have now tested the soundKey connected to a Pi-2B and a Pi-1B, again running the same version of moOde, without any problems. This suggests that the Pi-4B is the culprit. For some reason it plays nicely with the Trond USB audio adapter, but not the M-DAC or the soundKey

My intended solution is to put the Pi-4B into safe storage for now and buy a second Pi-2B (very reasonably priced on eBay for a new unit) as I know that that will work.

There is at least one report of a kernel bug in Ubuntu causing problems with the 4 GB RAM version of the Pi-4B (as is mine), so perhaps a solution to my problem will arrive in some future kernel update for Raspian. Not holding my breath. however.

Again, many thanks.
Reply
#6
@leicray

Interesting finding. One more entry to put in my "potential gotcha" file. 

The kernel bug article addresses the Ubuntu kernel, apparently arm64. I don't know the differences between the Ubuntu and Raspbian kernel, but the article does cause me to wonder if you are experiencing your issue on your RPi4B/4GB using moOde's default 32-bit kernel, the 64-bit kernel, or both?

Regards,
Kent

[added] PS - it takes two to tango. It might be you're experiencing an edge case with the two---Cyrus and RPi---USB transceivers where neither is wholly to blame.
Reply
#7
(03-07-2020, 04:47 PM)TheOldPresbyope Wrote: @leicray

I don't know the differences between the Ubuntu and Raspbian kernel, but the article does cause me to wonder if you are experiencing your issue on your RPi4B/4GB using moOde's default 32-bit kernel, the 64-bit kernel, or both?

When I can find the time, I will try both kernels and report back. There is also a suggestion from the link that I posted that limiting the size of the RAM can produce a cure. That's potentially a few hours of testing ahead of me.

Thanks for the suggestion.
Reply
#8
(03-07-2020, 05:25 PM)leicray Wrote:
(03-07-2020, 04:47 PM)TheOldPresbyope Wrote: @leicray

I don't know the differences between the Ubuntu and Raspbian kernel, but the article does cause me to wonder if you are experiencing your issue on your RPi4B/4GB using moOde's default 32-bit kernel, the 64-bit kernel, or both?

When I can find the time, I will try both kernels and report back. There is also a suggestion from the link that I posted that limiting the size of the RAM can produce a cure. That's potentially a few hours of testing ahead of me.

Thanks for the suggestion.


It's my understanding from https://www.raspberrypi.org/forums/viewt...p?t=255750 that the Ubuntu arm64 kernel wouldn't/won't complete the booting process without that total_mem setting. Seems a different issue. (You'll note also that the setting must be done in a different place with Raspbian.)
Reply
#9
@TheOldPresbyope

Further reading has identified an interesting issue about the Pi-4 USB support. First, some USB audio devices identify themselves as HIDs even though they are not actually a human interface device. Secondly, there has been a firmware bug in the EEPROM of some Pi-4s that causes problems with HIDs in general. I plugged the soundKey into a Windows 10 PC and it does correctly identify itself as an audio device, rather than an HID, in Device Manager.

In spite of that reassurance, I went ahead and performed an update of the Pi-4 EEPROM to version 000137ad in the hope of a cure. No such luck, I'm afraid.

The Pi-2B which I ordered yesterday from eBay should arrive on Wednesday.

Many thanks for your interest in this problem and for your help. Much appreciated.
Reply
#10
I'm curious why u chose the older 2B and not a 3B+?
Reply


Forum Jump: