DVB-S & Vero4k: Terratec Cinnergy S2 USB-Box

I saw some recent progress regarding the DVB situation for the vero 4k. That’s great to hear, many thanks!
Unfortunately, my DVB-S tuner (Terratec Cinnergy S2 USB-Box) still doesn’t work.
Following this advice, I’m starting a new thread with relevant logs (let me know, if I’m missing some).
I’ve just updated to the latest stretch-devel kernel 3.14.29-100-osmc.

After booting the vero4k, I’ve plugged in the DVB-S tuner. I don’t see a device at tvheadend’s web configuration, so I can’t use the tuner.

> sudo journalctl -f
Jun 24 18:14:12 fernseher kernel: usb 1-1: new full-speed USB device number 3 using xhci-hcd
Jun 24 18:14:12 fernseher kernel: usb 1-1: device descriptor read/64, error -71
Jun 24 18:14:12 fernseher kernel: xhci-hcd xhci-hcd.0.auto: Setup ERROR: setup context command for slot 2.
Jun 24 18:14:12 fernseher kernel: usb 1-1: new high-speed USB device number 4 using xhci-hcd
Jun 24 18:14:12 fernseher kernel: usb 1-1: New USB device found, idVendor=0ccd, idProduct=0105
Jun 24 18:14:12 fernseher kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 24 18:14:12 fernseher kernel: usb 1-1: Product: TERRATEC USB Tuner
Jun 24 18:14:12 fernseher kernel: usb 1-1: Manufacturer: Tevii
Jun 24 18:14:12 fernseher kernel: usb 1-1: SerialNumber: 000000031
Jun 24 18:14:12 fernseher kernel: WARNING: You are using an experimental version of the media stack.
                                          As the driver is backported to an older kernel, it doesn't offer
                                          enough quality for its usage in production.
                                          Use it with care.
                                  Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
                                          9eeb0ed0f30938f31a3d9135a88b9502192c18dd [media] mtk-vcodec: fix build warnings without DEBUG
                                          0d1270df836fe9f5cc7e8001b7372ca4fa3f00f6 [media] zd1301: fix building interface driver without demodulator
                                          9165ba166cac5e8c9abda2012ea37cc3430c0b14 [media] usbtv: add sharpness control
