Am Montag 21 Februar 2005 18:09 schrieb Rui Nuno Capela: > Spencer Russell wrote: > > The US428 has 4 capture channels and 2 playback channels. Capture > > channels 3 and 4 are switchable between analog and digital. The > > button to switch doesn't seem to do anything, though. > > > > -spencer > > > > On Mon, Feb 21, 2005 at 09:05:32AM +0000, Rui Nuno Capela wrote: > >> > >> BTW, shouldn't the US-428 have 8 playback channels, the US-224 have 4, > >> and finally 2 for US-122? > >> > > I took a quick look into Karsten's original jackd usx2y_driver code and... > I'm affraid that the number of channels were being hardcoded as 2 for > capture and 2 for playback. > > OTOH already in the current jack CVS trunk, the number of channels are > either given on the jackd command line (-i,-o) or taken from the maximum > allowed by the ALSA driver (via snd_pcm_hw_params_get_channels_max()). > Maybe its around here where the issue is? Karsten? > > I could also check that the jackd usx2y specific code has support for no > more than 4 capture and 2 playback channels. > yes , us428 has 4 ins & 2 outs. to make it work with latest jack alsa driver, you have to hardcode 2 in channels in jack/drivers/alsa/alsa_driver.c like this: >>>>>>> --- alsa_driver.c.~1.65.~ 2005-02-22 01:15:07.000000000 +0100 +++ alsa_driver.c 2005-02-22 01:16:32.000000000 +0100 @@ -450,7 +450,7 @@ } if ((err = snd_pcm_hw_params_set_channels (handle, hw_params, - *nchns)) < 0) { + 2 /* *nchns*/)) < 0) { jack_error ("ALSA: cannot set channel count to %u for %s", *nchns, stream_name); return -1; <<<<<<< confusing, no? (even annoying, if you also use other cards with more than 2 in channels...) its because the alsa layer doesn't correctly know about us428's channels 3 + 4. in raw-usb mode some standard parts of alsa pcm are bypassed, and so currently you can only use us428's 4 in channels with the above hack. It works only, if you call jackd like this: $jackd -dalsa -dhw:n,2 with n being the us428 alsa card nr. You have to use latest snd-usb-usx2y, which is already in kernel >= 2.6.11-rc3 . and it only works with jack. plain alsa only knows us428's first 2 channels. beware of calling jackd with -dhw:n,1! it can crash your machine as i just experienced. digital in doesn't yet work. will make the above hack obsolete hopefully before spring;-) best regards, Karsten