kernel patch - dvbsky s960

geronimobb

Well-Known Member
Apr 22, 2017
35
1
48
50
Hy,

I don't know if this is the right place to ask for, but asking doens't hurt...

There is allready a longer time (months) a problem with the dvbsky s960 satellite tuner under linux. I use a container under proxmox to utilize these tuners (tvheadend). There is a patch available since a few weeks:
https://bugzilla.kernel.org/show_bug.cgi?id=199323
Could this patch be included with the next kernel upgrade in proxmox?

Kind regards.
 
The status of the bug is still 'new', so it could still take some time before the patch will be included somewhere..

Just to inform other interested people, i've compiled the proxmox kernel with this patch, and the patch seems to solve the issues (some days allready).
 
I can also confirm the patch works for me.
Running Proxmox VE 6.0, compiled custom kernel at version 5.0.21-1-pve

Steps for beginners like myself:
SSH to Proxmox
# apt install automake cpio dh-python file gcc kmod libiberty-dev libpve-common-perl libtool perl-modules python-minimal sed tar zlib1g-dev libslang2-dev
# cd /usr/src
# git clone git://git.proxmox.com/git/pve-kernel.git
# cd pve-kernel
# nano patches/kernel/dvbsky.patch
Code:
diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c
index 123f2a33738b..403f42806455 100644
--- a/drivers/media/dvb-frontends/m88ds3103.c
+++ b/drivers/media/dvb-frontends/m88ds3103.c
@@ -309,6 +309,9 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
     u16 u16tmp;
     u32 tuner_frequency_khz, target_mclk;
     s32 s32tmp;
+    static const struct reg_sequence reset_buf[] = {
+        {0x07, 0x80}, {0x07, 0x00}
+    };
 
     dev_dbg(&client->dev,
         "delivery_system=%d modulation=%d frequency=%u symbol_rate=%d inversion=%d pilot=%d rolloff=%d\n",
@@ -321,11 +324,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
     }
 
     /* reset */
-    ret = regmap_write(dev->regmap, 0x07, 0x80);
-    if (ret)
-        goto err;
-
-    ret = regmap_write(dev->regmap, 0x07, 0x00);
+    ret = regmap_multi_reg_write(dev->regmap, reset_buf, 2);
     if (ret)
         goto err;
# make
# dpkg -i *.deb
# reboot

Source: https://git.kernel.org/pub/scm/linu...c?id=981fbe3da20a6f35f17977453bce7dfc1664d74f
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!