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 ;-)
