So I thought I'd try to get a Hauppage WinTV-HVR-1950 working with Ubuntu 16.04.
I got the firmware installed in /lib/firmware and everything looks good, but when I run tvtime it says:
inappropriate ioctl for device /dev/video0
and when I try to run VLC it doesn't work and I get this in the dmesg log:
cx25840 7-0044: 0x0000 is not a valid video input!
but here's the interesting part (which is most tantalizing)
if I run
cat /dev/video0 > test.mpg
and let that run for a bit, aborting with a ctrl+c, I can play the captured mpeg perfectly with vlc with sound and video.
vlc test.mpg
edit:
so I installed mplayer with sudo apt install mplayer
and sudo apt install libvdpau-va-gl1 because it kept telling me that it Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
so I can run mplayer with:
mplayer /dev/video0 -vo vdpau -ao sdl
or
mplayer /dev/video0 -vo sdl -ao sdl
and it works, but there's a one second delay after I press a button on my tv box remote. One thing that's good is that the audio and video are always in sync (since it's an mpeg stream).
I think the HVR 1950 defaults to channel 3 which is fine because I'm getting an analog tv signal from my comcast cable box. So I'm not actually having to tune the HVR 1950.
[ 18.404327] pvrusb2: Hardware description: WinTV HVR-1950 Model 751xx
[ 18.404506] usbcore: registered new interface driver pvrusb2
[ 18.404508] pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
[ 18.404509] pvrusb2: Debug mask is 31 (0x1f)
[ 19.838732] pvrusb2: Device microcontroller firmware (re)loaded; it should now reset and reconnect.
[ 19.927708] usb 2-1.5: USB disconnect, device number 4
[ 19.927797] pvrusb2: Device being rendered inoperable
[ 21.023784] Adding 4071420k swap on /dev/sda5. Priority:-1 extents:1 across:4071420k FS
[ 21.661918] usb 2-1.5: new high-speed USB device number 6 using ehci-pci
[ 21.763560] usb 2-1.5: New USB device found, idVendor=2040, idProduct=7501
[ 21.763565] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 21.763568] usb 2-1.5: Product: WinTV
[ 21.763571] usb 2-1.5: Manufacturer: Hauppauge
[ 21.764691] pvrusb2: Hardware description: WinTV HVR-1950 Model 751xx
[ 21.796494] pvrusb2: Binding ir_rx_z8f0811_haup to i2c address 0x71.
[ 21.796517] pvrusb2: Binding ir_tx_z8f0811_haup to i2c address 0x70.
[ 21.866875] lirc_dev: IR Remote Control driver registered, major 242
[ 21.912016] lirc_zilog: module is from the staging directory, the quality is unknown, you have been warned.
[ 21.912042] lirc_zilog: module verification failed: signature and/or required key missing - tainting kernel
[ 21.912049] lirc_zilog: module is from the staging directory, the quality is unknown, you have been warned.
[ 21.912254] Zilog/Hauppauge IR driver initializing
[ 21.913000] probing IR Rx on pvrusb2_a (i2c-7)
[ 21.913021] probe of IR Rx on pvrusb2_a (i2c-7) done. Waiting on IR Tx.
[ 21.913023] i2c i2c-7: probe of IR Rx on pvrusb2_a (i2c-7) done
...
[ 21.999639] cx25840 7-0044: cx25843-24 found @ 0x88 (pvrusb2_a)
[ 22.010348] pvrusb2: Attached sub-driver cx25840
[ 22.094902] tuner 7-0042: Tuner -1 found with type(s) Radio TV.
[ 22.094914] pvrusb2: Attached sub-driver tuner
[ 24.371537] cx25840 7-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
[ 24.468208] tveeprom 7-00a2: Hauppauge model 75111, rev C3E9, serial# 4031558244
[ 24.468210] tveeprom 7-00a2: MAC address is 00:0d:fe:4c:b2:64
[ 24.468212] tveeprom 7-00a2: tuner model is Philips 18271_8295 (idx 149, type 54)
[ 24.468213] tveeprom 7-00a2: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[ 24.468214] tveeprom 7-00a2: audio processor is CX25843 (idx 37)
[ 24.468215] tveeprom 7-00a2: decoder processor is CX25843 (idx 30)
[ 24.468216] tveeprom 7-00a2: has radio, has IR receiver, has IR transmitter
[ 24.468219] pvrusb2: Supported video standard(s) reported available in hardware: PAL-M/N/Nc;NTSC-M/Mj/Mk;ATSC-8VSB/16VSB
[ 24.468220] pvrusb2: Initial video standard (determined by device type): NTSC-M
[ 24.468225] pvrusb2: Device initialization completed successfully.
[ 24.468327] pvrusb2: registered device video0 [mpeg]
[ 24.468329] DVB: registering new adapter (pvrusb2-dvb)
[ 26.673665] cx25840 7-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
[ 26.789971] tda829x 7-0042: setting tuner address to 60
[ 27.076383] tda18271 7-0060: creating new instance
[ 27.109872] TDA18271HD/C1 detected @ 7-0060
[ 35.569155] cx25840 7-0044: 0x0000 is not a valid video input!
[ 36.231924] usb 2-1.5: DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...
[ 36.233310] tda829x 7-0042: type set to tda8295
[ 36.268566] tda18271 7-0060: attaching existing instance
[ 90.596577] cx25840 7-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
[ 171.841766] e1000e: eno1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[ 171.841774] e1000e 0000:00:19.0 eno1: 10/100 speed: disabling TSO
[ 171.841813] IPv6: ADDRCONF(NETDEV_CHANGE): eno1: link becomes ready
[ 732.272832] ------------[ cut here ]------------
[ 732.272845] WARNING: CPU: 2 PID: 2596 at /build/linux-W6HB68/linux-4.4.0/drivers/media/v4l2-core/v4l2-ioctl.c:1272 v4l_enum_fmt+0xd86/0x10f0 [videodev]()
[ 732.272847] Unknown pixelformat 0x00000000
[ 732.272848] Modules linked in: s5h1411 tda18271 tda8290 tuner cx25840 lirc_zilog(CE) lirc_dev rc_core pvrusb2 dcdbas tveeprom cx2341x dvb_core v4l2_common videodev media intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep joydev irqbypass crct10dif_pclmul crc32_pclmul input_leds snd_pcm snd_seq_midi ghash_clmulni_intel snd_seq_midi_event aesni_intel snd_rawmidi snd_seq snd_seq_device snd_timer mei_me aes_x86_64 lrw gf128mul mei snd glue_helper soundcore ablk_helper shpchp cryptd serio_raw 8250_fintek lpc_ich mac_hid parport_pc ppdev lp parport autofs4 hid_generic usbhid hid i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect ahci sysimgblt psmouse fb_sys_fops
[ 732.272884] libahci e1000e drm ptp pps_core video fjes
[ 732.272889] CPU: 2 PID: 2596 Comm: vlc Tainted: G C E 4.4.0-62-generic #83-Ubuntu
[ 732.272891] Hardware name: Dell Inc. OptiPlex 790/0D28YY, BIOS A18 09/24/2013
[ 732.272892] 0000000000000286 0000000024cb5e14 ffff8800c130bbc0 ffffffff813f7c63
[ 732.272894] ffff8800c130bc08 ffffffffc04bca78 ffff8800c130bbf8 ffffffff810812d2
[ 732.272896] ffff8800c130bd70 0000000000000000 0000000000000000 ffff8800c1b85a00
[ 732.272898] Call Trace:
[ 732.272902] [] dump_stack+0x63/0x90
[ 732.272906] [] warn_slowpath_common+0x82/0xc0
[ 732.272907] [] warn_slowpath_fmt+0x5c/0x80
[ 732.272914] [] ? pvr2_g_std+0x4c/0x70 [pvrusb2]
[ 732.272919] [] v4l_enum_fmt+0xd86/0x10f0 [videodev]
[ 732.272924] [] __video_do_ioctl+0x291/0x310 [videodev]
[ 732.272927] [] ? free_hot_cold_page_list+0x48/0xb0
[ 732.272930] [] ? release_pages+0xdb/0x2b0
[ 732.272933] [] ? __kmalloc+0x1b9/0x250
[ 732.272938] [] video_usercopy+0x336/0x5b0 [videodev]
[ 732.272942] [] ? video_ioctl2+0x20/0x20 [videodev]
[ 732.272947] [] video_ioctl2+0x15/0x20 [videodev]
[ 732.272952] [] pvr2_v4l2_ioctl+0x8a/0x100 [pvrusb2]
[ 732.272956] [] v4l2_ioctl+0xd3/0xe0 [videodev]
[ 732.272959] [] do_vfs_ioctl+0x29f/0x490
[ 732.272962] [] ? ____fput+0xe/0x10
[ 732.272965] [] ? task_work_run+0x86/0xa0
[ 732.272966] [] SyS_ioctl+0x79/0x90
[ 732.272969] [] entry_SYSCALL_64_fastpath+0x16/0x71
[ 732.272971] ---[ end trace f35a617f02080aa8 ]---
[ 734.435400] ------------[ cut here ]------------
[ 734.435419] WARNING: CPU: 1 PID: 2596 at /build/linux-W6HB68/linux-4.4.0/drivers/media/v4l2-core/v4l2-ioctl.c:1272 v4l_enum_fmt+0xd86/0x10f0 [videodev]()
[ 734.435422] Unknown pixelformat 0x00000000
[ 734.435423] Modules linked in: s5h1411 tda18271 tda8290 tuner cx25840 lirc_zilog(CE) lirc_dev rc_core pvrusb2 dcdbas tveeprom cx2341x dvb_core v4l2_common videodev media intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep joydev irqbypass crct10dif_pclmul crc32_pclmul input_leds snd_pcm snd_seq_midi ghash_clmulni_intel snd_seq_midi_event aesni_intel snd_rawmidi snd_seq snd_seq_device snd_timer mei_me aes_x86_64 lrw gf128mul mei snd glue_helper soundcore ablk_helper shpchp cryptd serio_raw 8250_fintek lpc_ich mac_hid parport_pc ppdev lp parport autofs4 hid_generic usbhid hid i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect ahci sysimgblt psmouse fb_sys_fops
[ 734.435479] libahci e1000e drm ptp pps_core video fjes
[ 734.435488] CPU: 1 PID: 2596 Comm: vlc Tainted: G WC E 4.4.0-62-generic #83-Ubuntu