Still having the issue onHas this issue been resolved?
Still have the issue with 5.15.30-1-pveHas this issue been resolved?
Thanks, I didn't fully understand.When passing the USB tuner to a VM, blacklisting em28xx on the Proxmox host appears to be a work-around.
Please runThanks, I didn't fully understand.
Steps to fix my issue:
1. nano /etc/modprobe.d/pve-blacklist.conf
2. Added this line: blacklist em28xx
3. Saved and rebooted.
4. re-added the USB to VM through GUI
update-initramfs -u
just before rebooting for any changes to files in the directory /etc/modprobe.d/ to have any effect. I think you also need to run proxmox-boot-tool refresh
when using systemd-boot. Or did it already fix it for you?It already worked. Currently scanning channels in my plex/ubuntu VM. Everything would lock up as soon as I tried starting the VM before.Please runupdate-initramfs -u
just before rebooting for any changes to files in the directory /etc/modprobe.d/ to have any effect. I think you also need to runproxmox-boot-tool refresh
when using systemd-boot. Or did it already fix it for you?
Blacklisting the driver won't work for containers. Any idea when the fix will reach Proxmox (5.15)?yep it seems like a bug in the driver code (but another one that was introduced here [0]) [1] [2]
we might cherry-pick it, or wait for it to be included in an upstream release.
in the meantime you can try booting an older kernel version (like the one from your working box)
[0]: https://github.com/torvalds/linux/commit/2c98b8a3458df03abdc6945bbef67ef91d181938
[1]: https://lore.kernel.org/lkml/20220120193730.28155-1-paskripkin@gmail.com/
[2]: https://lore.kernel.org/lkml/12d7f37f-340f-f316-f876-b62a1bd20c52@elbmurf.de/
Jun 01 13:07:46 hades kernel: em28xx 1-1.2:1.0: writing to i2c device at 0xd4 failed (error=-19)
Jun 01 13:07:46 hades kernel: m88ds3103 4-006a: i2c wr failed=-19
proxmox-ve: 7.2-1 (running kernel: 5.15.39-3-pve)
pve-manager: 7.2-7 (running version: 7.2-7/d0dd0e85)
pve-kernel-5.15: 7.2-8
pve-kernel-helper: 7.2-8
pve-kernel-5.15.39-3-pve: 5.15.39-3
pve-kernel-5.15.35-2-pve: 5.15.35-5
pve-kernel-5.15.35-1-pve: 5.15.35-3
pve-kernel-5.15.30-2-pve: 5.15.30-3
ceph-fuse: 15.2.16-pve1
corosync: 3.1.5-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.24-pve1
libproxmox-acme-perl: 1.4.2
libproxmox-backup-qemu0: 1.3.1-1
libpve-access-control: 7.2-4
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.2-2
libpve-guest-common-perl: 4.1-2
libpve-http-server-perl: 4.1-3
libpve-storage-perl: 7.2-7
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 5.0.0-3
lxcfs: 4.0.12-pve1
novnc-pve: 1.3.0-3
proxmox-backup-client: 2.2.5-1
proxmox-backup-file-restore: 2.2.5-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.5.1
pve-cluster: 7.2-2
pve-container: 4.2-2
pve-docs: 7.2-2
pve-edk2-firmware: 3.20210831-2
pve-firewall: 4.2-5
pve-firmware: 3.5-1
pve-ha-manager: 3.4.0
pve-i18n: 2.7-2
pve-qemu-kvm: 6.2.0-11
pve-xtermjs: 4.16.0-1
qemu-server: 7.2-3
smartmontools: 7.2-pve3
spiceterm: 3.2-2
swtpm: 0.7.1~bpo11+1
vncterm: 1.7-1
zfsutils-linux: 2.1.5-pve1
It seems to me that you have two problems.Hey, I have similar problem.
I use a WinTV-NOVA-S2 with my proxmox host. I tried passing the stick to a LXC container, a Linux KVM-VM and a Windows KVM-VM. I couldn't archive any results. With Windows the stick does get detected but cannot find any channels.
Sound like you have a problem getting it to work at all.The stick works fine on an old laptop.
This is the issue of this forum thread. Probably the "inux" inside a VM has the same em28xx driver issue. Containers use the same Proxmox kernel, which the same issue.Linux + tvheadend causes the stick to crash. Only a reboot of the proxmox hosts enables it again. Blacklisting em28xx doesn't solve the issue.
-19 probably means no such device, which is not unexpected for the issue of this forum thread.Has anyone seen this strange error code?
Code:Jun 01 13:07:46 hades kernel: em28xx 1-1.2:1.0: writing to i2c device at 0xd4 failed (error=-19) Jun 01 13:07:46 hades kernel: m88ds3103 4-006a: i2c wr failed=-19
Hey, thank you so much for your quick answer. The laptop uses the same setup I replicated with the VM (Ubuntu/Debian (tried both) Linux with tvheadend). It works well with tvheadend and I can stream flawlessly. I tried the USB-Passthrough on my Synology NAS with a VM and it worked but I had a lot of continuity errors which caused it to be unusable (bandwidth?). The stick is changed to bulk mode btw. I thought about passing the whole controller but I would prefer to use the stick in a LXC container so hardware encoding is available. I will try this next.It seems to me that you have two problems.
Sound like you have a problem getting it to work at all.
What operating system and TV-tuner software do you use on the old laptop? Do you know of people on the internet that got it working with Linux?
USB passthrough (to a VM) struggles with the bandwidth of TV-tuners, PCIe passthrough of a USB controller (to a VM) might help. Or a container, except for the driver issue and only if you can get the TV-tuner to work on Linux.
Maybe start a new forum thread about it (and make sure to always reboot Linux when trying things out until the other issue is fixed in the em28xx driver).
This is the issue of this forum thread. Probably the "inux" inside a VM has the same em28xx driver issue. Containers use the same Proxmox kernel, which the same issue.
-19 probably means no such device, which is not unexpected for the issue of this forum thread.
EDIT: I run MythTV in a container but I don't see the em28xx crash issue any more with the latest kernel (but I also added em28xx{,_rc,_dvb} to /etc/modules, so maybe it does not unload and not trigger the issue).
Since the TV-tuner works with Linux, I would suggest a Ubuntu unprivileged container and add the firmware to the host, bind mount /dev/dvb and map the video group inside the container. I have MythTV working with a WinTV DualHD this way with next to zero overhead. If you run into issues, create a new topic about the errors you get.Hey, thank you so much for your quick answer. The laptop uses the same setup I replicated with the VM (Ubuntu/Debian (tried both) Linux with tvheadend). It works well with tvheadend and I can stream flawlessly. I tried the USB-Passthrough on my Synology NAS with a VM and it worked but I had a lot of continuity errors which caused it to be unusable (bandwidth?). The stick is changed to bulk mode btw. I thought about passing the whole controller but I would prefer to use the stick in a LXC container so hardware encoding is available. I will try this next.
I don't know why, but this doesn't seem to work. If the device is connected to the proxmox host in anyway it seems to die. I tried Arch, Debian and Ubuntu as operating system in the LXC container but since the kernel stays the same, I don't think it changes anything. This isn't possible if the device is blacklisted via /etc/modprobe.d/pve-blacklist.conf, right? Since it seems to work now with the pci passthrough, I will revisit it once the bug in the kernel is published. If you think it's possible you could maybe share a resource on how you did it or what you configured in your LXC container.Since the TV-tuner works with Linux, I would suggest a Ubuntu unprivileged container and add the firmware to the host, bind mount /dev/dvb and map the video group inside the container. I have MythTV working with a WinTV DualHD this way with next to zero overhead. If you run into issues, create a new topic about the errors you get.
I just wanted to thank you all for this thread, and for these summary instructions. Because here we are over a year later, and this problem is still happening on my approximately 3 week old install (Linux 5.15.74-1-pve #1 SMP PVE 5.15.74-1). I was about to pull my hair out because I couldn't get my TV tuner to work in time to watch today's Purdue basketball gameThanks, I didn't fully understand.
Steps to fix my issue:
1. nano /etc/modprobe.d/pve-blacklist.conf
2. Added this line: blacklist em28xx
3. Saved and rebooted.
4. re-added the USB to VM through GUI