Mailing List Archive

pvr-500 no signal on second tuner
Hell All,


I've got a pvr-500 that's only getting a signal on the first tuner:

# ivtv-tune -c 3 -d /dev/video0
/dev/video0: 61.250 MHz (Signal Detected)

# ivtv-tune -c 3 -d /dev/video1
/dev/video1: 61.250 MHz

I've disabled serial/parallel support in the bios and removed all other cards in hopes of removing irq conflicts, but no luck. I've tired the card in each of the 3 pci slots.

I get a 0 byte file when I cat /dev/video1:

# cat /dev/video0 > v0.mpg
# cat /dev/video1 > v1.mpg
# ll v*
-rw-r--r-- 1 root root 1155072 2009-12-08 10:25 v0.mpg
-rw-r--r-- 1 root root 0 2009-12-08 10:25 v1.mpg


This is a fresh install of MythDora 10.21. I've included as much information below as I could think of... let me know if I missed something. I've got acpi=force on my kernel command line, as suggested by a google search, but it hasn't helped. Any and all suggestions greatly appreciated!




02:08.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
Subsystem: Hauppauge computer works Inc. WinTV PVR 500 (1st unit)
Flags: bus master, medium devsel, latency 64, IRQ 16
Memory at e0000000 (32-bit, prefetchable) [size=64M]
Capabilities: [44] Power Management version 2
Kernel driver in use: ivtv
Kernel modules: ivtv

02:09.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
Subsystem: Hauppauge computer works Inc. WinTV PVR 500 (2nd unit)
Flags: bus master, medium devsel, latency 64, IRQ 17
Memory at e4000000 (32-bit, prefetchable) [size=64M]
Capabilities: [44] Power Management version 2
Kernel driver in use: ivtv
Kernel modules: ivtv


Linux myth 2.6.27.38-170.2.113.fc10.i686 #1 SMP Wed Nov 4 17:55:39 EST 2009 i686 athlon i386 GNU/Linux
CPU: AMD Athlon(tm) XP 2200+
Memory: 1 GB

# rpm -qi ivtv-utils
ivtv-utils-1.3.0-1.fc10.i386

# rpm -ql ivtv-firmware
/lib/firmware/ivtv-firmware-license-end-user.txt
/lib/firmware/ivtv-firmware-license-oemihvisv.txt
/lib/firmware/v4l-cx2341x-dec.fw
/lib/firmware/v4l-cx2341x-enc.fw
/lib/firmware/v4l-cx2341x-init.mpg
/lib/firmware/v4l-cx25840.fw
/lib/firmware/v4l-pvrusb2-24xxx-01.fw
/lib/firmware/v4l-pvrusb2-29xxx-01.fw
/usr/share/doc/ivtv-firmware-20080701
/usr/share/doc/ivtv-firmware-20080701/license-end-user.txt
/usr/share/doc/ivtv-firmware-20080701/license-oemihvisv.txt

# lsmod|grep iv
ivtv 125076 0
videodev 32000 2 tuner,ivtv
compat_ioctl32 5120 1 ivtv
i2c_algo_bit 8836 1 ivtv
cx2341x 13700 1 ivtv
v4l2_common 12800 5 wm8775,cx25840,tuner,ivtv,cx2341x
tveeprom 14596 1 ivtv
i2c_core 21396 13 drm,tuner_simple,tda9887,tda8290,tea5767,wm8775,cx25840,tuner,ivtv,i2c_algo_bit,v4l2_common,i2c_viapro,tveeprom


