Hello everyone. Please help. Do not understand what is wrong Chains is : Plug asym1 - Out= Plug with multi (Copy hardware dmix output to dmix loopout) IN= Dsnoop with hardware dev Plug asym2 - Out= plug dmix loop IN= plug dsnoop loop Work good if playing to plug asym1 started before recording from asym2. Not working play to asym1 if recording from asym2 started before playing to asym1. /Etc/asound.conf is: pcm.hwcard0 { type hw; card 0; device 0; } pcm.!default { type plug; slave.pcm { type asym; playback.pcm "devhwcopy"; capture.pcm "devhwin"; } } pcm.devhwcopy { type plug; route_policy "duplicate"; slave.pcm { type multi; slaves { a { channels 2; pcm "devhwout"; } b { channels 2; pcm "devloopout"; } } bindings { 0 { slave a channel 0 } 1 { slave a channel 1 } 2 { slave b channel 0 } 3 { slave b channel 1 } } } ttable [ [ 1 0 1 0 ] [ 0 1 0 1 ] ] } pcm.devhwout { type dmix; ipc_key 1024001; ipc_perm 0666; hw_ptr_alignment roundup; slave { pcm "hwcard0"; channels 2; period_size 1024; buffer_size 8192; } bindings { 0 0 1 1 } } pcm.devhwin { type dsnoop; ipc_key 1024002; ipc_perm 0666; slave { pcm "hwcard0"; channels 2; rate 44100; period_size 1024; buffer_size 8192; } bindings { 0 0 1 1 } } pcm.devloopout { type dmix; ipc_key 1024011; ipc_perm 0666; slave { pcm "hw:LOOPCARD,0,0"; channels 2; period_size 1024; buffer_size 8192; } bindings { 0 0 1 1 } } pcm.devloopin { type dsnoop; ipc_key 1024012; ipc_perm 0666; slave { pcm "hw:LOOPCARD,1,0"; channels 2; rate 44100; period_size 1024; buffer_size 8192; } bindings { 0 0 1 1 } } pcm.devloop { type plug; slave.pcm { type asym; playback.pcm "devloopout"; capture.pcm "devloopin"; } } (English is not native for me, sorry)