----- Original Message ----
> From: Andy Walls <[EMAIL PROTECTED]>
> To: User discussion about IVTV <[email protected]>
> Sent: Monday, May 12, 2008 9:40:32 PM
> Subject: Re: [ivtv-users] CX18: What Next?
>
> On Mon, 2008-05-12 at 16:55 -0700, Michael wrote:
>
> > > > > The "Invalid EEPROM" message and "Could not start the CPU" are of
> > > > > interest, but we need to see all the log messages, since cx18 relies
> > > > > on
> > > > > and loads tveeprom, cs5345, mxl5005s, cx25840, tuner, and other
> > > > > modules.
> > > > > The grep cuts out their messages.
> > > > >
> > > > > Also could you do:
> > > > >
> > > > > # modprobe -r cx18
> > > > > # modprobe tveeprom debug=1
> > > > > # modprobe cx18 debug=71
> > > > >
> > > > >
> > > > > To enable tveeprom debug messages and cx18 info, warn, mailbox, and
> > > > > i2c
> > > > > messages.
> > > >
> > > >
> > > > And heres the dmesg from this:
> > > >
> > > > cx18: Start initialization, version 1.0.0
> > > > 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: 3c 6e 2d f0 73 05 26 00 84 08 00 06 2d 23 01 00
> > > > tveeprom 0-0050: 20: 96 58 8d 72 07 70 73 09 1f 36 73 0a 08 74 73 0b
> > > > tveeprom 0-0050: 30: 4f 30 72 0e 01 72 10 01 72 11 00 79 25 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 3c 6e 2d f0
> > > > tveeprom 0-0050: 90: 73 05 26 00 84 08 00 06 2d 23 01 00 96 58 8d 72
> > > > tveeprom 0-0050: a0: 07 70 73 09 1f 36 73 0a 08 74 73 0b 4f 30 72 0e
> > > > tveeprom 0-0050: b0: 01 72 10 01 72 11 00 79 25 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 3c 6e 2d f0
> > > > tveeprom 0-0050: Tag [05] + 2 bytes: 26 00
> > > > tveeprom 0-0050: Tag [06] + 7 bytes: 2d 23 01 00 96 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 74
> > > > tveeprom 0-0050: Tag [0b] + 2 bytes: 4f 30
> > > > tveeprom 0-0050: Tag [0e] + 1 bytes: 01
> > > > 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 74541, rev C5B6, serial# 2977340
> > > > tveeprom 0-0050: MAC address is 00-0D-FE-2D-6E-3C
> > > > tveeprom 0-0050: tuner model is Philips FM1236 MK5 (idx 116, type 43)
> > > > 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 radio, has no IR receiver, has no IR transmitter
> > > > cx18-0: Unknown model 74541, defaulting to HVR-1600
> > > > cx18-0: Autodetected Hauppauge HVR-1600
> > >
> > > Here's something odd. In all your previous load attempts, the EEPROM
> > > wasn't recognized as valid, and that was a problem. On this particular
> > > load attempt, the EEPROM was read properly. As you continue to try and
> > > get this driver working, keep an eye on this.
> > >
> > > One thing to look for is as to whether or not the pre-loading tveeprom
> > > module make the difference or setting the debug option for the tveeprom
> > > module makes the difference (on the command line and
> > > in /etc/modporbe.conf).
> > >
> > > Another thing to look for is how busy was the I/O system at the time you
> > > loaded the module as to whether the EEPROM is read properly (if there's
> > > lots of disk, graphics, or network I/O going on when you load the
> > > driver).
> > >
> > > I was suspecting you had the i2c problems other users are having, but
> > > this time the EEPROM read worked, so I don't know.
> > >
> > >
> > dmesg:
> >
> > cx18: Start initialization, version 1.0.0
> > cx18-0: Initializing card #0
> > cx18-0: Autodetected Hauppauge card
> > cx18-0 info: base addr: 0xf4000000
> > cx18-0 info: Enabling pci device
> > cx18-0 info: cx23418 (rev 0) at 02:02.0, irq: 17, latency: 64, memory:
> 0xf4000000
> > cx18-0 info: attempting ioremap at 0xf4000000 len 0x04000000
> > cx18-0: cx23418 revision 01010000 (B)
> > cx18-0 info: GPIO initial dir: 0000ffff out: 00000000
> > cx18-0 info: activating i2c...
> > cx18-0 i2c: i2c init
> > cx18-0 info: Active card count: 1.
> > tveeprom 0-0050: Encountered bad packet header [00]. Corrupt or not a
> Hauppauge eeprom.
> > cx18-0: Invalid EEPROM
> > cx18-0: DVB & VBI are not yet supported
> > cx18-0 info: Loaded module tuner
> > cx18-0 info: Loaded module cs5345
> > cx18-0 i2c: i2c client register
> > cx18-0 i2c: i2c client register
> > cs5345 0-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
> > cx18-0 info: Allocate encoder MPEG stream: 63 x 32768 buffers (2016kB total)
> > cx18-0 info: Allocate TS stream: 32 x 32768 buffers (1024kB total)
> > cx18-0 info: Allocate encoder YUV stream: 16 x 131072 buffers (2048kB total)
> > cx18-0 info: Allocate encoder PCM audio stream: 63 x 16384 buffers (1008kB
> total)
> > cx18-0: Disabled encoder IDX device
> > videodev: "" has no release callback. Please fix your driver for proper
> > sysfs
> support, see http://lwn.net/Articles/36850/
> > cx18-0: Registered device video0 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
> > videodev: "" has no release callback. Please fix your driver for proper
> > sysfs
> support, see http://lwn.net/Articles/36850/
> > cx18-0: Registered device video32 for encoder YUV (2 MB)
> > videodev: "" has no release callback. Please fix your driver for proper
> > sysfs
> support, see http://lwn.net/Articles/36850/
> > cx18-0: Registered device video24 for encoder PCM audio (1 MB)
> > videodev: "" has no release callback. Please fix your driver for proper
> > sysfs
> support, see http://lwn.net/Articles/36850/
> > cx18-0: Registered device radio-64 for encoder radio
> > cx18-0 info: load segment a00000-a07fff
> > cx18-0 info: load segment ae0000-ae00ff
> > cx18-0 info: load segment b00000-b1a65f
> > cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200 bytes)
> > cx18-0: loaded v4l-cx23418-cpu.fw firmware (174716 bytes)
> > cx18-0 info: load segment a00000-a07fff
> > cx18-0 info: load segment ae0000-ae00ff
> > cx18-0 info: load segment b00000-b1a65f
> > cx18-0 info: Changing input from 1 to 0
> > cx18-0 info: Mute
> > cx18-0 info: cmd 4008646f triggered fw load
> > cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)
> > cx18-0 info: decoder set video input 7, audio input 8
> > cx18-0 i2c: call_i2c_client addr=4c
> > cx18-0 info: decoder set video input 7, audio input 8
> > cx18-0 info: Unmute
> > cx18-0 info: Switching standard to 1000.
> > cx18-0 info: changing video std to fmt 1
> > cx18-0 info: PLL regs = int: 15, frac: 2876158, post: 4
> > cx18-0 info: PLL = 0.000011 MHz
> > cx18-0 info: PLL/8 = 0.000001 MHz
> > cx18-0 info: ADC Sampling freq = 0.000001 MHz
> > cx18-0 info: Chroma sub-carrier freq = 0.000000 MHz
> > cx18-0 info: hblank 122, hactive 720, vblank 26 , vactive 487, vblank656
> > 26,
> src_dec 543,burst 0x5b, luma_lpf 1, uv_lpf 1, comb 0x66, sc 0x087c1f
> > cx18-0 info: Mute
> > cx18-0 info: v4l2 ioctl: set frequency 1076
> > cx18-0 info: Unmute
> > cx18-0: Initialized card #0: Hauppauge HVR-1600
> > cx18: End initialization
> >
> >
> > Once again though, I only see it once.
>
> Hmmm. I'm not sure why the firmware load doesn't happen twice. I'm
> working under the assumption you're using the latest driver from :
> http://www.linuxtv.org/hg/v4l-dvb
>
> What I think I can help with, or more accurately you can help me with is
> investigating your intermittent EEPROM error. The attached patch
> enables adds a lot of debugging to gain some insight into what's going
> on with the i2c bus while the operations like reading the EEPROM are
> taking place. I also have some other code in there to try to recover
> from any PCI bus induced i2c errors if they occur.
>
> If you'd like to help, here's how to test the patch:
>
> $ cd (path-to-source-code)/v4l-dvb
> $ patch -p1 < (path-to-patch)/cx18-i2c-debugging2.patch
> $ make
I can't seem to be able to run the make command. I get a whole bunch of
errors, ending with this error:
make[3]: *** [/home/michael/Programs/v4l-dvb-d87638488880/v4l/tuner-xc2028.o]
Error 1
make[2]: *** [_module_/home/michael/Programs/v4l-dvb-d87638488880/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.22.17.tex2'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/michael/Programs/v4l-dvb-d87638488880/v4l'
make: *** [all] Error 2
> $ su - root
> # cd (path-to-source-code)/v4l-dvb
> # make unload
> # make install
> # logger START TEST 1
> # modprobe cx18 debug=323
> # logger END TEST 1
>
> Then look in /var/log/messages for the lines between "START TEST 1" and
> "END TEST 1", dmesg will have filled up and wrpped around with the
> amount of messages written.
>
>
> On my working system, I get something like this:
>
> May 12 21:34:37 palomino andy: START TEST 2
> May 12 21:34:45 palomino kernel: cx18: Start initialization, version 1.0.0
> May 12 21:34:45 palomino kernel: cx18-0: Initializing card #0
> May 12 21:34:45 palomino kernel: cx18-0: Autodetected Hauppauge card
> May 12 21:34:45 palomino kernel: cx18-0 info: base addr: 0xf4000000
> May 12 21:34:45 palomino kernel: cx18-0 info: Enabling pci device
> May 12 21:34:45 palomino kernel: ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI
> 21
> (level, low) -> IRQ 21
> May 12 21:34:45 palomino kernel: cx18-0 info: cx23418 (rev 0) at 02:01.0,
> irq:
> 21, latency: 64, memory: 0xf4000000
> May 12 21:34:45 palomino kernel: cx18-0 info: attempting ioremap at
> 0xf4000000
> len 0x04000000
> May 12 21:34:45 palomino kernel: cx18-0: cx23418 revision 01010000 (B)
> May 12 21:34:45 palomino kernel: cx18-0 info: GPIO initial dir: 0000cffe out:
> 00003001
> May 12 21:34:45 palomino kernel: cx18-0 info: activating i2c...
> May 12 21:34:45 palomino kernel: cx18-0 i2c: i2c init
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: On entry
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Wrote
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Readback
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: On entry
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Wrote
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Readback
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: On entry
> CX18_REG_I2C_2_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Wrote
> CX18_REG_I2C_2_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Readback
> CX18_REG_I2C_2_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: On entry
> CX18_REG_I2C_2_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Wrote
> CX18_REG_I2C_2_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Readback
> CX18_REG_I2C_2_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx18-0 info: Active card count: 1.
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: On entry
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Wrote
> CX18_REG_I2C_1_WR = 0x21c09
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Readback
> CX18_REG_I2C_1_WR = 0x21c09
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: On entry
> CX18_REG_I2C_1_WR = 0x21c09
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Wrote
> CX18_REG_I2C_1_WR = 0x21c08
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Readback
> CX18_REG_I2C_1_WR = 0x21c08
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: On entry
> CX18_REG_I2C_1_WR = 0x21c08
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Wrote
> CX18_REG_I2C_1_WR = 0x21c0a
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setsda: Readback
> CX18_REG_I2C_1_WR = 0x21c0a
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: On entry
> CX18_REG_I2C_1_WR = 0x21c0a
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Wrote
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Readback
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_getscl: read
> CX18_REG_I2C_1_RD
> = 0xc
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: On entry
> CX18_REG_I2C_1_WR = 0x21c0b
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Wrote
> CX18_REG_I2C_1_WR = 0x21c0a
> May 12 21:34:45 palomino kernel: cx180 i2c: cx18_setscl: Readback
> CX18_REG_I2C_1_WR = 0x21c0a
>
>
> If you see values that don't start out with 0x21c0? for the WR register
> or values that are larger than 0xf for the RD register or any different
> log messages coming from get/set_scl/sca(), then I'd be interested in
> the output.
>
>
> If you can't do this, that's OK. I'll take some time to look at what
> might be causing the firmware not to load twice and get back when I have
> time.
>
>
> Regards,
> Andy
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users