| Author | 
			Message   | 
		
	
			| 
				
				smithjeremyjohn
			 | 
			
				
				
				
					 Posted: Sun Sep 19, 2004 9:13 pm   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Sun Sep 19, 2004 8:51 pm 
                    
                   Posts: 4 
				
			 | 
			
				
				
					
					
						Software:  The bttv driver for video capture cards with Fusion 8x8 PCI video decoder
 
Version:  Tested on v 0.9.15.  Reports of the bug start with v 0.9.12.  
 Problem:  Dark image/picture occurs at random times.  Most often after changing channels.  
 Cause:  It starts with an IRQ lockup.  However, as the driver recovers, it configures the card again.  This is done in the init_bt848 subroutine.  As expected, it sets brightness, contrast, hue and color/saturation.  It then configures the luma decimation filter.  However, to set the filter bit it simply writes to the entire O_CONTROL and E_CONTROL registers, as opposed to masking the bit.  The O_CONTROL and E_CONTROL registers also contain the MSB of the saturation/color and contrast values.  Thus, the MSB data that was just setup a few statements above is lost.
 Fix:  Move the statements that set the brightness, contrast, hue and color/saturation to after the luma decimation filter.  Edit the bttv-driver.c file.  There are 4 lines, starting at 1056.  Move them to 1068.  
 Ref:   http://www.domenech.org/bt878a-adc/cone ... asheet.pdf 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				smithjeremyjohn
			 | 
			
				
				
				
					 Posted: Mon Sep 20, 2004 10:12 am   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Sun Sep 19, 2004 8:51 pm 
                    
                   Posts: 4 
				
			 | 
			
				
				
					| 
					
						 Snapshot video4linux-20040920-115323 now has it.
 
 ---- Gerd Knorr <kraxel@bytesex.org> wrote:
 >
 > > the luma decimation filter.  However, to set the filter
 > > bit it simply writes to the entire O_CONTROL and E_CONTROL
 > > registers, as opposed to masking the bit.  The O_CONTROL
 > 
 > Ah, *there* is the bug ...
 > 
 > > the luma decimation filter statement.  I would appreciate
 > > a new release when you have time.  I'll pass my workaround
 > 
 > Committed to cvs, so the snapshots have it now.
 > 
 >   Gerd
 > 
 > -- 
 > return -ENOSIG;
 > 
 > 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				keeper84
			 | 
			
				
				
				
					 Posted: Sun Oct 24, 2004 12:48 pm   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Mon Jun 14, 2004 8:25 pm 
                    
                   Posts: 5 
                    Location: 
                    Columbus, Ohio 
                    
				
			 | 
			
				
				
					
					
						Thanks for the fix, but....
 
Quote: Fix: Move the statements that set the brightness, contrast, hue and color/saturation to after the luma decimation filter. Edit the bttv-driver.c file. There are 4 lines, starting at 1056. Move them to 1068. 
  
