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

Only the first tuner on 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).

Only the first tuner on 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).

Both tuners on Model 01590 device and Model 01595 device are supported since Kernel 4.17 (see commit https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/diff/?id=be7fd3c3a8c5e9acbc69f887ca961df5e68cf6f0).

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

Sample Kernel Output (both tuners; Linux 4.17-rc1, Model 01590, USB device ID 2040:0265)

[   55.197109] tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
[   55.197112] tveeprom: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
[   55.197113] tveeprom: audio processor is None (idx 0)
[   55.197115] tveeprom: has no radio, has IR receiver, has no IR transmitter
[   55.197122] em28xx 3-1.2:1.0: dvb set to isoc mode.
[   55.254525] em28xx 3-1.2:1.0: chip ID is em28174
[   56.418899] em28xx 3-1.2:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xece4c7c8
[   56.418904] em28xx 3-1.2:1.0: EEPROM info:
[   56.418907] em28xx 3-1.2:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[   56.427984] em28xx 3-1.2:1.0: 	AC97 audio (5 sample rates)
[   56.427989] em28xx 3-1.2:1.0: 	500mA max power
[   56.427993] em28xx 3-1.2:1.0: 	Table at offset 0x27, strings=0x0e6a, 0x1888, 0x087e
[   56.482062] em28xx 3-1.2:1.0: Identified as Hauppauge WinTV-dualHD DVB (card=99)
[   56.484086] tveeprom: Hauppauge model 204109, rev B3I6, serial# 13886818
[   56.484090] tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
[   56.484092] tveeprom: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
[   56.484094] tveeprom: audio processor is None (idx 0)
[   56.484096] tveeprom: has no radio, has IR receiver, has no IR transmitter
[   56.484102] em28xx 3-1.2:1.0: dvb ts2 set to isoc mode.
[   56.684816] usbcore: registered new interface driver em28xx
[   56.727880] em28xx 3-1.2:1.0: Binding DVB extension
[   56.751607] i2c i2c-23: Added multiplexed i2c bus 26
[   56.751611] si2168 23-0064: Silicon Labs Si2168-B40 successfully identified
[   56.751613] si2168 23-0064: firmware version: B 4.0.2
[   56.765538] si2157 26-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[   56.765572] dvbdev: DVB: registering new adapter (3-1.2:1.0)
[   56.765576] em28xx 3-1.2:1.0: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[   56.766241] em28xx 3-1.2:1.0: DVB extension successfully initialized
[   56.766245] em28xx 3-1.2:1.0: Binding DVB extension
[   56.772265] i2c i2c-25: Added multiplexed i2c bus 27
[   56.772270] si2168 25-0067: Silicon Labs Si2168-B40 successfully identified
[   56.772273] si2168 25-0067: firmware version: B 4.0.2
[   56.775424] si2157 27-0063: Silicon Labs Si2147/2148/2157/2158 successfully attached
[   56.775466] dvbdev: DVB: registering new adapter (3-1.2:1.0)
[   56.775470] em28xx 3-1.2:1.0: DVB: registering adapter 1 frontend 0 (Silicon Labs Si2168)...
[   56.776032] em28xx 3-1.2:1.0: DVB extension successfully initialized
[   56.776035] em28xx: Registered (Em28xx dvb Extension) extension
[   56.794955] em28xx 3-1.2:1.0: Registering input extension
[   56.827291] Registered IR keymap rc-hauppauge
[   56.828225] rc rc0: 3-1.2:1.0 IR as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0/rc/rc0
[   56.828314] input: 3-1.2:1.0 IR as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0/rc/rc0/input23
[   56.890025] em28xx 3-1.2:1.0: Input extension successfully initialized
[   56.890031] em28xx 3-1.2:1.0: Remote control support is not available for this card.
[   56.890033] em28xx: Registered (Em28xx Input Extension) extension

Remote Control Support

Untested.

External Links