[linux-dvb] Howto automatically load saa7134-dvb?

Ole Reinartz ole.reinartz at gmx.de
Mon Mar 20 21:02:42 CET 2006


Juergen Orschiedt schrieb:
> On Monday 13 March 2006 21:55, Johannes Stezenbach wrote:
>   
>> On Mon, Mar 13, 2006, Ole Reinartz wrote:
>>     
>>> I'm struggling to automate the loading of saa7134-dvb for my Avermedia
>>> 777. I'm using Jose Alberto Reguero's patch to get the 777 working, and
>>> it is working well. However, whenever the system starts up, it detects
>>> the card and loads the saa7134 module, but not the saa7134-dvb. After I
>>> modprobe this module, everything is ok.
>>> Is that working automatically at someones system? How can that be done?
>>>
>>> Now I searched the source for a reason and found out that someone
>>> (probably Gerd Knorr himself) added a mechanism to load the saa7134-dvb
>>> from the saa7134 whenever that detects a dvb- card.
>>> The saa7134-dvb is dependent on saa7134, so it cannot be loaded while
>>> the saa7134 itself is being loaded. So the code registers a notifier to
>>> get notified after it got 'live' (i.e. its state changed to
>>> MODULE_STATE_LIVE) I guess. And this notifier never gets called.
>>> Looking in module.c (of kernel 2.6.15, which is the kernel I use) I find
>>> that in sys_init_module() the notification mechanism is called only
>>> before the module actually gets initialised, but not after that. That
>>> confuses me a bit. Does someone know how this is going to work? Can the
>>> module somehow act at the time it got 'live'?
>>>       
>> Well, I reported a bug (modprobe saa7134 deadlocked) which
>> lead to some discussion on lkml and finally Gerd's changes.
>> I suggest you look up the date of Gerd's change from the
>> hg or cvs history, and then search for the lkml discussion
>> around that time. Probably a piece of code from the module
>> notification stuff went missing. It would be nice to get
>> this fixed.
>>
>>     
>
> I used modprobe.d/tv config file to work around this issue:
> install saa7134 /sbin/modprobe --first-time --ignore-install saa7134 && 
> { /sbin/modprobe saa7134-dvb && /sbin/modprobe saa7134-alsa || :; }
>   
Thanks Juergen, nice trick. Will keep that in mind. But first I want to 
find out wether I can fix this in the kernel (or the driver).

Ole




More information about the linux-dvb mailing list