[mythtv-users] OT - getting capture card to work

Matt Zagrabelny mzagrabe at d.umn.edu
Wed Sep 16 15:40:02 UTC 2020


Greetings,

This is  a little off topic - I'm struggling to get my capture card to work.

I'm starting with w_scan and mplayer to test things out before configuring
Myth.

Here is my card, it is a Hauppauge WinTV Quad HD PCIe:

$ lspci -vvv
[snip]
03:00.0 Multimedia video controller: Conexant Systems, Inc. CX23887/8 PCIe
Broadcast Audio and Video Decoder with 3D Comb (rev 04)
        Subsystem: Hauppauge computer works Inc. WinTV-quadHD
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 19
        IOMMU group: 11
        Region 0: Memory at a1200000 (64-bit, non-prefetchable) [size=2M]
        Capabilities: <access denied>
        Kernel driver in use: cx23885
        Kernel modules: cx23885

04:00.0 Multimedia video controller: Conexant Systems, Inc. CX23887/8 PCIe
Broadcast Audio and Video Decoder with 3D Comb (rev 04)
        Subsystem: Hauppauge computer works Inc. CX23887/8 PCIe Broadcast
Audio and Video Decoder with 3D Comb
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 16
        IOMMU group: 12
        Region 0: Memory at a1000000 (64-bit, non-prefetchable) [size=2M]
        Capabilities: <access denied>
        Kernel driver in use: cx23885
        Kernel modules: cx23885

It seems that the kernel is recognizing it okay:

$ sudo journalctl -k -b
[snip]
Aug 15 19:59:23 zeus kernel: cx23885: cx23885 driver version 0.0.4 loaded
Aug 15 19:59:23 zeus kernel: cx23885: CORE cx23885[0]: subsystem:
0070:6a18, board: Hauppauge WinTV-QuadHD-ATSC [card=57,autodetected]
Aug 15 19:59:23 zeus kernel: tveeprom: Hauppauge model 165100, rev B4I6,
serial# 4036150199
Aug 15 19:59:23 zeus kernel: tveeprom: MAC address is 00:0d:fe:92:c3:b7
Aug 15 19:59:23 zeus kernel: tveeprom: tuner model is SiLabs Si2157 (idx
186, type 4)
Aug 15 19:59:23 zeus kernel: tveeprom: TV standards NTSC(M) ATSC/DVB
Digital (eeprom 0x88)
Aug 15 19:59:23 zeus kernel: tveeprom: audio processor is CX23888 (idx 40)
Aug 15 19:59:23 zeus kernel: tveeprom: decoder processor is CX23888 (idx 34)
Aug 15 19:59:23 zeus kernel: tveeprom: has no radio, has IR receiver, has
no IR transmitter
Aug 15 19:59:23 zeus kernel: cx23885: cx23885[0]: hauppauge eeprom:
model=165100
Aug 15 19:59:23 zeus kernel: cx25840 8-0044: cx23888 A/V decoder found @
0x88 (cx23885[0])
Aug 15 19:59:23 zeus kernel: cx25840 8-0044: firmware: direct-loading
firmware v4l-cx23885-avcore-01.fw
Aug 15 19:59:23 zeus kernel: cx25840 8-0044: loaded
v4l-cx23885-avcore-01.fw firmware (16382 bytes)
Aug 15 19:59:23 zeus kernel: cx23885: cx23885_dvb_register() allocating 1
frontend(s)
Aug 15 19:59:23 zeus kernel: cx23885: cx23885[0]: cx23885 based dvb card
Aug 15 19:59:23 zeus kernel: cx23885: dvb_register(): board=57 port=1
Aug 15 19:59:23 zeus kernel: si2157 7-0060: Silicon Labs
Si2147/2148/2157/2158 successfully attached
Aug 15 19:59:23 zeus kernel: dvbdev: DVB: registering new adapter
(cx23885[0])
Aug 15 19:59:23 zeus kernel: cx23885 0000:03:00.0: DVB: registering adapter
0 frontend 0 (LG Electronics LGDT3306A VSB/QAM Frontend)...

Using w_scan seems to find some frequencies that are usable:

$ w_scan -fa -A1 -c US -X
w_scan -fa -A1 -c US -X
w_scan version 20170107 (compiled for DVB API 5.11)
using settings for UNITED STATES
ATSC
VSB US/CA, DVB-T TW
scan type TERRCABLE_ATSC, channellist 1
output format czap/tzap/szap/xine
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
        /dev/dvb/adapter0/frontend0 -> TERRCABLE_ATSC "LG Electronics
