Hello Brad, I found this patch you wrote: https://github.com/b-rad-NDi/Ubuntu-media-tree-kernel-builder/blob/master/patches/mainline-extra/tip/10.random.patches/0004-si2168-different-default-that-windows-driver.patch Subject: [PATCH 4/5] si2168: different default that windows driver Unsure of meaning, look into... --- drivers/media/dvb-frontends/si2168.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 0d9d384cf..72794ead8 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c @@ -418,6 +418,8 @@ static int si2168_set_frontend(struct dvb_frontend *fe) } cmd_init(&cmd, "\x14\x00\x0f\x10\x10\x00", 6, 4); + /* BUGBUG? FW defaults to 1, but windows driver uses 30; above is 0? */ + cmd.args[5] = 30; ret = si2168_cmd_execute(client, &cmd); if (ret) goto err; 0x14 = SET_PROPERTY args[1] is ignored args[2:3] = little-endian property = 0x100f args[4:5] = little-endian prop_arg = 0x0010 0x100f configures the "Signal Quality Indicator" computation. The value is averaged over the last N samples. N = prop_arg_bits[0:4] (legal values are 1-30, dunno what happens for 0 and 31) You're not supposed to change args[5] i.e. prop_arg_bits[8:15] Maybe you meant cmd.args[4] = 30; ? Or just change the command to "\x14\x00\x0f\x10\x1e\x00" ? Or just use 16 samples instead of 30 for the averaging? Regards.