[linux-dvb] saa7134: fixed pointer in tuner callback

Hartmut Hackmann hartmut.hackmann at t-online.de
Wed Apr 9 01:17:19 CEST 2008


Hi, Christoph

This is very confusing..

Christoph Honermann schrieb:
> Hi Hartmut�
> 
> Hartmut Hackmann schrieb:
>> HI,
>>
>> Christoph Honermann schrieb:
>>> Hi, Hartmund
>>>
>>>
>>> Hartmut Hackmann schrieb:
>>>> Hi, Christoph
>>>>
>>>> Christoph Honermann schrieb:
>>>>  
>>>>> Hi, Hartmund
>>>>>
>>>>> I have tested the following archives with my MD8800 und the DVB-S 
>>>>> Card.
>>>>>
>>>>> v4l-dvb-912856e2a0ce.tar.bz2 --> The DVB-S Input 1 works.
>>>>> The module of the following archives are loaded with the option
>>>>> "use_frontend=1,1" at the Shell or automatically:
>>>>>     /etc/modprobe.d/saa7134-dvb   with the following line
>>>>>    "options saa7134-dvb use_frontend=1,1"
>>>>> v4l-dvb-1e295a94038e.tar.bz2;
>>>>>
>>>>>     FATAL: Error inserting saa7134_dvb
>>>>>     
>>>>> (/lib/modules/2.6.22-14-generic/kernel/drivers/media/video/saa7134/saa7134-dvb.ko): 
>>>>>
>>>>>     Unknown symbol in module, or unknown parameter (see dmesg)
>>>>>
>>>>>     saa7134_dvb: disagrees about version of symbol saa7134_ts_register
>>>>>     saa7134_dvb: Unknown symbol saa7134_ts_register
>>>>>     saa7134_dvb: Unknown symbol videobuf_queue_sg_init
>>>>>     saa7134_dvb: disagrees about version of symbol saa7134_set_gpio
>>>>>     saa7134_dvb: Unknown symbol saa7134_set_gpio
>>>>>     saa7134_dvb: disagrees about version of symbol 
>>>>> saa7134_i2c_call_client
>>>>>     saa7134_dvb: Unknown symbol saa7134_i2c_call_clients
>>>>>     saa7134_dvb: disagrees about version of symbol 
>>>>> saa7134_ts_unregister
>>>>>     saa7134_dvb: Unknown symbol saa7134_ts_unregister
>>>>>
>>>>>
>>>>> v4l-dvb-f98d28c21389.tar.bz2  and v4l-dvb-a06ac2bdeb3c.tar.bz2 -->
>>>>>
>>>>>     FATAL: Error inserting saa7134_dvb
>>>>>     
>>>>> (/lib/modules/2.6.22-14-generic/kernel/drivers/media/video/saa7134/saa7134-dvb.ko): 
>>>>>
>>>>>     Unknown symbol in module, or unknown parameter (see dmesg)
>>>>>
>>>>>     dmesg | grep saa7134
>>>>>     saa7134_dvb: Unknown symbol saa7134_tuner_callback
>>>>>     saa7134_dvb: disagrees about version of symbol saa7134_ts_register
>>>>>     saa7134_dvb: Unknown symbol saa7134_ts_register
>>>>>     saa7134_dvb: Unknown symbol videobuf_queue_sg_init
>>>>>     saa7134_dvb: disagrees about version of symbol saa7134_set_gpio
>>>>>     saa7134_dvb: Unknown symbol saa7134_set_gpio
>>>>>
>>>>> The Hardware ist working with Windows XP with both Input channels.
>>>>>
>>>>>     
>>>> This occurs when you mix modules of different driver versions. You 
>>>> need to
>>>> replace all modules of the v4l-dvb subsystem.
>>>> So after you compiled and installed with
>>>>   make; make install
>>>> you need to unload all modules of the subsystem either with
>>>>   make rmmod
>>>> or reboot.
>>>> Afterwards, you can unload and reload a single module as you tried 
>>>> to do.
>>>>
>>>> Hartmut
>>>>
>>>>   
>>> the second DVB-S Channel is working.
>>> But there is one thing that makes Problems.
>>> I have the effect that the devices /dev/dvb/adapter0/dvr0 and 
>>> /dev/dvb/adapter1/dvr0 are missed from kaffeine. Therefore it wont 
>>> work (no TV-picture, no sound, no channel scanning).
>>> If i look with Nautilus (file manager) therefore the whole Section 
>>> /dev/dvb is switching off.
>>> Can that be an effect of the module?
>>> The Problem is sometimes not there but i don't find the reason 
>>> (changing the Modules, reboots, ..). If I solve the Problem, should I 
>>> test the kombination between DVB-S and DVB-T?
>>>
>>> Best regards
>>> Christoph
>>>
>>>
>> The device files in /dev/dvb are created by the dvb subsystem after 
>> successful
>> initialization. So if module loading fails as you describe above, you 
>> won't have
>> the devices.
>> Your problem still is the mismatching module versions.
>> Could it be that you have the saa7134.ko module twice in the 
>> /lib/modules tree?
>> You need to use the new versions of the modules. *Don't* try to mix them.
>>
>> Best Regards
>>   Hartmut
> I have checkt the devices. If I unload the Module they are not avible.
> The modules are once in the tree and the devices are switching on and 
> off bye
> looking with the File Manager. I can send you an probe of the messages from
> the Programm kaffeine with an interesting follow of reaction:
> 
> @kaffeine
> kbuildsycoca running...
> 0
> /dev/dvb/adapter0/frontend0 : opened ( Philips TDA10086 DVB-S )
> /dev/dvb/0/frontend1 : : No such file or directory
> Loaded epg data : 9904 events (141 msecs)
> kio (KIOConnection): ERROR: Could not write data
> eltern at ubuntu:~$ Tuning to: arte / autocount: 0
> DvbCam::probe(): /dev/dvb/adapter0/ca0: : No such file or directory
> Using DVB device 0:0 "Philips TDA10086 DVB-S"
> tuning DVB-S to 10743000 h 22000000
> inv:2 fecH:5
> DiSEqC: switch pos 0, 18V, loband (index 1)
> DiSEqC: e0 10 38 f2 00 00
> ...............
> 
> Not able to lock to the signal on the given frequency
> Frontend closed
> Tuning delay: 3637 ms
> Tuning to: 3sat / autocount: 0
> Using DVB device 0:0 "Philips TDA10086 DVB-S"
> tuning DVB-S to 11953000 h 27500000
> inv:2 fecH:3
> DiSEqC: switch pos 0, 18V, hiband (index 3)
> DiSEqC: e0 10 38 f3 00 00
> . LOCKED.
> *DVR DEVICE: : No such device*
> Frontend closed
> Tuning delay: 976 ms
> eltern at ubuntu:~$
> 
> It is the original text from the console.
> You can see that the DVB DEVICE is at once missing.
> I have no idea why that happens. And that seem to be the cause of the 
> Problem.
> To be sure for the new module i have once more build them 
> (v4l-dvb-a06ac2bdeb3c.tar.bz2).
> - make all
> - make rmmod
> - make install
> - rmmod saa7134-dvb
> - modprobe saa7134-dvb use_frontend=1,1
> 
As i mentioned in a mail before, make rmmod does not necessarily do the trick,
sorry for causing the confusion.
but looks like the symbol version problem is gone or did you do something else?

