I recently purchaced a “Volumio supported GPIO header solution (I2S) DAC” for my new Raspberry Pi2 because my AV Receiver was only picking up 48kHz on higher sample rate files via HDMI. After some testing and fiddling around I have come to the conclusion that the sound was far superior (clearer with no noise) through HDMI (ALSA) to my AV Receiver. Even my self-proclaimed tone-deaf wife came through to the lounge and commented that is was better before. Obviously now I am thinking of going back to HDMI, but I still have the same problem 48 kHz ceiling problem???
After some research I found that the Raspberry Pi supports HDMI v1.3a which as far as I believe supports up to 192kHz. I then thought maybe it is the software (Volumio, driver or something) and then found this github.com/raspberrypi/linux/issues/494 which states the ALSA driver to be limited to 48kHz, so I assume this is my problem?
My research therefore brings me to the obvious questions; Is the limitation of ALSA true? If so, are there any plans for Volumio to support a higher sample rate through ASLA/HDMI?
So after some research it seems ALSA may be downsampling to 48kHz. Does anyone have any idea how to output anything above 48khz?
root@volumio:~# tvservice -a
PCM supported: Max channels: 2, Max samplerate: 192kHz, Max samplesize 24 bits.
AC3 supported: Max channels: 6, Max samplerate: 48kHz, Max rate 640 kb/s.
DTS supported: Max channels: 6, Max samplerate: 48kHz, Max rate 1536 kb/s.
I have this problem too…
My raspberry pi i use hearing music over hdmi output to receiver. With openelec my pi can output 88,96,192khz 2 channel flac, and multichannel 96khz 5.1 flac with the equal sample rate displayed at av receiver.
When i install volumio, everything played at 48khz, and multichannel flac has strong distortions.
What can make to use volumio the correct sample rate output to play lossless this musics?
With 100% volume music is distorted… I maked reserch , and hear some info volumio hdmi output is amplified +4db.
So manually set the volume to 96, or at ssh turning off the 4db amplifiing ( all of above make a same result volume go to 96) stop the distortion, but how can this make default settings at boot up?
I am still having the problem. I have not tried anything else, but thanks for the confirmation. Many have said that it is a limitation on the PI but I guess your testing proves otherwise? I thought the clock was unable to produce bit perfect sound over hdmi at 192khz. I solved my distortion by disabling volume control in Volumio and now using my AV Receiver or it.
I made a custom kernel with a patch to push the limits to 192kHz. I tried it yesterday on a Pi1 with a semi-success: I could see the rate changing to 192kHz on my but sound was very because it was 24bits and the patch I made could not handle it.
Resampling the file to 16bits did the job but I did not have enough time to further test the system, I will do it on my Pi2B when I’ll receive the SD cards.
So in a near future I will provide all the files needed to update the kernel, stay tuned!
I finally found the time to test the new patched kernel on my Pi 2 B and it works, I could get 192/24 files played without any problem. I even tried to play a 5.1 file but only two channels are decoded (files can be found here: 2l.no/hires).
The status on my Denon AVR1911 displays correctly the bitrate, tested with a 44.1, 96 and 192kHz file.
While listening to a 44.1kHz stream (SomaFM) I could hear distortion, it was due to the +4dB amplification that Alsa do when the volume is full. Changed it with alsamixer (volume set to 86) and distortion is gone.
So here are the files to put on your system for both versions of Pi (1 and 2). There are two compressed tarball files, modules-SA.tgz and boot-SA.tgz, to be extracted in /. Please make a backup of /boot in case you want to come back to the stock Volumio kernel. My kernels are named kernel7-SA.img and kernel-SA.img, you will need to edit the /boot/config.txt and add the line «kernel=kernel-SA.img» (Pi1) or«kernel=kernel7-SA.img» (Pi2) . All other options remain the same.
do a backup of the /boot directory (*.bin, *.img, *.elf, *.dat, *.dtb, overlays/)
remove the old files
copy the tarball files in /run/shm
cd / ; tar xvzf /run/shm/modules-SA.tgz
cd / ; tar xvzf /run/shm/boot-SA.tgz
test a 192kHZ 24 bits file
report any success or failure
If this patched kernel is working on others systems, I will make a self-extracting archive that will simplify the update process (download it, run it, it will do the backup, test if it’s a Pi1 or Pi2 and change the config.txt).
Edit: the tarball files now contains both versions for Pi1 and Pi2
If you can tell the Volumio team exactly which patches/changes you have done to the kernel, they can decide if they can put those in the Volumio kernel of an upcoming version. Then it will work by default
I suspect you are using a Wifi device that needs a non standard driver (i.e. not provided by the stock kernel). Can you give me the name of you device please? I’ll see if I can find the option in the kernel configuration menu.
Yes the kernel has changed it’s name, this is normal as it is a higher version than the kernel used in Volumio 1.55. To compile it I used the same configuration as Volumio (except for new kernel options, I had to improvise ). The -rt5 comes from the real-time patch I applied.
Adapter Name: TP-LINK TL-WN725N
Driver/Firmware: raspberrypi.org/forums/viewt … &start=175 (MrEngman post)
Working with Volumio: Yes but have to install driver and reboot
Tested Versions and Platforms: Volumio 1.55
Comments: Native support would be awesome
Buying Link: amazon.com/TP-LINK-TL-WN725N … B008IFXQFU
Your links are broken, please fix them.
There is a rt8188eu driver (in /lib/modules/3.18.9-rt5/kernel/drivers/staging/rtl8188eu/) but I suspect the firmware is missing.
Can you check in /lib/firmware/ if you have two directories named RTL8192E and RTL8192SU please?
The script /boot/install.sh erases the /lib/firmware directory, I think that this is your problem.
Here is a file with the firmware: ovh.to/GrWwdPu (to be extracted in /)
If this does not work, please put a copy of lsusb and /var/log/message when you plug in your key.
I received some new SD cards, I will test my new kernel on e fresh install of Volumio.