[ivtv-users] HVR-1600:CX18 EEPROM Problem?

Andy Walls awalls at radix.net
Sat Jul 19 03:45:20 CEST 2008


On Thu, 2008-07-17 at 10:43 -0400, Gerhard R. Wittreich wrote:
> I just installed an HVR-1600 in a Dell Optiplex 240 (384MB RAM)  
> running Mythbuntu 8.04 (Kernel 2.6.24-19).  When it didn't work I  
> scanned this list and read with interest the exchange (CX18:What  
> Next?) between "Micheal" and Andy Walls which appear to mimic my  
> problem nearly exactly.  Unfortunately, even after loading the most  
> recent drivers (Downloaded 19:00EDT 7/16/08) and setting the timings  
> in cx18-cards.c and cx18-i2c.c to 100msec my EEPROM is still not  
> found.  My main concern is that one part of my error message in dmsg  
> is somewhat different than Micheal's and might suggest something more  
> than an i2c timing problem.
> 
> I hope someone can help.
> 
> Here is some data:
> 
> lspci
> 
> 00:00.0 Host bridge: Intel Corporation 82845 845 [Brookdale] Chipset  
> Host Bridge (rev 03)
> 00:01.0 PCI bridge: Intel Corporation 82845 845 [Brookdale] Chipset  
> AGP Bridge (rev 03)
> 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 12)
> 00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 12)
> 00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 Controller (rev 12)
> 00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB Controller  
> #1 (rev 12)
> 00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus Controller (rev 12)
> 00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB Controller  
> #1 (rev 12)
> 00:1f.5 Multimedia audio controller: Intel Corporation 82801BA/BAM  
> AC'97 Audio Controller (rev 12)
> 02:07.0 Multimedia video controller: Conexant CX23418 Single-Chip  
> MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder
> 02:08.0 VGA compatible controller: nVidia Corporation NV44A [GeForce  
> 6200] (rev a1)
> 02:0c.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado]  
> (rev 78)
> 
> 
> lsmod |grep cx18
> 
> cx18                   93632  0
> dvb_core               81148  1 cx18
> videodev               36608  2 tuner,cx18
> compat_ioctl32          2304  1 cx18
> i2c_algo_bit            7300  1 cx18
> cx2341x                13700  1 cx18
> v4l2_common            12672  4 cs5345,tuner,cx18,cx2341x
> tveeprom               13444  1 cx18
> i2c_core               24832  10  
> s5h1409,tda9887,tda8290,cs5345,tuner,cx18,i2c_algo_bit,nvidia,v4l2_common,tveeprom
> 
> 
> dmesg {snipped}
> 
> [   38.205271] cx18:  Start initialization, version 1.0.0
> [   38.205427] cx18-0: Initializing card #0
> [   38.205437] cx18-0: Autodetected Hauppauge card
> [   38.205483] ACPI: PCI Interrupt 0000:02:07.0[A] -> GSI 16 (level,  
> low) -> IRQ 20
> [   38.205877] cx18-0: cx23418 revision 01010000 (B)
> [   39.683533] tveeprom 0-0050: Huh, no eeprom present (err=-121)?
> [   39.683543] tveeprom 0-0050: Encountered bad packet header [00].  
> Corrupt or not a Hauppauge eeprom.
> [   39.683548] cx18-0: Invalid EEPROM

This symptom is in fact similar to Michael's.  It looks like one of the
I2C bus slaves is stuck holding the I2C bus data line low.

Michael's would intermittently work when he unload and reloaded the
module, especially with the longer reset delays and the debug option set
on the tveeprom module.  It thus appears on the surface to be some sort
of I2C slave reset/timing issue for him.

> [   39.683555] cx18-0: VBI is not yet supported
> [   40.344126] tuner 1-0043: chip found @ 0x86 (cx18 i2c driver #0-1)
> [   40.495166] tda9887 1-0043: creating new instance
> [   40.495174] tda9887 1-0043: tda988[5/6/7] found
> [   40.613622] NET: Registered protocol family 10
> [   40.614083] lo: Disabled Privacy Extensions
> [   40.669819] tuner 1-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)

The second I2C bus on the board, which only has the analog tuner chips
on it appear to be alive/not-stuck.  That indicates you probably don't
have PCI bus problems, and may not have the CX23418 acting as the root
of the problem.

> [   40.669902] cs5345 0-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
> [   40.784800] cx18-0: Disabled encoder IDX device
> [   40.785002] cx18-0: Registered device video0 for encoder MPEG (2 MB)
> [   40.785010] DVB: registering new adapter (cx18)
> [   40.908410] s5h1409_readreg: readreg error (ret == -121)

Hmm. Another slave on the first I2C bus can't communicate.  The bus is
still stuck or this slave is confused.

> [   40.908515] cx18-0: frontend initialization failed
> [   40.909898] cx18-0: DVB failed to register
> [   40.910014] cx18-0: Registered device video32 for encoder YUV (2 MB)
> [   40.910072] cx18-0: Registered device video24 for encoder PCM audio (1 MB)
> [   40.910125] cx18-0: Registered device radio0 for encoder radio
> [   40.910502] cx18-0: Error -12 registering devices
> [   40.911545] tda9887 1-0043: destroying instance
> [   40.913485] cx18-0: Error -12 on initialization
> [   40.913802] cx18: probe of 0000:02:07.0 failed with error -12

-12 is -ENOMEM.  Please try adding 'vmalloc=256M' to your kernel command
line to see if that resolves the problem.

> [   40.913882] ACPI: PCI Interrupt 0000:00:1f.5[B] -> GSI 17 (level,  
> low) -> IRQ 19
> [   40.913915] PCI: Setting latency timer of device 0000:00:1f.5 to 64
> [   40.913965] cx18:  End initialization
> [   41.534154] intel8x0_measure_ac97_clock: measured 55976 usecs
> [   41.534162] intel8x0: clocking to 41151
> [   42.974441] lp0: using parport0 (interrupt-driven).
> [   43.317867] Adding 883532k swap on /dev/sda5.  Priority:-1  
> extents:1 across:883532k
> [   44.067089] EXT3 FS on sda1, internal journal
> [   45.962105] ip_tables: (C) 2000-2006 Netfilter Core Team
> [   48.784827] No dock devices found.
> [   50.929719] eth0: no IPv6 routers present
> [   53.964361] apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
> [   53.964372] apm: overridden by ACPI.
> 
> 
> The most troubling lines are the
> 
> [   39.683533] tveeprom 0-0050: Huh, no eeprom present (err=-121)?
> [   39.683543] tveeprom 0-0050: Encountered bad packet header [00].  
> Corrupt or not a Hauppauge eeprom.
> 
> I don't believe Micheal had these.

He did.  But it still is an indicator of an underlying problem with
getting the first I2C bus on your card working properly.  Without that
working, the CX23418 can't command the other devices on the HVR-1600 to
do anything.

Please see the message I just sent to the list in response to a similar
problem encountered by Matt Loomis.  You may want to try the software at
my repo:

http://linuxtv.org/hg/~awalls/cx18-i2c

after reading the explanation of the changes in that previous message.

Regards,
Andy

> --Gerhard





More information about the ivtv-users mailing list