[ivtv-users] CX18: What Next?

Andy Walls awalls at radix.net
Sat Jun 7 02:49:26 CEST 2008


On Fri, 2008-06-06 at 10:22 -0700, Michael wrote:
> > Hmm.  I really though the problem could have been that.  Here's my
> > rationale:
> > 
> > 1.  From my dmesg output, the cx18 driver talks to the i2c devices in
> > the following order at initialization:
> > 
> > EEPROM chip
> > Analog tuner chips
> > CS5345 audio digitizer/multiplexer chip
> > MXL5005S chip
> > S5H1490 chip
> > 
> > 2. From your dmesg output, normally the CS5345 is the first device to
> > actually respond properly.  That would suggest accessing the CS5345 or
> > the analog tuner somehow clears up the I2C bus problem.
> > 
> > 3.  A similar sequence of mdelay()'s is used in cx23885/cx23885-cards.c
> > for the HVR-1200, HVR-1400, HVR-1500, HVR-1700, and HVR-1800 to reset
> > the analog tuner.
> > 
> > 4. You have a different analog tuner (Philips FM1236 MK5 idx 116, type
> > 43) than I (TCL M2523_5N_E idx 112, type 50), so perhaps it needs a
> > longer delay to be ready after reset.  Or since yours seems to have FM
> > radio, and mine doesn't, we might be missing a reset line for a tuner
> > chip.
> > 
> > 
> > 
> > 
> > 
> > Since we've got that one good EEPROM read from May 10th, you can use
> > some command line options to try and get your card working:
> > 
> > # modprobe -r cx18
> > # modprobe tveeprom debug=1
> > # modprobe cx18 cardtype=1 tuner=43 radio=1 ntsc=M
> > 

Things look positive, but let's talk about exactly what you applied to
the code first...

> I tried this with the latest patch you sent me, and only that patch.  After running dmesg, eeprom error still occurs.  I know there is extra information in the middle (extra as in not relating to the TV Tuner), but I'm not going to remove it, as I'm afraid I may accidentally remove something important.

So you didn't increase the mdelay()'s in the bottom of cx18-i2c.c,
right?

If you didn't, given that the analog tuner didn't get recognized in any
of your output, you may want to put some larger values in them.  You can
try 100 in each of them.  If that works to get the analog tuner
initialized, we can work our way down to shorter values.

You may also want to increase the "msecs_asserted" and "msecs_recovery"
values in cx18-cards.c.  Try 100 in all of them.  If that works to get
the eeprom read properly on the first try, we can work our way down to
shorter values.



> http://h1.ripway.com/hendrick/TV.txt

Things look better!

So for the first 2 modprobes of cx18, the card's EEPROM doesn't get
recognized properly :(  but the remaining 3 (or 4?) times it did get
recognized! :)

What I didn't see was messages about the NTSC tuner getting initialized
properly.  So whatever the patch and your action did, at least the first
I2C bus got unstuck.  Since the analog tuner doesn't look like it's
responding on the second I2C bus, analog RF capture may not work.

What should work for you is:

1. analog capture from line in (S-Video or Composite)
2. digital video scan and captures (ATSC QAM or 8VSB).

So give it a try! :)



BTW, here's what a "proper" start up, with tveeprom debugging turned on,
looks like with my HVR-1600 looks like:


cx18:  Start initialization, version 1.0.0
cx18-0: Initializing card #0
cx18-0: Autodetected Hauppauge card
ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI 21 (level, low) -> IRQ 21
cx18-0: cx23418 revision 01010000 (B)
tveeprom 0-0050: full 256-byte eeprom dump:
tveeprom 0-0050: 00: 00 70 00 44 74 00 00 00 84 09 00 04 20 77 00 40
tveeprom 0-0050: 10: d7 99 0d f0 73 05 26 00 84 08 00 06 39 21 01 00
tveeprom 0-0050: 20: 92 58 8d 72 07 70 73 09 1f 36 73 0a 08 70 73 0b
tveeprom 0-0050: 30: 4f 30 72 0f 03 72 10 01 72 11 00 79 7a 00 00 00
tveeprom 0-0050: 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 80: 00 00 00 00 84 09 00 04 20 77 00 40 d7 99 0d f0
tveeprom 0-0050: 90: 73 05 26 00 84 08 00 06 39 21 01 00 92 58 8d 72
tveeprom 0-0050: a0: 07 70 73 09 1f 36 73 0a 08 70 73 0b 4f 30 72 0f
tveeprom 0-0050: b0: 03 72 10 01 72 11 00 79 7a 00 00 00 00 00 00 00
tveeprom 0-0050: c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: Tag [04] + 8 bytes: 20 77 00 40 d7 99 0d f0
tveeprom 0-0050: Tag [05] + 2 bytes: 26 00
tveeprom 0-0050: Tag [06] + 7 bytes: 39 21 01 00 92 58 8d
tveeprom 0-0050: Tag [07] + 1 bytes: 70
tveeprom 0-0050: Tag [09] + 2 bytes: 1f 36
tveeprom 0-0050: Tag [0a] + 2 bytes: 08 70
tveeprom 0-0050: Tag [0b] + 2 bytes: 4f 30
tveeprom 0-0050: Tag [0f] + 1 bytes: 03
tveeprom 0-0050: Tag [10] + 1 bytes: 01
tveeprom 0-0050: Not sure what to do with tag [10]
tveeprom 0-0050: Tag [11] + 1 bytes: 00
tveeprom 0-0050: Not sure what to do with tag [11]
tveeprom 0-0050: Hauppauge model 74041, rev C5B2, serial# 891351
tveeprom 0-0050: MAC address is 00-0D-FE-0D-99-D7
tveeprom 0-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)
tveeprom 0-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 0-0050: audio processor is CX23418 (idx 38)
tveeprom 0-0050: decoder processor is CX23418 (idx 31)
tveeprom 0-0050: has no radio, has IR receiver, has IR transmitter
cx18-0: Autodetected Hauppauge HVR-1600
cx18-0: VBI is not yet supported

tuner 1-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I don't see this in your output


cs5345 0-004c: chip found @ 0x98 (cx18 i2c driver #0-0)

tuner-simple 1-0061: creating new instance
tuner-simple 1-0061: type set to 50 (TCL 2002N)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nor do I see these two tuner lines.


cx18-0: Disabled encoder IDX device
cx18-0: Registered device video1 for encoder MPEG (2 MB)
DVB: registering new adapter (cx18)
MXL5005S: Attached at address 0x63
DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB Frontend)...
cx18-0: DVB Frontend registered
cx18-0: Registered device video33 for encoder YUV (2 MB)
cx18-0: Registered device video25 for encoder PCM audio (1 MB)
cx18-0: Initialized card #0: Hauppauge HVR-1600
cx18:  End initialization


And when starting the first capture, you should see the firmware load:

cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200 bytes)
cx18-0: loaded v4l-cx23418-cpu.fw firmware (174716 bytes)
cx18-0: FW version: 0.0.71.0 (Release 2006/12/29)
cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)



Regards,
Andy





More information about the ivtv-users mailing list