[linux-dvb] (solved) modprobe mantis stalls/hangs/freezes (Twinhan VP-1034 and ivtv)

Michel Verbraak michel at verbraak.org
Sun Aug 26 21:58:05 CEST 2007


Michael Krufky schreef:
> Michel Verbraak wrote:
>   
>> Hans Verkuil schreef:
>>     
>>> On Sunday 26 August 2007 11:18:56 Michel Verbraak wrote:
>>>  
>>>       
>>>> Manu Abraham schreef:
>>>>    
>>>>         
>>>>> Michel Verbraak wrote:
>>>>>      
>>>>>           
>>>>>> I have a Twinhan VP-1034 and I use the the latest hg, today, and
>>>>>> http://jusst.de/manu/mantis-v4l-dvb.tar.bz2 with kernel 2.6.22.1.
>>>>>>
>>>>>> When I do a 'modprobe mantis' my prompt never returns. The machine
>>>>>> still is working.
>>>>>>         
>>>>>>             
>>> ....
>>>
>>>  
>>>       
>>>> Aug 26 11:08:32 recorder kernel: ivtv0: Autodetected Hauppauge WinTV
>>>> PVR-350 Aug 26 11:08:32 recorder kernel: tuner 2-0061: chip found @
>>>> 0xc2 (ivtv i2c driver #0)
>>>> Aug 26 11:08:32 recorder kernel: ivtv0 i2c: i2c client attach
>>>> Aug 26 11:08:32 recorder kernel:         mantis_i2c_write:
>>>> Address=[0x25] <W>[ ]
>>>> Aug 26 11:08:32 recorder kernel:         mantis_i2c_write:
>>>> Address=[0x25] <W>[ 00 00 ]
>>>> Aug 26 11:08:32 recorder kernel:         mantis_i2c_write:
>>>> Address=[0x25] <W>[ 00 ]
>>>> Aug 26 11:08:32 recorder kernel:         mantis_i2c_read:
>>>> Address=[0x25] <R>[ 00 ]
>>>> Aug 26 11:08:32 recorder kernel:         mantis_i2c_write:
>>>> Address=[0x25] <W>[ 00 01 === Interrupts[0001/0001]= [* I2C DONE  *]
>>>>     
>>>>         
>>> Ah, ivtv is probing for the saa7115 device. The saa7115 driver probes
>>> among others i2c address 0x25, which is also used by the mantis.
>>>
>>> And what's changed is that in kernel 2.6.21 the following change was
>>> made to the saa7115.c driver:
>>>
>>> static int saa711x_probe(struct i2c_adapter *adapter)
>>> {
>>>         if (adapter->class & I2C_CLASS_TV_ANALOG || adapter->class &
>>> I2C_CLASS_TV_DIGITAL)
>>>                 return i2c_probe(adapter, &addr_data, &saa711x_attach);
>>>         return 0;
>>> }
>>>
>>> The TV_DIGITAL check was added, so now it is also suddenly used by the
>>> mantis. Apparently added to support the Nexus CA.
>>>
>>> The only solution at this time is to add the following module option
>>> to saa7115: ignore=-1,0x25
>>>
>>> This should ensure it that it ignores i2c address 0x25. Work is being
>>> done to make probing unnecessary or at least much smarter, but that
>>> will be quite a long transition period, most likely. For the time
>>> being this is probably your only solution.
>>>
>>> Regards,
>>>
>>>     Hans
>>>   
>>>       
>> Hans and Manu,
>> The mantis and ivtv module loaded ok with the following options for
>> saa7115 in /etc/modprobe.conf:
>> options saa7115 ignore=-1,0x25,-1,0x24,-1,0x21,-1,0x20
>>     
>
>                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Just change the -1 to the i2c bus ID of the mantis device, to prevent saa7115 from probing on the mantis bus.  This way, it would not prevent successful attachment to the ivtv i2c bus, and you wouldn't have to do the hack described below.
>
> Regards,
>
> Mike
>
>
>   
Mike,
I tried your suggestion and it worked. Took me some time to find the 
right i2c bus ID because they are ordered from first come first served.

For any one who will read this in the future this is how it can be solved:
1. In my case the mantis driver is claiming an i2c bus id before the 
ivtv driver.
2. Make sure your ivtv modules do not load. Rename the ivtv.ko module 
file to ivtv.ko.old and do a depmod -a. blacklisting in 
/etc/depmod.d/blacklist did not work for me.
3. reboot.
4. 'modprobe i2c-dev' and do 'i2cdetect -l'
5. find the i2c bus id for the Mantis driver. Mine looks like 'i2c-1   
smbus           Mantis I2C                              SMBus adapter'. 
The bus id is 1 from the i2c-1 part.
6. Add the following line to /etc/modprobe.conf: options saa7115 
ignore=1,0x25,1,0x24,1,0x21,1,0x20 (replace the 1's (ones) to your bus id).
7. Rename ivtv.ko.old back to ivtv.ko and do a depmod -a.
8. Reboot and al should be fine. If not the bus-id is wrong.

Thanks to all who helped.

Michel.

<snip>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20070826/fa180d5b/attachment.htm 


More information about the linux-dvb mailing list