[alsa-devel] Wyse Winterm CS5535 Driver

Takashi Iwai tiwai at suse.de
Wed Oct 31 09:15:33 CET 2007


At Wed, 31 Oct 2007 11:08:06 +1000,
Darryl Bond wrote:
> 
> I have a Wyse S50 terminal that I am booting diskless. I have been 
> trying to get sound working. The box has a cs5535 chipset.
> 
> After much fiddling in the kernel source (2.6.22.5 <http://2.6.22.5> ) I 
> have been able to make it work. I'm not sure if it is a cs5535 problem 
> as the code that fixes it is in ac97_pcm.c.
> 
> It would appear that the card is getting passed an unexpected rate. The 
> function sound/pci/ac97/ac97_pcm.c snd_ac97_set_rate()
> has a section:
>  case AC97_PCM_FRONT_DAC_RATE:
>  case AC97_PCM_LR_ADC_RATE:
>                
> if ((ac97->regs[AC97_EXTENDED_STATUS] & AC97_EA_VRA) == 0)      /* VRA */
>                         if (rate != 48000 && rate != 96000)
>                                  return -EINVAL;
>                break;
> If I use 'aplay wavfile' the rate passed to this function is 44100.
> I I changethe code to:
> if (rate != 48000 && rate != 96000 && rate != 44100)
> 
> it plays but at a slightly incorrect rate.

Apparently your codec doesn't support VRA, so it cannot work except
for 48kHz (or 96kHz in some cases).  Usually other rates are converted
via alsa-lib plugin.  In the recent versions, the default PCM
"default" does such conversions automagically (unless you specify
explicitly the non-conversion, e.g., passing the device 'hw").


Takashi


More information about the Alsa-devel mailing list