Digital Devices Cine S2 V6, no channels

  • Hi,

    I have a Digital Devices Cine S2 V6 dual-tuner DVB-S card installed on a custom built PC with Libreelec v10.0.0.4. It should work out-of-the-box but I cannot find any channels using TVHeadend.

    Here is what works:

    a) The PCI card is recognized. lscpi -v gives (only relevant part shown):

    01:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter

    Subsystem: Digital Devices GmbH Octopus DVB Adapter (Cine S2 V6 DVB adapter)

    Flags: bus master, fast devsel, latency 0, IRQ 136

    Memory at df100000 (64-bit, non-prefetchable) [size=64K]

    Capabilities: [50] Power Management version 3

    Capabilities: [70] MSI: Enable+ Count=1/2 Maskable- 64bit+

    Capabilities: [90] Express Endpoint, MSI 00

    Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=00c <?>

    Kernel driver in use: ddbridge

    Kernel modules: ddbridge

    b) The kernel claims to have a driver

    # modinfo ddbridge

    filename: /lib/modules/5.10.161/updates/driver.dvb.digital_devices/ddbridge.ko

    version: 0.9.38

    license: GPL v2

    author: Ralph and Marcus Metzler, Metzler Brothers Systementwicklung GbR

    description: Digital Devices PCIe Bridge

    srcversion: 056F073746F0BFBEE6402B9

    alias: pci:v0000DD01d00000329sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000328sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000323sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000322sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000321sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000320sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000223sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000222sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000221sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000220sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000210sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000203sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000201sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000020sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000013sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000012sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000011sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d0000000Bsv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d0000000Asv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000009sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000008sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000007sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000006sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000005sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000003sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000002sv0000DD01sd*bc*sc*i*

    depends: cxd2099,dvb-core

    retpoline: Y

    name: ddbridge

    vermagic: 5.10.161 SMP mod_unload

    parm: default_mod:default modulations enabled, default is 3 (1 = QPSK, 2 = 8PSK, 4 = 16APSK, ...) (int)

    parm: fmode:frontend emulation mode (int)

    parm: fmode_sat:set frontend emulation mode sat (int)

    parm: old_quattro:old quattro LNB input order (int)

    parm: adapter_alloc:0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all (int)

    parm: ci_bitrate: Bitrate in KHz for output to CI. (int)

    parm: ts_loop:TS in/out test loop on port ts_loop (int)

    parm: dummy_tuner:attach dummy tuner to port 0 of supported cards (int)

    parm: vlan:VLAN and QoS IDs enabled (int)

    parm: xo2_speed:default transfer speed for xo2 based duoflex, 0=55,1=75,2=90,3=104 MBit/s, default=2, use attribute to change for individual cards (int)

    parm: raw_stream:send data as raw stream to DVB layer (int)

    parm: alt_dma:use alternative DMA buffer handling (int)

    parm: no_init:do not initialize most devices (int)

    parm: stv0910_single:use stv0910 cards as single demods (int)

    parm: dma_buf_num:dma buffer number, possible values: 8-32 (int)

    parm: dma_buf_size:dma buffer size as multiple of 128*47, possible values: 1-43 (int)

    parm: adapter_nr:DVB adapter numbers (array of short)

    parm: msi: Control MSI interrupts: 0-disable, 1-enable (default) (int)

    c) TVHeadend does see the card:forum.libreelec.tv/core/attachment/9038/

    d) Network is configured:

    forum.libreelec.tv/core/attachment/9040/


    e) When I run w_scan under Opensuse 15.3 (its a dual-boot machine), I get this:

    # w_scan -fs -s S19E2 | head -n 20

    w_scan -fs -s S19E2

    w_scan version 20170107 (compiled for DVB API 5.11)

    using settings for 19.2 east Astra 1KR/1L/1N/1M

    scan type SATELLITE, channellist 68

    output format vdr-2.0

    output charset 'UTF-8', use -C <charset> to override

    Info: using DVB adapter auto detection.

    /dev/dvb/adapter0/frontend0 -> SATELLITE "STV090x Multistandard": very good :-))

    Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0)

    -_-_-_-_ Getting frontend capabilities-_-_-_-_

    Using DVB API 5.11

    frontend 'STV090x Multistandard' supports

    INVERSION_AUTO

    DVB-S

    DVB-S2

    FREQ (0.95GHz ... 2.15GHz)

    SRATE (1.000MSym/s ... 45.000MSym/s)

    using LNB "UNIVERSAL"

    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

    trying 'S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK (0:0:0)'

    (time: 00:00.067) signal ok: S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK (0:0:0)

    S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK (0:0:0) : updating network_id -> (0:1:0)

    new transponder: (S2 f = 11214 kHz H SR = 23500 3/4 0,20 8PSK (1:1:1001)) 0x4043

    new transponder: (S2 f = 11229 kHz V SR = 22000 2/3 0,20 8PSK (1:1:1002)) 0x4043

    ...


    f) Opensuse uses an older driver version though:

    # modinfo ddbridge

    filename: /lib/modules/5.3.18-150300.59.106-preempt/kernel/drivers/media/pci/ddbridge/ddbridge.ko.xz

    version: 0.9.33-integrated

    license: GPL v2

    author: Ralph and Marcus Metzler, Metzler Brothers Systementwicklung GbR

    description: Digital Devices PCIe Bridge

    suserelease: SLE15-SP3

    srcversion: C1B6C8F471BF2D085A0825C

    alias: pci:v0000DD01d00000329sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000328sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000323sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000322sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000321sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000320sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000220sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000210sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000203sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000201sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000013sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000012sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000011sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000009sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000008sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000007sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000006sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000005sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000003sv0000DD01sd*bc*sc*i*

    alias: pci:v0000DD01d00000002sv0000DD01sd*bc*sc*i*

    depends: dvb-core

    supported: no

    retpoline: Y

    intree: Y

    name: ddbridge

    vermagic: 5.3.18-150300.59.106-preempt SMP preempt mod_unload modversions

    sig_id: PKCS#7

    signer: SUSE Linux Enterprise Secure Boot CA

    sig_key: ED:87:85:B7:8F:FC:12:7F

    sig_hashalgo: sha256

    signature: 68:53:B6:15:91:4E:43:2E:0C:77:42:28:43:0A:E8:51:EE:92:B5:FA:

    02:1A:82:8A:B2:C7:C5:0C:42:FE:FA:FB:0E:95:BA:D7:AF:8F:6A:D3:

    CE:06:AA:D5:7C:03:3A:1C:10:13:C9:32:8B:83:C8:31:A9:99:FF:76:

    F8:5A:D5:8B:D1:D7:61:B9:77:52:6C:BC:CA:7E:A9:0E:00:71:87:44:

    1E:91:AA:6C:18:C5:98:FC:FA:D8:85:24:0D:86:28:9B:5E:AB:37:4D:

    CE:59:F0:47:24:E8:19:C6:99:92:F9:B1:9F:06:CA:15:09:D0:C4:E0:

    97:38:1E:89:74:F5:90:D0:02:08:18:EE:5E:E5:7A:C5:EC:8C:78:84:

    D5:4B:E9:7D:DE:04:44:B1:5E:3D:8A:DF:2A:1D:2C:49:DE:BF:CC:AB:

    0B:E3:1C:65:99:0A:55:9D:4F:83:2F:9A:95:F2:5F:48:B4:CF:F3:9A:

    55:C4:B7:26:28:A3:F9:F1:9D:B1:1E:DB:B2:C8:BC:40:9D:BE:E7:09:

    23:7C:81:AF:1B:AA:5A:DD:8C:1B:46:14:8B:A6:B1:0A:82:8E:8D:10:

    14:22:D3:C2:67:B4:26:1C:3B:3F:3B:58:05:02:A3:77:AB:36:3D:72:

    64:D1:9D:BF:E3:BE:7C:DA:13:3F:C5:C7:EA:5C:C2:3C

    parm: fmode:frontend emulation mode (int)

    parm: fmode_sat:set frontend emulation mode sat (int)

    parm: old_quattro:old quattro LNB input order (int)

    parm: adapter_nr:DVB adapter numbers (array of short)

    parm: adapter_alloc:0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all (int)

    parm: ci_bitrate: Bitrate in KHz for output to CI. (int)

    parm: ts_loop:TS in/out test loop on port ts_loop (int)

    parm: xo2_speed:default transfer speed for xo2 based duoflex, 0=55,1=75,2=90,3=104 MBit/s, default=2, use attribute to change for individual cards (int)

    parm: alt_dma:use alternative DMA buffer handling (int)

    parm: no_init:do not initialize most devices (int)

    parm: stv0910_single:use stv0910 cards as single demods (int)

    parm: dma_buf_num:Number of DMA buffers, possible values: 8-32 (int)

    parm: dma_buf_size:DMA buffer size as multiple of 128*47, possible values: 1-43 (int)

    parm: dummy_tuner:attach dummy tuner to port 0 on Octopus V3 or Octopus Mini cards (int)

    parm: msi:Control MSI interrupts: 0-disable (default), 1-enable (int)

    Now for the part that is not working:

    g) However, the scan with TVHeadend fails:

    forum.libreelec.tv/core/attachment/9041/


    h) w_scan on Libreelec fails:

    # w_scan -fs -s S19E2

    w_scan -fs -s S19E2

    w_scan version 20170107 (compiled for DVB API 5.11)

    using settings for 19.2 east Astra 1KR/1L/1N/1M

    scan type SATELLITE, channellist 68

    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:4004: FATAL: ***** NO USEABLE SATELLITE CARD FOUND. *****

    Please check wether dvb driver is loaded and

    verify that no dvb application (i.e. vdr) is running.

    Note, vdr.bin is not activated here, I ensured this via:
    # ps -Aef | grep -i vdr

    1246 root 0:00 grep -i vdr

    I'm a bit stuck. From the output of w_scan under opensuse I deduce that my hardware setup is OK. Both systems claim to have a driver for the card, the working one even an older driver. w_scan gives two items to check and I think both should be fine. I tried to load the Addon for Digital-Devices drivers and the default kernel ones without any change to this.

    I assume that once I get w_scan working under libreelec then I probably can get tvheadend to work as well.

    Any ideas how to go on with this?

    Andreas

  • Thanks for the reply. This did change the driver:

    LibreELEC:
    ~ # modinfo ddbridge

    filename: /lib/modules/5.10.161/kernel/drivers/media/pci/ddbridge/ddbridge.ko

    version: 0.9.33-integrated

    license: GPL v2

    author: Ralph and Marcus Metzler, Metzler Brothers Systementwicklung GbR

    description: Digital Devices PCIe Bridge

    srcversion: 26A5F203B39FDCD7E5CC63E

    ...

    But the results with w_scan and tvheadend stay the same.

    Update: Attached screenshots of what I selected now. Note that I am asked to reboot reach time I pick "LE default drivers". Don't know if that is normal or if that is an indication that something is not saved.

  • Note that I am asked to reboot reach time I pick "LE default drivers". Don't know if that is normal or if that is an indication that something is not saved.

    That is by design. The selected drivers are just set.

    Publish logs by using pastekodi after trying to use the tuner and post the URL. Maybe there is something visible.

  • You may also need a proper firmware file. Maybe Linux4Media cineS2 DVB-S2 Twin Tuner - LinuxTVWiki ?

    Thanks for the hint! The links in mentioned article are unfortunately broken. But looking at the intended target locations there are indeed firmware files present:

    # ls -l /lib/firmware/ngene_*.fw

    lrwxrwxrwx 1 root root 54 Jan 30 19:49 /lib/firmware/ngene_15.fw -> /usr/lib/kernel-overlays/base/lib/firmware/ngene_15.fw

    lrwxrwxrwx 1 root root 54 Jan 30 19:49 /lib/firmware/ngene_16.fw -> /usr/lib/kernel-overlays/base/lib/firmware/ngene_16.fw

    lrwxrwxrwx 1 root root 54 Jan 30 19:49 /lib/firmware/ngene_17.fw -> /usr/lib/kernel-overlays/base/lib/firmware/ngene_17.fw

    lrwxrwxrwx 1 root root 54 Jan 30 19:49 /lib/firmware/ngene_18.fw -> /usr/lib/kernel-overlays/base/lib/firmware/ngene_18.fw

    # ls -l /usr/lib/kernel-overlays/base/lib/firmware/ngene_*

    -rw-r--r-- 1 root root 23466 Mar 12 2021 /usr/lib/kernel-overlays/base/lib/firmware/ngene_15.fw

    -rw-r--r-- 1 root root 23498 Mar 12 2021 /usr/lib/kernel-overlays/base/lib/firmware/ngene_16.fw

    -rw-r--r-- 1 root root 24446 Mar 12 2021 /usr/lib/kernel-overlays/base/lib/firmware/ngene_17.fw

    -rw-r--r-- 1 root root 18920 Mar 12 2021 /usr/lib/kernel-overlays/base/lib/firmware/ngene_18.fw

    # md5sum /usr/lib/kernel-overlays/base/lib/firmware/ngene_*

    d798d5a757121174f0dbc5f2833c0c85 /usr/lib/kernel-overlays/base/lib/firmware/ngene_15.fw

    9f398719d659b70d7fa700dfd6c0e1e3 /usr/lib/kernel-overlays/base/lib/firmware/ngene_16.fw

    26b687136e127b8ac24b81e0eeafc20b /usr/lib/kernel-overlays/base/lib/firmware/ngene_17.fw

    ebce3ea769a53e3e0b0197c3b3f127e3 /usr/lib/kernel-overlays/base/lib/firmware/ngene_18.fw

    That is by design. The selected drivers are just set.

    Publish logs by using pastekodi after trying to use the tuner and post the URL. Maybe there is something visible.


    Yep, "pastekodi" data is here:
    http://ix.io/4mDA

  • A bit of insight. I used strace on w_scan and found:


    ...

    write(2, "Info: using DVB adapter auto det"..., 40Info: using DVB adapter auto detection.

    ) = 40

    openat(AT_FDCWD, "/dev/dvb/adapter0/frontend0", O_RDWR|O_NONBLOCK) = -1 EBUSY (Device or resource busy)

    openat(AT_FDCWD, "/dev/dvb/adapter0/frontend1", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    openat(AT_FDCWD, "/dev/dvb/adapter0/frontend2", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    openat(AT_FDCWD, "/dev/dvb/adapter0/frontend3", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    openat(AT_FDCWD, "/dev/dvb/adapter1/frontend0", O_RDWR|O_NONBLOCK) = -1 EBUSY (Device or resource busy)

    openat(AT_FDCWD, "/dev/dvb/adapter1/frontend1", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    openat(AT_FDCWD, "/dev/dvb/adapter1/frontend2", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    openat(AT_FDCWD, "/dev/dvb/adapter1/frontend3", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    openat(AT_FDCWD, "/dev/dvb/adapter2/frontend0", O_RDWR|O_NONBLOCK) = -1 ENOENT (No such file or directory)

    ...

    and then:

    # lsof | grep frontend

    1239 /storage/.kodi/addons/service.tvheadend42/bin/tvheadend /dev/dvb/adapter1/frontend0

    1239 /storage/.kodi/addons/service.tvheadend42/bin/tvheadend /dev/dvb/adapter0/frontend0

    So I stopped tvheadend42 as well (not just vdr):

    # systemctl stop service.tvheadend42.service

    and then w_scan works at least. So the issue is likely closer to tvheadend.


    I set up logging for tvheadend:


    and when trying to scan (IDLE ---me---> active ---auto---> IDLE) the log file contains:

    # cat tvheadend.log

    2023-01-30 21:13:24.447 [ DEBUG]:mpegts: adding mux 0H in DVB-S-42a to scan queue weight 6 flags 4000

    2023-01-30 21:13:24.447 [ DEBUG]:mpegts: 0H in DVB-S-42a - add raw service

    2023-01-30 21:13:24.447 [ DEBUG]:service: 3: 0H in DVB-S-42a si 0x7ffb88004650 STV090x Multistandard #0 : DVB-S #0 weight 0 prio 10 error 0 (OK)

    2023-01-30 21:13:24.447 [ DEBUG]:service: 2: 0H in DVB-S-42a si 0x7ffb88004590 STV090x Multistandard #1 : DVB-S #0 weight 0 prio 10 error 0 (OK)

    2023-01-30 21:13:24.447 [ INFO]:mpegts: 0H in DVB-S-42a - tuning on STV090x Multistandard #1 : DVB-S #0

    2023-01-30 21:13:24.447 [ ERROR]:linuxdvb: STV090x Multistandard #1 : DVB-S #0 - failed to tune [e=Invalid argument]

    2023-01-30 21:13:27.387 [ DEBUG]:settings: saving to /storage/.kodi/userdata/addon_data/service.tvheadend42/input/dvb/networks/dd51acfdf7f5b8a3c0f8ed6d4c146527/muxes/81e3

    ee984f9514758fbddeaf02cbf8a9


    (marking in bold by me)


    Looking for the message, I found this:
    https://tvheadend.org/issues/3212

    Then I opened the editor for networks:

    I selected 19.2 E Astra from "Pre-defined muxes" and also in the "Orbital positions". When I reopen this the data above is shown.

    And suddenly the Muxes and Services tabs started filling. Now I have to see if thinks work now but that seemed to be the issue. I am reasonably sure I tried editing this network a few times and deleted/created it. But maybe that was while I had the wrong drivers? Hard to tell by now.

    Edited 2 times, last by aks42: Ein Beitrag von aks42 mit diesem Beitrag zusammengefügt. (January 30, 2023 at 8:24 PM).