[linux-dvb] HVR-4000 and analogue tv

Steven Toth stoth at linuxtv.org
Wed Sep 24 21:28:55 CEST 2008


Anders Semb Hermansen wrote:
> Den 24. sep.. 2008 kl. 19.20 skrev Darron Broad:
> 
> <snip>
> 
>> <snip>
>>> Does this mean that mythtv is doing something weird or maybe just
>>> using the v4l api in a different way which the driver cannot handle?
>> This is feasable. I will take a look if I get the time but this
>> is more than likely to be when I have other reasons to look
>> at mythtv so don't expect an immediate response :-)
>>
> 
> I did some more investigating.
> 
> I thought maybe this had something to do with the tuner, since I got  
> snow. So I enabled debugging for the tuner module (debug=1). What I  
> saw was that when I started watching TV in myth, there was a  
> TUNER_SET_STANDBY after frequency and other things was set. This  
> TUNER_SET_STANDBY did not appear when I was just changing channel (and  
> picture worked).
> 
> So I searched the driver for TUNER_STANDBY and found one which I  
> tried. Here is what I did:
> 
> diff -r e5ca4534b543 linux/drivers/media/video/cx88/cx88-video.c
> --- a/linux/drivers/media/video/cx88/cx88-video.c       Tue Sep 09  
> 08:29:56 2008 -0700
> +++ b/linux/drivers/media/video/cx88/cx88-video.c       Wed Sep 24  
> 20:35:46 2008 +0200
> @@ -1152,7 +1152,8 @@
>          file->private_data = NULL;
>          kfree(fh);
> 
> -       cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);
> +       printk("Don't set standby mode! TUNER_SET_STANDBY NO SIR!");
> +       //cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);
> 
>          return 0;
>   }
> 
> 
> This fixed it!!
> 
> I don't know what side effects this will have. Or if this is caused by  
> wrong use of v4l by mythtv, or driver not implementing it correctly.  
> Those who know the codebase can maybe answer that and come up with a  
> better permanent solution.

Anders, thanks for helping debug this. :)

This will have odd side effects for other boards. It's an interesting 
fix and it points us to the real issue, but we need to find a better way 
to clean this up, before we submit for merge.

The HVR4000 is a very strange board, we need to be careful when adding 
generic changes into cx88-*.c that are not conditioned based on (board 
== HVR4000)

I welcome your patches, if you find anything else that's odd/strange 
then let's discuss those also. Your help is very much appreciated.

Regards,

- Steve




More information about the linux-dvb mailing list