On Sun, 2008-10-26 at 12:30 -0400, sam wrote:
> Thanks for the response.
>
> Here is everything between the start and end of the cx18 initialization,
> including a few seemingly irrelevant entries just in case.
>
> [ 47.395294] cx18: Start initialization, version 1.0.1
> [ 47.395465] cx18-0: Initializing card #0
> [ 47.395474] cx18-0: Autodetected Hauppauge card
> [ 47.395905] cx18-0: cx23418 revision 01010000 (B)
> [ 47.892914] tveeprom 1-0050: Hauppauge model 74551, rev C1A3, serial#
> 1825556
> [ 47.892926] tveeprom 1-0050: MAC address is 00-0D-FE-1B-DB-14
> [ 47.892932] tveeprom 1-0050: tuner model is TCL MFNM05-4 (idx 103,
> type 43)
> [ 47.892939] tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
> [ 47.892945] tveeprom 1-0050: audio processor is CX23418 (idx 38)
> [ 47.892950] tveeprom 1-0050: decoder processor is CX23418 (idx 31)
> [ 47.892955] tveeprom 1-0050: has radio
> [ 47.892961] cx18-0: Autodetected Hauppauge HVR-1600
> [ 47.892966] cx18-0: VBI is not yet supported
> [ 48.657268] eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
> [ 48.864454] eth1: link up, 10Mbps, half-duplex, lpa 0x0000
> [ 48.895902] eth1: link down
> [ 49.540757] usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto
> 2 vid 0x03F0 pid 0xB402
> [ 49.540822] usbcore: registered new interface driver usblp
> [ 49.687630] eth1: link up, 10Mbps, half-duplex, lpa 0x0000
> [ 49.698112] tuner 2-0043: chip found @ 0x86 (cx18 i2c driver #0-1)
> [ 49.791974] eth1: link down
> [ 50.085526] tda9887 2-0043: creating new instance
> [ 50.085537] tda9887 2-0043: tda988[5/6/7] found
> [ 50.087385] tuner 2-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
> [ 50.087434] cs5345 1-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
> [ 50.199493] eth1: link up, 10Mbps, half-duplex, lpa 0x0000
> [ 50.228825] eth1: link down
> [ 50.461207] NET: Registered protocol family 10
> [ 50.461772] lo: Disabled Privacy Extensions
> [ 50.511323] tuner-simple 2-0061: creating new instance
> [ 50.511338] tuner-simple 2-0061: type set to 43 (Philips NTSC MK3
> (FM1236MK3 or FM1236/F))
> [ 50.513447] cx18-0: Disabled encoder IDX device
> [ 50.513582] cx18-0: Registered device video0 for encoder MPEG (2 MB)
> [ 50.513591] DVB: registering new adapter (cx18)
> [ 50.567843] NET: Registered protocol family 17
> [ 50.583395] eth1: link up, 10Mbps, half-duplex, lpa 0x0000
> [ 50.688056] eth1: link down
> [ 50.759804] s5h1409_readreg: readreg error (ret == -121)
> [ 50.759912] cx18-0: frontend initialization failed
> [ 50.760281] cx18-0: DVB failed to register
> [ 50.760358] cx18-0: Registered device video32 for encoder YUV (2 MB)
> [ 50.760397] cx18-0: Registered device video24 for encoder PCM audio
> (1 MB)
> [ 50.760438] cx18-0: Registered device radio0 for encoder radio
> [ 50.760880] cx18-0: Error -1 registering devices
> [ 50.761002] tda9887 2-0043: destroying instance
> [ 50.761046] tuner-simple 2-0061: destroying instance
> [ 50.761945] cx18-0: Error -1 on initialization
> [ 50.761970] cx18: probe of 0000:00:0f.0 failed with error -1
> [ 50.762010] cx18: End initialization
>
>
> This appears to be where it fails:
>
> [ 50.759804] s5h1409_readreg: readreg error (ret == -121)
-121 is -EREMOTEIO which happens when the I2C subsystem fails to
transfer data from a device. So OK, you do have an error similar to the
I2C errors other had, but this one is different.
The s5h1409, eeprom, and cs5345 audio digitizer/mux chips are all hooked
up to the same I2C bus. The EEPROM and CS5345 were read and initialized
properly in the output you gave above - so the I2C bus was working.
My guesses now are:
1. The CX24227 (aka S5H1409) chip didn't get reset properly, or
2. The PCI bus on your system is so busy at the moment (eth1 going up
and down repeatedly) that communications with the CX23418 fail despite
the maximum 10 retries on each access to the chip.
So here are some things to try:
1. In /etc/modprobe.d/options (or you distribution's equivalent) add
options cx18 debug=67
options s5h1409 debug=1
This will turn on info, warning, and i2c debugging in cx18. When the
cx18 module fails to load, it will also log statistics about read and
write retries - I would like to see those statistics and the additional
messages. (I'll only have two-way comms by irc this week though, but I
will have read only e-mail access.)
The s5h1409 debug messages will just log what functions the module is
walking through.
2. Blacklist the cx18 module in /etc/modprobe.d/blacklist (or your
distribution's equivalent) and modprobe it some time later in the boot
process or manually after boot. Maybe once the PCI bus isn't so busy
with the disk accesses and eth1 going up and down, things will succeed.
If this is the case, you may want to increase CX18_MAX_MMIO_RETRIES in
cx18-driver.h to a number larger than 10.
3. Change the three 'mdelay(10);' calls in cx18-i2c to 'mdelay(100);'
and change the '.msecs_asserted = 10,' and '.msecs_recovery = 40,' in
cx18-cards.c both to 100 as well. This should ensure the CX24227 (aka
S5H1409) gets enough time to be reset. If those work, try to narrow
down and pare down to exactly which values you need changed and what
values to use.
> find / -name *s5h1409* reveals:
>
> /lib/modules/2.6.24-19-generic/kernel/drivers/media/dvb/frontends/s5h1409.ko
> /lib/modules/2.6.24-21-generic/kernel/drivers/media/dvb/frontends/s5h1409.ko
[snip]
As long as one of these is in a directory that matches you kernel, you
should be fine. In fact, since the module loaded and spit out an error
message, things are probably fine.
> find / -name *mxl5005s* reveals:
>
> /lib/modules/2.6.24-21-generic/kernel/drivers/media/common/tuners/mxl5005s.ko
As long as you use a 2.6.24-21-generic kernel as shown by uname, this
should be fine.
> Could something be in the wrong place?
Unlikely, as long as uname and the module directory agree on the running
kernel version.
Regards,
Andy
>
> On Sat, 2008-10-25 at 13:23 -0400, Andy Walls wrote:
> > On Fri, 2008-10-24 at 16:08 -0400, sam wrote:
> > > So I've searched all over the net, and I'm basically stumped.
> > >
> > > I followed the directions here
> > > (http://www.mythtv.org/wiki/index.php/Hauppauge_HVR-1600) for compiling
> > > and installing the cx-18 driver for use with hvr-1600. I'm using ubuntu
> > > feisty.
> > >
> > > Here's the ouput of dmesg | grep cx-18:
> > >
> > > [ 47.395294] cx18: Start initialization, version 1.0.1
> > > [ 47.395465] cx18-0: Initializing card #0
> > > [ 47.395474] cx18-0: Autodetected Hauppauge card
> > > [ 47.395905] cx18-0: cx23418 revision 01010000 (B)
> > > [ 47.892961] cx18-0: Autodetected Hauppauge HVR-1600
> > > [ 47.892966] cx18-0: VBI is not yet supported
> > > [ 49.698112] tuner 2-0043: chip found @ 0x86 (cx18 i2c driver #0-1)
> > > [ 50.087385] tuner 2-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
> > > [ 50.087434] cs5345 1-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
> > > [ 50.513447] cx18-0: Disabled encoder IDX device
> > > [ 50.513582] cx18-0: Registered device video0 for encoder MPEG (2 MB)
> > > [ 50.513591] DVB: registering new adapter (cx18)
> > > [ 50.759912] cx18-0: frontend initialization failed
> > > [ 50.760281] cx18-0: DVB failed to register
> > > [ 50.760358] cx18-0: Registered device video32 for encoder YUV (2 MB)
> > > [ 50.760397] cx18-0: Registered device video24 for encoder PCM audio
> > > (1 MB)
> > > [ 50.760438] cx18-0: Registered device radio0 for encoder radio
> > > [ 50.760880] cx18-0: Error -1 registering devices
> > > [ 50.761945] cx18-0: Error -1 on initialization
> > > [ 50.761970] cx18: probe of 0000:00:0f.0 failed with error -1
> > > [ 50.762010] cx18: End initialization
> >
> > Please provide the full output (don't grep on cx18) between "cx18: Start
> > initialization" and "cx18: End initialization"
> >
> > Given the grepped output above, everything appears to be OK with the
> > analog side of the card. The DVB (ATSC) initialization for digital
> > video failed in linux/drivers/media/video/cx18/cx18-dvb.c:dvb_register()
> > at about line 291.
> >
> > (BTW, I need to fix the return value of -1 to something more meaningful.
> > -1 is -EPERM, "operation not permitted" which is the wrong error code
> > here.)
> >
> >
> > > This seems a little bit similar to the "invalid EPROM" errors people
> > > were getting,
> >
> > But it's not, AFAICT.
> >
> > My suspicions are either that you don't have the s5h1409 and mxl5005s
> > modules built and installed, or you have disabled dynamic loading of
> > modules upon kernel request somehow.
> >
> >
> > > however I tried the fix (reloading cx-18 with mmio_ndelay
> > > 31) with no success. I'd appreciate any help.
> >
> >
> > With the cx18 driver v1.0.1 default setting of retry_mmio=1 being set,
> > mmio_ndelay has a vanishingly small effect. Don't bother with it. It
> > won't help, nor do you have the specific problem with which it could
> > help, AFAICT.
> >
> > Regards,
> > Andy
> >
> >
> > _______________________________________________
> > ivtv-users mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-users
>
>
> _______________________________________________
> ivtv-users mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users