Hauppauge WinTV-HVR-935 HD

From LinuxTVWiki
Revision as of 22:27, 15 September 2019 by Jis (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Hauppauge WinTV-HVR-935 USB stick

The Hauppauge WinTV-HVR-935 HD is a hybrid TV tuner USB stick for DVB-T, DVB-T2, DVB-C, analogue cable TV with A/V-input from Hauppauge. It comes in a box with a USB extension cable, A/V cable, DVB-T/T2 antenna and IR remote.

The box shows "model 1588", however the stick itself is identified as "model 111519".

The stick can show DVB-T and DVB-C channels. This was tested on Ubuntu 18.04 LTS and on 16.04 LTS and 17.10 using the drivers provided by the PPA. Analogue TV and A/V-input have not yet been successfully tested.

Overview/Features

  • USB 2.0 or USB 3.0 PC interface
  • IEC antenna interface
  • DVB-T, DVB-T2, DVB-C digital TV
  • Analogue TV
  • A/V input cable (S-Video and Composite)
  • IR remote control
  • USB extension cable
  • Electronic Program Guide (EPG)
  • Teletext

Components Used

  • Unknown

Other Images

Identification

# lsusb -v:
Bus 003 Device 008: ID 2040:b151 Hauppauge 
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass          239 Miscellaneous Device
 bDeviceSubClass         2 ?
 bDeviceProtocol         1 Interface Association
 bMaxPacketSize0        64
 idVendor           0x2040 Hauppauge
 idProduct          0xb151 
 bcdDevice           40.01
 iManufacturer           1 (error)
 iProduct                2 (error)
 iSerial                 3 (error)
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength          344
   bNumInterfaces          7
   bConfigurationValue     1
   iConfiguration          4 (error)
   bmAttributes         0xa0
     (Bus Powered)
     Remote Wakeup
   MaxPower              340mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             32 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x8e  EP 14 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0020  1x 32 bytes
       bInterval               4
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x0e  EP 14 OUT
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0020  1x 32 bytes
       bInterval               4
   Interface Association:
     bLength                 8
     bDescriptorType        11
     bFirstInterface         1
     bInterfaceCount         6
     bFunctionClass        255 Vendor Specific Class
     bFunctionSubClass     255 Vendor Specific Subclass
     bFunctionProtocol     255 Vendor Specific Protocol
     iFunction               0 
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        1
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface              7 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x8f  EP 15 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0008  1x 8 bytes
       bInterval               7
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface              8 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       1
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface              9 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x0040  1x 64 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       2
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             10 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x0080  1x 128 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       3
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             11 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x013c  1x 316 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       4
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             12 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x02c8  1x 712 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       5
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             13 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x0ac8  2x 712 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        3
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             20 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        3
     bAlternateSetting       1
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             21 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x001c  1x 28 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        3
     bAlternateSetting       2
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             22 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x0034  1x 52 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        4
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             23 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        4
     bAlternateSetting       1
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             24 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x00b8  1x 184 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        4
     bAlternateSetting       2
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             25 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x02d8  1x 728 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        4
     bAlternateSetting       3
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             26 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x13c4  3x 964 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        4
     bAlternateSetting       4
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             27 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x0b84  2x 900 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        5
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             28 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x85  EP 5 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        5
     bAlternateSetting       1
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             31 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x05  EP 5 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        6
     bAlternateSetting       0
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             29 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x86  EP 6 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        6
     bAlternateSetting       1
     bNumEndpoints           1
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface             30 (error)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x86  EP 6 IN
       bmAttributes            5
         Transfer Type            Isochronous
         Synch Type               Asynchronous
         Usage Type               Data
       wMaxPacketSize     0x0240  1x 576 bytes
       bInterval               1
Device Qualifier (for other device speed):
 bLength                10
 bDescriptorType         6
 bcdUSB               2.00
 bDeviceClass          239 Miscellaneous Device
 bDeviceSubClass         2 ?
 bDeviceProtocol         1 Interface Association
 bMaxPacketSize0        64
 bNumConfigurations      1
Device Status:     0x0000
 (Bus Powered)

Making it Work

On Ubuntu 18.04 LTS the card is detected but firmware files are missing (see dmesg). After downloading the files to the firmware directory the card works. Her is how: Download the following 2 files from github

  • dvb-demod-si2168-02.fw
  • dvb-demod-si2168-b40-01.fw

Then copy the files to the firmware directory: sudo cp -a /home/<username>/Downloads/dvb-demod-si2168* /lib/firmware

Test with VLC by Open Capture Device, select TV -digital, DVB-x, enter frequency and bandwidth and then click Play.

On Ubuntu 16.04 LTS: The WinTV-HVR-935 HD is not explicitly supported by the PPA. After installing the packages from the PPA, the device is however identified as: Hauppauge WinTV-HVR-935C (card=26).

When booting with the PPA kernel on Xubuntu 16.04 LTS it is possible to watch DVB-T channels using the provided antenna and DVB-C channels connected to cable. This was tested using the VLC media player application.

Firmware

  • dvb-demod-si2168-02.fw
  • dvb-demod-si2168-b40-01.fw

Drivers

All drivers are pre-installed or installed automatically by the PPA (http://ppa.launchpad.net/b-rad/kernel+mediatree+hauppauge/ubuntu).

Sample Kernel Output

# dmesg
[  122.375910] usb 3-9.3: new high-speed USB device number 7 using xhci_hcd
[  122.482217] usb 3-9.3: New USB device found, idVendor=2040, idProduct=b151
[  122.482221] usb 3-9.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  122.482223] usb 3-9.3: Product: Hauppauge Device
[  122.482224] usb 3-9.3: Manufacturer: Hauppauge
[  122.482226] usb 3-9.3: SerialNumber: 4035991987
[  122.517346] WARNING: You are using an experimental version of the media stack.
              	As the driver is backported to an older kernel, it doesn't offer
              	enough quality for its usage in production.
              	Use it with care.
              Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
              	330dada5957e3ca0c8811b14c45e3ac42c694651 media: dvb_frontend: fix return error code
              	5e0d3c3a2c67c060e65e152558fa3cbdabdafe6c media: MAINTAINERS: add si2165 driver
              	7c4f4d1d7e5e3a5efc0a75410c7dad1c6c0be838 media: cx23885: Use semicolon after assignment instead of comma
[  122.527175] cx231xx 3-9.3:1.1: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:b151) with 7 interfaces
[  122.527901] cx231xx 3-9.3:1.1: Identified as Hauppauge WinTV-HVR-935C (card=26)
[  122.540600] i2c i2c-9: Added multiplexed i2c bus 11
[  122.540760] i2c i2c-9: Added multiplexed i2c bus 12
[  122.722330] cx25840 8-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #0-0)
[  124.601463] cx25840 8-0044: loaded v4l-cx231xx-avcore-01.fw firmware (16382 bytes)
[  124.630230] cx231xx 3-9.3:1.1: v4l2 driver version 0.0.3
[  124.684442] cx231xx 3-9.3:1.1: Unknown tuner type configuring SIF
[  124.708473] cx231xx 3-9.3:1.1: Registered video device video1 [v4l2]
[  124.708517] cx231xx 3-9.3:1.1: Registered VBI device vbi1
[  124.708520] cx231xx 3-9.3:1.1: video EndPoint Addr 0x84, Alternate settings: 5
[  124.708523] cx231xx 3-9.3:1.1: VBI EndPoint Addr 0x85, Alternate settings: 2
[  124.708525] cx231xx 3-9.3:1.1: sliced CC EndPoint Addr 0x86, Alternate settings: 2
[  124.708527] cx231xx 3-9.3:1.1: TS EndPoint Addr 0x81, Alternate settings: 6
[  124.715972] usbcore: registered new interface driver cx231xx
[  124.734857] cx231xx 3-9.3:1.1: audio EndPoint Addr 0x83, Alternate settings: 3
[  124.734861] cx231xx 3-9.3:1.1: Cx231xx Audio Extension initialized
[  124.740287] WARNING: You are using an experimental version of the media stack.
              	As the driver is backported to an older kernel, it doesn't offer
              	enough quality for its usage in production.
              	Use it with care.
              Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
              	330dada5957e3ca0c8811b14c45e3ac42c694651 media: dvb_frontend: fix return error code
              	5e0d3c3a2c67c060e65e152558fa3cbdabdafe6c media: MAINTAINERS: add si2165 driver
              	7c4f4d1d7e5e3a5efc0a75410c7dad1c6c0be838 media: cx23885: Use semicolon after assignment instead of comma