Jun 24 18:14:12 fernseher kernel: usb 1-1: dvb_usb_v2: found a 'Terratec Cinergy S2 Rev.4' in warm state
Jun 24 18:14:12 fernseher kernel: usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
Jun 24 18:14:12 fernseher kernel: dvbdev: DVB: registering new adapter (Terratec Cinergy S2 Rev.4)
Jun 24 18:14:12 fernseher kernel: usb 1-1: media controller created
Jun 24 18:14:12 fernseher kernel: usb 1-1: dvb_usb_v2: MAC address: ff:ff:ff:ff:ff:ff
Jun 24 18:14:12 fernseher kernel: dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Jun 24 18:14:12 fernseher kernel: DVB: Unable to find symbol m88ds3103_attach()
Jun 24 18:14:12 fernseher kernel: usb 1-1: dvbsky_s960_attach fail.
Jun 24 18:14:12 fernseher kernel: usbcore: registered new interface driver dvb_usb_dvbsky
Jun 24 18:14:12 fernseher kernel: dw2102: su3000_identify_state
Jun 24 18:14:12 fernseher kernel: dvb-usb: found a 'Terratec Cinergy S2 USB BOX' in warm state.
Jun 24 18:14:12 fernseher kernel: dw2102: su3000_power_ctrl: 1, initialized 0
Jun 24 18:14:12 fernseher kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Jun 24 18:14:12 fernseher kernel: dvbdev: DVB: registering new adapter (Terratec Cinergy S2 USB BOX)
Jun 24 18:14:12 fernseher kernel: usb 1-1: media controller created
Jun 24 18:14:12 fernseher kernel: dvb-usb: MAC address: bc:ea:2b:46:13:a5
Jun 24 18:14:12 fernseher kernel: dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
Jun 24 18:14:13 fernseher kernel: dvb-usb: no frontend was attached by 'Terratec Cinergy S2 USB BOX'
Jun 24 18:14:13 fernseher kernel: rc rc1: IR-receiver inside an USB DVB receiver as /devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/rc/rc1
Jun 24 18:14:13 fernseher kernel: Registered IR keymap rc-tt-1500
Jun 24 18:14:13 fernseher kernel: input: IR-receiver inside an USB DVB receiver as /devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/rc/rc1/input10
Jun 24 18:14:13 fernseher kernel: dvb-usb: schedule remote query interval to 250 msecs.
Jun 24 18:14:13 fernseher kernel: dw2102: su3000_power_ctrl: 0, initialized 1
Jun 24 18:14:13 fernseher kernel: dvb-usb: Terratec Cinergy S2 USB BOX successfully initialized and connected.
Jun 24 18:14:13 fernseher kernel: usbcore: registered new interface driver dw2102
Jun 24 18:14:15 fernseher kernel: dvb-usb: recv bulk message failed: -110
Jun 24 18:14:15 fernseher kernel: dw2102: i2c transfer failed.
> lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2252:1037  
Bus 001 Device 004: ID 0ccd:0105 TerraTec Electronic GmbH 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> dmesg | grep -i dvb
[  128.590207] usb 1-1: dvb_usb_v2: found a 'Terratec Cinergy S2 Rev.4' in warm state
[  128.592666] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[  128.592713] dvbdev: DVB: registering new adapter (Terratec Cinergy S2 Rev.4)
[  128.594000] usb 1-1: dvb_usb_v2: MAC address: ff:ff:ff:ff:ff:ff
[  128.595038] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  128.599609] DVB: Unable to find symbol m88ds3103_attach()
[  128.599627] usb 1-1: dvbsky_s960_attach fail.
[  128.604890] usbcore: registered new interface driver dvb_usb_dvbsky
[  128.661529] dvb-usb: found a 'Terratec Cinergy S2 USB BOX' in warm state.
[  128.661788] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  128.661900] dvbdev: DVB: registering new adapter (Terratec Cinergy S2 USB BOX)
[  128.665942] dvb-usb: MAC address: bc:ea:2b:46:13:a5
[  128.666916] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  128.972445] dvb-usb: no frontend was attached by 'Terratec Cinergy S2 USB BOX'
[  128.972661] rc rc1: IR-receiver inside an USB DVB receiver as /devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/rc/rc1
[  129.000322] input: IR-receiver inside an USB DVB receiver as /devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/rc/rc1/input10
[  129.000446] dvb-usb: schedule remote query interval to 250 msecs.
[  129.000460] dvb-usb: Terratec Cinergy S2 USB BOX successfully initialized and connected.
[  131.250139] dvb-usb: recv bulk message failed: -110

Looking forward to your suggestions!
silberzwiebel

One suggestion would be to take a look at:

https://www.linuxtv.org/wiki/index.php/TerraTec_Cinergy_S2

Does the tuner work on other linux intallations?

This suggests a missing demod to me.
I’ll look in to this shortly

Sam

Yes, it works fine under OSMC on a raspberry pi, I believe it got kernel support from kernel 4.10 or so (in fact, that’s how I’m using it: the raspberry just runs tvheadend and serves live TV over network, while the Vero4k connects to this – but one running device instead of two would be more nice).

Thanks!

Sorry for the delays.

Hopefully the issue is now addressed with the following commit:

I’d appreciate it if you could test this and provide feedback before we potentially release this as an update to other users. To test this update:

  1. Login via the command line
  2. Edit the file /etc/apt/sources.list
  3. Add the following line: deb http://apt.osmc.tv stretch-devel main
  4. Run the following commands to update: sudo apt-get update && sudo apt-get dist-upgrade && reboot
  5. Your system should have have received the update.

Please see if the issue is resolved.

I also recommend you edit /etc/apt/sources.list again and remove the line that you added after updating. This will return you to the normal update channel.

Sam

Thanks Sam, for coming back to this! Looking forward to use my raspberry pi for other stuff than just serving tvheadend to the vero4k :wink:

Unfortunately, your fix didn’t yet resolve the issue.
I’m now on

> uname -a
Linux fernseher 3.14.29-107-osmc #1 SMP Fri Jul 27 02:13:56 UTC 2018 aarch64 GNU/Linux

