Users of Schiit Modi USB DACs with Volumio on Raspberry Pi may encounter issues such as disconnections, audio glitches, or compatibility problems. Below is a comprehensive guide to address these issues through system adjustments and configuration changes.
Common Causes of Issues
- Power Supply Insufficiency:
- Raspberry Pi’s USB ports may not provide enough stable power for the DAC.
- USB Audio Compatibility:
- Certain DACs require USB protocols or configurations not fully supported out-of-the-box.
- Driver and Kernel Limitations:
- Older Linux kernels or drivers may lack the necessary support for the DAC.
- USB Bandwidth Conflicts:
- Shared USB resources with other peripherals can cause performance degradation.
- Playback Settings:
- Mismatched sample rates, formats, or buffer sizes can lead to audio glitches.
Debugging and Temporary Fixes
1. USB and Audio Driver Parameters
-
Disable USB Autosuspend:
USB autosuspend can cause connectivity issues. Disable it by editing the kernel parameters:sudo nano /boot/cmdline.txt
Add this parameter at the end of the existing line:
usbcore.autosuspend=-1
Save and reboot:
sudo reboot
-
Optimize USB Audio Performance:
Add a custom configuration for the USB audio driver:sudo nano /etc/modprobe.d/usb-audio.conf
Insert the following:
options snd-usb-audio nrpacks=1
Save and reboot the system.
2. Playback Settings in Volumio
Adjust playback settings through the Volumio Web UI:
- Navigate to Settings > Playback Options:
- Output Device: Select the Schiit Modi DAC.
- Mixer Type: Set to “None” for bit-perfect output.
- DSD Playback Mode: Match the DAC’s capabilities (e.g., DSD Direct or DoP).
- Buffer Size: Increase to 8 MB for smoother playback.
- Resampling: Disable unless explicitly required by the DAC.
3. Hardware Configuration Adjustments
-
Disable Onboard Audio and Bluetooth:
Edit the Raspberry Pi’s boot configuration file:sudo nano /boot/config.txt
Add the following lines:
dtparam=audio=off
-
Force Maximum CPU Frequency:
To reduce timing issues with USB audio:arm_freq=1000
Replace
1000
with the maximum frequency supported by your Raspberry Pi model:
This table reflects the exact arm_freq
values typically used in standard configurations:
Raspberry Pi Models and Recommended arm_freq=
Values
Raspberry Pi Model | Default Frequency | Recommended arm_freq= |
---|---|---|
Raspberry Pi 1 | 700 MHz | arm_freq=800 |
Raspberry Pi 1+ (Model B+) | 700 MHz | arm_freq=800 |
Raspberry Pi Zero | 1 GHz | arm_freq=1000 |
Raspberry Pi Zero 2 W | 1 GHz | arm_freq=1000 |
Raspberry Pi 2 | 900 MHz | arm_freq=1000 |
Raspberry Pi 3 | 1.2 GHz | arm_freq=1200 |
Raspberry Pi 3+ (Model B+) | 1.4 GHz | arm_freq=1400 |
Raspberry Pi 4 (All Variants) | 1.5 GHz | arm_freq=1500 |
Raspberry Pi 400 | 1.8 GHz | arm_freq=1800 |
Raspberry Pi 5 | 2.4 GHz | arm_freq=2400 |
4. Kernel Audio Buffers
Modify ALSA configuration to optimize buffer settings:
sudo nano /etc/asound.conf
Add or edit the following:
defaults.pcm.dmix.rate 44100
defaults.pcm.dmix.period_time 125000
defaults.pcm.dmix.period_size 2048
defaults.pcm.dmix.buffer_size 8192
Save the file and restart ALSA:
sudo systemctl restart alsa
5. Prevent USB Interference
- Disconnect unused USB peripherals to free up bandwidth.
- Use a powered USB hub to ensure the DAC receives sufficient power.
Critical Warning
These changes are intended for debugging and testing purposes only and may:
- Be overwritten by OTA updates, reverting your configurations to default.
- Block OTA updates entirely, causing conflicts or system instability.
- Require re-implementation after updates, increasing maintenance effort.
Important Note
To ensure system stability and compatibility with future updates:
- Revert these changes after troubleshooting.
- Document all modifications for easy re-application if needed.
- Maintain a backup of your system configuration.
Monitoring and Logs
After applying changes, monitor the system for errors or warnings:
- Check USB logs:
dmesg | grep usb
- Check Volumio logs:
journalctl -u volumio
Recommended Long-Term Practices
- Power Supply: Use a high-quality power supply for your Raspberry Pi and/or a powered USB hub.
- Firmware Updates: Regularly update Volumio and Raspberry Pi firmware for improved compatibility.
- Contact Support: If issues persist, reach out to Schiit support for assistance.
We hope this detailed guide helps resolve issues with your Schiit Modi DAC on Volumio. Share your experiences or additional insights in the comments!
Kind Regards,