The TDA18250 tuner doesn't know anything about SNR, so it's not possible to get those figures out from there unfortunately.
Did you have the same issues with the signal strength using the other driver published in this discussion? If not, we could do a comparison (although this requires some work from your side). The tuner is basically operated by storing values into the 93 registers it has. Each register contains a single 8-bit unsigned integer (ie. value between 0 and 255).
Good news is, we can dump the register values. The driver in my media_tree already supports dumping of the register values if you have debugfs installed (most modern Linux distros do have). So, do the following first with "my" driver:
- make sure no driver is loaded (modprobe -r)
- modprobe tda18250
- sudo sh -c 'echo "file *tda18250* +pfml" > /sys/kernel/debug/dynamic_debug/control'
- modprobe dvb-usb-dib0700
- start the playback of a problematic stream
- sudo cat /sys/kernel/debug/regmap/1-0060/registers
Store the output. Also, take the kernel log output store that (dmesg).
Then we need to modify the "other" driver.
Around line 87 of the drivers/media/tuners/tda18250/tda18250b_i2c.c file you'll find something like this:
static const struct regmap_config regmap_config = { .reg_bits = 8,
.val_bits = 8 };
However, this is missing the definition of max_register, which enables us to dump all regs. Modify this in the following way:
static const struct regmap_config regmap_config = { .reg_bits = 8,
.val_bits = 8, .max_register = 0x5c };
Now you can compile and install the other driver. Then just start playing a stream (you don't need to do any enabling of any debugs, the regmap debug should be there by default). And do:
- sudo cat /sys/kernel/debug/regmap/1-0060/registers
Store the output.
Now attach the register dumps and the kernel log here and we can compare to see what is different.
On the other hand, if the same problem exists with both drivers, there's not much we can do without getting a reference USB dump (maybe from a real Xbox and USB sniffer)...