Getting analog video working on a Hauppauge HVR-1800?
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Getting analog video working on a Hauppauge HVR-1800?
I picked up a Hauppauge WinTV HVR-1800 PCIe TV tuner a few days ago. Digital TV worked fine right out of the box (after setting up the firmware), but I have not been able to get analog video to work at all.
If I run mplayer, xawtv or tvtime using /dev/video1 (yes, that is the correct devnode, video0 is a different card in my rig), I just get a solid green screen at about 1 frame per second, and my dmesg fills with:
Code:
[ 1000.029300] format_by_fourcc(0x32315659) NOT FOUND
[ 1000.029326] format_by_fourcc(0x32315559) NOT FOUND
[ 1001.880037] cx23885[0]: VID A - dma channel status dump
[ 1001.880045] cx23885[0]: cmds: init risc lo : 0xaf9e4000
[ 1001.880048] cx23885[0]: cmds: init risc hi : 0x00000000
[ 1001.880051] cx23885[0]: cmds: cdt base : 0x000107b0
[ 1001.880054] cx23885[0]: cmds: cdt size : 0x0000000c
[ 1001.880056] cx23885[0]: cmds: iq base : 0x000105b0
[ 1001.880059] cx23885[0]: cmds: iq size : 0x00000010
[ 1001.880062] cx23885[0]: cmds: risc pc lo : 0xaf9e4034
[ 1001.880064] cx23885[0]: cmds: risc pc hi : 0x00000000
[ 1001.880067] cx23885[0]: cmds: iq wr ptr : 0x00004179
[ 1001.880069] cx23885[0]: cmds: iq rd ptr : 0x0000416d
[ 1001.880072] cx23885[0]: cmds: cdt current : 0x000107b8
[ 1001.880075] cx23885[0]: cmds: pci target lo : 0x00000000
[ 1001.880077] cx23885[0]: cmds: pci target hi : 0x00000000
[ 1001.880080] cx23885[0]: cmds: line / byte : 0x00000000
[ 1001.880083] cx23885[0]: risc0: 0x80008000 [ sync resync count=0 ]
[ 1001.880087] cx23885[0]: risc1: 0x1c000500 [ write sol eol count=1280 ]
[ 1001.880091] cx23885[0]: risc2: 0x7b570500 [ jump sol irq2 irq1 22 20 18 cnt1 cnt0 count=1280 ]
[ 1001.880097] cx23885[0]: risc3: 0x00000000 [ INVALID count=0 ]
[ 1001.880100] cx23885[0]: (0x000105b0) iq 0: 0x80008000 [ sync resync count=0 ]
[ 1001.880104] cx23885[0]: (0x000105b4) iq 1: 0x1c000500 [ write sol eol count=1280 ]
[ 1001.880108] cx23885[0]: iq 2: 0x7b570500 [ arg #1 ]
[ 1001.880111] cx23885[0]: iq 3: 0x00000000 [ arg #2 ]
[ 1001.880113] cx23885[0]: (0x000105c0) iq 4: 0x18000100 [ write sol count=256 ]
[ 1001.880117] cx23885[0]: iq 5: 0x7b570f00 [ arg #1 ]
[ 1001.880120] cx23885[0]: iq 6: 0x00000000 [ arg #2 ]
[ 1001.880122] cx23885[0]: (0x000105cc) iq 7: 0x14000400 [ write eol count=1024 ]
[ 1001.880126] cx23885[0]: iq 8: 0x7c89d000 [ arg #1 ]
[ 1001.880129] cx23885[0]: iq 9: 0x00000000 [ arg #2 ]
[ 1001.880131] cx23885[0]: (0x000105d8) iq a: 0x1c000500 [ write sol eol count=1280 ]
[ 1001.880135] cx23885[0]: iq b: 0x7c89d900 [ arg #1 ]
[ 1001.880138] cx23885[0]: iq c: 0x00000000 [ arg #2 ]
[ 1001.880140] cx23885[0]: (0x000105e4) iq d: 0x15c0dc92 [ write eol irq1 23 22 resync 14 12 count=3218 ]
[ 1001.880146] cx23885[0]: iq e: 0xd975cc0e [ arg #1 ]
[ 1001.880148] cx23885[0]: iq f: 0x13c61431 [ arg #2 ]
[ 1001.880150] cx23885[0]: fifo: 0x00000040 -> 0x2840
[ 1001.880151] cx23885[0]: ctrl: 0x000105b0 -> 0x10610
[ 1001.880154] cx23885[0]: ptr1_reg: 0x00000040
[ 1001.880156] cx23885[0]: ptr2_reg: 0x000107b8
[ 1001.880158] cx23885[0]: cnt1_reg: 0x00000000
[ 1001.880161] cx23885[0]: cnt2_reg: 0x0000000b
[ 1001.880165] cx23885[0]/0: [ffff880078545e00/0] timeout - dma=0xaf9e4000
[ 1001.880167] cx23885[0]/0: [ffff880078545000/1] timeout - dma=0xa7c10000
One such block per second (exactly). After this, digital TV no longer works and even unloading and reloading the kernel module won't help - I have to reboot the machine to get it going again.
Google only turned up a few listserv posts from 2008, none of which are of any use - they only tell me that some people got it working at some point, not how.
I am using kernel 2.6.36 built for amd64, with the cx23885 driver included with that kernel, and the firmware linked from the linuxtv.org wiki page:
If you have to reboot the machine, chances are something is going belly up as soon as you ask for analog video, then you're not stopping it, so you have to reboot.
Does pstree, or top give you any clues? I would run sshd there and ssh into the box for a console on the fault condition. Then you can hunt around.
I have seen and experience the same issue that you are having when I start fiddling with the settings for Hauppauge PVR-250. It is best to unload all modules for your card and wait for about 30 minutes and try again. If that does not work, you have to shutdown your computer completely and wait for a few minutes and turn it on again. Heat also causes problems, so put any PVR card far away from any high heat generating sources. Raw video capture cards works a lot easier because they do not require firmware.
Your card is only a PVR card and not a raw video capture card. Also you will have to select the input. Use v4l-ctl to change the input. If you are using mplayer and it is compile to include ivtv or PVR, you can specify the input on the same line. After you change the input, set the recording to a good default like a DVD format. It can take about two to five minutes for it to settle on the input and the recording format.
Recompiling mplayer with PVR support now. From what you say, this won't work:
Code:
mplayer -tv device=/dev/video1:input=1 tv://
Given that the devnodes are video1 for v4l2/raw and video2 for MPEG, and I want to capture from the S-Video input, what should I use?
That is only for raw capture cards. Your card is not a raw capture card. You have to use the pvr option.
Normally, /dev/video0 is the first capture card and /dev/video1 is the second video capture card. It does not relate to separate inputs. Assuming /dev/video0 is your Hauppauge WinTV HVR-1800, you have to tell it to switch to the input that you want using the utility V4l2-ctl. You will have to find out what device node your Hauppauge WinTV HVR-1800 is at before using the utility v4l2-ctl. The following is how to switch to a different input assuming that S-video is input 2 and the pvr is at /dev/video0.
v4l2-ctl -i 2 -d /dev/video0
Go to the following for more information about v4l2-ctl.
I have not used the pvr option in Mplayer, so I do not know how well that works. If you want to use Mplayer and assuming /dev/video0 is your PVR card, do the following.
mplayer /dev/video0
From the logs, I can not tell you for sure what device node your PVR card is at. The logs are too truncated. I prefer to see the whole thing from beginning of boot up.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.