Hi list, I've got 2 Pinnacle PCTV HD 800i cards in my mythtv system running on debian machines with stock kernels. The usual output is at the end of this email: uname -a, lspci, pertinent logs.
Both cards are recognized and work fine for analog, but fail to
initialize properly for digital (dvb). They produce errors in
/var/log/syslog and fail to create device nodes. Hardware problems
have been ruled out for one card as it has been tested and works fully
in windows vista (caveat, I am not able to test audio over digital
input due to crappy licensing stuff, but the video works very well).
I've investigated a bit in the code and determined that the probing is
failing in cx88-dvb.c dvb_register(), specifically it fails to attach
the front end. I dug into the frontend, s5h1409.c and determined it's
failing in the existence check for the demod in s5h1409_attach(). The
return value from s5h1409_readreg(state 0x04) is 0x00 instead of the
magic values.
These cards were purchased about a year ago, so is it possible they
are some later revision that the kernel doesn't handle?
I'd like to help in whatever way I can. I'm no kernel hacker, though
I've mucked around with a little module writing, and can certainly
follow instructions to do diagnostics, apply patches, test and so
forth.
Thanks
A
The details for the two machines are pretty much identical except
kernel version and device numbering, so I'll only include one for the
moment.
andrew@basement:~$ uname -a
Linux basement 3.0.0-1-amd64 #1 SMP Sat Aug 27 16:21:11 UTC 2011 x86_64
GNU/Linux
andrew@basement:~$ sudo lspci -s 05:00 -vvx
05:00.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI
Video and Audio Decoder (rev 05)
Subsystem: Pinnacle Systems Inc. Device 0051
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (5000ns min, 13750ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 20
Region 0: Memory at ea000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [44] Vital Product Data
Unknown small resource type 00, will not decode more.
Capabilities: [4c] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable-
DSel=0 DScale=0 PME-
Kernel driver in use: cx8800
00: f1 14 00 88 06 00 90 02 05 00 00 04 08 20 80 00
10: 00 00 00 ea 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 bd 11 51 00
30: 00 00 00 00 44 00 00 00 00 00 00 00 0c 01 14 37
05:00.1 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video
and Audio Decoder [Audio Port] (rev 05)
Subsystem: Pinnacle Systems Inc. Device 0051
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (1000ns min, 63750ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 20
Region 0: Memory at eb000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0
PME-
Kernel driver in use: cx88_audio
00: f1 14 01 88 06 00 90 02 05 00 80 04 08 20 80 00
10: 00 00 00 eb 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 bd 11 51 00
30: 00 00 00 00 4c 00 00 00 00 00 00 00 0c 01 04 ff
05:00.2 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video
and Audio Decoder [MPEG Port] (rev 05)
Subsystem: Pinnacle Systems Inc. Device 0051
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (1500ns min, 22000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 20
Region 0: Memory at ec000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0
PME-
Kernel driver in use: cx88-mpeg driver manager
00: f1 14 02 88 06 00 90 02 05 00 80 04 08 20 80 00
10: 00 00 00 ec 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 bd 11 51 00
30: 00 00 00 00 4c 00 00 00 00 00 00 00 0c 01 06 58
Syslog relevant lines:
[...]
Nov 6 05:02:49 basement kernel: [ 4.405848] Linux video capture interface:
v2.00
Nov 6 05:02:49 basement kernel: [ 4.545439] cx2388x alsa driver version
0.0.8 loaded
Nov 6 05:02:49 basement kernel: [ 4.545483] cx88_audio 0000:05:00.1: PCI
INT A -> GSI 20 (level, low) -> IRQ 20
Nov 6 05:02:49 basement kernel: [ 4.546987] cx88[0]: subsystem: 11bd:0051,
board: Pinnacle PCTV HD 800i [card=58,autodetected], frontend(s): 1
Nov 6 05:02:49 basement kernel: [ 4.546989] cx88[0]: TV tuner type 76,
Radio tuner type -1
Nov 6 05:02:49 basement kernel: [ 4.689584] IR NEC protocol handler
initialized
Nov 6 05:02:49 basement kernel: [ 4.718437] IR RC5(x) protocol handler
initialized
Nov 6 05:02:49 basement kernel: [ 4.727139] i2c-core: driver [tuner] using
legacy suspend method
Nov 6 05:02:49 basement kernel: [ 4.727141] i2c-core: driver [tuner] using
legacy resume method
Nov 6 05:02:49 basement kernel: [ 4.736518] tuner 1-0064: Tuner -1 found
with type(s) Radio TV.
[...]
Nov 6 05:02:49 basement kernel: [ 4.907324] xc5000 1-0064: creating new
instance
Nov 6 05:02:49 basement kernel: [ 4.908279] xc5000: Successfully identified
at address 0x64
Nov 6 05:02:49 basement kernel: [ 4.908280] xc5000: Firmware has not been
loaded previously
Nov 6 05:02:49 basement kernel: [ 4.908283] cx88[0]: Calling XC5000 callback
Nov 6 05:02:49 basement kernel: [ 4.964004] Registered IR keymap
rc-pinnacle-pctv-hd
Nov 6 05:02:49 basement kernel: [ 4.964071] input: cx88 IR (Pinnacle PCTV
HD 800i) as /devices/pci0000:00/0000:00:1e.0/0000:05:00.1/rc/rc0/input5
Nov 6 05:02:49 basement kernel: [ 4.964118] rc0: cx88 IR (Pinnacle PCTV HD
800i) as /devices/pci0000:00/0000:00:1e.0/0000:05:00.1/rc/rc0
Nov 6 05:02:49 basement kernel: [ 4.964208] cx88[0]/1: CX88x/0: ALSA
support for cx2388x boards
[...]
Nov 6 05:02:49 basement kernel: [ 5.079027] IR JVC protocol handler
initialized
Nov 6 05:02:49 basement kernel: [ 5.102307] IR Sony protocol handler
initialized
Nov 6 05:02:49 basement kernel: [ 5.109710] cx88/2: cx2388x MPEG-TS Driver
Manager version 0.0.8 loaded
Nov 6 05:02:49 basement kernel: [ 5.109740] cx88[0]/2: cx2388x 8802 Driver
Manager
Nov 6 05:02:49 basement kernel: [ 5.109752] cx88-mpeg driver manager
0000:05:00.2: PCI INT A -> GSI 20 (level, low) -> IRQ 20
Nov 6 05:02:49 basement kernel: [ 5.109759] cx88[0]/2: found at
0000:05:00.2, rev: 5, irq: 20, latency: 32, mmio: 0xec000000
Nov 6 05:02:49 basement kernel: [ 5.203240] cx88/0: cx2388x v4l2 driver
version 0.0.8 loaded
Nov 6 05:02:49 basement kernel: [ 5.203277] cx8800 0000:05:00.0: PCI INT A
-> GSI 20 (level, low) -> IRQ 20
Nov 6 05:02:49 basement kernel: [ 5.203283] cx88[0]/0: found at
0000:05:00.0, rev: 5, irq: 20, latency: 32, mmio: 0xea000000
Nov 6 05:02:49 basement kernel: [ 5.203621] cx88/2: cx2388x dvb driver
version 0.0.8 loaded
Nov 6 05:02:49 basement kernel: [ 5.203623] cx88/2: registering cx8802
driver, type: dvb access: shared
Nov 6 05:02:49 basement kernel: [ 5.203626] cx88[0]/2: subsystem:
11bd:0051, board: Pinnacle PCTV HD 800i [card=58]
Nov 6 05:02:49 basement kernel: [ 5.205339] xc5000: waiting for firmware
upload (dvb-fe-xc5000-1.6.114.fw)...
Nov 6 05:02:49 basement kernel: [ 5.305509] lirc_dev: IR Remote Control
driver registered, major 249
Nov 6 05:02:49 basement kernel: [ 5.314597] rc rc0: lirc_dev: driver
ir-lirc-codec (cx88xx) registered at minor = 0
Nov 6 05:02:49 basement kernel: [ 5.314600] IR LIRC bridge handler
initialized
Nov 6 05:02:49 basement kernel: [ 5.346979] xc5000: firmware read 12401
bytes.
Nov 6 05:02:49 basement kernel: [ 5.346982] xc5000: firmware uploading...
Nov 6 05:02:49 basement kernel: [ 5.346985] cx88[0]: Calling XC5000 callback
Nov 6 05:02:49 basement kernel: [ 7.328027] xc5000: firmware upload
complete...
Nov 6 05:02:49 basement kernel: [ 8.000111] cx88[0]/0: registered device
video0 [v4l2]
Nov 6 05:02:49 basement kernel: [ 8.000146] cx88[0]/0: registered device
vbi0
Nov 6 05:02:49 basement kernel: [ 8.000175] cx88[0]/2: cx2388x based
DVB/ATSC card
Nov 6 05:02:49 basement kernel: [ 8.000179] cx8802_alloc_frontends()
allocating 1 frontend(s)
Nov 6 05:02:49 basement kernel: [ 8.058779] cx88[0]/2: frontend
initialization failed
Nov 6 05:02:49 basement kernel: [ 8.058819] cx88[0]/2: dvb_register failed
(err = -22)
Nov 6 05:02:49 basement kernel: [ 8.058855] cx88[0]/2: cx8802 probe failed,
err = -22
Nov 6 05:02:49 basement kernel: [ 8.058928] cx88[0]: Calling XC5000 callback
[...]
signature.asc
Description: Digital signature
