DVB-T - Unable to get Sony PlayTV to work with openSUSE 13.2

I use a Sony PlayTV device (details here and here) to play broadcast TV with openSUSE 13.1.
Under openSUSE 13.1 # dmesg | grep dvb reports the device thus:

    2.175043] usb 2-1.4: new high-speed USB device number 5 using ehci-pci
    2.260714] usb 2-1.4: New USB device found, idVendor=1415, idProduct=0003
    2.260718] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    2.260720] usb 2-1.4: Product: SCEH-0036
    2.260722] usb 2-1.4: Manufacturer: SONY
    2.260724] usb 2-1.4: SerialNumber: ALR001MFM1
     [snip]
    9.254859] dvb-usb: found a 'Sony PlayTV' in cold state, will try to load a firmware
     [snip]
    9.323305] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
   10.025006] dvb-usb: found a 'Sony PlayTV' in warm state.
   10.025054] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
   10.229024] usb 2-1.4: DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
   10.423601] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
   10.567180] usb 2-1.4: DVB: registering adapter 1 frontend 0 (DiBcom 7000PC)...
   10.787423] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/rc/rc0/input19
   10.787487] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/rc/rc0
   10.787614] dvb-usb: schedule remote query interval to 50 msecs.
   10.787615] dvb-usb: Sony PlayTV successfully initialized and connected.
   10.787743] usbcore: registered new interface driver dvb_usb_dib0700

I have been unable to get this device working with openSUSE 13.2. The device seems to be recognised but is not initiated.
Under opensuse 13.2 # dmesg | grep dvb reports the device thus:

    8.566011] dvb-usb: found a 'Sony PlayTV' in cold state, will try to load a firmware
    8.879114] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
    8.912217] usbcore: registered new interface driver dvb_usb_dib0700

I am posting to seek technical assistance from forum members to help resolve this problem.

Hi
So have you tried scanning, if so what method?

Thanks for responding.
I have been using w_scan and dvbscan. They both produced nul results because device was not initialised (no power light visible on device, no adaptors created in system).
However, it seems this problem is intermitant. After another cold reboot of openSUSE 13.2 the device is initialised correctly, w_scan suceeds and I can view TV in Kaffeine and VLC - though quality is very poor when compared with openSUSE 13.1.
I will keep testing.

I hope this may clarify the problem.
When I shutdown openSUSE 13.1 and immediatly boot openSUSE 13.2 the device is recognised as ‘warm’ and initialised but when I shutdown, switch power off and wait a few minutes before booting openSUSE 13.2 the device is recognised (lsusb lists device ID 1415:0003, syslog reports “found a ‘Sony PlayTV’ in cold state” and lsmod shows driver “dvb_usb_dib0700” is loaded) but is not initialised or connected and no adaptors are created. In this case w_scan reports:

~> w_scan -c AU
w_scan version 20141122 (compiled for DVB API 5.10)
using settings for AUSTRALIA
DVB aerial
DVB-T AU
scan type TERRESTRIAL, channellist 3
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
main:3904: FATAL: ***** NO USEABLE TERRESTRIAL CARD FOUND. *****
Please check wether dvb driver is loaded and
verify that no dvb application (i.e. vdr) is running.

On Tue 12 Jan 2016 03:06:01 AM CST, Tallowwood wrote:

I hope this may clarify the problem.
When I shutdown openSUSE 13.1 and immediatly boot openSUSE 13.2 the
device is recognised as ‘warm’ and initialised but when I shutdown,
switch power off and wait a few minutes before booting openSUSE 13.2 the
device is recognised (lsusb lists device ID 1415:0003, syslog reports
“found a ‘Sony PlayTV’ in cold state” and lsmod shows driver
“dvb_usb_dib0700” is loaded) but is not initialised or connected and no
adaptors are created. In this case w_scan reports:

Code:

~> w_scan -c AU
w_scan version 20141122 (compiled for DVB API 5.10)
using settings for AUSTRALIA
DVB aerial
DVB-T AU
scan type TERRESTRIAL, channellist 3
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to ‘UTF-8’
output charset ‘UTF-8’, use -C <charset> to override
Info: using DVB adapter auto detection.
main:3904: FATAL: ***** NO USEABLE TERRESTRIAL CARD FOUND. *****
Please check wether dvb driver is loaded and
verify that no dvb application (i.e. vdr) is running.

Hi
If you just unplug the USB connection and the replug does it swing into
life?

If it does, then reboot to get it in the unenabled state and then as
root user run udevadm trigger and see if springs into life.


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 SP1|GNOME 3.10.2|3.12.51-60.20-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Sadly, it does not. Also tried plugging the Sony PlayTV device into different USB 2 & 3 sockets again with no success.

This dual DVB-T tuner is robust and popular. Have others been able to get it working with openSUSE 13.2 and if so, how?

Perhaps there is a regression in one of the associated kernel drivers. You could try a new kernel, or (if opposed to the whole shebang) install the latest media build; see:

