IQaudio configuration

In the meantime I have tried using the board with Raspbian. At first I didn’t get any sound, but when I changed dtoverlay from hifiberry-dac (this is also how the Zynthian also recognized the raspiaudio board) to iqaudio-dacplus, it worked fine, so the iqaudio board is functional at least.

Also, if it’s of any help, here is the audio section of the Zynthian /boot/config.txt:

# Enable RBPi Onboard Audio (Headphones)                                                                              
dtparam=audio=on                                                                                                      
audio_pwm_mode=2                                                                                                      
                                                                                                                      
# Soundcard Config                                                                                                    
dtoverlay=iqaudio-dacplus                                                                                             

dtparam=audio=on (default rpi output) is enabled, while it was commented out in my raspbian system. Could this be a reason? Shall I try to comment it out?

Besides, I was also starting to wonder if starting over again from a fresh image may be the solution

Hi,

  1. output of jack_lsp -c looks strange to me because there is no iqaudio mention elsewhere
  2. if you’ve got the board working under raspbian, I would suggest you to have a look at alsamixer to see how are the “good” settings
  3. As @riban noticed, most of “installers” (for displays, audio boards and so on) are overwriting some config files and they can brake the zynthian setup
  4. regarding your last post, you can give a try by commenting all the RPI onboard audio (maybe that could explain why they are no mention of the IqAudio board in jack_lsp -c)
  5. Otherwise, you may consider a fresh install should as a good option …

Good luck :zynface:

Tried it with no luck

That’s what I ended up doing. Reformatted the SD card and did a fresh reinstall, reconfigured everything and… no sound. Updated the Zynthian OS: still no sound. I’ll redo all the dumps you guys asked for with this new install but I’m getting a little desperate: all I have besides the RPi is a sound card officially supported by Zynthian and a display that is not but that is using the DSI port, so no possible GPIO conflict or anything. So, it should work…

Sorry to be pedantic but only the hardware sold by zynthian.org should be considered officially supported. Other hardware that appears in the webconf lists are added from community effort and hence are supported by the community. In practice you probably get similar level of support but I feel it important to distinguish the two types of support.

1 Like

So here it is again: journalctl -ujack2 dump

Feb 17 17:34:58 zynthian systemd[1]: Started JACK2 Audio Server.                                                      
Feb 17 17:34:59 zynthian jackd[461]: jackdmp 1.9.14                                                                   
Feb 17 17:34:59 zynthian jackd[461]: Copyright 2001-2005 Paul Davis and others.                                       
Feb 17 17:34:59 zynthian jackd[461]: Copyright 2004-2016 Grame.                                                       
Feb 17 17:34:59 zynthian jackd[461]: Copyright 2016-2019 Filipe Coelho.                                               
Feb 17 17:34:59 zynthian jackd[461]: jackdmp comes with ABSOLUTELY NO WARRANTY                                        
Feb 17 17:34:59 zynthian jackd[461]: This is free software, and you are welcome to redistribute it                    
Feb 17 17:34:59 zynthian jackd[461]: under certain conditions; see the file COPYING for details                       
Feb 17 17:34:59 zynthian jackd[461]: JACK server starting in realtime mode with priority 70                           
Feb 17 17:34:59 zynthian jackd[461]: self-connect-mode is "Don't restrict self connect requests"                      
Feb 17 17:34:59 zynthian jackd[461]: creating alsa driver ... hw:IQaudIODAC|hw:IQaudIODAC|256|2|44100|0|0|nomon|swmete
Feb 17 17:34:59 zynthian jackd[461]: configuring for 44100Hz, period = 256 frames (5.8 ms), buffer = 2 periods        
Feb 17 17:34:59 zynthian jackd[461]: ALSA: final selected sample format for playback: 32bit integer little-endian     
Feb 17 17:34:59 zynthian jackd[461]: ALSA: use 2 periods for playback                                                 
Feb 17 17:34:59 zynthian jackd[461]: scan: added port hw:0,0,0 in-hw-0-0-0-f-midi                                     
Feb 17 17:34:59 zynthian jackd[461]: scan: added port hw:0,0,0 out-hw-0-0-0-f-midi                                    
Feb 17 17:34:59 zynthian jackd[461]: scan: opened port hw:0,0,0 in-hw-0-0-0-f-midi                                    
Feb 17 17:34:59 zynthian jackd[461]: scan: opened port hw:0,0,0 out-hw-0-0-0-f-midi                                   

