1

I am trying to connect a Focusrite Scarlett 2i4 USB DAC to my OpenBSD system to use as an external sound card. From what I have figured out so far, it seems that I need to tell some program or other that the "audio1 device" is the DAC. I seems that sndio, sndiod, audio, audioctl, and mixerctl may be involved here, but the respective man pages are as unhelpful as always. I found a blog post that points out that I need to:

Configure /dev/audio, /dev/audioctl, /dev/mixer to point to /dev/audio1 or whatever dmesg reports as your new audio card...

Of course, silly me, I need to configure it. Unfortunately my big red CONFIGURE button seems to be broken. Any idea how to do this manually?

This here forum post also alludes to pointing the "device" to the actual device, saying:

The device is detected and I created a node for it in /dev with sh /dev/MAKEDEV audio1, then linked the rest of the devices to point to the new sound card.

I assume this is the same feat of magic which I seek to learn here. I do have a file /dev/audio1, however it does not show up in dmesg. Here is the output of $ dmesg | grep audio

audio0 at azalia1
uaudio0 at uhub0 port 4 configuration 1 interface 0 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio0: audio descriptors make no sense, error=4
uaudio1 at uhub0 port 4 configuration 1 interface 3 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio1: audio descriptors make no sense, error=4
uaudio0 detached
uaudio1 detached
uaudio0 at uhub0 port 4 configuration 1 interface 0 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio0: audio descriptors make no sense, error=4
uaudio1 at uhub0 port 4 configuration 1 interface 3 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio1: audio descriptors make no sense, error=4

and of dmesg | grep Focusrite

uaudio0 at uhub0 port 4 configuration 1 interface 0 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio1 at uhub0 port 4 configuration 1 interface 3 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
umidi0 at uhub0 port 4 configuration 1 interface 4 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
ugen0 at uhub0 port 4 configuration 1 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio0 at uhub0 port 4 configuration 1 interface 0 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
uaudio1 at uhub0 port 4 configuration 1 interface 3 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
umidi0 at uhub0 port 4 configuration 1 interface 4 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3
ugen0 at uhub0 port 4 configuration 1 "Focusrite Scarlett 2i4 USB" rev 2.00/1.25 addr 3

EDIT: What dmesg should be saying at some point, but isn't, is something along the lines of

audio1 at uaudio0

So, how do I point anything at audio1, what exactly should I point there, and then what? My /etc/rc.conf.local contains

sndiod_flags=-f rsnd/1

which should mean that the second audio device is the default, right? But since only one (internal soundcard of the computer = audio0 at azalia1 = rsnd/0 (?)) is mounted or whatever that is called, that one is used.

EDIT: I found something in the OpenBSD FAQs about Midi devices that may be related. Says here:

The output of the keyboard can be connected to the input of the synthesizer, as follows:

$ cat -u < /dev/rmidi0 > /dev/rmidi1

That would simply replace the contents of rmidi1 with those of rmidi0, no? Is this the mysterious "pointing" that I seem to be looking for? And if so, which file do I want to cat into which? Preferably without mucking up the rest of the audio configuration (i.e. audio0 at azalia1).

Thanks for any helpful comments,

Os

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.