Plugging the DVB-S tuner into the vero4k leads to the following
journalctl messages and dmesg | grep -i dvb messages.
These messages read quite well to my mind, although the kernel apparently crashes. lsusb doesn’t finish, also indicating a kernel crash (as is the fact that the vero4k doesn’t power down properly).

No tuner is appearing in tvheadend and w_scan also doesn’t find a tuner, but I got three directories here:

> ls /dev/dvb/adapter0/
demux0  dvr0  net0

No difference in behavior if plugging the tuner in before the vero4k is booted or after it is booted.

If you need more info, just let me know.
Thanks.

That’s an odd crash. Have you tested the tuner on another device?
I had a customer open a ticket for a tuner which required the same demodulator, and they have reported the issue as resolved.

Sam

The tuner is working fine with (a rather old version of) OSMC on a raspberry pi.

Can you run output of uname -a on the working Pi?

Sam

>  uname -a
Linux fernseheralt 4.9.29-10-osmc #1 SMP PREEMPT Mon Oct 9 02:18:18 UTC 2017 armv7l GNU/Linux

Thanks – that’s helpful

1 Like

Given that we are pretty close to finally solve this issue – is there any way that I can help to move things forward? Thanks!

I’ll take another look at this shortly.

1 Like

I just upgraded my vero4k to the latest October update but my DVB-S tuner still does not work. It fails with the same error messages as posted above. I would be glad, if I could finally use my vero4k without any additional devices to watch live TV. How can I reset the vero4k and have a new, clean installation (assuming this might help with my problem)?

I believe we still need to resolve this

Sam

Happy to provide whatever helps you to solve this issue.

I think this means the .fw hasn’t been downloaded to the USB tuner, or else it might have the wrong .fw loaded on the tuner.

What you want to see is: ‘found …in cold state’ and then ‘downloading’.

Try copying the /lib/firmware file for this tuner from your Rasp Pi to the Vero.
(actually, the files are small, so just copy all of your Pi .fw files to the Vero).

To initiate the .fw downloading, you’ll need to plug out the tuner, and then plug it in again.
dmesg should show the tuner discovered and then .fw downloading.

Thanks for your suggestions, @anbodearg!
Here is dmesg | grep -i dvb from the raspi (not the vero4k! for which the adapter is not working!):

[   18.619273] dvb-usb: found a 'Terratec Cinergy S2 USB BOX' in warm state.
[   18.619450] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   18.619553] dvbdev: DVB: registering new adapter (Terratec Cinergy S2 USB BOX)
[   18.624827] dvb-usb: MAC address: bc:ea:2b:46:13:a5
[   19.025527] usb 1-1.5: DVB: registering adapter 0 frontend 0 (Montage Technology M88DS3103)...
[   19.072947] rc rc0: IR-receiver inside an USB DVB receiver as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/rc/rc0
[   19.073127] input: IR-receiver inside an USB DVB receiver as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/rc/rc0/input0
[   19.073147] dvb-usb: schedule remote query interval to 250 msecs.
[   19.073160] dvb-usb: Terratec Cinergy S2 USB BOX successfully initialized and connected.
[   19.140554] usbcore: registered new interface driver dvb_usb_dvbsky
[   31.312274] m88ds3103 3-0068: downloading firmware from file 'dvb-demod-m88ds3103.fw'
[   32.353454] usb 1-1.5: DVB: adapter 0 frontend 0 frequency 0 out of range (950000..2150000)

I updated the raspi to the latest OSMC release and the DVB-S tuner is still working (after I found out that I needed to disable vdr first, sigh). As you can see, the first line of the dmesg is also finding the tuner in a warm state, so I don’t think that’s the problem.

I additionally checked with md5sum /lib/firmware/dvb-demod-m88ds3103.fw whether the relevant firmware file is the same on my raspi as on my vero4k. They are, so I believe the problem lies at a different place.

ok, I think this means that the required frontend in the kernel is missing.

Here’s the same error for a similar tuner:

Thanks for the pointer! I had a look and adjusted the checking command for osmc:

cat /boot/config-3.14.29-126-osmc | grep -i m88d

With this, no result is printed on my vero4k (different from the linked thread in the turris forum). However, it is also not printing the outcome that the required frontend is set as an option in the kernel. I now understand that this is the solution that @sam_nazarko implemented earlier. Apparently, something went wrong there or there is something else wrong.