jack_lsp -c output:

system:playback_1                                                                                                     
   zynaddsubfx:part0/out-L                                                                                            
system:playback_2                                                                                                     
   zynaddsubfx:part0/out-R                                                                                            
system:midi_capture_1                                                                                                 
   ZynMidiRouter:main_in                                                                                              
system:midi_playback_1                                                                                                
ttymidi:MIDI_in                                                                                                       
   ZynMidiRouter:main_in                                                                                              
ttymidi:MIDI_out                                                                                                      
   ZynMidiRouter:midi_out                                                                                             
a2j:Midi Through [14] (capture): Midi Through Port-0                                                                  
   ZynMidiRouter:main_in                                                                                              
a2j:Midi Through [14] (playback): Midi Through Port-0                                                                 
jackpeak:input_a                                                                                                      
   zynaddsubfx:part0/out-L                                                                                            
jackpeak:input_b                                                                                                      
   zynaddsubfx:part0/out-R                                                                                            
ZynMidiRouter:main_out                                                                                                
ZynMidiRouter:midi_out                                                                                                
   ttymidi:MIDI_out                                                                                                   
ZynMidiRouter:net_out                                                                                                 
ZynMidiRouter:ctrl_out                                                                                                
ZynMidiRouter:step_out                                                                                                
   zynthstep:input                                                                                                    
ZynMidiRouter:ch0_out                                                                                                 
   zynaddsubfx-01:midi_input                                                                                          
ZynMidiRouter:ch1_out                                                                                                 
ZynMidiRouter:ch2_out                                                                                                 
ZynMidiRouter:ch3_out                                                                                                 
ZynMidiRouter:ch4_out                                                                                                 
ZynMidiRouter:ch5_out                                                                                                 
ZynMidiRouter:ch6_out                                                                                                 
ZynMidiRouter:ch7_out                                                                                                 
ZynMidiRouter:ch8_out                                                                                                 
ZynMidiRouter:ch9_out                                                                                                 
ZynMidiRouter:ch10_out                                                                                                
ZynMidiRouter:ch11_out                                                                                                
ZynMidiRouter:ch12_out                                                                                                
ZynMidiRouter:ch13_out                                                                                                
ZynMidiRouter:ch14_out                                                                                                
ZynMidiRouter:ch15_out                                                                                                
ZynMidiRouter:main_in                                                                                                 
   system:midi_capture_1                                                                                              
   ttymidi:MIDI_in                                                                                                    
   a2j:Midi Through [14] (capture): Midi Through Port-0                                                               
ZynMidiRouter:net_in                                                                                                  
ZynMidiRouter:seq_in                                                                                                  
ZynMidiRouter:step_in                                                                                                 
   zynthstep:output                                                                                                   
ZynMidiRouter:ctrl_in                                                                                                 
zynthstep:input                                                                                                       
   ZynMidiRouter:step_out                                                                                             
zynthstep:output                                                                                                      
   ZynMidiRouter:step_in                                                                                              
zynaddsubfx:out-L                                                                                                     
zynaddsubfx:out-R                                                                                                     
zynaddsubfx:part0/out-L                                                                                               
   system:playback_1                                                                                                  
   jackpeak:input_a                                                                                                   
zynaddsubfx:part0/out-R                                                                                               
   system:playback_2                                                                                                  
   jackpeak:input_b                                                                                                   
zynaddsubfx:part1/out-L                                                                                               
zynaddsubfx:part1/out-R                                                                                               
zynaddsubfx:part2/out-L                                                                                               
zynaddsubfx:part2/out-R                                                                                               
zynaddsubfx:part3/out-L                                                                                               
zynaddsubfx:part3/out-R                                                                                               
zynaddsubfx:part4/out-L                                                                                               
zynaddsubfx:part4/out-R                                                                                               
zynaddsubfx:part5/out-L                                                                                               
zynaddsubfx:part5/out-R                                                                                               
zynaddsubfx:part6/out-L                                                                                               
zynaddsubfx:part6/out-R                                                                                               
zynaddsubfx:part7/out-L                                                                                               
zynaddsubfx:part7/out-R                                                                                               
zynaddsubfx:part8/out-L                                                                                               
zynaddsubfx:part8/out-R                                                                                               
zynaddsubfx:part9/out-L                                                                                               
zynaddsubfx:part9/out-R                                                                                               
zynaddsubfx:part10/out-L                                                                                              
zynaddsubfx:part10/out-R                                                                                              
zynaddsubfx:part11/out-L                                                                                              
zynaddsubfx:part11/out-R                                                                                              
zynaddsubfx:part12/out-L                                                                                              
zynaddsubfx:part12/out-R                                                                                              
zynaddsubfx:part13/out-L                                                                                              
zynaddsubfx:part13/out-R                                                                                              
zynaddsubfx:part14/out-L                                                                                              
zynaddsubfx:part14/out-R                                                                                              
zynaddsubfx:part15/out-L                                                                                              
zynaddsubfx:part15/out-R                                                                                              
zynaddsubfx-01:midi_input                                                                                             
   ZynMidiRouter:ch0_out                                                                                              
root@zynthian://zynthian# 

OK, thanks for making that point. I used “officially supported” for lack of a better expression, but what I meant was that when a piece of hardware appeared in the device list in the webconf I assumed that this hardware had been successfully used for building a zynthian (and hopefully with the provided settings) so at some point I should be able to get mine up and running.

…and I’m aware I’m getting support from the community not “official” support and I am grateful for what you are doing to help me

Just tried disabling the auto-mute stuff in alsamixer and it didn’t help

1 Like

For me, selecting the default soundcard always helps.

nano /etc/asound.conf

paste there:
----- cut -----
pcm.!default {
type hw
card 0
}

ctl.!default {
type hw
card 0
}
----- cut -----
were you replace card “0” number with the number of your device (see the alsamixer’s card list)

1 Like

Yes, you’re right @dhrupadiya

aplay -l command shows the numbering of audio devices too. But these numbers are subject to change …

1 Like

Hi, just to say that I received an IQaudIO DAC Pro and it works like a charm after setting hw:IQaudIODAC in place of hw:0 in the jackd parameters.
No need to touch anything in alsamixer as well.

About the card:
nice build with

  • 2x20 male pins header for stacking another hat on it
  • pcm5122 DAC
  • RCA cinch line out
  • 3.65 mm headphone
  • 2x3 pins header footprint for wiring a balanced line out
  • 8 pins header footprint for deporting the single ended line out + wiring a physical “mute” switch
  • 1x5 pins header footprint for deporting the headphone output
3 Likes

Well, good for you… I didn’t have a chance to really try to get my DAC+ working since I posted my latest journalctl / jack_lsp dumps, but having started from a fresh Zynthian image and configured the settings supposedly correctly in webconf, I was running out of ideas anyway. I was planning to resume trying this week. DAC+ and DAC pro must not be so different from each other, and you got it to work right away doing nothing special. Could you maybe send your audio HW webconf settings + the same journalctl -ujack2 / jack_lsp -c outputs (and/or whatever else relevant)? At least now we have a functional IQaudio-based configuration to compare with… Thanks in advance

Hi pat, I’m buzy at work for a couple of days, but I will send you all the details before the week.

Some more recent info of my latest trials:

  • once I had made IQaudio DAC+ work with raspbian. Tried again and it is no longer the case : it’s detected but doesn’t make any sound. When I select the rpi output (right click on the speaker on the bottom right of the screen) it works, when I select IQaudioDAC device I get no sound. Something weird under raspbian though: if I open the device settings I get this: image
    and the weird thing is that it is the “digital” slider that controls the audio out device volume slider (left click on the speaker on the bottom right of the screen), not the “analogue” one. As for the analogue one, the only positions it accepts are 0 and 100%. I was expecting the analog slider to drive the raspbian volume slider. This is for raspbian, but maybe it can give some hints?
  • On zynthian GUI, I found a RPi headphones checkbox in the admin menu, which works fine: if I enable it I get sound through the rpi headphones out and alsa mixer shows a headphone volume knob which indeed controls the rpi headphone output volume. If I disable it then I don’t get any sound from anywhere (neither rpi nor dac+) and alsamixer shows a blank panel