> 
> For your information in addition a copy from dmesg:
> [  720.868119] DVB: registering new adapter (saa7133[1])
> [  720.868129] DVB: registering frontend 0 (Philips TDA10086 DVB-S)...
> [  731.320958] saa7133[0]/dvb: frontend initialization failed
> [  731.368002] DVB: registering new adapter (saa7133[1])
> [  731.368149] DVB: registering frontend 0 (Philips TDA10086 DVB-S)...
> [  741.833698] saa7133[0]/dvb: frontend initialization failed
> [  741.886609] DVB: registering new adapter (saa7133[1])
> [  741.886766] DVB: registering frontend 0 (Philips TDA10086 DVB-S)...
> [  752.433333] DVB: registering new adapter (saa7133[0])
> [  752.433343] DVB: registering frontend 0 (Philips TDA10086 DVB-S)...
> [  752.521148] DVB: registering new adapter (saa7133[1])
> [  752.521158] DVB: registering frontend 1 (Philips TDA10086 DVB-S)...
> [  762.946368] saa7133[0]/dvb: frontend initialization failed
> [  762.983815] saa7133[1]/dvb: dvb_init: Medion Quadro, no tda826x found !
> [  762.984121] DVB: registering new adapter (saa7133[1])
> [  762.984306] DVB: registering frontend 0 (Philips TDA10086 DVB-S)...
> [  773.392403] saa7133[0]/dvb: frontend initialization failed
> [  773.422954] DVB: registering new adapter (saa7133[1])
> [  773.423163] DVB: registering frontend 0 (Philips TDA10086 DVB-S)...
> [  783.857495] saa7133[0]/dvb: frontend initialization failed
> 
> and so on ....
> 
Hm, do these messages occur in a sequence? Which messages and actions are in between?
The driver should once register one adapter and one frontend for each saa7133.
at driver load.
Do you try to load and unload the driver again and again? Do you leave it few
seconds to settle before you try to access it?

Hartmut



More information about the linux-dvb mailing list