Troubleshooting Schiit Modi DAC Issues on Raspberry Pi with Volumio

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

  1. Power Supply Insufficiency:
    • Raspberry Pi’s USB ports may not provide enough stable power for the DAC.
  2. USB Audio Compatibility:
    • Certain DACs require USB protocols or configurations not fully supported out-of-the-box.
  3. Driver and Kernel Limitations:
    • Older Linux kernels or drivers may lack the necessary support for the DAC.
  4. USB Bandwidth Conflicts:
    • Shared USB resources with other peripherals can cause performance degradation.
  5. 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:

  1. Be overwritten by OTA updates, reverting your configurations to default.
  2. Block OTA updates entirely, causing conflicts or system instability.
  3. 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

  1. Power Supply: Use a high-quality power supply for your Raspberry Pi and/or a powered USB hub.
  2. Firmware Updates: Regularly update Volumio and Raspberry Pi firmware for improved compatibility.
  3. 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,

Worked fine with my Pi 4B before updating. Have tried different USB cables and even a different Pi 4B without success. The only playback options shown are HDMI and Headphones. Disappointing that the issues with Schitt Modi hardware haven’t been corrected in the 3+ years since the switch to Volumio3. Anyone in the community have a fix?

Three years later and still no resolution to issues with the Schitt Modi DAC not being recognized? Just updated to ver. 3.785 from ver 3.185 and the syste will not find the device. Intended to switch to premium but am going to pause on that decision given this issue.

I bought a Modi 3E before I came to Thailand early November and I really liked it. So I sold the 3E (Valencia) and bought a 3+ (Texas) which I was using it briefly. I don’t know if the latest version of Volumio has issue with this dac or not until I return to the states at the end of Jan 25.

In this video clip, the 3E is at 2:50 mark.

Hello I am running a Raspberry Pi 4 playing back over USB to a Schiit Modi 3 DAC. When I start playback, I will hear sound for around half a second and then sound will stop, although the track continues to play.

I have attempted all the steps listed here: Troubleshooting Schiit Modi DAC Issues on Raspberry Pi with Volumio

This occurs regardless of playback source.

I am not seeing any errors in the USB, mpd, or Volumio logs. I’ve confirmed the USB cable I’m using supports USB playback with another application.

Any assistance on further troubleshooting would be appreciated