[  124.803646] i2c i2c-12: Added multiplexed i2c bus 13
[  124.803651] si2168 12-0064: Silicon Labs Si2168-B40 successfully identified
[  124.803652] si2168 12-0064: firmware version: B 4.0.2
[  124.809206] si2157_probe: probing si2157 tuner fe=ffff88042872d008 cfg=ffff88040d417ba8 addr=0X60
[  124.809209] si2157_attach (12-0060)
[  124.809210] si2157 12-0060: creating new instance
[  124.809211] si2157_attach: instance=1
[  124.809212] si2157_attach(): new instance for tuner @0x60
[  124.809213] si2157_setup_configuration: client=ffff8803f0b0b800
[  124.809214] si2157_setup_configuration: dev=ffff8803f0b08400
[  124.809215] si2157_setup_configuration(0x60): dvb driver submitted configuration; port=1 invert=1
[  124.809475] cfg->mdev=ffff8803f60c8c00
[  124.809479] si2157 12-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  124.809485] dvbdev: DVB: registering new adapter (cx231xx #0)
[  124.809489] cx231xx 3-9.3:1.1: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[  124.809491] dvbdev: dvb_create_media_entity: media entity 'Silicon Labs Si2168' registered.
[  124.809769] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  124.810544] cx231xx 3-9.3:1.1: Successfully loaded cx231xx-dvb
[  124.810550] cx231xx 3-9.3:1.1: Cx231xx dvb Extension initialized

Remote Control Support

A IR remote is provided with the stick. This has not yet been tested.

External Links