I had a similar problem. I run a virtual plex server and passed through part of the USB PCI buses to the guest. I could get plex to see the device after following the instructions on the Hauppauge website, but I still couldn’t get any channels. I eventually worked it out that I needed to download and install an additional firmware driver for the demodulation component on the WinTV DualHD.
Not sure if the firmware is meant to be already installed with Ubuntu 16.04.2 or not. I used this firmware http://palosaari.fi/linux/v4l-dvb/firmware/Si2168/Si2168-B40/4.0.11/dvb-demod-si2168-b40-01.fw for the demodulation and it worked. I placed it in /lib/firmware. [ corrected path ]
To see if you are having the same error as I did, run dmesg just after you start a scan. Below is the error message I was getting before installing the firmware.
Jun 6 22:07:41 aaaaa kernel: [ 115.763622] si2168 1-0064: Direct firmware load for dvb-demod-si2168-b40-01.fw failed with error -2
Jun 6 22:07:41 aaaaa kernel: [ 115.764087] si2168 1-0064: Direct firmware load for dvb-demod-si2168-02.fw failed with error -2
Jun 6 22:07:41 aaaaa kernel: [ 115.764089] si2168 1-0064: firmware file ‘dvb-demod-si2168-02.fw’ not found
Jun 6 22:07:41 aaaaa kernel: [ 115.771216] si2157 2-0060: found a ‘Silicon Labs Si2157-A30’
Jun 6 22:07:41 aaaaa kernel: [ 115.820845] si2157 2-0060: firmware version: 3.0.5