Audiolab M-DAC (not +) buffer issue with Raspberry Pi 4 Rev 1.4


Usual setup: Raspi 3B Rev 1.2 with Volumio 2.777 -> iFi iPurifier 3 -> Audiolab M-DAC -> Musical Fidelity X-Can v3 -> Quad ERA-1

I recently swapped out my Raspi 3B for a Raspi 4 4GB in the above setup with a new 64GB Samsung micro-SD flashed with Volumio 2.777.

After configuration with the M-DAC and connecting via NFS v4.1 to my Synology NAS, I noticed that the sound quality was completely unlistenable. Any file played back had a regular white-noise click, roughly every second that would also move from one stereo channel to another. I tried all the USB ports and the result was the same. I always use fixed volume at 100% with no mixer.

Investigating further, I activated the M-DAC buffer display graph and this was flickering wildly all over the place, occasionally going up to 100% but mostly moving rapidly between 0 and 25%. The expected, correct behaviour for this meter is for it to sit nicely level around the 50% mark.

My sweet spot for Volumio buffer settings is 2MB / 30%. Changing these also had no effect and I was getting an error of “General settings could not be saved” when rebooting.

I had a look in the logs and enabled Live logging, but I couldn’t see anything out of the ordinary, although I was getting a connection error to do with MPD after changing USB port and I couldn’t get Volumio to play at all until I rebooted the system.

I took the SD card out of the Raspi 4 and put it into the Raspi 3 and connected back up again, and all was right with Volumio. The buffer meter moved gracefully up to the 50% mark and stayed there from the first track played.

I can only conclude there is a big difference in USB functionality / support between the two Raspberry Pi devices. Perhaps there is a kernel patch required? I had read that upgrading the firmware on the Raspi 4 might be a solution, but it appears that this can only be done when using a Raspberry Pi OS image.

Has anyone experienced this with their Raspi 4 / DAC combination?



I have 2 micro SD, one with volumio and one with raspbery pi that I use when want to update the firmware and other stuff.

Yes - that is my next option, but I’m waiting for a D type HDMI cable to connect my Raspi 4 to a monitor. It would appear that Amazon sent me the wrong one :wink:

I have exactly the same behaviour, also using an rPi4 into an M-DAC. I’ve not got a rPi3, so can’t compare, but I have experienced this same sound from an M-DAC before - when Apple released the Macbook Retina with USB-C ports.

At the time, I was in touch with John Westlake, who designed the M-DAC, and he said it was due to the USB chipset used by Apple.

I wonder if this is the same issue now with the rPi4, since they’ve a new USB implementation (that was supposed to be the final answer for audiophiles!)?

Sounds like the possibility of an incompatibility between the RPI4 and the M-DAC. I’m running a RPI4 4GB (Volumio 2.806) via USB into a Topping D90 (XMOS XU208 USB receiver), with stock USB cable and standard RPI power. Great music and no USB noise - you can easily hear the very low and clean noise floor on a 24/96 recording completely uncontaminated.
The USB implementation on the RPI4 is generally reckoned to very much better than the RPI3 with separate integrated circuits for the Ethernet and USB on the RPI4 preventing the occasional contention issues seen with the RPI3 when streaming from the Ethernet and trying to serve the USB at the same time.

Just one thought is Volumio 2.777 recommended for the RPI4? Also I’m running with a 4MB/10% buffer - no particular reason.

I’ve been looking online - it’s definitely a known bug due to an incompatibility between M-DAC and USB 3. I don’t believe there’s a fix. I’ve just ordered a pi3+. I’m sure I’ll think of something else to do with the pi4

Yes, got the RPi3B+ now - confirm that M-DAC works with USB on RPi3B+

So, as expected, the problem with RPi4 is the USB 3 implementation being incompatible with M-DAC USB receiver

There is 2 usb 2 connectors on RPI4 and the two usb3 connectors are supposed to be usb2 compatible

But they’re all run by the same USB controller, and the incompatibility is between the USB controller and the M-DAC, so none of the USB ports on the RPi 4 work

1 Like