On Sun, 2011-01-02 at 12:31 -0600, Bob Karschnia wrote:
> I recently upgrade my mother board to a Biostar A880G+ and Linux
> 2.6-35.  My PVR-150 no longer works.  In going through the trouble
> shooting guide, it appears to be a problem in loading the driver but
> since I am no expert, I could use some insight as to what is going
> wrong and how to fix it.
> 
> 
> 03:05.0 Multimedia video controller: Internext Compression Inc iTVC16
> (CX23416) MPEG-2 Encoder (rev 01)
>       Subsystem: Hauppauge computer works Inc. WinTV PVR 150
>       Flags: bus master, medium devsel, latency 64, IRQ 20
>       Memory at f8000000 (32-bit, prefetchable) [size=64M]
>       Capabilities: <access denied>
>       Kernel driver in use: ivtv
>       Kernel modules: ivtv
> 
> 
> [   12.375774] ivtv: Start initialization, version 1.4.1
> [   12.375884] ivtv0: Initializing card 0
> [   12.375888] ivtv0: Autodetected Hauppauge card (cx23416 based)
> [   12.376222]   alloc irq_desc for 20 on node 0
> [   12.376225]   alloc kstat_irqs on node 0
> [   12.376231] ivtv 0000:03:05.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
> [   12.434953] tveeprom 0-0050: Hauppauge model 26552, rev B268, serial# 
> 7826786
> [   12.434956] tveeprom 0-0050: tuner model is LG TAPE H001F MK3 (idx
> 68, type 47)
> [   12.434958] tveeprom 0-0050: TV standards NTSC(M) (eeprom 0x08)
> [   12.434960] tveeprom 0-0050: audio processor is CX25843 (idx 37)
> [   12.434961] tveeprom 0-0050: decoder processor is CX25843 (idx 30)
> [   12.434963] tveeprom 0-0050: has radio
> [   12.434964] ivtv0: Autodetected Hauppauge WinTV PVR-150
> [   12.462360] cx25840 0-0044: Unable to detect h/w, assuming cx23887
                                 ^^^^^^^^^^^^^^^^^^^^
