[ivtv-devel] cx18: Two cards, both detected, only cx18-0 is working, input/output error when accessing cx18-1

Jeff Campbell jac1dlists at gmail.com
Mon Oct 13 20:00:14 CEST 2008


Hello everyone,

I'm new to the cx18 driver, but familiar with the ivtv family.

I am building a new system that has two HVR-1600s in it.  The motherboard is
a Via C7 based board with a dual PCI riser.  It has 1GB of memory.

I am running a custom built 2.6.27 (final) kernel with the cx18 and ivtv
drivers built in.

After adding vmalloc=192M to my kernel boot line, both cards appear to
initialize properly:

Here is my dmesg output segment:

cx18:  Start initialization, version 1.0.0
cx18-0: Initializing card #0
cx18-0: Autodetected Hauppauge card
cx18 0000:00:08.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
cx18-0: Unreasonably low latency timer, setting to 64 (was 32)
cx18-0: cx23418 revision 01010000 (B)
Marking TSC unstable due to possible TSC halt in C2
tveeprom 0-0050: Hauppauge model 74541, rev C6B6, serial# 5116589
tveeprom 0-0050: MAC address is 00-0D-FE-4E-12-AD
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
cx18-0: Autodetected Hauppauge HVR-1600
cx18-0: VBI is not yet supported
tuner 1-0043: chip found @ 0x86 (cx18 i2c driver #0-1)
tda9887 1-0043: creating new instance
tda9887 1-0043: tda988[5/6/7] found
tuner 1-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
cs5345 0-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
tuner-simple 1-0061: creating new instance
tuner-simple 1-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or
FM1236/F))
cx18-0: Disabled encoder IDX device
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
cx18-0: Registered device video32 for encoder YUV (2 MB)
cx18-0: Registered device video24 for encoder PCM audio (1 MB)
cx18-0: Registered device radio0 for encoder radio
cx18-0: Initialized card #0: Hauppauge HVR-1600
cx18-1: Initializing card #1
cx18-1: Autodetected Hauppauge card
cx18 0000:00:0d.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
cx18-1: Unreasonably low latency timer, setting to 64 (was 32)
cx18-1: cx23418 revision 01010000 (B)
tveeprom 2-0050: Hauppauge model 74541, rev C6B6, serial# 3457060
tveeprom 2-0050: MAC address is 00-0D-FE-34-C0-24
tveeprom 2-0050: tuner model is Philips FM1236 MK5 (idx 116, type 43)
tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 2-0050: audio processor is CX23418 (idx 38)
tveeprom 2-0050: decoder processor is CX23418 (idx 31)
tveeprom 2-0050: has radio
cx18-1: Autodetected Hauppauge HVR-1600
cx18-1: VBI is not yet supported
tuner 3-0043: chip found @ 0x86 (cx18 i2c driver #1-1)
tda9887 3-0043: creating new instance
tda9887 3-0043: tda988[5/6/7] found
tuner 3-0061: chip found @ 0xc2 (cx18 i2c driver #1-1)
cs5345 2-004c: chip found @ 0x98 (cx18 i2c driver #1-0)
tuner-simple 3-0061: creating new instance
tuner-simple 3-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or
FM1236/F))
cx18-1: Disabled encoder IDX device
cx18-1: Registered device video1 for encoder MPEG (2 MB)
DVB: registering new adapter (cx18)
MXL5005S: Attached at address 0x63
DVB: registering frontend 1 (Samsung S5H1409 QAM/8VSB Frontend)...
cx18-1: DVB Frontend registered
cx18-1: Registered device video33 for encoder YUV (2 MB)
cx18-1: Registered device video25 for encoder PCM audio (1 MB)
cx18-1: Registered device radio1 for encoder radio
cx18-1: Initialized card #1: Hauppauge HVR-1600
cx18:  End initialization

After boot, I can talk to and utilize /dev/video0 relatively normally (I am
getting a slight jerkiness in watching video off /dev/video0 but I can
investigate that one later).

cat /dev/video0 > sample.mpg

Yields the firmware load info in /var/log/messages as well as a file with a
size greater than zero

Oct 13 17:27:17 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-apu.fw
Oct 13 17:27:17 enc239-009-060 kernel: cx18-0: loaded v4l-cx23418-apu.fw
firmware V00120000 (141200 bytes)
Oct 13 17:27:17 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-cpu.fw
Oct 13 17:27:17 enc239-009-060 kernel: cx18-0: loaded v4l-cx23418-cpu.fw
firmware (158332 bytes)
Oct 13 17:27:17 enc239-009-060 kernel: cx18-0: FW version: 0.0.74.0 (Release
2007/03/12)
Oct 13 17:27:17 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-apu.fw
Oct 13 17:27:18 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-cpu.fw
Oct 13 17:27:18 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-dig.fw
Oct 13 17:27:19 enc239-009-060 kernel: cx18-0: loaded v4l-cx23418-dig.fw
firmware (16382 bytes)

enc239-009-060:~# ls -l
total 620
-rw-r--r-- 1 root root  20820 Oct 13 17:13 log.txt
-rw-r--r-- 1 root root 610304 Oct 13 17:27 test.mpg

However, if I try

cat /dev/video1 > test1.mpg

I get zero length file

-rw-r--r-- 1 root root      0 Oct 13 17:46 test1.mpg

And /var/log/messages shows:

Oct 13 17:46:44 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-apu.fw
Oct 13 17:46:45 enc239-009-060 kernel: cx18-1: loaded v4l-cx23418-apu.fw
firmware V00120000 (141200 bytes)
Oct 13 17:46:45 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-cpu.fw
Oct 13 17:46:45 enc239-009-060 kernel: cx18-1: loaded v4l-cx23418-cpu.fw
firmware (158332 bytes)
Oct 13 17:46:45 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-apu.fw
Oct 13 17:46:46 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-cpu.fw
Oct 13 17:46:46 enc239-009-060 kernel: firmware: requesting
v4l-cx23418-dig.fw
Oct 13 17:46:46 enc239-009-060 kernel: cx18-1: loaded v4l-cx23418-dig.fw
firmware (16382 bytes)

If I try and do the cat test again, I get:

enc239-009-060:~# cat /dev/video1 > test1.mpg
cat: /dev/video1: Input/output error

Here is the output of

lspci -vv

(after the failed attempts)

enc239-009-060:~# cat pcilog.txt
00:00.0 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host
Bridge
        Subsystem: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host
Bridge
        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: 8
        Region 0: Memory at f8000000 (32-bit, prefetchable) [size=32M]
        Capabilities: [80] AGP version 3.5
                Status: RQ=8 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans-
64bit- FW- AGP3+ Rate=x4,x8
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW-
Rate=<none>
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:00.1 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host
Bridge
        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: 0

00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host
Bridge
        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: 0

00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge
        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: 0

00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host
Bridge
        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: 0

00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host
Bridge
        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: 0

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
        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: 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000e000-0000efff
        Memory behind bridge: fb000000-fcffffff
        Prefetchable memory behind bridge: f0000000-f3ffffff
        Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- <SERR+ <PERR+
        BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [70] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:08.0 Multimedia video controller: Conexant CX23418 Single-Chip MPEG-2
Encoder with Integrated Analog Video/Broadcast Audio Decoder
        Subsystem: Hauppauge computer works Inc. Device 7444
        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: 64 (500ns min, 50000ns max), Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 17
        Region 0: Memory at ec000000 (32-bit, non-prefetchable) [size=64M]
        Capabilities: [44] Vital Product Data <?>
        Capabilities: [4c] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: cx18

00:0d.0 Multimedia video controller: Conexant CX23418 Single-Chip MPEG-2
Encoder with Integrated Analog Video/Broadcast Audio Decoder
        Subsystem: Hauppauge computer works Inc. Device 7444
        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: 64 (500ns min, 50000ns max), Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at f4000000 (32-bit, non-prefetchable) [size=64M]
        Capabilities: [44] Vital Product Data <?>
        Capabilities: [4c] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: cx18


00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge
[KT600/K8T800/K8T890 South]
        Subsystem: VIA Technologies, Inc. VT8237 ISA bridge
[KT600/K8T800/K8T890 South]
        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: 0
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel modules: i2c-viapro

00:11.5 Multimedia audio controller: VIA Technologies, Inc.
VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
        Subsystem: Jetway Information Co., Ltd. Device 4765
        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-
        Interrupt: pin C routed to IRQ 22
        Region 0: I/O ports at f600 [size=256]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: VIA 82xx Audio

01:00.0 VGA compatible controller: VIA Technologies, Inc. UniChrome Pro IGP
(rev 01)
        Subsystem: VIA Technologies, Inc. UniChrome Pro IGP
        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 (500ns min)
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at f0000000 (32-bit, prefetchable) [size=64M]
        Region 1: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        [virtual] Expansion ROM at fc000000 [disabled] [size=64K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [70] AGP version 3.0
                Status: RQ=256 Iso- ArqSz=0 Cal=7 SBA+ ITACoh- GART64-
HTrans- 64bit- FW- AGP3+ Rate=x4,x8
                Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW-
Rate=<none>

enc239-009-060:~#

Thanks in advance for any assistance that can be provided, and thank you for
working on this driver for the community.

-Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ivtvdriver.org/pipermail/ivtv-devel/attachments/20081013/1c965b01/attachment-0001.html 


More information about the ivtv-devel mailing list