LGDT3306A VSB/QAM Frontend": good :-)
        /dev/dvb/adapter1/frontend0 -> TERRCABLE_ATSC "LG Electronics
LGDT3306A VSB/QAM Frontend": good :-)
        /dev/dvb/adapter2/frontend0 -> TERRCABLE_ATSC "LG Electronics
LGDT3306A VSB/QAM Frontend": good :-)
        /dev/dvb/adapter3/frontend0 -> TERRCABLE_ATSC "LG Electronics
LGDT3306A VSB/QAM Frontend": good :-)
Using TERRCABLE_ATSC frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.11
frontend 'LG Electronics LGDT3306A VSB/QAM Frontend' supports
INVERSION_AUTO
8VSB
QAM_64
QAM_256
FREQ (54.00MHz ... 858.00MHz)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
57000: 8VSB(time: 00:00.428)
63000: 8VSB(time: 00:03.560)
69000: 8VSB(time: 00:06.692)
79000: 8VSB(time: 00:09.824)
85000: 8VSB(time: 00:12.956)
177000: 8VSB(time: 00:16.088)
183000: 8VSB(time: 00:19.216)         signal ok:        8VSB     f=183000
kHz (0:0:0)
189000: 8VSB(time: 00:19.912)
[snip]

When I try to use that frequency in mplayer I don't get the video like I
would expect:

$ grep WDSEpbs ~/.mplayer/channels.conf
WDSEpbs:183000000:8VSB:49:52:1

$ mplayer dvb://WDSEpbs
MPlayer 1.3.0 (Debian), built with gcc-10 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote
control.

Playing dvb://WDSEpbs.
dvb_tune Freq: 183000000
dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 4096 bytes
dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 4096 bytes
dvb_streaming_read, attempt N. 4 failed with errno 0 when reading 4096 bytes
dvb_streaming_read, attempt N. 3 failed with errno 0 when reading 4096 bytes
dvb_streaming_read, attempt N. 2 failed with errno 0 when reading 4096 bytes
dvb_streaming_read, attempt N. 1 failed with errno 0 when reading 4096 bytes
dvb_streaming_read, return 0 bytes

Exiting... (End of file)

And I don't get any output.

If I look at the kernel messages I see some cryptic information:

$ sudo journalctl -k
[snip]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]: mpeg risc op code error
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]: TS1 B - dma channel
status dump
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: init risc lo   :
0xff17f000
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: init risc hi   :
0x00000000
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: cdt base       :
0x00010870
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: cdt size       :
0x0000000a
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: iq base        :
0x00010630
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: iq size        :
0x00000010
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: risc pc lo     :
0xff17f018
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: risc pc hi     :
0x00000000
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: iq wr ptr      :
0x00004192
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: iq rd ptr      :
0x0000418c
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: cdt current    :
0x00010888
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: pci target lo  :
0xff27ac10
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: pci target hi  :
0x00000000
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   cmds: line / byte    :
0x000f0000
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   risc0:
Sep 16 10:28:27 zeus kernel: 0x1c0002f0 [ write sol eol count=752 ]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   risc1:
Sep 16 10:28:27 zeus kernel: 0xff27a920 [ INVALID sol eol irq2 irq1 21 18
cnt1 cnt0 resync 13 count=2336 ]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   risc2:
Sep 16 10:28:27 zeus kernel: 0x00000000 [ INVALID count=0 ]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   risc3:
Sep 16 10:28:27 zeus kernel: 0x1c0002f0 [ write sol eol count=752 ]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   (0x00010630) iq 0:
Sep 16 10:28:27 zeus kernel: 0x1c0002f0 [ write sol eol count=752 ]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   iq 1: 0xff27af00 [ arg
#1 ]
Sep 16 10:28:27 zeus kernel: cx23885: cx23885[0]:   iq 2: 0x00000000 [ arg
#2 ]

The top line in the above kernel messages is highlighted red:

mpeg risc op code error

and I've searched on that string, but didn't get much for answers.

Does anyone have any insight for what I'm missing here?

Thanks for any help!

-m
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20200916/8a8adcd4/attachment.htm>


More information about the mythtv-users mailing list