usb tv tuner passthrough to casa os

anestef

New Member
Jul 20, 2024
11
0
1
hello i need to passthrough my tv tuner to casa os and when i have jellyfin on it
it doesnt show my tv tuner
when i lsusb i get this Bus 001 Device 003: ID 1d19:1101 Dexatek Technology Ltd. DK DVB-T Dongle
so how can i mount it to my casa os lxc?
 
There have been several threads about this in the past: https://forum.proxmox.com/search/8528127/?q=tuner+lxc&t=post&c[child_nodes]=1&c[nodes][0]=16&o=date
You can use the modern Proxmox web GUI to pass the various /dev/dvb/... nodes to a container using Resources > Add > Device Passthrough (instead of lxc.mount and uid/gui-mappins).

EDIT: Make sure to load the Linux drivers for your tuner on the Proxmox host (as it shares the kernel with the container) and you might have to download some firmware for it.
 
i already tryed what but it doesnt work it doesnt show up the tuner
how to load the linux drivers?
 
Last edited:
[ 3964.700415] usb 1-2: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[ 3964.700422] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[ 3964.710362] rc rc0: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:14.0/usb1/1-2/rc/rc0
[ 3964.710498] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
[ 3964.710534] input: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:14.0/usb1/1-2/rc/rc0/input18
[ 3964.712065] usb 1-2: dvb_usb_v2: schedule remote query interval to 200 msecs
[ 3964.721150] usb 1-2: dvb_usb_v2: 'Dexatek DK DVB-T Dongle' successfully initialized and connected
[ 3964.734063] dvb_usb_v2: 'Dexatek DK DVB-T Dongle:1-2' successfully deinitialized and disconnected
[ 4306.425045] usb 1-1: Product: DVB-T Dongle
[ 4306.432444] usb 1-1: dvb_usb_v2: found a 'Dexatek DK DVB-T Dongle' in warm state
[ 4306.464955] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 4306.464964] dvbdev: DVB: registering new adapter (Dexatek DK DVB-T Dongle)
[ 4306.465243] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4306.467606] usb 1-1: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[ 4306.467613] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[ 4306.476466] rc rc0: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:14.0/usb1/1-1/rc/rc0
[ 4306.476495] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
[ 4306.476527] input: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:14.0/usb1/1-1/rc/rc0/input19
[ 4306.476618] usb 1-1: dvb_usb_v2: schedule remote query interval to 200 msecs
[ 4306.484854] usb 1-1: dvb_usb_v2: 'Dexatek DK DVB-T Dongle' successfully initialized and connected
[ 4308.223749] dvb_usb_v2: 'Dexatek DK DVB-T Dongle:1-1' successfully deinitialized and disconnected
[ 4310.586063] usb 1-1: dvb_usb_v2: found a 'Dexatek DK DVB-T Dongle' in warm state
[ 4310.617711] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 4310.617720] dvbdev: DVB: registering new adapter (Dexatek DK DVB-T Dongle)
[ 4310.617949] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4310.620371] usb 1-1: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[ 4310.620378] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[ 4310.629503] rc rc0: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:14.0/usb1/1-1/rc/rc0
[ 4310.629597] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
[ 4310.629631] input: Dexatek DK DVB-T Dongle as /devices/pci0000:00/0000:00:14.0/usb1/1-1/rc/rc0/input20
[ 4310.629823] usb 1-1: dvb_usb_v2: schedule remote query interval to 200 msecs
[ 4310.638113] usb 1-1: dvb_usb_v2: 'Dexatek DK DVB-T Dongle' successfully initialized and connected
[ 4310.904757] dvb_usb_v2: 'Dexatek DK DVB-T Dongle:1-1' successfully deinitialized and disconnected
root@home:~# ^C




so i got this now
 
Can you show the container configuration (pct config LXC_ID_NUMBER)? What is the numeric ID of the video group inside the container? What is the output of ls -lsR /dev/dvb/ on the Proxmox host when the USB tuner is connected and the drivers are loaded?
 
