Hauppauge WinTV-dualHD

From LinuxTVWiki
Jump to navigation Jump to search

Overview/Features

A combined DVB-C, DVB-T and DVB-T2 USB 2.0 device from Hauppauge with two tuners. Similiar to Hauppauge_WinTV-soloHD.

There are two versions available with the same name that can be distinguished by model number, look and USB device ID:

  • Model 01590: Dual tuner for DVB-C, DVB-T and DVB-T2, has IEC connector, USB device ID 2040:0265.
  • Model 01595: Dual tuner for ATSC and clear QAM, has F-connector, USB device ID 2040:026d.

Model 01590 (USB device ID 2040:0265)

Components Used

Model 01595 (USB device ID 2040:026d)

Components Used

This version of the board is like a USB version of the Hauppauge WinTV-HVR-2255 PCIe card.

Identification

sudo lsusb -v -d 2040:026d
Bus 001 Device 006: ID 2040:026d Hauppauge 
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0x2040 Hauppauge
 idProduct          0x026d 
 bcdDevice            1.00
 iManufacturer           3 HCW
 iProduct                1 955D
 iSerial                 2 0011511574
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           55
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0x80
     (Bus Powered)
   MaxPower              500mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0000  1x 0 bytes
       bInterval               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x85  EP 5 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0000  1x 0 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       1
     bNumEndpoints           2
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x03ac  1x 940 bytes
       bInterval               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x85  EP 5 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x03ac  1x 940 bytes
       bInterval               1
Device Qualifier (for other device speed):
 bLength                10
 bDescriptorType         6
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 bNumConfigurations      1
Device Status:     0x0000
 (Bus Powered)

Making it Work

The following part refers specifically to Model 01590 or Model 01595.

Firmware

The Model 01590 demodulator needs a firmware which can be found for example at http://palosaari.fi/linux/v4l-dvb/firmware/Si2168/Si2168-B40/4.0.11/dvb-demod-si2168-b40-01.fw

Drivers

The Model 01590 device is supported since Kernel 4.7 (see commit https://git.linuxtv.org/media_tree.git/commit/drivers/media/usb/em28xx?id=11a2a949d05e9d2d9823f0c45fa476743d9e462b).

The Model 01595 device is supported since Kernel 4.11 (see commit https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=1586342e428d80e53f9a926b2e238d2175b9f5b5).

Currently only the first tuner on Model 01590 and Model 01595 is supported.

A kernel patch for the support of both tuners can be found at https://forum.libreelec.tv/thread-2867.html . The thread refers to a patch file for kernel 4.2.5 downloadable at https://www.dropbox.com/s/qkw7fn7y9szdn1r/wintv-dualhd-kernel-4.2.5-2016-08-10.patch.tar.xz?dl=0

Another patch for the second tuner for kernel 4.11 and later is linked here: https://www.mail-archive.com/linux-media@vger.kernel.org/msg113120.html

Sample Kernel Output (first tuner only)

[370.466385] usb 1-1: new high-speed USB device number 6 using xhci_hcd
[370.607770] usb 1-1: New USB device found, idVendor=2040, idProduct=0265
[370.607777] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[370.607780] usb 1-1: Product: dualHD
[370.607783] usb 1-1: Manufacturer: HCW
[370.607786] usb 1-1: SerialNumber: 0011501234
[370.670696] Linux video capture interface: v2.00
[370.672517] em28xx: New device HCW dualHD @ 480 Mbps (2040:0265, interface 0, class 0)
[370.672525] em28xx: DVB interface 0 found: isoc
[370.672586] em28xx: chip ID is em28174
[371.903330] em28174 #0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x7addc1c8
[371.903335] em28174 #0: EEPROM info:
[371.903338] em28174 #0:      microcode start address = 0x0004, boot configuration = 0x01
[371.909585] em28174 #0:      AC97 audio (5 sample rates)
[371.909588] em28174 #0:      500mA max power
[371.909592] em28174 #0:      Table at offset 0x27, strings=0x0e6a, 0x1888, 0x087e
[371.909696] em28174 #0: Identified as Hauppauge WinTV-dualHD DVB (card=99)
[371.911890] tveeprom 11-0050: Hauppauge model 204109, rev B2I6, serial# 11501234
[371.911894] tveeprom 11-0050: tuner model is SiLabs Si2157 (idx 186, type 4)
[371.911896] tveeprom 11-0050: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
[371.911898] tveeprom 11-0050: audio processor is None (idx 0)
[371.911900] tveeprom 11-0050: has no radio, has IR receiver, has no IR transmitter
[371.911903] em28174 #0: dvb set to isoc mode.
[371.911973] usbcore: registered new interface driver em28xx
[371.915988] em28174 #0: Binding DVB extension
[371.919830] i2c i2c-11: Added multiplexed i2c bus 12
[371.919835] si2168 11-0064: Silicon Labs Si2168 successfully attached
[371.923717] si2157 12-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[371.923747] DVB: registering new adapter (em28174 #0)
[371.923758] usb 1-1: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[371.925138] em28174 #0: DVB extension successfully initialized
[371.925145] em28xx: Registered (Em28xx dvb Extension) extension
[557.706723] si2168 11-0064: found a 'Silicon Labs Si2168-B40'
[557.706770] si2168 11-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
[557.915917] si2168 11-0064: firmware version: 4.0.11
[557.919622] si2157 12-0060: found a 'Silicon Labs Si2157-A30'
[557.968069] si2157 12-0060: firmware version: 3.0.5

Remote Control Support

Untested.

External Links