I just built a new "Squeezebox replacement" using the RPi 4 and DAC2 Pro. It's been quite an adventure! I first tried using piCorePlayer, but choosing the DAC2 option caused the squeezeplay functionality to crash. Obviously, not good. So, I switched to HiFiBerryOS, and now I'm getting decent sound...except that I get a crackle when I start playing a piece. Really annoying, and not usable. I see elsewhere that some people have had this trouble with using the DAC2 Pro when using it as a Roon endpoint (which I'm not) and when switching sampling rates (this happens, for me, with standard Redbook). I also notice those other complaints being about pops between tracks, but this doesn't seem to happen between tracks, just at the start of the first track. Does anyone have a workaround for this? I'm pleased with the sound from the DAC2 Pro so far, but, if there's no fix for this issue, I'm going to have to return it and get another DAC that doesn't have this problem. (I'm also curious why the piCorePlayer - the latest 7.0.0, incidentally - couldn't seem to play nicely with this particular DAC, when I picked it from their drop-down menu.)
14 comments
-
David C. Snyder Strange. I've not had this problem with the DAC2, but was using it as a Roon endpoint on a RPi3 running DietPi. I'll drag it out of my DACs bin and see if I can reproduce the issue. Could be a kernel / driver issue.
-
David C. Snyder Also, James David Walley - consider joining this topic: https://support.hifiberry.com/hc/en-us/community/posts/360013022178-DAC2-HD-pops-between-tracks
-
James David Walley I looked at that thread -- it seems to be entirely about Roon use, which I'm not doing.
I also saw some comments from the manufacturer here suggesting that it's a squeezelite problem. (I'm not absolutely convinced, but I'll accept that for the sake of argument.) I looked online, and found some methods for preventing some similar popping sounds with this DAC, but it involves changing the ALSA settings and squeezelite command line options...neither of which appears to be possible from HiFiBerry's interface. I could do it from piCorePlayer, but since the latter coughs, chokes and dies when you pick the DAC2 as your output device from its user menu, I'm stuck there as well.
-
James David Walley I should also note that I can verify that the problem does NOT lie with squeezelite -- because Max2Play, which also uses squeezelite, does not have the same problem. I'd elect to use it instead...except that the channels come out flipped (which may not be a problem when using the RCA jacks, but is definitely a problem when using headphones with differently-shaped cushions for each ear) and Max2Play doesn't have a control for swapping channels, while HiFiBerryOS does.
-
James David Walley To add further -- the crackle seems to correspond with a signal being initialized to the DAC2 (as apparent because it happens when the LED on top of the DAC2 first turns on). In fact, further proof that it isn't related to squeezelite is that I get the same crackle with headphones plugged in when the RPi first booted up as tried a new install -- in other words, before I had even configured the player, and before squeezelite wasn't even running (because it isn't enabled until you turn it on when activating squeezeplay). It appears to be directly related to the DAC2 being "woken up" by the RPi..
-
clivem Round and round in circles we go..... Disable power management.
/etc/modprobe.d/snd_soc_core_disable_pm.conf
options snd_soc_core pmdown_time=-1
It's getting to the point where the various distributions need to do this by default so this doesn't keep coming up every two weeks. ;)
Or.....
https://github.com/DigitalDreamtimeLtd/ALT-HiFiBerry
dtoverlay=hb-dacplus-audio,no_sby,no_pdn
-
HiFiBerry team clivem: Thank you again for your great help here. This is something we can easily integrate in HiFiBerryOS and I'll test this soon.
-
James David Walley clivem -- Thanks for this information, but how does one implement it? Looking at my SD card, I don't see any etc subdirectory. In fact, all I can see is an "overlays" subdirectory filled with .dbto files, plus the following at the root level:
bcm2711-rpi-4-b
cmdline.txt
config.txt
fixup.dat
start.elf
zImageHow would I go about implementing your fix?
-
James David Walley Before you answer that last question, I figured out that one would need to ssh into the unit rather than just figure everything was on the SD card. I see an "etc/" subdirectory, but no "modprobe.d/" within it. Anyway, even if I were able to locate snd_soc_core_disable_pm.conf somewhere on my unit, how would I be able to edit it over ssh? In case it isn't obvious, although I did software development several decades ago, I'm long retired, and never did anything with linux anyway.
P.S.: I read a bit further and found out that I had to create the subdirectory modprobe.d and the file snd_soc_core_disable_pm.conf inside it, with the contents as you listed them. I did so; unfortunately, it doesn't seem to have any effect, even after (obviously) cold-booting the RPi. The LED still turns on and off, and the sound still crackles each time I start playing something.
I remain curious as to exactly what is going on, since Max2Play seems to leave the LED on and not crackle; unfortunately, not only does one have to pay a monthly charge to get access to WiFi if one uses it, but I don't see any way to fix the flipped channels on the DAC2 Pro in that system. I downloaded your "alt" driver, but I really have no idea how or where to install it from within HiFiBerryOS, whether via SSH or anything else.
-
HiFiBerry team I recommend to wait for the next release. We plan to implement and test several tweaks, but this will take some time.
-
James David Walley O.K. Better to wait, if it's getting fixed "officially." (Although the information in my post above might be helpful to you - I concatenated two posts and removed another to make the flow of the discussion clearer.)
-
James David Walley I should probably ask this obvious question: when HiFiBerryOS is updated, where is an announcement made? I notice that there's no indication on the download page other than it's HiFiBerryOS for RPi4...no release number shown there.
-
HiFiBerry team There are no fixed release dates. You see new versions in the update section of HiFiBerryOS.
-
James David Walley FWIW, after several years of the unit sitting on my shelf, I tried downloading the newest version of HiFiBerryOS (20230404). Unfortunately, still getting the crackle.