Re: Q: How to detect which USx2y is connected?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Dienstag, 13. Februar 2007 schrieb Rui Nuno Capela:
> Takashi Iwai wrote:
> > At Tue, 13 Feb 2007 18:36:35 +0100,
> > Karsten Wiese wrote:
> >> Hi Rui,
> >>
> >> Am Dienstag, 13. Februar 2007 schrieb Rui Nuno Capela:
> >>> Hi Karsten,
> >>>
> >>> In my quest in completing us428control implementation, I'm now stumbling
> >>> on a fundamental question regarding the number of tracks/channel-faders
> >>> (per bank) each particular usx2y device supports. The question boils down
> >>> to what is the actual numeric value of the y in the actual usx2y model
> >>> name :)
> >>>
> >>> In practice, I need to know which usx2y model is actually connected.
> >>>
> >>> So, what is the best/deterministic way to detect (programmatically)
> >>> whether us428control is connecting to a US224 (y=4, as mine) _or_ a US428
> >>> (y=8, as yours) ?
> >>>
> >>> Is snd_hwdep_info_get_name() expected to be the most correct method?
> >> Yes, I fear. this gives the /proc/bus/usb/002/004 filename.
> >> I just did cat /proc/bus/usb/004/005 > x
> >> and check x with hexedit: the 1604 and 8001 is in there.
> >> I don't know how to portably interpret a read from
> >> /proc/bus/usb/004/005 though.
> > 
> > Note that /proc/bus/usb is deprecated on many distros...
> > 
> 
> How about using snd_pcm_hw_params_get_channels_max() ?
> At least on capture the US224 should give 2 and the US428 should give 4
> as the maximum number of channels.
> 
> It would be handful for me if the attached test program could be ran
> against a US428, just for the records ;)
> 
> On my US224 it gives:
> 
> $ snd_hwdep_info hw:3
> ---hwdep---
> snd_hwdep_info_get_id   (hw:3) = 'USX2Y Loader'
> snd_hwdep_info_get_name (hw:3) = '/proc/bus/usb/001/004'
> ---pcm (capture)---
> snd_pcm_hw_params_get_channels_min(hw:3) = 2
> snd_pcm_hw_params_get_channels_max(hw:3) = 2
> ---pcm (playback)---
> snd_pcm_hw_params_get_channels_min(hw:3) = 2
> snd_pcm_hw_params_get_channels_max(hw:3) = 2
> 
> Karsten?

 ./a.out hw:1
---hwdep---
snd_hwdep_info_get_id   (hw:1) = 'USX2Y Loader'
snd_hwdep_info_get_name (hw:1) = '/proc/bus/usb/004/007'
---pcm (capture)---
snd_pcm_hw_params_get_channels_min(hw:1) = 2
snd_pcm_hw_params_get_channels_max(hw:1) = 2
---pcm (playback)---
snd_pcm_hw_params_get_channels_min(hw:1) = 2
snd_pcm_hw_params_get_channels_max(hw:1) = 2

The 428's 4 capture channels are only visible to the raw-usb jack thing.
and this is only there for module param nrpacks=1.....

What do you see in your /sys/bus/usb/devices/... ?
(Not that I knew how to deduce the sysfs file from the hwdep->name)

      Karsten

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux