Hauppauge WinTV-soloHD

I found some hints here, but didn’t get the WinTV-soloHD working.
Actually I can see the adapter as con Labs Si2168 : DVB-S #0, not as the DVB-T and DVB-C as shown here Hauppauge DE | Seite Nicht Gefunden. I can run the card with openelec, so hardware is fine.

I tried different ways I’ve found, so to be honest I’m not sure what to do now.

Last steps made:

  1. Copied dvb-demod-si2168-b40-01.fw and dvb-demod-si2168-02.fw to /lib/firmware/ from here Index of /linux/v4l-dvb/firmware/Si2168

  2. Installed media_build

    git clone git://linuxtv.org/media_build.git
    cd media_build/
    sudo make install

Please find outputs here:

dmesg | grep dvb

sudo modinfo {si2168,si2157,em28xx}

Bus 001 Device 009: ID 2040:0264 Hauppauge

Since the installation of media_build the ir-receiver stops working. I don’t now why, too.

Thanks for any help

Think we just need this: media_tree.git - Upstream media tree for Remote Controllers, V4L and DVB.

This should be included upstream in 4.9; which will come to Pi soon.

Thanks for your fast reply.
Can you give me a hint how to apply the patch in osmc. I can’t find the directory drivers or patches in my root. Found this topic [quasi-solved][dvb] Happauge Wintv-soloHD usb tuner already, but didn’t understand what to do.

Regarding 4.9. I found a post of you, that it depends on debian. Are there any other news? Debian probably will need some more month.

It doesn’t depend on Debian.

It will be released soon when it’s tested.

You can build a kernel from Git but I don’t advise this if you want to keep updates


Thanks Sam, especial for the great software OSMC.
As you see, I failed to apply a patch. I will not build kernel myself :slight_smile:

Any comments how to patch?

You’d ideally need to rebuild the kernel (media_build is an option but not if you want updates); so it’s probably best to just wait.

Any forecast how long the release will need?

When it’s ready – but soon.

hi @sam_nazarko, is this patch already included ?
(support for wintv-solohd usb dongle ?)


Yes – it should be.


ok. thanks for the fast reply.
I’ve confirmed that

as recomended by linux tv, for the card.
But the dongle does not appear in tvheadend / tv adapters list.
Am I missing something ?

Do I need to compile and install:
V4L-DVB Device Drivers ?

Which device are you using?

Using Hauppauge WinTV-soloHD.

But … it seems that Hapuppauge remade the device with the same box but a different device id.

lsusb gives:

Bus 001
Device 008:
ID 2040:8268 Hauppauge - novo !!!
iProduct 1 soloHD
iSerial 2 0014044786

Being 2040:8268 a new device id.
after a lot of searching …
just forcing the id solves the issue (run as root / in rc.local / as a service):

modprobe em28xx card=94
echo “2040 8268” > /sys/bus/usb/drivers/em28xx/new_id

Then … just plug and play and it is running in tvheadend :smile:

1 Like

That means a missing VID/PID.
I’ll get this fixed shortly; thanks for investigating.

1 Like

Great !
And if someone else wants to get the new Hauppauge WinTV-soloHD (2018 version) working it is as easy as:

Create the file:


Insert the following contents:

DRIVER==“usb”, SUBSYSTEM==“usb”, ATTR{idVendor}==“2040”, ATTR{idProduct}==“8268”, RUN+="/sbin/modprobe em28xx card=94", RUN+="/bin/bash -c ‘/bin/echo 2040 8268 > /sys/bus/usb/drivers/em28xx/new_id’"

Hi ndivas, where did you get the card=94 from? trying to do the same with a different Hauppauge TV tuner.

Edit: I found it on the LinuxTV wiki page under my card (assumed) from the log output posted there

Edit2: Hmmm. I keep getting osmc systemd-udevd[226]: Process '/bin/bash -c' /bin/echo 2040 b124>, /sys/bus/usb/drivers/cx231xx/new_id'' failed with exit code 2.
in journalctl when i check after a restart.


sudo lsusb -v
To get product id and vendor id

Journalctl | grep card
To get the card

I don’t know what card you are using. But if it is not a Hauppauge Wintv-soloHD, allow me to suggest you to open a new thread so any future readers may not be wrongfully guided.

Anyway, my suggestion is for you to try to manually execute the above commands as sudoer (sudo su) and evaluate the error. If the “echo” into usb/drivers proceeds as expected, a “cat” should echo the correct values.