Works fine with recent ALSA versions (tested on Ubuntu 11.10, 12.04, 12.10, 13.04, 13.10 and 14.04). However some applications, for example Mixxx (a great open source DJ software) can't handle the 24 bit and the 192kHz sampling rate. To make it work and be able to use all four channels of the sound card you need the following .asoundrc file.
In Mixxx you can select "channel12" for output 1 and 2 and "channel34" for output 3 and 4. Just remember to put the hardware switch for the headphones on the front of the device to the rigth channels.
# Makes the subdevices aka channel 1&2 and 3&4 available for alsa applications pcm_slave.sl12 { pcm "hw:AudioKontrol1,0,0" format S24_3BE channels 2 rate 192000 } pcm.channel12 { type plug slave sl12 } pcm_slave.sl34 { pcm "hw:AudioKontrol1,0,1" format S24_3BE channels 2 rate 192000 } pcm.channel34 { type plug slave sl34 } # create a virtual four-channel device with two sound devices: # This is in fact two interleaved stereo streams in # different memory locations, so JACK will complain that it # cannot get mmap-based access. see below. pcm.multi { type multi; slaves.a.pcm "hw:AudioKontrol1,0,0"; slaves.a.channels 2; slaves.b.pcm "hw:AudioKontrol1,0,1"; slaves.b.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; } # JACK will be unhappy if there is no mixer to talk to, so we set # this to the usb card. ctl.multi { type hw; card AudioKontrol1; } # This creates a 4 channel interleaved pcm stream based on # the multi device. JACK will work with this one. pcm.ttable { type route; slave.pcm "multi"; slave.channels 4; ttable.0.0 1; ttable.1.1 1; ttable.2.2 1; ttable.3.3 1; } # see above. ctl.ttable { type hw; card AudioKontrol1; }
xinput set-prop "Audio Kontrol 1" "Device Enabled" 0and activated again with:
xinput set-prop "Audio Kontrol 1" "Device Enabled" 1
amixer -c AudioKontrol1 controlsWhich should output something like:
numid=1,iface=HWDEP,name='LED left' numid=2,iface=HWDEP,name='LED middle' numid=3,iface=HWDEP,name='LED right' numid=4,iface=HWDEP,name='LED ring'You can then turn on for example the ring LED with:
amixer -c AudioKontrol1 cset numid=4 1and turn it off with:
amixer -c AudioKontrol1 cset numid=4 0