There are many threads about Volumio and Pi+, and also about using the Hifiberry DAC+. Here I’d like to discuss one particular issue with this combination.
Everything is set-up with Volumio 1.41 as a basis. Kernel is updated to get the new drivers, and all config files are adapted. The Pi now happily plays mp3 files or ALAC CD rips from a USB stick or from the Synology NAS.
What does not work is any sort of beyond-CD quality ALACs. When I play e.g. a 24 bit 176400 file, I see many of these messages on the console:
bcm2708-dmaengine bcm2708-dmaengine: DMA transfer could not be terminated.
The LED on the Hifiberry turns on, but there is no sound to be heard.
A short while later things go to pieces: The filesystem gets corrupted due to interrupt problems. At least that’s what I make of the error messages that show up.
Does anyone have an idea what could be wrong here?
Update: Here is the full console log:
[ 144.562039] bcm2835-cpufreq: switching to governor performance
[ 221.728106] bcm2708-dmaengine bcm2708-dmaengine: DMA transfer could not be terminated
[ 237.613986] bcm2708-dmaengine bcm2708-dmaengine: DMA transfer could not be terminated
[ 248.232055] ERROR: 4096 KiB atomic DMA coherent pool is too small!
[ 248.232055] Please increase it with coherent_pool= kernel parameter!
[ 261.866751] mmc0: Timeout waiting for hardware interrupt.
[ 261.891663] mmcblk0: error -110 transferring data, sector 197048, nr 8, cmd response 0x900, card status 0xc00
[ 261.921302] end_request: I/O error, dev mmcblk0, sector 197048
[ 261.946309] EXT4-fs warning (device mmcblk0p3): ext4_end_bio:316: I/O error -5 writing to inode 40417 (offset 0 size 0 starting block 24632)
[ 261.978901] Buffer I/O error on device mmcblk0p3, logical block 5175
[ 272.026042] mmc0: Timeout waiting for hardware interrupt.
[ 272.052258] mmcblk0: error -110 transferring data, sector 1831168, nr 8, cmd response 0x900, card status 0xc00
[ 272.083629] end_request: I/O error, dev mmcblk0, sector 1831168
[ 272.110676] EXT4-fs warning (device mmcblk0p3): ext4_end_bio:316: I/O error -5 writing to inode 40413 (offset 16384 size 4096 starting block 228897)
[ 272.152330] Buffer I/O error on device mmcblk0p3, logical block 209440
[ 282.185322] mmc0: Timeout waiting for hardware interrupt.
[ 282.212788] mmcblk0: error -110 transferring data, sector 1949992, nr 8, cmd response 0x900, card status 0xc00
[ 282.245268] end_request: I/O error, dev mmcblk0, sector 1949992
[ 282.280252] EXT4-fs warning (device mmcblk0p3): ext4_end_bio:316: I/O error -5 writing to inode 40413 (offset 0 size 0 starting block 243750)
[ 282.317041] Buffer I/O error on device mmcblk0p3, logical block 224293
[ 292.364620] mmc0: Timeout waiting for hardware interrupt.
[ 292.393565] mmcblk0: error -110 transferring data, sector 198536, nr 8, cmd response 0x900, card status 0xc00
[ 292.434710] end_request: I/O error, dev mmcblk0, sector 198536
[ 292.464044] EXT4-fs warning (device mmcblk0p3): ext4_end_bio:316: I/O error -5 writing to inode 40418 (offset 0 size 0 starting block 24818)
[ 292.501154] Buffer I/O error on device mmcblk0p3, logical block 5361
[ 302.543929] mmc0: Timeout waiting for hardware interrupt.
[ 302.574318] mmcblk0: error -110 transferring data, sector 3307520, nr 48, cmd response 0x900, card status 0xc00
[ 302.609625] end_request: I/O error, dev mmcblk0, sector 3307520
[ 302.640213] end_request: I/O error, dev mmcblk0, sector 3307528
[ 302.670842] end_request: I/O error, dev mmcblk0, sector 3307536
[ 302.701140] end_request: I/O error, dev mmcblk0, sector 3307544
[ 302.731366] end_request: I/O error, dev mmcblk0, sector 3307552
[ 302.762058] end_request: I/O error, dev mmcblk0, sector 3307560
[ 302.792084] Aborting journal on device mmcblk0p3-8.
[ 312.823184] mmc0: Timeout waiting for hardware interrupt.
[ 312.852734] mmcblk0: error -110 transferring data, sector 1468496, nr 8, cmd response 0x900, card status 0xc00
[ 312.887142] end_request: I/O error, dev mmcblk0, sector 1468496
[ 312.916856] Buffer I/O error on device mmcblk0p3, logical block 164106
[ 312.947448] lost page write due to I/O error on mmcblk0p3
[ 312.977003] EXT4-fs error (device mmcblk0p3) in ext4_reserve_inode_write:4862: Journal has aborted
[ 323.022479] mmc0: Timeout waiting for hardware interrupt.
[ 323.052740] mmcblk0: error -110 transferring data, sector 1769712, nr 32, cmd response 0x900, card status 0xb00
[ 323.088104] mmcblk0: retrying using single block read