[Pkg-alsa-devel] Bug#359851: linux-sound-base: OSS emulation incorrectly disabled

David Liontooth liontooth at cogweb.net
Fri Mar 31 22:49:01 UTC 2006


Elimar Riesebieter wrote:
> On Wed, 29 Mar 2006 the mental interface of
> David Liontooth told:
>
> [...]
>   
>> I have both the modular and the non-modular kernel available, and can boot into 
>> one or the other at will.
>>
>> I added saa7134 to /usr/share/linux-sound-base/OSS-module-list, as you 
>> instruct, and rebooted into the modular kernel.
>>
>> dmesg shows that the system by default has loaded saa7134 without any insmod 
>> parameters, and has not loaded either saa7134-oss or saa7134-alsa, since 2.6.16 
>> separate modules. To activate oss, I remove saa7134 and reinsert with these 
>> options, which I place in /etc/modprobe.d/saa7134:
>>
>> # Load saa7134-oss with kernel 2.6.16
>> options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 
>> radio_nr=1,2,3,4
>> install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe 
>> saa7134-oss
>> options saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4
>>
>> dmesg show shows the four saa7134 cards correctly configured, and in addition 
>> the oss device nodes:
>>
>> saa7133[0]: registered device dsp1
>> saa7133[0]: registered device mixer1
>> saa7133[1]: registered device dsp2
>> saa7133[1]: registered device mixer2
>> saa7133[2]: registered device dsp3
>> saa7133[2]: registered device mixer3
>> saa7133[3]: registered device dsp4
>> saa7133[3]: registered device mixer4
>>
>> I don't know, however, if this procedure spoiled your experiment, let me know. 
>> I had to do something to load saa7134-oss.
>>
>> When I now run vlc, it finds the OSS devices, so that your suggestion appears 
>> to have fixed the problem.
>>     
>
> First I need somme clarification 'cause I don't have a soundcard
> running saa7137 handy:
> Are there three modules available in 1.0.10:
> saa7137
> saa7137-oss
> saa7137-alsa ?
>   
There has been a series of changes in recent kernels (note this is all 
saa7134, not saa7137, which doesn't exist in Linux):

Up through 2.6.14 (and all of 2.4): an oss function is built into the 
saa7134 module
Starting with 2.6.15: a separate saa7134-alsa module; the oss function 
still built into the saa7134 module
Starting with 2.6.16: a separate saa7134-oss module in addition to the 
separate saa7134-alsa module -- the oss component has now been fully 
removed from the saa7134 module. Either saa7134-oss or saa7134-alsa (but 
not both at the same time) can be inserted to provide DMA sound for the 
saa7134 card.
> I can't seee the reason yet. What is the saa7137 for? Will it be
> unloded automacigly by loading a -oss/alsa one?
>   
saa7134 is the driver for a family of television cards, using the 
Philips saa7134 decoder chip. The saa7134 driver has the same function 
for these chips as the older bttv driver has for bt87x chips -- it talks 
to the chip that digitizes an analog video signal. In the 2.6.16 kernel, 
this driver does not automagically load either of the two available DMA 
sound drivers; these must be loaded independently. Unloading one of the 
sound drivers (saa7134-oss or saa7134-alsa) will not unload the saa7134 
driver. It is still possible to use the saa7134 driver without using 
either of the two DMA sound drivers, for instance by attaching a patch 
cable from the tv card to a separate sound card.

For details, see http://linuxtv.org/v4lwiki/index.php/Saa7134-alsa -- 
note that the two alternative DMA sound modules take different insmod 
parameters.
> If not, loding -oss/alsa via /etc/modules like this entry
>
> saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 \
> vbi_nr=1,2,3,4  radio_nr=1,2,3,4
> saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4
>
> should be that easy ;)
>   
Here it's my turn not to understand what's going on :-) -- not sure what 
you're commenting on here.
> Any way, I'll blacklist saa7134 in svn.
>   
That did seem to do the trick -- you might want to ensure that people 
will still be able to use the card with a patch cable (and thus no DMA 
sound driver), though this is frankly not going to be the common usage.

The other concern is that the saa7134-oss module is new with kernel 
2.6.16, and the saa7134-alsa module is new with kernel 2.6.15, so you 
will want to pay attention to backwards compatibility. I don't really 
understand the logic of blacklisting in order to maintain OSS emulation, 
so I can't advice you on this.

Thank you for looking into this and hopefully solving the problem for 
others!

Cheers,
David







More information about the Pkg-alsa-devel mailing list