Hauppauge WinTV-HVR-935 HD
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.