On Wed, Sep 25, 2019 at 08:39:10PM +0100, [email protected] wrote:
> Alexandre Ratchov writes:
> > On Wed, Sep 25, 2019 at 05:15:22PM +0100, [email protected] wrote:
> > > I have a similar problem to Alexander Hof with a presonus audio usb
> > > device, where attaching it reports 'only one AC iface allowed' and the
> > > device remains (apparently totally) inaccessible.
> > >
> > > dmes and lsusb included below.
> > >
> >
> > According to dmesg, this is 6.5, which doesn't contain the fix for
> > this problem. Could you try the device on a -current system?
> 
> I did look through the post 6.5 changes in CVS but couldn't see anything
> relevent, possibly for reasons that will become clear.
> 
> > Programmable clocks are OK, the comment states that we don't support
> > multiple clock sources simultaneously. When audio starts, all parts of
> > the device must be clocked by the same clock source.
> >
> > Pro audio interfaces use necessarily a single clock because otherwise
> > they wouldn't be unstable in DAWs and/or for real-time effects.
> >
> > FWIW, I've never seen -- or even heard of -- devices using multiple
> > clock sources simultaneously.
> 
> Good, because that was a complete red herring. The _other_ instance of
> '%s: only one AC iface allowed' is the one associated with the fault, in
> uaudio_process_conf(). Perhaps the error message at the end of
> uaudio_process_ac() could read '%s: only one distinct clock source
> allowed'?
> 
> There is good news and bad news about -current. The good news is that
> the upgrade was seamless and the device is registered without reporting
> an error. The bad news is that I'd eventually managed to notice the
> empty (?) control interface and skip it, but it still didn't/doesn't
> work:
> 
> uaudio0 at uhub3 port 2 configuration 1 interface 1 "PreSonus AudioBox USB 
> 96" rev 2.00/1.12 addr 4
> uaudio0: class v2, high-speed, async, channels: 2 play, 2 rec, 0 ctls
> audio1 at uaudio0
> umidi0 at uhub3 port 2 configuration 1 interface 4 "PreSonus AudioBox USB 96" 
> rev 2.00/1.12 addr 4
> umidi0: (genuine USB-MIDI)
> umidi0: out=1, in=1
> midi0 at umidi0: <USB MIDI I/F>
> ugen1 at uhub3 port 2 configuration 1 "PreSonus AudioBox USB 96" rev 
> 2.00/1.12 addr 4
> 
> ludmilla$ audioctl -f /dev/audioctl1
> name=uaudio0
> mode=
> pause=0
> active=0
> nblks=2
> blksz=960
> rate=48000
> encoding=s16le
> play.channels=2
> play.bytes=0
> play.errors=0
> record.channels=2
> record.bytes=0
> record.errors=0
> 
> ludmilla$ mixerctl -f /dev/mixer1
> record.enable=sysctl
> 
> ludmilla$ sysctl |grep -e mix -e audio
> kern.audio.record=0
> 
> And from mplayer with AUDIODEVICE=snd/1:
> ...
> ao2: can't open sndio
> ...

You need to set

sndiod_flags=-frsnd/0 -frsnd/1

in /etc/rc.conf.local and restart sndiod. This is for sndiod to
configure this device as well.

Another option is to use the new -F option, so that sndiod will use
the USB device if it's connected and the internal if it
isn't. Example:

sndiod_flags=-frsnd/0 -Frsnd/1

in this case, no need to export AUDIODEVICE=snd/1, assuming the device
works ;-)

Reply via email to