… and even more surprising: I disconnected my display just in case (it’s on the DSI port so very unlikely to conflict), retried and then got sound from the IQaudio. Rebooted: still some sound. Plugged display back and rebooted: still some sound…Rebooted again: still some sound. So no idea why I didn’t get any sound the first time. And BTW, the “digital” slider in the IQaudio control panel indeed controls the analog output volume (I was using the headphones out from the DAC+ all the way but I assume it’s the same for the main out).

Custom Zynthians never seem to quite work first time until you’ve made a fuss over them like a pet.

2 Likes

good to know your audio board is okay.
All the manipulations and test you’re talking about were made under a stock raspbian distro or with ZynthianOs ?

Every time I talk about tests on Raspbian, it’s the real thing, i.e. another SD card with a stock Raspbian that I normally use with another RPi board as a mini-desktop computer. For these tests, I took the SD card out from this other board and stuck it in the one dedicated to my Zynthian project, i.e. with the DAC+ and touch display mounted on it. On the other hand, when I mention the zynthian GUI, I obviously use the SD card with Zynthian OS.

Eventually tried it, as I was running out of other ideas, but doesn’t make any difference

@pat, please tell me, what “aplay -l” command says in terminal. It should give you the list of all devices with numbers. In my case on my first zynthian it is:

card 3: audioinjectorpi [audioinjector-pi-soundcard], device 0: AudioInjector audio wm8731-hifi-0 [AudioInjector audio wm8731-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

So when I edit “/etc/asound.conf” and select it as default, alsamixer shows it all the time.

pcm.!default {
        type hw
        card 3
}

ctl.!default {
        type hw
        card 3
}

I have never experiences and changes of device order after these operations. Alsamixer works as expected without any problem. Maybe there are some commands to reset the state of alsamixer, earlier before Audioinjector came into the list of cards in webconfig, I’ve used these commands that somehow restored the state of input and output on the card:

alsactl --file /usr/share/doc/audioInjector/asound.state.MIC.thru.test restore
alsactl --file /usr/share/doc/audioInjector/asound.state.RCA.thru.test restore

Hope I could help a little or give an idea were to proceed.

Hi @dhrupadiya , here is “aplay -l” output:

**** List of PLAYBACK Hardware Devices ****                                                                           
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]                            
  Subdevices: 8/8                                                                                                     
  Subdevice #0: subdevice #0                                                                                          
  Subdevice #1: subdevice #1                                                                                          
  Subdevice #2: subdevice #2                                                                                          
  Subdevice #3: subdevice #3                                                                                          
  Subdevice #4: subdevice #4                                                                                          
  Subdevice #5: subdevice #5                                                                                          
  Subdevice #6: subdevice #6                                                                                          
  Subdevice #7: subdevice #7                                                                                          
card 3: IQaudIODAC [IQaudIODAC], device 0: IQaudIO DAC HiFi pcm512x-hifi-0 [IQaudIO DAC HiFi pcm512x-hifi-0]          

So I made /etc/asound.conf the same as yours (this file didn’t exist before apparently, I created it)

The difference it makes is that when I launch alsamixer from the terminal, it now shows me the IQaudio control panel directly. I indeed no longer have to select it manually like I used to. In Zynthian GUI however, the Alsa Mixer still appears as an empty box… and I still have no sound :frowning:

@pat, I am very glad, that at least your card is now default for alsamixer.

I’ve found on one forum here the possible solution:

Under alsamixer, I just had to MUTE S/PDIF for the sound to play back again.

It could be something similar in your case.

I would search in the following direction, because it seems to be alsamixer settings problem with your particular sound card.