[linux-dvb] cx18/hvr-1600 Issues and Updates

Andy Walls awalls at radix.net
Sat Jul 26 16:47:45 CEST 2008


On Sat, 2008-07-26 at 00:17 -0700, Michael Papet wrote:
> Hi,
> 
> I have a new Hauppauge hvr-1600 with issues.  I'm using the download
> URL at the top of the page  http://www.linuxtv.org/hg/v4l-dvb on
> Debian Etch with a 2.6.25 kernel package from Debian's fine backports
> repo.  Make and make install went fine. modinfo reports driver version
> 1.0.
> 
> Upon reboot, I got the invalid EEPROM error and knew a dirty trick
> that worked.  I blacklist cx18, then reload it using a modprobe stanza
> in rc.local.

I'll have to remember that one.

BTW, what is your motherboard chipset (lspci)?  The CX23418 is a PCI
v2.3 compliant device.  I'm trying to collect data to see if
motherboards with PCI v2.2 chipsets or older have a problem with this
device or not.


>  Another reboot for good measure and both /dev/video0
> and /dev/dvb/xxyyzz are created, no errors in dmesg.  The dmesg data
> is below.
> 
> The NTSC tuner driver is non-functioning.  It scans and finds channels
> in mythtv.  Attempting to watch NTSC tv shows only a black screen.

I like and use MythTV as my PVR software.  However, it's a poor tool to
use for diagnosis; it introduces too many other variables and offers
little insight.

For testing NTSC, please use:

$ cat /dev/video0 > test.mpg

and any tool you want to view or inspect the test.mpg file.  You can use
ivtv-tune to change to a particular channel before or during capture.

Or use mplayer to test, something like:

$ mplayer -cache 8192 /dev/video0


Where MythTV gives you a blanks screen and (default) sparse logging,
mplayer will usually output quite a few  detailed error messages.
Again, I find ivtv-tune convenient for changing channels, but I think
v4l2-ctl will let you change frequencies as well.



>  I have debugging set at 3 at the moment, but no errors are generated.
> Please let me know what information you need to identify the issue. 

For the tuner module you may want to set the debug level higher. I just
tested with "modprobe tuner debug=5", not knowing what the effect would
be but it seemed more verbose than using "debug=1".

For the cx18 module you may also want to turn on the i2c debug flag
(debug=67) and *maybe* the high volume flag (debug=323) if you still
don't see anything unusual.  If you use high volume, you may have to
look in /var/log/messages and the dmesg ring buffer may not hold it all.


But as a troubleshooting step, first let's eliminate if it's the NTSC
tuner, or some other issue down the line.  What is the status of the
analog tuning using v4l2-ctl?  Here's an example status log showing
proper tuning of US broadcast channel 4:

$ ./v4l2-ctl -d /dev/video0 --log-status

Status Log:

   cx18-0: =================  START STATUS CARD #0  =================
   tveeprom 1-0050: Hauppauge model 74041, rev C5B2, serial# 891351
   tveeprom 1-0050: MAC address is 00-0D-FE-0D-99-D7
   tveeprom 1-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)
   tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
   tveeprom 1-0050: audio processor is CX23418 (idx 38)
   tveeprom 1-0050: decoder processor is CX23418 (idx 31)
   tveeprom 1-0050: has no radio, has IR receiver, has IR transmitter
   cx18-0: Video signal:              present
   cx18-0: Detected format:           NTSC-M
   cx18-0: Specified standard:        NTSC-M
   cx18-0: Specified video input:     Composite 7
   cx18-0: Specified audioclock freq: 48000 Hz
   cx18-0: Detected audio mode:       stereo with SAP
   cx18-0: Detected audio standard:   BTSC
   cx18-0: Audio muted:               no
   cx18-0: Audio microcontroller:     running
   cx18-0: Configured audio standard: automatic detection
   cx18-0: Configured audio system:   BTSC
   cx18-0: Specified audio input:     Tuner (In8)
   cx18-0: Preferred audio mode:      stereo
   cs5345 1-004c: Input:  1
   cs5345 1-004c: Volume: 0 dB
   tuner 2-0061: Tuner mode:      analog TV
   tuner 2-0061: Frequency:       67.25 MHz
   tuner 2-0061: Standard:        0x00001000
   cx18-0: Video Input: Tuner 1
   cx18-0: Audio Input: Tuner 1
   cx18-0: GPIO:  direction 0x00003001, value 0x00003001
   cx18-0: Tuner: TV
   cx18-0: Stream: MPEG-2 Program Stream
   cx18-0: VBI Format: No VBI
   cx18-0: Video:  720x480, 30 fps
   cx18-0: Video:  MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
   cx18-0: Video:  GOP Size 15, 2 B-Frames, GOP Closure
   cx18-0: Audio:  48 kHz, Layer II, 224 kbps, Stereo, No Emphasis, No CRC
   cx18-0: Spatial Filter:  Manual, Luma 1D Horizontal, Chroma 1D Horizontal, 0
   cx18-0: Temporal Filter: Manual, 8
   cx18-0: Median Filter:   Off, Luma [0, 255], Chroma [0, 255]
   cx18-0: Status flags: 0x00200001
   cx18-0: Stream encoder MPEG: status 0x0118, 1% of 2016 KiB (63 buffers) in use
   cx18-0: Stream encoder YUV: status 0x0000, 0% of 2048 KiB (16 buffers) in use
   cx18-0: Stream encoder PCM audio: status 0x0000, 0% of 1008 KiB (63 buffers) in use
   cx18-0: Read MPEG/VBI: 148908032/0 bytes
   cx18-0: ==================  END STATUS CARD #0  ==================