pct config get me this

onboot: 1
ostype: debian
rootfs: local-lvm:vm-111-disk-0,size=8G
swap: 512
tags: cloud;community-script
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir

ls -lsR /dev/dvb/
get me this
cannot access '/dev/dvb/': No such file or directory
 
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
You don't need any of that to passthrough a tuner device. For a tuner you passthrough /dev/dvb/*.
And you can use the modern Proxmox web GUI to pass the various /dev/dvb/... nodes to a container using Resources > Add > Device Passthrough (as I said before).
I will ask again: What is the numeric ID of the video group inside the container?
ls -lsR /dev/dvb/
get me this
cannot access '/dev/dvb/': No such file or directory
This means that your tuner is not recognized by the kernel/drivers as a DVB-T tuner. Did you look at this website: https://www.linuxtv.org/wiki/index.php/MSI_DigiVox_mini_II_V3.0 (which I found when searching for 1d19:1101)?
Did you get the USB tuner working on Linux before? Do you know of someone who did get it to work with Linux?
 
okay but i dont know how to passthough /deb/dvb
i also dont know what is the numeric id of the video what you asking
i already read about this tuner and it seems to work with this driver what i already installed
rtl2832u

dmesg | grep -i rtl


[ 4.267232] usbcore: registered new interface driver dvb_usb_rtl28xxu
[ 21.452589] rtl2832 1-0010: Realtek RTL2832 successfully attached
[ 21.452600] usb 1-2: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[ 21.452605] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[ 21.454588] rtl2832_sdr rtl2832_sdr.1.auto: Registered as swradio0
[ 21.454591] rtl2832_sdr rtl2832_sdr.1.auto: Realtek RTL2832 SDR attached
[ 21.454592] rtl2832_sdr rtl2832_sdr.1.auto: SDR API is still slightly experimental and functionality changes may follow
[ 21.461376] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
 
okay but i dont know how to passthough /deb/dvb
I can show you as soon as there is a /dev/dvb. It's a line like dev0: /dev/dvb/adapter0/frontend0,gid=VIDEO_GROUP_ID,uid=0 for each file under /dev/dvb/* or you can use the Proxmox web GUI.
i also dont know what is the numeric id of the video what you asking
Use getent group video inside the container to find the ID of the Linux group video inside the container.
i already read about this tuner and it seems to work with this driver what i already installed
rtl2832u

dmesg | grep -i rtl


[ 4.267232] usbcore: registered new interface driver dvb_usb_rtl28xxu
[ 21.452589] rtl2832 1-0010: Realtek RTL2832 successfully attached
[ 21.452600] usb 1-2: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[ 21.452605] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[ 21.454588] rtl2832_sdr rtl2832_sdr.1.auto: Registered as swradio0
[ 21.454591] rtl2832_sdr rtl2832_sdr.1.auto: Realtek RTL2832 SDR attached
[ 21.454592] rtl2832_sdr rtl2832_sdr.1.auto: SDR API is still slightly experimental and functionality changes may follow
[ 21.461376] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
You need to figure out why there is no /dev/dvb on the Proxmox host even though the driver is loaded for your USB tuner.
Did you get the USB tuner working before (like in a VM or a bare metal Linux installation)? Do you know of someone who did get it to work with Linux?
 
what do i need to do to make it work from web gui?

root@casaos:~# getent group video
video:x:44:


yes it works before
and i also made a debian 13 vm in vmware and there it also works
i can clearly stream the tuner via tv headend to my network
 
what do i need to do to make it work from web gui?
You need to have a /dev/dvb directory on the Proxmox host.
yes it works before
and i also made a debian 13 vm in vmware and there it also works
Make sure to load the same drivers (and possibly firmware) as you did on the Debian 13 VM. Maybe (re)create a Debian 13 VM on Proxmox first (with USB passthrough) to get see it create a /dev/dvb directory? I would expect something like DVB: registering adapter 0 frontend 0 in the system log.
 
Last edited: