Plex + hauppauge USB DVB not compatible with Debian

I own a Hauppauge WinTV-dualHD and WinTV-soloHD. I tested both tuners on 2 separate linux machines with different kinds of Plex installations. All possible combinations fail to complete the dvb setup process.

To exclude user and product failures I tested everything double redundant. I have 2 unrelated systems ( Fresh ubuntu 20.04 LTS (dell optiplex) and Proxmox (self build nas system)). I tried different software deployments: snap, deb and the official docker container. I tried 2 different hauppauge USB DVB tuners.
None of these combinations worked!

I followed the official Plex and hauppage setup guides but that did not help. I always ran in the same issue:

I reported this issue one year ago but it slowly died of inactivity.
DVR setup fails

Once in a while I desperately try a fresh Plex release to check if the problem got solved, only to find the same Error/Warning patterns in the DVB log file. (see linked issue)
I am loosing faith that this will ever be fixed.

Cross check: both tuners work on my proxmox host and fresh ubuntu installation with the Tvheadend docker container.

I am in Europe and try to setup dvb-t.

Are you able to setup DVB with Hauppauge tuners?

Looking forward to your opinion.

Confirm that you have the have the correct firmware for the device available, per this comment in the thread you linked (another Hauppauge user having success):

Hi @pshanew. Thanks for the heads up.
I did that.
For example on the Ubuntu device I added the appropriate firmware using the official instructions from hauppage.

Is user plex a member of the group which the drivers are loaded as?

Plex is not privileged on Linux. It cannot access devices unless permissions grant it.

If the tuner was added AFTER Plex was installed, it won’t be aware of the tuner.

The installer is written to search for tuners and other devices at installation time and add plex to those group(s) as appropriate.

I confirm that I still successfully use DVB-C (WinTV Dual-HD) in the Netherlands with the latest stable version 1.25.3.5385. Running PMS on Arch Linux (bare, not e.g. in Docker or Proxxmox).

Note that there is an ongoing issue in the current version (v1.22.3.4523 and later) where not all found channels are successfully validated/stored. You can workaround that for now to do the scan in an older version (<=v1.22.3.4523) and update back to the latest after. This doesn’t seem to be the problem you currently have though.

I added user plex to the dailout group and changed permission of the device recursively to 777.
I thought drivers are loaded by dailout, however i am unsure at this moment.

@ChuckPa to which installer script are you referring? The one from the deb release? Docker and snap can be deployed without this installation step right?

Hi Broekmanium.
Good to hear that your setup works. Wondering how your lsusb looks like.
I noticed that my dvb device output changed after installing the PPA firmware.

lsusb:
Bus 003 Device 004: ID 2040:8265 Hauppauge dualHD.

Could you do the following:
Unplug the Hauppauge
Start “dmesg -w” (tails dmesg)
Insert the Hauppauge
What’s the output?

The plex user must be allowed to access the video group, which is the default group DVR devices show up in: usermod -a -G video plex

Update from my Ubuntu 20.04 LTS machine:
@Broekmanium plex was already part of the video group. I also added plex to the plugdev group.

as I am running an HWE release I ran following commands to install the appropriate firmware:

sudo add-apt-repository ppa:b-rad/kernel+mediatree+hauppauge
sudo apt-get update
sudo apt-get install linux-hwe-mediatree
sudo apt-get install linux-firmware-hauppauge
sudo reboot

Extracted from the hauppauge support page.

Output of lsusb : Bus 003 Device 004: ID 2040:8268 Hauppauge soloHD

output of dmesg -w:

[  424.739582] usb 3-6: new high-speed USB device number 4 using xhci_hcd
[  424.892262] usb 3-6: New USB device found, idVendor=2040, idProduct=8268, bcdDevice= 1.00
[  424.892267] usb 3-6: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[  424.892269] usb 3-6: Product: soloHD
[  424.892270] usb 3-6: Manufacturer: HCW
[  424.892271] usb 3-6: SerialNumber: 0014043999
[  424.909623] mc: Linux media interface: v0.10
[  424.916757] videodev: Linux video capture interface: v2.00
[  424.916759] 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):
               	9c3a0f285248899dfa81585bc5d5bc9ebdb8fead Merge tag 'v5.14-rc4' into media_tree
               	bfee75f73c37a2f46a6326eaa06f5db701f76f01 media: venus: venc: add support for V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM control
               	f7a3d3dc5831df6f898a5ae2a6ea1d221ea95c8a media: venus: venc: Add support for intra-refresh period