> [   12.463455] cx25840 0-0044: cx23887 A/V decoder found @ 0x88 (ivtv
> i2c driver #0)

The CX25843 chip on your PVR-150 isn't responding properly.

The most likely cause is the CX25843 chip on your PVR-150 is no longer
working.

You can turn on some debugging as root to see what the cx25840 module is
reading as a device ID from the CX25843 chip:

# modprobe -r ivtv
# modprobe -r cx25840
# modprobe cx25840 debug=1
# modprobe ivtv debug=0x203
# dmesg

        ivtv: Start initialization, version 1.4.1
        ivtv0: Initializing card 0
        ivtv0: Autodetected Hauppauge card (cx23416 based)
        ivtv0:  info: base addr: 0xc8000000
        ivtv0:  info: Enabling pci device
        ivtv 0000:03:01.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
        ivtv0:  info: Bus Mastering Enabled.
        ivtv0:  info: 22 (rev 1) at 03:01.0, irq: 21, latency: 64, memory: 
0xc8000000
        ivtv0:  info: attempting ioremap at 0xc8000000 len 0x00800000
        ivtv0:  info: attempting ioremap at 0xca000000 len 0x00010000
        ivtv0:  info: GPIO initial dir: 00000000 out: 00000000
        ivtv0:  info: activating i2c...
        ivtv0:  i2c: i2c init
        ivtv0:  i2c: setting scl and sda to 1
        tveeprom 6-0050: Hauppauge model 26552, rev B268, serial# 8768144
        tveeprom 6-0050: tuner model is LG TAPE H001F MK3 (idx 68, type 47)
        tveeprom 6-0050: TV standards NTSC(M) (eeprom 0x08)
        tveeprom 6-0050: audio processor is CX25843 (idx 37)
        tveeprom 6-0050: decoder processor is CX25843 (idx 30)
        tveeprom 6-0050: has radio
        ivtv0: Autodetected Hauppauge WinTV PVR-150
        ivtv0:  info: NTSC tuner detected
        
        cx25840 6-0044: detecting cx25840 client on address 0x88
        cx25840 6-0044: device_id = 0x8433
        cx25840 6-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The above lines are from a working PVR-150 with a good
CX25843 chip.  The device id from the chip should be "0x8433"

        tuner 6-0043: chip found @ 0x86 (ivtv i2c driver #0)
        tda9887 6-0043: creating new instance
        tda9887 6-0043: tda988[5/6/7] found
        tuner 6-0061: chip found @ 0xc2 (ivtv i2c driver #0)
        wm8775 6-001b: chip found @ 0x36 (ivtv i2c driver #0)
        tuner-simple 6-0061: creating new instance
        tuner-simple 6-0061: type set to 47 (LG NTSC (TAPE series))
        IRQ 21/ivtv0: IRQF_DISABLED is not guaranteed on shared IRQs
        ivtv0:  info: Allocate DMA encoder MPG stream: 128 x 32768 buffers 
(4096kB total)
        ivtv0:  info: Allocate DMA encoder YUV stream: 64 x 32768 buffers 
(2048kB total)
        ivtv0:  info: Allocate DMA encoder VBI stream: 61 x 17472 buffers 
(1040kB total)
        ivtv0:  info: Allocate DMA encoder PCM stream: 72 x 4608 buffers (324kB 
total)
        ivtv0: Registered device video2 for encoder MPG (4096 kB)
        ivtv0: Registered device video34 for encoder YUV (2048 kB)
        ivtv0: Registered device vbi2 for encoder VBI (1024 kB)
        ivtv0: Registered device video26 for encoder PCM (320 kB)
        ivtv0: Registered device radio2 for encoder radio
        ivtv0: Initialized card: Hauppauge WinTV PVR-150
        ivtv: End initialization
        ivtv0:  info: Preparing for firmware halt.
        ivtv0:  info: Stopping VDM
        ivtv0:  info: Stopping AO
        ivtv0:  info: pinging (?) APU
        ivtv0:  info: Stopping VPU
        ivtv0:  info: Resetting Hw Blocks
        ivtv0:  info: Stopping SPU
        ivtv0:  info: init Encoder SDRAM pre-charge
        ivtv0:  info: init Encoder SDRAM refresh to 1us
        ivtv0:  info: Sleeping for 600ms
        ivtv0:  info: Loading encoder image
        ivtv 0000:03:01.0: firmware: requesting v4l-cx2341x-enc.fw
        ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
        ivtv0:  info: Getting firmware version..
        ivtv0: Encoder revision: 0x02060039
        
        cx25840 6-0044: firmware: requesting v4l-cx25840.fw
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Look for this message when the device is first opened by HAL


> [   12.815223] Slow work thread pool: Starting up
> [   12.815263] Slow work thread pool: Ready
> [   12.815315] FS-Cache: Loaded
> [   12.946698] tuner 0-0043: chip found @ 0x86 (ivtv i2c driver #0)
> [   13.199970] fglrx: module license 'Proprietary. (C) 2002 - ATI
> Technologies, Starnberg, GERMANY' taints kernel.
> [   13.199973] Disabling lock debugging due to kernel taint
> [   13.212614] tda9887 0-0043: creating new instance
> [   13.212617] tda9887 0-0043: tda988[5/6/7] found
> [   13.216888] tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
> [   13.225760] [fglrx] Maximum main memory to use for locked dma
> buffers: 3552 MBytes.
> [   13.225799] [fglrx]   vendor: 1002 device: 9715 count: 1
> [   13.226081] [fglrx] ioport: bar 1, base 0xd000, size: 0x100
> [   13.226094] pci 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
> [   13.226097] pci 0000:01:05.0: setting latency timer to 64
> [   13.226367] [fglrx] Kernel PAT support is enabled
> [   13.226384] [fglrx] module loaded - fglrx 8.78.30 [Sep 20 2010] with 1 
> minors
> [   13.538461] wm8775 0-001b: chip found @ 0x36 (ivtv i2c driver #0)
> [   13.714808] FS-Cache: Netfs 'nfs' registered for caching
> [   13.774718] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level,
> low) -> IRQ 16
> [   13.795234] tuner-simple 0-0061: creating new instance
> [   13.795238] tuner-simple 0-0061: type set to 47 (LG NTSC (TAPE series))
> [   13.797905] ivtv0: Registered device video0 for encoder MPG (4096 kB)
> [   13.797922] ivtv0: Registered device video32 for encoder YUV (2048 kB)
> [   13.797939] ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
> [   13.797954] ivtv0: Registered device video24 for encoder PCM (320 kB)
> [   13.797968] ivtv0: Registered device radio0 for encoder radio
> [   13.797969] ivtv0: Initialized card: Hauppauge WinTV PVR-150
> [   13.798034] ivtv: End initialization


You can try a few things to see if the PVR-150 card will work again:

1. Don't load proprietary drivers like the fglrx module listed in your
output above.  If they accidentially corrupt the window into CX23416
memory space or register space, or corrupt ivtv internal data
structures, then things won't work.

or

2.  Pull out *all* your PCI cards, blow the dust out of *all* the slots,
reinsert the cards, and test again.

or

3. Blacklist the ivtv module in /etc/modporbe.conf.d/, and modprobe the
ivtv module later after the boot sequence is complete.  The PCI bus
register accesses for the I2C bus transactions may not be reliable on
that motherboard when the PCI bus is very busy.

or

4. Test with a Windows install on the machine.

or

5. Test the PVR-150 in another machine.

Regards,
Andy


_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to