Thanks for the tip. This takes me back to the days when one really had to study to get DVB devices working with GNU/Linux. I understand the build / install process and some of the pitfalls. I am not sure this will help me since dmesg reports the correct driver is loaded. The modified media builds are new to me (delighted to see the stalwart MCC still contributing). I would be surprised to find they are needed with such old and widely used hardware, but as you say, a regression is possible.
I will study the process and consider my options. Meanwhile, I’d be glad to hear from anyone who has the Sony PlayTV working.

Looking at this a tiny bit closer, it would appear to be an issue of loading the firmware… which begs the question of whether you have the firmware in your 13.2 install … If you’re loading the firmware from your 13.1 install, a simple reboot (a warm boot) into your 13.2 will not cause the device to lose the firmware. However, a cold boot (power off) most definitely will.

I know that your dmesg output from your 13.2 install says

    8.566011] dvb-usb: found a 'Sony PlayTV' in cold state, will try to load a firmware
    8.879114] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'

but I don’t know the specifics of that print message (i.e. whether its a static message or whether its actually found such file on your system and is now uploading the firmware to the device).

Don’t know what you meant by the quality is very poor when you had it working with 13.2 (and again, I’m assuming this working state came about because of warm boots after initializing the device in 13.1 first, as opposed to a cold boot into 13.2 that happened to initialize the device properly)

I can confirm that the correct firmware file exists in /lib/firmware and lsmod confirms it is loaded to kernel, so the problem seems to arise during the initialisation process. Is there a way to test/debug the kernel initialisation & connection process stage?

Don’t know what you meant by the quality is very poor when you had it working with 13.2 (and again, I’m assuming this working state came about because of warm boots after initializing the device in 13.1 first, as opposed to a cold boot into 13.2 that happened to initialize the device properly)

When the Sony PlayTV device is operating under openSUSE 13.2 (ie. after a warm re-boot from openSUSE 13.1) the device appears to me to perform more less reliably (poor SNR, high BER shown on Lubomir Moric’s DVB Signal Monitor widget).
Re-reading my post, I think that that information may not be pertinent, sorry.

okay

and lsmod confirms it is loaded to kernel,
the firmware isn’t loaded to the kernel, its uploaded to the device … specifically its loaded to the IC that requires it …which in your case is the dibcom dib0700 (which IIRC is an usb bridge with an integrated demodulator). lsmod would indicate that the dib0700 kernel driver has been loaded into system memory.

so the problem seems to arise during the initialisation process. Is there a way to test/debug the kernel initialisation & connection process stage?
you can try adding a debug option (see the relevant parm values for that driver … /usr/sbin/modinfo dvb_usb_dib0700 -F parm … set it in the local file of /etc/modprobe.d/) and then see what the logs report.

When the Sony PlayTV device is operating under openSUSE 13.2 (ie. after a warm re-boot from openSUSE 13.1) the device appears to me to perform more less reliably (poor SNR, high BER shown on Lubomir Moric’s DVB Signal Monitor widget).
Re-reading my post, I think that that information may not be pertinent, sorry.
Was not aware of that widget, thanks. It may simply be that the handling/reporting of snr, ber may have changed in the underlining tools (femon, etc) between the 13.1 and 13.2 releases… I don’t know, you’d have to check. There was always a lot of contention about that (the way signal strength was handled and reported) between various developer parties. Its a complex issue. Perhaps some sort of change (rightly or wrongly) finally was made or adopted. Shrugs.

Sorry, I’m struggling with this. If I understand you: firmware is uploaded (by a kernel device connection process) to an IC in the hardware and retained there until that IC loses power, and this explains why a warm device can sometimes be connected while a cold device cannot?

you can try adding a debug option (see the relevant parm values for that driver … /usr/sbin/modinfo dvb_usb_dib0700 -F parm … set it in the local file of /etc/modprobe.d/) and then see what the logs report.

OK, this gives me a path for worthwhile study.

Thanks for your kind advice.

ps. DVB Signal Meter plasmoid shows small bar graphs of Signal strength, SNR and BER for a selected adaptor and frontend.

Yep, exactly, you got it. … Some IC’s will have a small bit of embedded ram to which firmware/instructions are loaded and then utilited by the chip (such as likely the case with the usb bridge chip in your device) whereas some devices (such as pci-e/pci cards) may have an eeprom which the firmware is loaded to and subsequently read from by the IC.

ps. DVB Signal Meter plasmoid shows small bar graphs of Signal strength, SNR and BER for a selected adaptor and frontend.
Thanks. I’m using Tumbleweed and the default Plasma 5 desktop, so unfortunately I can’t check out this (KDE 4, and older plasma based) plasmoid ATM.

I was never able to resolve this issue but a recent kernel update seems to have resolved it for me. Sony PlayTV now works well with openSUSE 13.2, both tuners detected, initialised and connected. Phew!