My PI failed so had to go from PI3B to a PI4B Rev1.4. I then found the version of my DIGI2 Pro board was incompatible so had to replace that too with a DIGI2 Pro V2.2. Reassembled and tested only to get an ALSA error. This is a bit frustrating, can someone please help !? I am happy to PuTTY in to the PI if more info is needed.
My log is here: http://logs.volumio.org/volumio/QHPkLB9.html
Forgot to add Volumio 3.703
I have had this before and in the past a Raspberry PI reboot sorts it, but not this time.
Some suggestions please !!
Volumio 3.816
http://logs.volumio.org/volumio/rXjPESW.html
Hey @AudioPete,
Thanks for the log. Here’s what we have confirmed so far:
- Hardware: Raspberry Pi 4 Model B Rev 1.4
- Configured overlay:
hifiberry-digi-pro(expects WM8804 chip at I2C address 0x3b) - No I2S DAC detected - probe fails
- ALSA shows only onboard HDMI and headphone audio devices
- USB bus has no audio hardware
- Custom service
DjukePreampfails to start due to missingsocketIO_clientPython module - Purpose of
DjukePreamp: interfaces Volumio with Djuke PreAmplifier v2.0 via socket and serial
To proceed with precise diagnosis, could you please clarify the following:
-
Exact Raspberry Pi 4 variant
- RAM size: 1GB, 2GB, 4GB, or 8GB?
- Board revision code: found under
Revisionincat /proc/cpuinfo
-
Installed DAC board
- Exact model name and vendor?
- Is it a HiFiBerry Digi+ Pro or a different I2S DAC using the same overlay?
-
DjukePreamp functionality
- Is this service actively controlling volume/input/audio paths, or only displaying song info and power control?
- Has it ever modified ALSA config or playback routing?
-
Physical inspection
- Is the DAC board correctly seated and powered?
- Can you run
i2cdetect -y 1to confirm I2C device presence at address 0x3b?
This info will help narrow down whether the issue is hardware detection, overlay mismatch, or service-side interference. Let us know.
Kind Regards,
Thanks for your feedback on this.
Working through your checklist.
PI
volumio@pnbvolumio:~$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 270.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 1
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 270.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 2
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 270.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 3
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 270.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
Hardware : BCM2711
Revision : b03114
Serial : 1000000029bced7c
Model : Raspberry Pi 4 Model B Rev 1.4
DAC is a HiFiBerry Digi+ Pro
The DujukePreamp service is supposed to run and get the song Title and Artist from MPD and pass it to my Preamp Controller for display. It is currently NOT running and I have not been able to find out why, however this should not effect the audio path. I don’t believe it does anything with ALSA or playback routing. I could attach a copy if it helps.
i2cdetect 1 did not run, ‘command not found’
Thanks
command is:
sudo i2cdetect -y 1
Thanks
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
Hey @AudioPete,
The HiFiBerry Digi+ Pro is not being detected by the Raspberry Pi 4 Model B Rev 1.4 in your setup. This is confirmed by:
- Absence of address
0x3bini2cdetect -y 1 - Kernel failure to probe WM8804 (
error -121) - ALSA does not register
sndrpihifiberryaudio device
Critical facts:
-
Your Pi is Revision b03114, which corresponds to Raspberry Pi 4 Model B with 4GB RAM, not the newer Rev 1.5 model associated with known power sequencing issues
-
You confirmed the DAC is a genuine HiFiBerry Digi+ Pro
-
The I2C bus is completely empty, suggesting:
- The WM8804 chip is not powered
- Or is not connected correctly
- Or has failed electrically
From various web sources:
- Known issues exist with HiFiBerry Digi+ Pro and cold boot detection, but these mainly affect Pi 4 Rev 1.5, not your Rev 1.4
- Full absence of I2C response is not typical of the cold boot issue, which tends to be intermittent
Most Likely Cause:
- Hardware-level failure or poor connection of the Digi+ Pro to the GPIO header
- Possible board damage or solder fault, especially around the I2C lines
Recommended Next Action:
- Power down
- Reseat the DAC carefully
- Recheck GPIO alignment and contact
- If still not detected by
i2cdetect, test the DAC on another Raspberry Pi (if available) or replace it to confirm failure
This is not a software configuration issue; hardware is not responding at the electrical level.
Also, try running rpi-eeprom-update as outlined in this Volumio guide, as there is a chance that boot timing issues are affecting DAC detection.
Kind Regards,
Thanks for your very detailed reply, I wish I knew so much!
My HiFiBerry is a little deep inside my Integrated Preamp so the physical checks will take a while but I will go through them, starting with the guide you referenced.
Cheers
Had a thought a power down and power up the PI. repeated i2cdetect code and came back with this.
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Is that any better ?
Hey @AudioPete,
Your latest i2cdetect output confirms that the WM8804 at address 0x3b is now detected and active on the I2C bus. The UU indicates the kernel driver has successfully claimed the device, which matches the expected behavior for the HiFiBerry Digi+ Pro.
However, before confirming full initialization and audio path readiness, we need to inspect the current and complete Volumio system logs.
Please generate a fresh log using the proper method:
-
Open your browser and go to:
http://<your-volumio-ip>/dev
(replace<your-volumio-ip>with your actual Volumio device IP address) -
Under the “System Logs” section, click the “Submit” button
-
After a few seconds, a log URL will appear - please copy and share that link here
This will let us verify:
- Whether the Digi+ Pro was fully initialized
- ALSA device registration
- Any overlay, service, or playback errors
Once we have the logs, we can proceed with a conclusive check.
Kind Regards,
Thanks for sticking with this for me.
http://logs.volumio.org/volumio/ZQ1i7cO.html
In case you are interested these are the DjukePreamp python scripts that take the MPD data and pass to my Preamp Controller for display.
Hi nerd, have you had a chance to check the log?
ATB
Hey @AudioPete,
The DAC is now fully detected and operational, as confirmed in the latest system logs. The WM8804 is responding on I2C, the snd_rpi_hifiberry_digi driver is loaded correctly, and the ALSA device is registered and ready for playback.
However, the original failure remains unexplained. There is no indication of a Volumio misconfiguration or overlay mismatch. The issue appears to have resolved only after a full power cycle. There is no technical evidence that points to a problem caused by Volumio itself.
Speculation about Pi revision-specific timing (such as behavior tied to Rev 1.5) does not apply here, as your board is confirmed to be Rev 1.4. We have no reliable mechanism or data to attribute the DAC initialization failure to firmware, EEPROM, or clock timing irregularities. It may simply have been a transient hardware state.
Regarding DjukePreamp:
This is not a Volumio component. The script comes from the Djuke preamp integration project and has very clearly defined installation requirements in its own documentation and source header.
From DjukePreamp.py:
# To install it on the Volumio raspbian distribution, connect using ssh to it and run these commands:
#
# sudo apt-get update
# sudo apt-get install python3-pip
# sudo pip3 install websocket-client
# sudo pip3 install python-socketio
# sudo apt-get install python3-serial
These dependencies are not met in your system, which is why the script fails at startup with ImportError: No module named socketIO_client. The fault lies entirely with incomplete setup of the Djuke integration and is unrelated to Volumio functionality.
Kind Regards,
Thank you so much for your investigation and analysis.
I will return to the DjukePreamp setup and try to get it correctly installed.
Cheers
Hi @nerd
Deleted the previous DjukePreamp files and their folders and then was able to re-install using the git preface, however the service is still not running.
volumio@pnbvolumio:~$ systemctl start DjukePreamp
volumio@pnbvolumio:~$ systemctl status DjukePreamp
● DjukePreamp.service - DjukePreamp service
- Loaded: loaded (/etc/systemd/system/DjukePreamp.service; enabled; vendor pres*
- Active: activating (auto-restart) (Result: exit-code) since Wed 2025-06-18 09*
- Process: 11355 ExecStart=/usr/bin/env python /usr/local/Djuke/DjukePreamp.py (*
- Main PID: 11355 (code=exited, status=2)*
lines 1-5/5 (END)
● DjukePreamp.service - DjukePreamp service - Loaded: loaded (/etc/systemd/system/DjukePreamp.service; enabled; vendor preset: enabled)*
- Active: activating (auto-restart) (Result: exit-code) since Wed 2025-06-18 09:42:37 BST; 1s ago*
- Process: 11355 ExecStart=/usr/bin/env python /usr/local/Djuke/DjukePreamp.py (code=exited, status=2)*
- Main PID: 11355 (code=exited, status=2)*
Looking at the files with WinSCP they do not appear to be executable, could that be the reason?
just chmod +X the files.
cd /home/volumio/preamp/python
chmod +x *.py
chmod +x *.sh
Got there in the end!
(btw it had to be a lowercase x)
Many Thanks
Current Volumio 3.832, PI 4B, DigiPro
We had a mains power failure recently and I thought that my UPS had kept my PI and Preamp up ok because all the preamp settings were maintained. However something is wrong as trying to run Volumio it Alsa errors. Can someone guide me what needs correcting please?
This is a copy of the Live Log:
Starting Live Log...
info: CoreCommandRouter::executeOnPlugin: alsa_controller , checkAudioDeviceAvailable
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus
info: CoreCommandRouter::executeOnPlugin: system , versionChangeDetect
info: CoreCommandRouter::executeOnPlugin: system , getPrivacySettings
info: CoreCommandRouter::volumioGetState
info: CorePlayQueue::getTrack 0
info: CALLMETHOD: system_controller system enableLiveLog true
info: CoreCommandRouter::executeOnPlugin: system , enableLiveLog
info: Launching a new LiveLog session
info: BOOT COMPLETED
info: CoreCommandRouter::volumioGetState
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::executeOnPlugin: system , getSystemVersion
info: CoreCommandRouter::executeOnPlugin: system , getConfigParam
info: CoreCommandRouter::executeOnPlugin: my_volumio , getAutoUpdateCheckEnabled
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getConfigParam
info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getConfigParam
info: CoreCommandRouter::executeOnPlugin: appearance , getConfigParam
info: CoreCommandRouter::executeOnPlugin: mpd , getMyCollectionStatsObject
info: CoreCommandRouter::volumioGetBrowseSources
info: CoreCommandRouter::executeOnPlugin: system , getSystemVersion
No test mode
No alpha test mode
info: CoreCommandRouter::executeOnPlugin: my_volumio , getAutoUpdateEnabled
info: Update Ready: {"changeLogLink":"","description":"You're already on the latest version","title":"No Updates Available","updateavailable":false}
info: CoreCommandRouter::executeOnPlugin: updater_comm , setUpdateMessageCache
systemd-timedated.service: Succeeded.
info: CoreCommandRouter::volumioGetState
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioPlay
info: CoreStateMachine::play index undefined
info: CoreStateMachine::setConsumeUpdateService undefined
info: CorePlayQueue::getTrack 0
info: CoreStateMachine::startPlaybackTimer
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioGetVisibleSources
info: CoreCommandRouter::executeOnPlugin: my_music , getDisabledSources
info: CoreCommandRouter::executeOnPlugin: mpd , getMyCollectionStatsObject
info: [1760010088890] ControllerWebradio::clearAddPlayTrack
info: sendMpdCommand stop took 2 milliseconds
info:
---------------------------- MPD announces system playlist update
info: Ignoring MPD Status Update
info: sendMpdCommand clear took 2 milliseconds
error: updateQueue error: null
info: ------------------------------ 4ms
info:
---------------------------- MPD announces system playlist update
info: Ignoring MPD Status Update
info: sendMpdCommand add "http://stream.radioparadise.com/mellow-flacm" took 1 milliseconds
info: CoreStateMachine::setConsumeUpdateService mpd
info: ------------------------------ 3ms
info: sendMpdCommand play took 2 milliseconds
info:
---------------------------- MPD announces state update: player
info: ControllerMpd::getState
info:
---------------------------- MPD announces state update: player
info: sendMpdCommand status took 9 milliseconds
info: ControllerMpd::getState
info: sendMpdCommand clearerror took 3 milliseconds
info: sendMpdCommand status took 3 milliseconds
info: sendMpdCommand playlistinfo took 2 milliseconds
info: ControllerMpd::pushState
info: CoreCommandRouter::servicePushState
info: CorePlayQueue::getTrack 0
info: CoreStateMachine::syncState stateService pause
info: CoreStateMachine::syncState currentStatus stop
info: CoreStateMachine::pushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: CoreCommandRouter::volumioPushState
info: MRS: Pushing multiroomSync output update for this device
info: MRS: Pushing multiroomSync output
info: CoreCommandRouter::volumioGetState
info: ------------------------------ 37ms
info: sendMpdCommand playlistinfo took 27 milliseconds
info: ControllerMpd::pushState
info: CoreCommandRouter::servicePushState
info: CorePlayQueue::getTrack 0
info: CoreStateMachine::syncState stateService pause
info: CoreStateMachine::syncState currentStatus stop
info: CoreStateMachine::pushState
info: CoreCommandRouter::volumioPushState
info: MRS: Pushing multiroomSync output update for this device
info: MRS: Pushing multiroomSync output
info: CoreCommandRouter::volumioGetState
info: ------------------------------ 56ms
error: Cannot update RT Device info: Error: Reference.set failed: First argument contains undefined in property 'user_devices.hJLe6UoiNCc7wA6LY4oiFWq00Gi2.61ceebb11fafdd121f8b95a767fa08ec.state.status'
info: Executing endpoint metavolumio
info: CoreCommandRouter::executeOnPlugin: metavolumio , requestToMetaVolumio
info: CoreCommandRouter::volumioGetState
systemd-hostnamed.service: Succeeded.
Soliciting pool server 193.123.182.176
Soliciting pool server 217.114.59.3
info: CoreCommandRouter::volumioGetState
Soliciting pool server 46.101.52.249
Soliciting pool server 77.74.199.184
Soliciting pool server 213.5.132.231
Soliciting pool server 149.22.188.7
Soliciting pool server 176.58.109.199
Soliciting pool server 178.79.140.210
Soliciting pool server 212.71.248.69
Soliciting pool server 139.162.224.201
Soliciting pool server 176.58.120.34
Soliciting pool server 176.58.109.184
Soliciting pool server 77.104.162.218
Soliciting pool server 88.80.189.24
Soliciting pool server 2a05:b400:c::123:61
receive: Unexpected origin timestamp 0xec921dfd.dbcbcd0c does not match aorg 0000000000.00000000 from server@217.114.59.3 xmt 0xec921dfe.3956b85c
receive: Unexpected origin timestamp 0xec921dfd.dbc54819 does not match aorg 0000000000.00000000 from server@88.80.189.24 xmt 0xec921dfe.396c2aba
receive: Unexpected origin timestamp 0xec921dfd.dbca9a18 does not match aorg 0000000000.00000000 from server@149.22.188.7 xmt 0xec921dfe.3983af7e
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::volumioGetState
Hey @AudioPete,
Consolidated history of your ALSA journey.
I think you should know by now that livelog will not show kernel init of any I2C/I2S device. You know the drill.
Kind Regards,