# dmesg | tac | sed -n '/ivtv: End initialization/,/ivtv: Start initialization/p; /ivtv: Start initialization/q' | tac
ivtv: Start initialization, version 1.4.0
ivtv0: Initializing card #0
ivtv0: Autodetected Hauppauge card (cx23416 based)
ivtv 0000:02:08.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
tveeprom 1-0050: Hauppauge model 23552, rev D592, serial# 2995162
tveeprom 1-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 1-0050: second tuner model is Philips TEA5768HL FM Radio (idx 101, type 62)
tveeprom 1-0050: audio processor is CX25843 (idx 37)
tveeprom 1-0050: decoder processor is CX25843 (idx 30)
tveeprom 1-0050: has radio
ivtv0: Autodetected WinTV PVR 500 (unit #1)
cx25840 1-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
tuner 1-0060: chip found @ 0xc0 (ivtv i2c driver #0)
tea5767 1-0060: type set to Philips TEA5767HN FM Radio
tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0)
tda9887 1-0043: creating new instance
tda9887 1-0043: tda988[5/6/7] found
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0)
tuner-simple 1-0061: creating new instance
tuner-simple 1-0061: type set to 57 (Philips FQ1236A MK4)
ivtv0: Registered device video0 for encoder MPG (4096 kB)
ivtv0: Registered device video32 for encoder YUV (2048 kB)
ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
ivtv0: Registered device video24 for encoder PCM (320 kB)
ivtv0: Registered device radio0 for encoder radio
ivtv0: Initialized card #0: WinTV PVR 500 (unit #1)
ACPI: PCI Interrupt Link [ALKC] BIOS reported IRQ 0, using IRQ 22
ACPI: PCI Interrupt Link [ALKC] enabled at IRQ 22
VIA 82xx Audio 0000:00:11.5: PCI INT C -> Link[ALKC] -> GSI 22 (level, low) -> IRQ 22
VIA 82xx Audio 0000:00:11.5: setting latency timer to 64
ivtv1: Initializing card #1
ivtv1: Autodetected Hauppauge card (cx23416 based)
ivtv 0000:02:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
ivtv1: Unreasonably low latency timer, setting to 64 (was 32)
tveeprom 2-0050: Hauppauge model 23552, rev D592, serial# 2995162
tveeprom 2-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 2-0050: second tuner model is Philips TEA5768HL FM Radio (idx 101, type 62)
tveeprom 2-0050: audio processor is CX25843 (idx 37)
tveeprom 2-0050: decoder processor is CX25843 (idx 30)
tveeprom 2-0050: has radio
ivtv1: Correcting tveeprom data: no radio present on second unit
ivtv1: Autodetected WinTV PVR 500 (unit #2)
cx25840 2-0044: cx25 0-21 found @ 0x88 (ivtv i2c driver #1)
tuner 2-0043: chip found @ 0x86 (ivtv i2c driver #1)
tda9887 2-0043: creating new instance
tda9887 2-0043: tda988[5/6/7] found
tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #1)
wm8775 2-001b: chip found @ 0x36 (ivtv i2c driver #1)
tuner-simple 2-0061: creating new instance
tuner-simple 2-0061: type set to 57 (Philips FQ1236A MK4)
ivtv1: Registered device video1 for encoder MPG (4096 kB)
ivtv1: Registered device video33 for encoder YUV (2048 kB)
ivtv1: Registered device vbi1 for encoder VBI (1024 kB)
ivtv1: Registered device video25 for encoder PCM (320 kB)
ivtv1: Initialized card #1: WinTV PVR 500 (unit #2)
ivtv: End initialization
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv1: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv1: Encoder revision: 0x02060039


# v4l2-ctl --all -d 0 > tuner0
# v4l2-ctl --all -d 1 > tuner1
# diff tuner0 tuner1
3,4c3,4
< Card type : WinTV PVR 500 (unit #1)
< Bus info : 0000:02:08.0
---
> Card type : WinTV PVR 500 (unit #2)
> Bus info : 0000:02:09.0
6c6
< Capabilities : 0x01070051
---
> Capabilities : 0x01030051
12d11
< Radio
70c69
< Signal strength/AFC : 99%/-12500
---
> Signal strength/AFC : 0%/-12500
72c71
< Available subchannels: stereo
---
> Available subchannels: mono





_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: pvr-500 no signal on second tuner [ In reply to ]
On Tue, 2009-12-08 at 11:08 -0500, Robert wrote:
> Hell All,
>
>
> I've got a pvr-500 that's only getting a signal on the first tuner:
>
> # ivtv-tune -c 3 -d /dev/video0
> /dev/video0: 61.250 MHz (Signal Detected)
>
> # ivtv-tune -c 3 -d /dev/video1
> /dev/video1: 61.250 MHz
>
> I've disabled serial/parallel support in the bios and removed all other cards in hopes of removing irq conflicts, but no luck. I've tired the card in each of the 3 pci slots.
>
> I get a 0 byte file when I cat /dev/video1:
>
> # cat /dev/video0 > v0.mpg
> # cat /dev/video1 > v1.mpg
> # ll v*
> -rw-r--r-- 1 root root 1155072 2009-12-08 10:25 v0.mpg
> -rw-r--r-- 1 root root 0 2009-12-08 10:25 v1.mpg
>
>
> This is a fresh install of MythDora 10.21. I've included as much information below as I could think of... let me know if I missed something. I've got acpi=force on my kernel command line, as suggested by a google search, but it hasn't helped. Any and all suggestions greatly appreciated!
>
>
>
>
> 02:08.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
> Subsystem: Hauppauge computer works Inc. WinTV PVR 500 (1st unit)
> Flags: bus master, medium devsel, latency 64, IRQ 16
> Memory at e0000000 (32-bit, prefetchable) [size=64M]
> Capabilities: [44] Power Management version 2
> Kernel driver in use: ivtv
> Kernel modules: ivtv
>
> 02:09.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
> Subsystem: Hauppauge computer works Inc. WinTV PVR 500 (2nd unit)
> Flags: bus master, medium devsel, latency 64, IRQ 17
> Memory at e4000000 (32-bit, prefetchable) [size=64M]
> Capabilities: [44] Power Management version 2
> Kernel driver in use: ivtv
> Kernel modules: ivtv
>
>
> Linux myth 2.6.27.38-170.2.113.fc10.i686 #1 SMP Wed Nov 4 17:55:39 EST 2009 i686 athlon i386 GNU/Linux
> CPU: AMD Athlon(tm) XP 2200+
> Memory: 1 GB
>
> # rpm -qi ivtv-utils
> ivtv-utils-1.3.0-1.fc10.i386
>
> # rpm -ql ivtv-firmware
> /lib/firmware/ivtv-firmware-license-end-user.txt
> /lib/firmware/ivtv-firmware-license-oemihvisv.txt
> /lib/firmware/v4l-cx2341x-dec.fw
> /lib/firmware/v4l-cx2341x-enc.fw
> /lib/firmware/v4l-cx2341x-init.mpg
> /lib/firmware/v4l-cx25840.fw
> /lib/firmware/v4l-pvrusb2-24xxx-01.fw
> /lib/firmware/v4l-pvrusb2-29xxx-01.fw
> /usr/share/doc/ivtv-firmware-20080701
> /usr/share/doc/ivtv-firmware-20080701/license-end-user.txt
> /usr/share/doc/ivtv-firmware-20080701/license-oemihvisv.txt
>
> # lsmod|grep iv
> ivtv 125076 0
> videodev 32000 2 tuner,ivtv
> compat_ioctl32 5120 1 ivtv
> i2c_algo_bit 8836 1 ivtv
> cx2341x 13700 1 ivtv
> v4l2_common 12800 5 wm8775,cx25840,tuner,ivtv,cx2341x
> tveeprom 14596 1 ivtv
> i2c_core 21396 13 drm,tuner_simple,tda9887,tda8290,tea5767,wm8775,cx25840,tuner,ivtv,i2c_algo_bit,v4l2_common,i2c_viapro,tveeprom
>
>
> # dmesg | tac | sed -n '/ivtv: End initialization/,/ivtv: Start initialization/p; /ivtv: Start initialization/q' | tac
> ivtv: Start initialization, version 1.4.0
> ivtv0: Initializing card #0
> ivtv0: Autodetected Hauppauge card (cx23416 based)
> ivtv 0000:02:08.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
> tveeprom 1-0050: Hauppauge model 23552, rev D592, serial# 2995162
> tveeprom 1-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
> tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
> tveeprom 1-0050: second tuner model is Philips TEA5768HL FM Radio (idx 101, type 62)
> tveeprom 1-0050: audio processor is CX25843 (idx 37)
> tveeprom 1-0050: decoder processor is CX25843 (idx 30)
> tveeprom 1-0050: has radio
> ivtv0: Autodetected WinTV PVR 500 (unit #1)
> cx25840 1-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
> tuner 1-0060: chip found @ 0xc0 (ivtv i2c driver #0)
> tea5767 1-0060: type set to Philips TEA5767HN FM Radio
> tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0)
> tda9887 1-0043: creating new instance
> tda9887 1-0043: tda988[5/6/7] found
> tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
> wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0)
> tuner-simple 1-0061: creating new instance
> tuner-simple 1-0061: type set to 57 (Philips FQ1236A MK4)
> ivtv0: Registered device video0 for encoder MPG (4096 kB)
> ivtv0: Registered device video32 for encoder YUV (2048 kB)
> ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
> ivtv0: Registered device video24 for encoder PCM (320 kB)
> ivtv0: Registered device radio0 for encoder radio
> ivtv0: Initialized card #0: WinTV PVR 500 (unit #1)
> ACPI: PCI Interrupt Link [ALKC] BIOS reported IRQ 0, using IRQ 22
> ACPI: PCI Interrupt Link [ALKC] enabled at IRQ 22
> VIA 82xx Audio 0000:00:11.5: PCI INT C -> Link[ALKC] -> GSI 22 (level, low) -> IRQ 22
> VIA 82xx Audio 0000:00:11.5: setting latency timer to 64
> ivtv1: Initializing card #1
> ivtv1: Autodetected Hauppauge card (cx23416 based)
> ivtv 0000:02:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> ivtv1: Unreasonably low latency timer, setting to 64 (was 32)
> tveeprom 2-0050: Hauppauge model 23552, rev D592, serial# 2995162
> tveeprom 2-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
> tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
> tveeprom 2-0050: second tuner model is Philips TEA5768HL FM Radio (idx 101, type 62)
> tveeprom 2-0050: audio processor is CX25843 (idx 37)
> tveeprom 2-0050: decoder processor is CX25843 (idx 30)
> tveeprom 2-0050: has radio
> ivtv1: Correcting tveeprom data: no radio present on second unit
> ivtv1: Autodetected WinTV PVR 500 (unit #2)
> cx25840 2-0044: cx25 0-21 found @ 0x88 (ivtv i2c driver #1)
^^^

This second CX25843 chip has gone braindead or the I2C bus from the
second CX23416 chip isn't working. That's chip decodes analog video
signals into digital data. Until it responds no video will work.

Check

$ modinfo ivtv
$ modinfo cx25840

and see what debugging options you can turn on in /etc/modprobe.conf for
these modules. It might give insight into what the problem is.

Highest probability cause is that that CX25843 is dead.
If you're lucky, it's only some Linux I2C subsystem problem in software.

Regards,
Andy

> tuner 2-0043: chip found @ 0x86 (ivtv i2c driver #1)
> tda9887 2-0043: creating new instance
> tda9887 2-0043: tda988[5/6/7] found
> tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #1)
> wm8775 2-001b: chip found @ 0x36 (ivtv i2c driver #1)
> tuner-simple 2-0061: creating new instance
> tuner-simple 2-0061: type set to 57 (Philips FQ1236A MK4)
> ivtv1: Registered device video1 for encoder MPG (4096 kB)
> ivtv1: Registered device video33 for encoder YUV (2048 kB)
> ivtv1: Registered device vbi1 for encoder VBI (1024 kB)
> ivtv1: Registered device video25 for encoder PCM (320 kB)
> ivtv1: Initialized card #1: WinTV PVR 500 (unit #2)
> ivtv: End initialization
> ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
> ivtv0: Encoder revision: 0x02060039
> ivtv1: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
> ivtv1: Encoder revision: 0x02060039
>
>
> # v4l2-ctl --all -d 0 > tuner0
> # v4l2-ctl --all -d 1 > tuner1
> # diff tuner0 tuner1
> 3,4c3,4
> < Card type : WinTV PVR 500 (unit #1)
> < Bus info : 0000:02:08.0
> ---
> > Card type : WinTV PVR 500 (unit #2)
> > Bus info : 0000:02:09.0
> 6c6
> < Capabilities : 0x01070051
> ---
> > Capabilities : 0x01030051
> 12d11
> < Radio
> 70c69
> < Signal strength/AFC : 99%/-12500
> ---
> > Signal strength/AFC : 0%/-12500
> 72c71
> < Available subchannels: stereo
> ---
> > Available subchannels: mono
>
>
>
>
>
> _______________________________________________
> ivtv-users mailing list
> ivtv-users@ivtvdriver.org
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>


_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: pvr-500 no signal on second tuner [ In reply to ]
On Tue, 08 Dec 2009 20:35:43 -0500 Andy wrote:
AW> This second CX25843 chip has gone braindead or the I2C bus from the
AW> second CX23416 chip isn't working. That's chip decodes analog video
AW> signals into digital data. Until it responds no video will work.
AW>
AW> Check
AW>
AW> $ modinfo ivtv
AW> $ modinfo cx25840
AW>
AW> and see what debugging options you can turn on in /etc/modprobe.conf for
AW> these modules. It might give insight into what the problem is.

Hi ANdy, thanks for responding.

I turned on debug for both modules:

# cat /etc/modprobe.d/mythtv.conf
#parm: debug:Debug level (bitmask). Default: 0
# 1/0x0001: warning
# 2/0x0002: info
# 4/0x0004: mailbox
# 8/0x0008: ioctl
# 16/0x0010: file
# 32/0x0020: dma
# 64/0x0040: irq
# 128/0x0080: decoder
# 256/0x0100: yuv
# 512/0x0200: i2c
# 1024/0x0400: high volume
# 0x0208 = warning,info,ioctl,i2c
option ivtv debug=0x020B

#parm: debug:Debugging messages [0=Off (default) 1=On] (int)
option cx25840 debug=1


I've included more from dmesg below, but this looks relevant:

[ 15.759140] cx25840 0-0044: firmware: requesting v4l-cx25840.fw
[ 15.759167] cx25840 1-0044: firmware: requesting v4l-cx23885-avcore-01.fw
[ 15.976478] cx25840 1-0044: firmware load i2c failure
[ 19.814867] cx25840 0-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382
bytes)



AW> Highest probability cause is that that CX25843 is dead.

ugh. would this cause system instability? I've had some random reboots. If
so, there is a module parameter to disable the 2nd tuner to restore stability?

AW> If you're lucky, it's only some Linux I2C subsystem problem in software.

<crosses fingers>


dmesg output with debugging on:

[ 11.452642] ivtv: Start initialization, version 1.4.1
[ 11.452983] ivtv0: Initializing card 0
[ 11.452985] ivtv0: Autodetected Hauppauge card (cx23416 based)
[ 11.453017] alloc irq_desc for 20 on node 0
[ 11.453019] alloc kstat_irqs on node 0
[ 11.453027] ivtv 0000:05:08.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 11.453036] ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
[ 11.520983] tveeprom 0-0050: Hauppauge model 23552, rev D592, serial# 2995162
[ 11.520985] tveeprom 0-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
[ 11.520987] tveeprom 0-0050: TV standards NTSC(M) (eeprom 0x08)
[ 11.520989] tveeprom 0-0050: second tuner model is Philips TEA5768HL FM Radio (idx 101, type 62)
[ 11.520990] tveeprom 0-0050: audio processor is CX25843 (idx 37)
[ 11.520992] tveeprom 0-0050: decoder processor is CX25843 (idx 30)
[ 11.520993] tveeprom 0-0050: has radio
[ 11.520994] ivtv0: Autodetected WinTV PVR 500 (unit #1)
[ 11.642644] cx25840 0-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
[ 12.466068] tuner 0-0060: chip found @ 0xc0 (ivtv i2c driver #0)
[ 12.466116] tea5767 0-0060: type set to Philips TEA5767HN FM Radio
[ 12.607700] tuner 0-0043: chip found @ 0x86 (ivtv i2c driver #0)
[ 12.804840] tda9887 0-0043: creating new instance
[ 12.804842] tda9887 0-0043: tda988[5/6/7] found
[ 12.807023] tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
[ 12.958116] wm8775 0-001b: chip found @ 0x36 (ivtv i2c driver #0)
[ 13.273046] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 13.290390] tuner-simple 0-0061: creating new instance
[ 13.290393] tuner-simple 0-0061: type set to 57 (Philips FQ1236A MK4)
[ 13.291546] IRQ 20/ivtv0: IRQF_DISABLED is not guaranteed on shared IRQs
[ 13.292014] ivtv0: Registered device video0 for encoder MPG (4096 kB)
[ 13.292026] ivtv0: Registered device video32 for encoder YUV (2048 kB)
[ 13.292037] ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
[ 13.292049] ivtv0: Registered device video24 for encoder PCM (320 kB)
[ 13.292061] ivtv0: Registered device radio0 for encoder radio
[ 13.292063] ivtv0: Initialized card: WinTV PVR 500 (unit #1)
[ 13.292176] ivtv1: Initializing card 1
[ 13.292178] ivtv1: Autodetected Hauppauge card (cx23416 based)
[ 13.292210] alloc irq_desc for 21 on node 0
[ 13.292212] alloc kstat_irqs on node 0
[ 13.292219] ivtv 0000:05:09.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[ 13.292227] ivtv1: Unreasonably low latency timer, setting to 64 (was 32)
[ 13.358272] tveeprom 1-0050: Hauppauge model 23552, rev D592, serial# 2995162
[ 13.358275] tveeprom 1-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
[ 13.358277] tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
[ 13.358279] tveeprom 1-0050: second tuner model is Philips TEA5768HL FM Radio (idx 101, type 62)
[ 13.358280] tveeprom 1-0050: audio processor is CX25843 (idx 37)
[ 13.358282] tveeprom 1-0050: decoder processor is CX25843 (idx 30)
[ 13.358283] tveeprom 1-0050: has radio
[ 13.358285] ivtv1: Correcting tveeprom data: no radio present on second unit
[ 13.358286] ivtv1: Autodetected WinTV PVR 500 (unit #2)
[ 13.361532] cx25840 1-0044: cx25 0-21 found @ 0x88 (ivtv i2c driver #1)
[ 13.370087] tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #1)
[ 13.370136] tda9887 1-0043: creating new instance
[ 13.370137] tda9887 1-0043: tda988[5/6/7] found
[ 13.372205] tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #1)
[ 13.372950] wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #1)
[ 13.382442] tuner-simple 1-0061: creating new instance
[ 13.382444] tuner-simple 1-0061: type set to 57 (Philips FQ1236A MK4)
[ 13.383557] IRQ 21/ivtv1: IRQF_DISABLED is not guaranteed on shared IRQs
[ 13.383998] ivtv1: Registered device video1 for encoder MPG (4096 kB)
[ 13.384010] ivtv1: Registered device video33 for encoder YUV (2048 kB)
[ 13.384022] ivtv1: Registered device vbi1 for encoder VBI (1024 kB)
[ 13.384033] ivtv1: Registered device video25 for encoder PCM (320 kB)
[ 13.384034] ivtv1: Initialized card: WinTV PVR 500 (unit #2)
[ 13.384343] ivtv: End initialization
[ 13.725372] hda_codec: Unknown model for ALC889A, trying auto-probe from BIOS...
[ 13.725581] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input3
[ 13.970842] r8169: eth0: link up
[ 13.970847] r8169: eth0: link up
[ 14.081271] ivtv 0000:05:09.0: firmware: requesting v4l-cx2341x-enc.fw
[ 14.210026] ivtv 0000:05:08.0: firmware: requesting v4l-cx2341x-enc.fw
[ 15.521717] ivtv1: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
[ 15.528964] ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
[ 15.721462] ivtv1: Encoder revision: 0x02060039
[ 15.740224] ivtv0: Encoder revision: 0x02060039
[ 15.759140] cx25840 0-0044: firmware: requesting v4l-cx25840.fw
[ 15.759167] cx25840 1-0044: firmware: requesting v4l-cx23885-avcore-01.fw
[ 15.976478] cx25840 1-0044: firmware load i2c failure
[ 19.814867] cx25840 0-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)




AW>
AW> > tuner 2-0043: chip found @ 0x86 (ivtv i2c driver #1)
AW> > tda9887 2-0043: creating new instance
AW> > tda9887 2-0043: tda988[5/6/7] found
AW> > tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #1)
AW> > wm8775 2-001b: chip found @ 0x36 (ivtv i2c driver #1)
AW> > tuner-simple 2-0061: creating new instance
AW> > tuner-simple 2-0061: type set to 57 (Philips FQ1236A MK4)
AW> > ivtv1: Registered device video1 for encoder MPG (4096 kB)
AW> > ivtv1: Registered device video33 for encoder YUV (2048 kB)
AW> > ivtv1: Registered device vbi1 for encoder VBI (1024 kB)
AW> > ivtv1: Registered device video25 for encoder PCM (320 kB)
AW> > ivtv1: Initialized card #1: WinTV PVR 500 (unit #2)
AW> > ivtv: End initialization
AW> > ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
AW> > ivtv0: Encoder revision: 0x02060039
AW> > ivtv1: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
AW> > ivtv1: Encoder revision: 0x02060039
AW> >
AW> >
AW> > # v4l2-ctl --all -d 0 > tuner0
AW> > # v4l2-ctl --all -d 1 > tuner1
AW> > # diff tuner0 tuner1
AW> > 3,4c3,4
AW> > < Card type : WinTV PVR 500 (unit #1)
AW> > < Bus info : 0000:02:08.0
AW> > ---
AW> > > Card type : WinTV PVR 500 (unit #2)
AW> > > Bus info : 0000:02:09.0
AW> > 6c6
AW> > < Capabilities : 0x01070051
AW> > ---
AW> > > Capabilities : 0x01030051
AW> > 12d11
AW> > < Radio
AW> > 70c69
AW> > < Signal strength/AFC : 99%/-12500
AW> > ---
AW> > > Signal strength/AFC : 0%/-12500
AW> > 72c71
AW> > < Available subchannels: stereo
AW> > ---
AW> > > Available subchannels: mono
AW> >
AW> >
AW> >
AW> >
AW> >
AW> > _______________________________________________
AW> > ivtv-users mailing list
AW> > ivtv-users@ivtvdriver.org
AW> > http://ivtvdriver.org/mailman/listinfo/ivtv-users
AW> >
AW>
AW>
AW> _______________________________________________
AW> ivtv-users mailing list
AW> ivtv-users@ivtvdriver.org
AW> http://ivtvdriver.org/mailman/listinfo/ivtv-users


_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: pvr-500 no signal on second tuner [ In reply to ]
On Wed, 2009-12-09 at 08:08 -0500, Robert wrote:
> On Tue, 08 Dec 2009 20:35:43 -0500 Andy wrote:
> AW> This second CX25843 chip has gone braindead or the I2C bus from the
> AW> second CX23416 chip isn't working. That's chip decodes analog video
> AW> signals into digital data. Until it responds no video will work.
> AW>
> AW> Check
> AW>
> AW> $ modinfo ivtv
> AW> $ modinfo cx25840
> AW>
> AW> and see what debugging options you can turn on in /etc/modprobe.conf for
> AW> these modules. It might give insight into what the problem is.
>
> Hi ANdy, thanks for responding.
>
> I turned on debug for both modules:
>
> # cat /etc/modprobe.d/mythtv.conf
> #parm: debug:Debug level (bitmask). Default: 0
> # 1/0x0001: warning
> # 2/0x0002: info
> # 4/0x0004: mailbox
> # 8/0x0008: ioctl
> # 16/0x0010: file
> # 32/0x0020: dma
> # 64/0x0040: irq
> # 128/0x0080: decoder
> # 256/0x0100: yuv
> # 512/0x0200: i2c
> # 1024/0x0400: high volume
> # 0x0208 = warning,info,ioctl,i2c
> option ivtv debug=0x020B
>
> #parm: debug:Debugging messages [0=Off (default) 1=On] (int)
> option cx25840 debug=1
>
>
> I've included more from dmesg below, but this looks relevant:
>
> [ 15.759140] cx25840 0-0044: firmware: requesting v4l-cx25840.fw
> [ 15.759167] cx25840 1-0044: firmware: requesting v4l-cx23885-avcore-01.fw
> [ 15.976478] cx25840 1-0044: firmware load i2c failure
> [ 19.814867] cx25840 0-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382
> bytes)

Yes. This is further confirmation that communications with the second
CX25843 chip isn' working. The cx25840 module is misdetecting it as a
CX23885 A/V core - a fallback position.


> AW> Highest probability cause is that that CX25843 is dead.
>
> ugh. would this cause system instability? I've had some random reboots. If
> so, there is a module parameter to disable the 2nd tuner to restore stability?

Random reboots would be caused by PCI bus problems. That would be more
likely the fault of a defective CX23416 chip or bad interactions between
the PCI bridge on the PVR-500 and the motherboard chipset. (VIA chipset
are problems at times.)

So try

# modprobe ivtv cardtype=0,-1

to autodetect the first unit on the PVR-500 and to ignore the second
unit.


> AW> If you're lucky, it's only some Linux I2C subsystem problem in software.
>
> <crosses fingers>

You might have some luck with blacklisting the ivtv module so that it
doesn't load at boot and then modprobing it later when the flurry of PCI
bus activity at boot has died down. I wouldn't get my hopes up though.

You should try an test the board in a Windows machine. The I2C
subsystem debug messages are compiled out of the kernel by most distro's
by default. It's hard to see what is going on the i2c buses without
recompiling the kernel. :(

Regards,
Andy


_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: pvr-500 no signal on second tuner [ In reply to ]
On Fri, 11 Dec 2009 04:13:17 -0500 Andy wrote:
AW> > [ 15.759167] cx25840 1-0044: firmware: requesting v4l-cx23885-avcore-01.fw
AW> > [ 15.976478] cx25840 1-0044: firmware load i2c failure
AW> > [ 19.814867] cx25840 0-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382
AW> > bytes)
AW>
AW> Yes. This is further confirmation that communications with the second
AW> CX25843 chip isn' working. The cx25840 module is misdetecting it as a
AW> CX23885 A/V core - a fallback position.

hmm... but it's loading that same firmware for the first tuner...

AW> So try
AW>
AW> # modprobe ivtv cardtype=0,-1
AW>
AW> to autodetect the first unit on the PVR-500 and to ignore the second
AW> unit.

ok... here's the dmesg with that modprobe option set:


[145922.152823] ivtv: Start initialization, version 1.4.1
... snip ...
[145922.282296] ivtv0: Initialized card: WinTV PVR 500 (unit #1)
[145922.283236] ivtv1: Initializing card 1
[145922.283239] ivtv1: Ignore card (detected cx23416 based chip)
[145922.283242] ivtv1: Error -19 on initialization
[145922.283338] ivtv: End initialization
... snip ...
[145922.910048] ivtv0: info: Loading encoder image
[145922.910058] ivtv 0000:05:08.0: firmware: requesting v4l-cx2341x-enc.fw
[145922.977920] ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
[145923.170164] ivtv0: info: Getting firmware version..
[145923.170265] ivtv0: Encoder revision: 0x02060039
[145923.189903] cx25840 0-0044: firmware: requesting v4l-cx23885-avcore-01.fw

so it ignores the 2nd tuner... but the avcore firmware is loaded for tuner 1 with no problem.

AW> You should try an test the board in a Windows machine. The I2C
AW> subsystem debug messages are compiled out of the kernel by most distro's
AW> by default. It's hard to see what is going on the i2c buses without
AW> recompiling the kernel. :(

I'd rather rebuild a kernel than run a windows machine. :-) Just tell me what
I need to enable in the kernel...

_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: pvr-500 no signal on second tuner [ In reply to ]
On Fri, 2009-12-11 at 08:23 -0500, Robert wrote:
> On Fri, 11 Dec 2009 04:13:17 -0500 Andy wrote:
> AW> > [ 15.759167] cx25840 1-0044: firmware: requesting v4l-cx23885-avcore-01.fw
> AW> > [ 15.976478] cx25840 1-0044: firmware load i2c failure
> AW> > [ 19.814867] cx25840 0-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382
> AW> > bytes)
> AW>
> AW> Yes. This is further confirmation that communications with the second
> AW> CX25843 chip isn' working. The cx25840 module is misdetecting it as a
> AW> CX23885 A/V core - a fallback position.
>
> hmm... but it's loading that same firmware for the first tuner...

You've got an older version of the cx25840 module that has a bug where
it would switch firmware name strings in a system with a mixed set of
cards having CX2584[0123], CX2388[578], and CX2310[012] chips.

The latest v4l-dvb repository has that fixed:

http://linuxtv.org/hg/v4l-dvb/tip.tar.gz

But getting a patched up cx25840 module isn't going to help. I know the
card has 2 CX25843 chips, and we know one is being misdetected as a
CX23885 because attempts to read the the ID register ove the I2C bus are
returning 0. For a CX25843, the ID register should return 843
(surprise).

> AW> So try
> AW>
> AW> # modprobe ivtv cardtype=0,-1
> AW>
> AW> to autodetect the first unit on the PVR-500 and to ignore the second
> AW> unit.
>
> ok... here's the dmesg with that modprobe option set:
>
>
> [145922.152823] ivtv: Start initialization, version 1.4.1
> ... snip ...
> [145922.282296] ivtv0: Initialized card: WinTV PVR 500 (unit #1)
> [145922.283236] ivtv1: Initializing card 1
> [145922.283239] ivtv1: Ignore card (detected cx23416 based chip)
> [145922.283242] ivtv1: Error -19 on initialization
> [145922.283338] ivtv: End initialization
> ... snip ...
> [145922.910048] ivtv0: info: Loading encoder image
> [145922.910058] ivtv 0000:05:08.0: firmware: requesting v4l-cx2341x-enc.fw
> [145922.977920] ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
> [145923.170164] ivtv0: info: Getting firmware version..
> [145923.170265] ivtv0: Encoder revision: 0x02060039
> [145923.189903] cx25840 0-0044: firmware: requesting v4l-cx23885-avcore-01.fw
>
> so it ignores the 2nd tuner... but the avcore firmware is loaded for tuner 1 with no problem.

Not exactly. From your previous post:

> [ 15.759140] cx25840 0-0044: firmware: requesting v4l-cx25840.fw
> [ 15.759167] cx25840 1-0044: firmware: requesting v4l-cx23885-avcore-01.fw
> [ 15.976478] cx25840 1-0044: firmware load i2c failure
> [ 19.814867] cx25840 0-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)
>

It probably loaded the the "v4l-cx25840.fw", but by the time it reports
back to you, the filename has swapped around due to the aforementioned
cx25840 module bug.

None the less, you should probably unload both the ivtv and cx25840
module when performing tests when you reload modules, until you have a
fixed cx25840 module.


> AW> You should try an test the board in a Windows machine. The I2C
> AW> subsystem debug messages are compiled out of the kernel by most distro's
> AW> by default. It's hard to see what is going on the i2c buses without
> AW> recompiling the kernel. :(
>
> I'd rather rebuild a kernel than run a windows machine. :-) Just tell me what
> I need to enable in the kernel...

In

linux/drivers/i2c/algos/i2c-algo-bit.c

detailed debugging is is #ifdef'ed out by the 'DEBUG' define. The
i2c_algo_bit module parameters of interest are "bit_test" which may be
compiled into your kernel by default. Set it to one to have the bit
banging algorithm try and test for a stuck bus. Also "i2c_debug", which
can be set to a value of 0 to 3 for various levels of debugging
verbosity.

In the ivtv module, I would recommend turning on at least the i2c debug
flag and the high volume debug flag in the debug module option.
The ivtv module also has 2 i2c bus master implementations to choose
from:

newi2c=0 forces the i2c_algo_bit algorithm
newi2c=1 forces an ivtv internal algorithm

On newer versions of the ivtv module from the main v4l-dvb repository
there is also an i2c_clock_period module parameter you can twiddle to
slow down the I2C bus when using the i2c_algo_bit algorithm.

In the cx25840 module, the debug=1 option will provide some insight into
the detection process used by that module.


In reality, all of the above is going to help you collect alot of
information on when and where exactly the I2C bus transactions are
failing. That does not mean it will necessarily provide any insight as
to why the CX23416 and CX25843 fail to communicate with each other over
the I2C bus.

Regards,
Andy


_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users