I’ve been scratching my head with these odd crack and pop sound during the playback after taking HQ Player in to use. I was assuming the culprit is Allo USBridge Signature player which I was using as NAA, because it has been reported having issues due to RPi CM3+ compute module. With Allo there there was quite frequent cracks and pops in the audio, but to my surprise problem persists even though I changed Allo to Sonore ultraRendu. Although there is now much less and less frequent cracks and pops, but they are still there.
I would like to know what should I look next?
Here is are my settings and simplified picture of my set-up and connections
I’m not an experienced user, first I would try to USB connect DAC to M1 mini Roon Core. If there are cracks and pops I would turn all the settings upside down until all fine. Then start adding one by one all the devices. But with shut down and proper power on sequence when I add a device. Hope you’ll find the problem.
0 dBFS volume setting will produce inter-sample overs and limiting. So unless the source has particularly low recording level, -3 dBFS is maximum volume to use. This is why the volume control also first turns yellow and then red when you go above. If there is limiting even at lower volume setting (possible), then the knob will turn red and Limited counter increments.
Another important aspect is to check that 802.3x Flow Control is supported by the network infrastructure (switch and the USB isolator) and becomes active. This is feature auto-negotiated by the network hardware. Macs auto-enable it when it is available and so does Rendu. It is really necessary with these small low power devices as they cannot keep up with full gigabit network traffic (for example the iMX6 SoC in Rendu is limited to max 400 Mbps which is maximum bandwidth between it’s ethernet controller and CPU). Without flow control their hardware receive buffers overflow causing network stalls. It also increases CPU load which may also cause drop-outs in audio.
I just checked my secondary WiFi, and ZenWiFi AX at least seems to have 802.3x flow control active by default.
At least RPi3 doesn’t work because it has ethernet controller and USB ports on the same USB bus and enough network traffic causes USB audio packet losses. Which sound like dust particles on vinyl (you may remember this).
Thanks for all the answers and advice. Setting the volume limit seems to be the answer at least for ultraRendu, I will check Allo on the weekend.
As @dabassgoesboomboom wrote, even though Allo is using CM3+ compute module, the shared USB bus is not used, here are specs from Allo’s home page
USBridge Sig was build using RPI compute module so from a software point of view, this will give you access to the latest kernels (way ahead of any competitor). The focus of the device is to lower the noise on USB bus. We chose an excellent USB hub IC (TI) and a separated Ethernet to USB Ic (Axis).
To lower the noise of the USB, we had to lower noise on EACH rail. In total, USBridge Sig uses more than 30 LDOs. Even the SD card power rail has a dedicated LDO. There are zero switching elements on board.
Of course, since this is based on RPI compute, we decided to include the standard RPI connector. Anything that works on an RPI will work on the USBridge Sig. For example, you can use a DigiOne / DigiOne Sig to make a full fledge streamer that outputs USB, BNC and coaxial.
** ● Audio output on USB is full 512 DSD / PCM 768Khz (DSD 1024 theoretically possible)
** ● 10 layers PCB
** ● 30+ LDOs on board*
** ● RPI connector compatible with any HAT PCB*
** ● 3 USB ports, 1 reserved for DAC, 2 for WIFI/BT dongles*
** ● Ethernet Speed tested at 330Mbs*
I will still need to check those network settings for all devices
@Marko_Kanala Allo USBridge Signature is still using a shared CM3+ USB2 BUS for both Ethernet and USB.
Unlike Pi3+, USBridge Signature use a separated ASIX Ethernet to USB chipset. However, this Ethernet to USB chipset (theoritically could support USB3) connects back to the Pi CM3+ USB2 BUS via a TI USB HUB chipset on board.
I have tried different OS before on my USBridge Signature and many of them had crack and pop. The OS worked the best (no crack, pop) was the GentooPlayer64. It runs smoothy as both NAA or Roon Enpoint at DSD256.
The bottleneck of the Allo USBridge Signature might not be the shared USB2 BUS but the CM3+ processor / RAM power.
Replaced the CM3+ module in the USBridge Signature by a CM4 via a CM4 to CM3 adapter, I could run DSD512 smoothly with both GentooPlayer64 and the latest Jussi’s Pi4 NAA image.
The TI USB2 HUB in this case still connects to the CM4 USB2 BUS.
That sounds interesting! Just curious, how do you fit the CM4 to CM3 adapter with CM4 to Allo’s board, isn’t it quite a lot bigger? At least based on pictures I would assume it is hitting those capacitors, or are they lower that it seems in the picture?
The CM4 to CM3 board did cover some capacitors indeed. However, there is no components at the back of this board. We can use some kind of thin electrical tape between them for more safety.