[  424.923601] em28xx 3-6:1.0: New device HCW soloHD @ 480 Mbps (2040:8268, interface 0, class 0)
[  424.923605] em28xx 3-6:1.0: DVB interface 0 found: bulk
[  424.983733] em28xx 3-6:1.0: chip ID is em28178
[  427.010320] em28xx 3-6:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x23c3c680
[  427.010325] em28xx 3-6:1.0: EEPROM info:
[  427.010326] em28xx 3-6:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[  427.017091] em28xx 3-6:1.0: 	AC97 audio (5 sample rates)
[  427.017093] em28xx 3-6:1.0: 	500mA max power
[  427.017094] em28xx 3-6:1.0: 	Table at offset 0x27, strings=0x0e6a, 0x1888, 0x087e
[  427.075611] em28xx 3-6:1.0: Identified as PCTV tripleStick (292e) (card=94)
[  427.075615] em28xx 3-6:1.0: dvb set to bulk mode.
[  427.075761] usbcore: registered new interface driver em28xx
[  427.084133] 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):
               	9c3a0f285248899dfa81585bc5d5bc9ebdb8fead Merge tag 'v5.14-rc4' into media_tree
               	bfee75f73c37a2f46a6326eaa06f5db701f76f01 media: venus: venc: add support for V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM control
               	f7a3d3dc5831df6f898a5ae2a6ea1d221ea95c8a media: venus: venc: Add support for intra-refresh period
[  427.087490] em28xx 3-6:1.0: Binding DVB extension
[  427.099267] i2c i2c-10: Added multiplexed i2c bus 11
[  427.099270] si2168 10-0064: Silicon Labs Si2168-B40 successfully identified
[  427.099272] si2168 10-0064: firmware version: B 4.0.2
[  427.103947] si2157 11-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  427.103967] dvbdev: DVB: registering new adapter (3-6:1.0)
[  427.103970] em28xx 3-6:1.0: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[  427.103972] dvbdev: dvb_create_media_entity: media entity 'Silicon Labs Si2168' registered.
[  427.104362] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  427.105217] em28xx 3-6:1.0: DVB extension successfully initialized
[  427.105221] em28xx: Registered (Em28xx dvb Extension) extension
[  427.109699] em28xx 3-6:1.0: Registering input extension
[  427.139582] Registered IR keymap rc-pinnacle-pctv-hd
[  427.139797] rc rc0: PCTV tripleStick (292e) as /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc0
[  427.139862] rc rc0: lirc_dev: driver em28xx registered at minor = 0, scancode receiver, no transmitter
[  427.139898] input: PCTV tripleStick (292e) as /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc0/input38
[  427.139969] em28xx 3-6:1.0: Input extension successfully initialized
[  427.139972] em28xx: Registered (Em28xx Input Extension) extension

However, the problem remains on my Debian machine!

I Tried:

wget https://github.com/OpenELEC/dvb-firmware/raw/master/firmware/dvb-demod-si2168-b40-01.fw
sudo cp dvb-demod-si2168-b40-01.fw /lib/firmware/dvb-demod-si2168-b40-01.fw
sudo reboot

Output of lsusb: Bus 001 Device 004: ID 2040:8268 Hauppauge

Output of dmesg -w:

