Re: [alsa-devel] UAC2 clock selector for AudioBox 1818VSL
On 07.09.2012 19:57, louis@museresearch.com wrote:
Hi Daniel, Thanks for the quick reply. I am able to set the clock on my Mac, though I do need to do further tests and make sure that the sync is actually reliable there. The setting is available from the built-in, standard OS X audio setup application "Audio MIDI Setup".
There should be a S/PDIF clock signal going to the digital inputs on the device. Some of the other controls such as per-channel mute also appear to work. I've also attached the lsusb output.
There are some other details that may be relevant, but I didn't want to make my initial post too long/confusing because these extra details may end up just being a red herring: Each mixer element name (as seen in amixer) is prefixed with "AudioBox 1818 VSL Clock Selector" even if it is not a clock selector.
That strange but I believe not related. We should still fix that :)
I am confident though that the control I've been playing with is the clock selector because it lists the different clock types as options. I also see this when I plug the device in or load the ALSA driver:
ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xa00, type = 4 ALSA sound/usb/mixer.c:846 10:0: cannot get min/max values for control 2 (id 10) ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4 ALSA sound/usb/mixer.c:846 10:0: cannot get min/max values for control 2 (id 10) ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xb00, type = 4 ALSA sound/usb/mixer.c:846 11:0: cannot get min/max values for control 2 (id 11) ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xb00, type = 4 ALSA sound/usb/mixer.c:846 11:0: cannot get min/max values for control 2 (id 11)
Do you see any messages when you try to set the clock selector with amixer?
If you're running a recent kernel, try the following patch. That will produce log messages for each mixer related control packet that is sent out to the device.
Thanks, Daniel
Hi Daniel, I've applied the patch, and this is the output. When I call it with value 0, nothing happens. When I set it to higher values, it looks like some (attempted?) communication happens with the device. I added another debug line which spits out the value_set parameter also.
[root@TestName linux-3.4.5-2.muse1.rt13.2.fc15.x86_64]# amixer -c 2 cset numid=5,iface=MIXER,name='AudioBox 1818 VSL Clock Selector' 0
numid=5,iface=MIXER,name='AudioBox 1818 VSL Clock Selector' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'AudioBox 1818 VSL Internal Clock' ; Item #1 'AudioBox 1818 VSL S/PDIF Clock' ; Item #2 'AudioBox 1818 VSL ADAT Clock' : values=0
[root@TestName linux-3.4.5-2.muse1.rt13.2.fc15.x86_64]# amixer -c 2 cset numid=5,iface=MIXER,name='AudioBox 1818 VSL Clock Selector' 1
numid=5,iface=MIXER,name='AudioBox 1818 VSL Clock Selector' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'AudioBox 1818 VSL Internal Clock' ; Item #1 'AudioBox 1818 VSL S/PDIF Clock' ; Item #2 'AudioBox 1818 VSL ADAT Clock' : values=0 Sep 10 09:45:16 TestName kernel: [ 4486.890466] ALSA sound/usb/mixer.c:444 Called with value_set=2 Sep 10 09:45:16 TestName kernel: [ 4486.890566] ALSA sound/usb/mixer.c:476 DEBUG: snd_usb_mixer_set_ctl_value(): request 00000001 requesttype 00000021, value 0100, index 2800, size 2
[root@TestName linux-3.4.5-2.muse1.rt13.2.fc15.x86_64]# amixer -c 2 cset numid=5,iface=MIXER,name='AudioBox 1818 VSL Clock Selector' 2
numid=5,iface=MIXER,name='AudioBox 1818 VSL Clock Selector' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'AudioBox 1818 VSL Internal Clock' ; Item #1 'AudioBox 1818 VSL S/PDIF Clock' ; Item #2 'AudioBox 1818 VSL ADAT Clock' : values=0 Sep 10 09:45:20 TestName kernel: [ 4490.090214] ALSA sound/usb/mixer.c:444 Called with value_set=3 Sep 10 09:45:20 TestName kernel: [ 4490.090256] ALSA sound/usb/mixer.c:476 DEBUG: snd_usb_mixer_set_ctl_value(): request 00000001 requesttype 00000021, value 0100, index 2800, size 2
Louis
There are some other details that may be relevant, but I didn't want to make my initial post too long/confusing because these extra details may end up just being a red herring: Each mixer element name (as seen in amixer) is prefixed with "AudioBox 1818 VSL Clock Selector" even if it is not a clock selector.
That strange but I believe not related. We should still fix that :)
I am confident though that the control I've been playing with is the clock selector because it lists the different clock types as options. I also see this when I plug the device in or load the ALSA driver:
ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xa00, type = 4 ALSA sound/usb/mixer.c:846 10:0: cannot get min/max values for control 2 (id 10) ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4 ALSA sound/usb/mixer.c:846 10:0: cannot get min/max values for control 2 (id 10) ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xb00, type = 4 ALSA sound/usb/mixer.c:846 11:0: cannot get min/max values for control 2 (id 11) ALSA sound/usb/mixer.c:342 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xb00, type = 4 ALSA sound/usb/mixer.c:846 11:0: cannot get min/max values for control 2 (id 11)
Do you see any messages when you try to set the clock selector with amixer?
If you're running a recent kernel, try the following patch. That will produce log messages for each mixer related control packet that is sent out to the device.
Thanks, Daniel
participants (2)
-
Daniel Mack
-
louis@museresearch.com