> Michael
> 
> ##### dmesg ##########
> 120.016694] Linux video capture interface: v2.00                                                  
> [  120.055132] cx18:  Start initialization, version 1.0.0                                            
> [  120.055203] cx18-0: Initializing card #0                                                          
> [  120.055207] cx18-0: Autodetected Hauppauge card                                                   
> [  120.055212] cx18-0 info: base addr: 0xe4000000                                                    
> [  120.055214] cx18-0 info: Enabling pci device                                                      
> [  120.055236] ACPI: PCI Interrupt 0000:05:09.0[A] -> GSI 18 (level, low) -> IRQ 18                  
> [  120.055252] cx18-0 info: cx23418 (rev 0) at 05:09.0, irq: 18, latency: 66, memory: 0xe4000000     

A latency timer of 66 is a little odd, not being a multiple of 8 PCI
clocks.  PCI devices are permitted to ignore the lowest three bits of
the latency timer setting: so this likely will be interpreted as 64.
(It's no big deal, I just happened to notice it.)


> [  120.055256] cx18-0 info: attempting ioremap at 0xe4000000 len 0x04000000                          
> [  120.056491] cx18-0: cx23418 revision 01010000 (B)                                                 
> [  120.134303] cx18-0 info: GPIO initial dir: 0000ffff/0000ffff out: 00000000/00000000               
> [  120.134303] cx18-0 info: activating i2c...                                                        
> [  120.225060] cx18-0 info: Active card count: 1.                                                    
> [  120.264977] tveeprom 2-0050: Hauppauge model 74041, rev C5B2, serial# 2914795                     
> [  120.264982] tveeprom 2-0050: MAC address is 00-0D-FE-2C-79-EB                                     
> [  120.264986] tveeprom 2-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)                     
> [  120.264989] tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)                                   
> [  120.264993] tveeprom 2-0050: audio processor is CX23418 (idx 38)                                  
> [  120.264996] tveeprom 2-0050: decoder processor is CX23418 (idx 31)                                
> [  120.264999] tveeprom 2-0050: has no radio, has IR receiver, has IR transmitter                    
> [  120.265002] cx18-0: Autodetected Hauppauge HVR-1600                                               
> [  120.265005] cx18-0 info: NTSC tuner detected                                                      
> [  120.265007] cx18-0: VBI is not yet supported                                                      
> [  120.359118] cx18-0 info: Loaded module tuner                                                      
> [  120.380496] cx18-0 info: Loaded module cs5345                                                     
> [  120.380496] tuner 3-0061: Setting mode_mask to 0x0e                                               
> [  120.380496] tuner 3-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)                                
> [  120.380496] tuner 3-0061: tuner 0x61: Tuner type absent                                           
> [  120.380496] cs5345 2-004c: chip found @ 0x98 (cx18 i2c driver #0-0)                               
> [  120.381758] tuner 3-0061: Calling set_type_addr for type=50, addr=0xff, mode=0x04, config=0x32    
> [  120.447481] tuner-simple 3-0061: creating new instance                                            
> [  120.447491] tuner-simple 3-0061: type set to 50 (TCL 2002N)                                       
> [  120.447496] tuner 3-0061: type set to TCL 2002N                                                   
> [  120.447499] tuner 3-0061: tv freq set to 400.00                                                   
> [  120.448356] tuner 3-0061: cx18 i2c driver #0-1 tuner I2C addr 0xc2 with type 50 used for 0x0e     
> [  120.448371] cx18-0 info: Allocate encoder MPEG stream: 63 x 32768 buffers (2016kB total)          
> [  120.448454] cx18-0 info: Allocate TS stream: 32 x 32768 buffers (1024kB total)                    
> [  120.448501] cx18-0 info: Allocate encoder YUV stream: 16 x 131072 buffers (2048kB total)
> [  120.448534] cx18-0 info: Allocate encoder PCM audio stream: 63 x 16384 buffers (1008kB total)
> [  120.448595] cx18-0: Disabled encoder IDX device
> [  120.448643] cx18-0: Registered device video0 for encoder MPEG (2 MB)
> [  120.448648] DVB: registering new adapter (cx18)
> [  120.600362] MXL5005S: Attached at address 0x63
> [  120.600379] DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB Frontend)...
> [  120.600459] cx18-0: DVB Frontend registered
> [  120.600489] cx18-0: Registered device video32 for encoder YUV (2 MB)
> [  120.600515] cx18-0: Registered device video24 for encoder PCM audio (1 MB)
> [  120.600519] cx18-0: Initialized card #0: Hauppauge HVR-1600
> [  120.600544] cx18:  End initialization

The above looks OK.  I assume you switch from 400 MHz to a real TV
station before testing.  When my driver loads (I haven't updated in a
few days), it automatically changes over to US broadcast channel 4 at
67.25 MHz.


Regards,
Andy




More information about the linux-dvb mailing list