[  394.161146] usb 1-1: new high-speed USB device number 4 using xhci_hcd
[  394.317697] usb 1-1: New USB device found, idVendor=2040, idProduct=8268, bcdDevice= 1.00
[  394.317698] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[  394.317699] usb 1-1: Product: soloHD
[  394.317700] usb 1-1: Manufacturer: HCW
[  394.317700] usb 1-1: SerialNumber: 0014043999
[  394.328040] mc: Linux media interface: v0.10
[  394.332375] videodev: Linux video capture interface: v2.00
[  394.334880] em28xx 1-1:1.0: New device HCW soloHD @ 480 Mbps (2040:8268, interface 0, class 0)
[  394.334882] em28xx 1-1:1.0: DVB interface 0 found: bulk
[  394.397325] em28xx 1-1:1.0: chip ID is em28178
[  396.443574] em28xx 1-1:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x23c3c680
[  396.443575] em28xx 1-1:1.0: EEPROM info:
[  396.443576] em28xx 1-1:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[  396.450075] em28xx 1-1:1.0: 	AC97 audio (5 sample rates)
[  396.450076] em28xx 1-1:1.0: 	500mA max power
[  396.450077] em28xx 1-1:1.0: 	Table at offset 0x27, strings=0x0e6a, 0x1888, 0x087e
[  396.509188] em28xx 1-1:1.0: Identified as PCTV tripleStick (292e) (card=94)
[  396.509189] em28xx 1-1:1.0: dvb set to bulk mode.
[  396.509280] usbcore: registered new interface driver em28xx
[  396.515852] em28xx 1-1:1.0: Binding DVB extension
[  396.520634] i2c i2c-8: Added multiplexed i2c bus 9
[  396.520635] si2168 8-0064: Silicon Labs Si2168-B40 successfully identified
[  396.520636] si2168 8-0064: firmware version: B 4.0.2
[  396.523157] si2157 9-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  396.523173] dvbdev: DVB: registering new adapter (1-1:1.0)
[  396.523175] em28xx 1-1:1.0: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[  396.523177] dvbdev: dvb_create_media_entity: media entity 'Silicon Labs Si2168' registered.
[  396.523517] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  396.524478] em28xx 1-1:1.0: DVB extension successfully initialized
[  396.524480] em28xx: Registered (Em28xx dvb Extension) extension
[  396.527854] em28xx 1-1:1.0: Registering input extension
[  396.561156] Registered IR keymap rc-pinnacle-pctv-hd
[  396.561299] rc rc0: PCTV tripleStick (292e) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/rc/rc0
[  396.561342] rc rc0: lirc_dev: driver em28xx registered at minor = 0, scancode receiver, no transmitter
[  396.561371] input: PCTV tripleStick (292e) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/rc/rc0/input15
[  396.561414] em28xx 1-1:1.0: Input extension successfully initialized
[  396.561415] em28xx: Registered (Em28xx Input Extension) extension

For me at this point it looks like a firmware issue on my Debian computer. Do you have any idea how I could install the correct firmware?

(At this point I feel bad for the bold topic title, because I was able to partially fix my problems. → I will change it)

Followup point:

Whichever UID/GID pair is used in the container, that UID/GID pair is what must have the group membership

E.G.

  1. Native Plex package installed and id plex returns
uid=996(plex) gid=996(plex) groups=996(plex),44(video),109(render)
  1. To gain the group mapping user plex has, you must use the same UID/GID

I’m stating this because even though the device might already be mapped with the --device /dev/xxx:/dev/xxx, permissions granted to the host’s UID/GID still prevail

If PMS isn’t running as default plex:plex, please adjusts the above accordingly.

Thanks @ChuckPa for the suggestions. I double checked. I ran docker with appropriate permissions and checked the /dev/dvb/ device permissions both look fine.

At this point I really think it is an firmware issue.
I tried to install B~rad’s Ubuntu packages on Debian but I failed.

His github repo is available here: GitHub - b-rad-NDi/Ubuntu-media-tree-kernel-builder: Slip stream the latest LinuxTV.org media drivers into an installable Ubuntu kernel package

I tried to install the packages with following commands.

wget https://launchpad.net/~b-rad/+archive/ubuntu/kernel+mediatree+hauppauge/+files/linux-mediatree_0.2.2+focal_all.deb
wget https://launchpad.net/~b-rad/+archive/ubuntu/kernel+mediatree+hauppauge/+files/linux-firmware-hauppauge_0.1.8+focal_all.deb

sudo dpkg -i  linux-mediatree_0.2.2+focal_all.deb  
sudo dpkg -i  linux-firmware-hauppauge_0.1.8+focal_all.deb

OR

sudo dpkg -i --ignore-depends=linux-image-5.4.0-962201191901-generic,linux-modules-5.4.0-962201191901-generic,linux-modules-extra-5.4.0-962201191901-generic,linux-headers-5.4.0-962201191901-generic  linux-mediatree_0.2.2+focal_all.deb  
sudo dpkg -i  --force-overwrite linux-firmware-hauppauge_0.1.8+focal_all.deb

sudo reboot

However that did not work, output of lsusb remained the same: Bus 001 Device 004: ID 2040:8268 Hauppauge
Do you have an idea’s how I could install these Ubuntu packages on my Debian proxmox client?

At least someone else is also asking for installation instructions on debian :-p

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.