I cannot find "bttv-driver.c" anywhere.  Is that the exact name or is it called something else?  Where is it?
 Thanks
 R4V5
 PVR 350
 winfast tv2000 Deluxe 
 nvidia chipset  
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				smithjeremyjohn
			 | 
			
				
				
				
					 Posted: Mon Oct 25, 2004 7:56 am   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Sun Sep 19, 2004 8:51 pm 
                    
                   Posts: 4 
				
			 | 
			
				
				
					| 
					
						 For KnoppMyth R4V4.1...
 
 Type commands:
 # cd /usr/src/
 # tar zfxv bttv-0.9.15.tar.gz
 # cd bttv-0.9.15
 # vi bttv-driver.c
 
 The lines that control the brightness, hue, contrast and saturation should appear after the if statement that controls the luma filter.  
 
 Skip down to line 1056, brightness.  Hit "dd" to delete the line.  Skip down to 1068.  Hit "p" to paste the previously deleted line.  Skip back up to line 1056 and do the same again for hue, then contrast and finally saturation.  
 
 Type ":wq" to save and exit.
 
 Type commands:
 # make
 # make install
 # cp --reply=yes *.o /lib/modules/2.4.25-chw/kernel/drivers/media/video 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				Cledus
			 | 
			
				
				
				
					 Posted: Mon Oct 25, 2004 8:34 pm   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Mon May 24, 2004 8:45 pm 
                    
                   Posts: 24 
                    Location: 
                    Cincinnati, Ohio 
                    
				
			 | 
			
				
				
					| 
					
						 This worked great.  I tried it a few weeks ago myself but unfortunately I am still a Linux novice.  Thanks. 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				keeper84
			 | 
			
				
				
				
					 Posted: Mon Oct 25, 2004 9:30 pm   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Mon Jun 14, 2004 8:25 pm 
                    
                   Posts: 5 
                    Location: 
                    Columbus, Ohio 
                    
				
			 | 
			
				
				
					| 
					
						 Thanks smithjeremyjohn
 
 thank you very much, I going to try it tommorow 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				bluetone
			 | 
			
				
				
				
					 Posted: Fri Nov 19, 2004 8:28 am   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Tue Jun 15, 2004 8:25 am 
                    
                   Posts: 11 
				
			 | 
			
				
				
					| 
					
						 I was very happy to find this fix on the forum, for it gave me great hope, for I have been very plagued by the bttv bug!
 
 Thanks to the founder!
 
 I followed the the thread of commands that were give herein, however,  the following was my result for the 'make', 'make install' , and whatever  that 'cp' thing was for:
 
 
 
 root@mythtv:/usr/src/bttv-0.9.15 # make
 make -C /lib/modules/2.4.25-chw/build SUBDIRS=/usr/src/bttv-0.9.15 modules
 make[1]: Entering directory `/usr/src/kernel-headers-2.4.25-chw'
 Makefile:260: arch/i386/Makefile: No such file or directory
 Makefile:543: Rules.make: No such file or directory
 make[1]: *** No rule to make target `Rules.make'.  Stop.
 make[1]: Leaving directory `/usr/src/kernel-headers-2.4.25-chw'
 make: *** [default] Error 2
 root@mythtv:/usr/src/bttv-0.9.15 # make install
 strip --strip-debug video-buf.o v4l1-compat.o v4l2-common.o btcx-risc.o ir-common.o bttv.o ir-common.o tuner.o tda9887.o msp3400.o tvaudio.o tvmixer.o
 strip: video-buf.o: No such file or directory
 strip: v4l1-compat.o: No such file or directory
 strip: v4l2-common.o: No such file or directory
 strip: btcx-risc.o: No such file or directory
 strip: ir-common.o: No such file or directory
 strip: bttv.o: No such file or directory
 strip: ir-common.o: No such file or directory
 strip: tuner.o: No such file or directory
 strip: tda9887.o: No such file or directory
 root@mythtv:/usr/src/bttv-0.9.15 # cp --reply=yes *.o/lib/modules2.4.25-chw/ker
 el/drivers/media/videontv-0.9.15 # cp --reply=yes *.o/lib/modules2.4.25-chw/kern
 cp: missing destination file
 Try `cp --help' for more information.
 el/drivers/media/videontv-0.9.15 # cp --reply=yes *.o/lib/modules2.4.25-chw/kerne
 cp: missing destination file
 Try `cp --help' for more information.
 
 I'm on R4V5
 
 Not being a linux guy, I'm not sure if I have fixed it, or not!
 
 Thanks Again! 
					
						 _________________ ECS K7VMM+
 AMD Athlon 1600+(1.4Ghz) CPU
 nVidia MX 440 w/TV-out AGP
 KWorld PCI-Xpert Tuner
 512MB PC100
 80GB Seagate 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				Xsecrets
			 | 
			
				
				
				
					 Posted: Fri Nov 19, 2004 9:17 am   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Mon Oct 06, 2003 10:38 am 
                    
                   Posts: 4978 
                    Location: 
                    Nashville, TN 
                    
				
			 | 
			
				
				
					| 
					
						 No you basically did nothing in a round about way. 
 
 The make failed. If a make ever ends with an ERROR then you stop and find out why and do not procede to the next step. 
 
 In this case it looks like you don't have the kernel source unpacked and prepared. there are instructions on how to do this in other threads that I'm too lazy to search for right now. 
					
						_________________ Have a question search the forum and have a look at the  KnoppMythWiki.
 Xsecrets  
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				bluetone
			 | 
			
				
				
				
					 Posted: Mon Nov 22, 2004 11:05 am   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Tue Jun 15, 2004 8:25 am 
                    
                   Posts: 11 
				
			 | 
			
				
				
					| 
					
						 xsecrets - you were correct!  I unpacked the kernel and then repeated the process as stated above.   All appears to be in ordered now.  And after 2 days of use, it appears the bug is no more!
 
 Thanks to All whom provided bug fix information and help with my linux shortcomings! 
					
						 _________________ ECS K7VMM+
 AMD Athlon 1600+(1.4Ghz) CPU
 nVidia MX 440 w/TV-out AGP
 KWorld PCI-Xpert Tuner
 512MB PC100
 80GB Seagate 
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  | 
	
	
			| 
				
				stevenj
			 | 
			
				
				
				
					 Posted: Tue Feb 08, 2005 5:34 pm   | 
				 
				 
			 | 
		
		
			| 
				
				
					
                     Joined: Thu Jan 01, 2004 9:21 pm 
                    
                   Posts: 84 
                    Location: 
                    Fort Collins, CO USA 
                    
				
			 | 
			
				
				
					
					
						To save others all the searching I did, here are the steps to uncompress and 'prepare' the kernel source. This is needed for the above fix if you get the error like bluetone did when compiling the bttv code.
 
Code:    cd /usr/src     bzcat linux-2.4.25-chw.tar.bz2 | tar xvf –     cp linux/.config linux-2.4.25-chw     rm linux     ln –s linux-2.4.25-chw linux     cd linux-2.4.25-chw     make oldconfig dep 
Steve  
					
  
						
					 | 
				 
				 
			 | 
		
		
			| Top | 
			     | 
	
		
	
		  |