Dune HD STB - DVB SUPPORT



DVB-S setup and scan

Native Dune UI includes DVB-S setup and scan functionality (available via
Setup / Applications / DVB-S).

The STB persistently stores (in the flash memory) the following kinds of
DVB-S configuration data:

   - "Channel model" data.
      - This enumerates all satellites and transponders known to the STB,
        and DVB-S channels/bouquets found as the result of DVB-S scan
        operation.
      - It is possible to import the list of satellites and transponders
        from the popular "satellites.xml" file format: put the XML file
        named "satellites*.xml" to a USB flash drive, choose the XML file
        in the Dune's file browser and press ENTER RC button. NOTE: As the
        result of such an import, the list of DVB-S channels/bouquets is
        cleared.
      - Location in the filesystem:
         /config/dvb_s_channels.xml
      - Default initial state:
         - Absent (no satellites defined).
      - Is written:
         - When the import of "satellies.xml" file via native Dune UI is
           performed.
         - As the result of the succesfull DVB-S scan operation.
      - Is read/used:
         - When "Edit LNB configuration" Setup UI is launched (to allow the
           user to choose the satellite from the list of known satellites).
         - When DVB-S scan is performed.
         - When built-in UI (available via TV / DVB-S) for browsing
           available DVB-S channels is accessed.

   - "LNB configuration" data.
      - This describes the DVB-S hardware connected to the STB: what LNBs
        are available and what satellites are available through these LNBs
        (and what DiSeqC options should be used for accessing these
        satellites).
      - Can be configured directly via native Dune Setup UI.
      - Location in the filesystem:
         /config/dvb_s_setup.xml
      - Default initial state:
         - Absent (no LNB configurations defined).
      - Is written:
         - When the user changes LNB configuration via native Dune Setup
           UI.
      - Is read/used:
         - When DVB-S scan is performed.

   - Scan results in M3U format.
      - This contains the list of DVB-S channels found as the result of
        DVB-S scan.
      - Each DVB-S channel is represented as a DVB-S media_url (see "DVB-S
        media_url syntax" section). NOTE: each media_url is valid as long
        as "LNB configuration" data which was used during DVB-S scan
        remains unchanged.
      - Location in the filesystem:
         /config/dvb_s_channels.m3u
      - Default initial state:
         - Absent (no DVB-S channels defined).
      - Is written:
         - As the result of the succesfull DVB-S scan operation.
      - Is read/used:
         - Is never used by the native Dune UI. Is generated mostly for
           debugging purposes, and can also be used by 3-party
           applications.

DVB-S media_url syntax

Syntax:
   dvb:///<name>:<frequency>:S|S2
      :<lnb_kind|lnb_spec>:<polarization>
      :<modulation>:<symbol_rate>:<FEC_inner>
      [:<roll_off>][:<switch_pos>][:<voltage_mode>][:<tone_mode>]
      :<on_id>:<ts_id>:<service_id>:.ts

Examples:
   dvb:///arte(ARD):10743000:S:UNIVERSAL:0:QPSK:22000000:FEC_5_6:401:402:28724:.ts
   dvb:///arte(ARD):10743000:S:UNIVERSAL:0:QPSK:22000000:FEC_5_6:LNB_1:401:402:28724:.ts

Parameters:

   name
      TV channel caption used when the playback is performed via native
      Dune UI (with native Dune OSD).
      String should be encoded with UTF-8. Special chars should be escaped
      using the form %hh, where hh is the hex code. List of escaped chars:
      - Control chars with codes 1..31, 127.
      - ":", "/", "\", "*", "?", quotation mark, "<", ">", "|", "&", "%".

   frequency
      Transponder frequency (Hz).

   lnb_kind
      LNB kind, possible values:
         UNIVERSAL|CIRCULAR|C-BAND

   lnb_spec
      LNB frequencies (Hz), in one of the following forms:
         <low>,<high>,<threshold>|<freq>

   polarization
      Polarization, possible values:
         0|H|L (these values are equivalent to each other)
         1|V|R (these values are equivalent to each other)

   modulation
      Modulation, possible values:
         QPSK|8PSK

   symbol_rate
      Transponder symbol rate (symbols per second).

   FEC_inner
      FEC (Forward Error Correction), possible values:
         FEC_AUTO|FEC_1_2|FEC_2_3|FEC_3_4|FEC_5_6|FEC_7_8|
         FEC_8_9|FEC_3_5|FEC_4_5|FEC_9_10|FEC_6_7

   roll_off
      Roll-off (Only for DVB-S2), possible values:
         ROLLOFF_AUTO|ROLLOFF_20|ROLLOFF_25|ROLLOFF_35

   switch_pos
      DiSeqC switch, possible values:
         LNB_1|LNB_2|LNB_3|LNB_4

   voltage_mode
      Voltage mode, possible values:
         VOLTAGE_MODE_POL|VOLTAGE_MODE_13V|VOLTAGE_MODE_18V

   tone_mode
      Tone mode, possible values:
         TONE_MODE_BAND|TONE_MODE_ON|TONE_MODE_OFF

   on_id
      Original network ID.

   ts_id
      Transport stream ID.

   service_id
      Service ID.

DVB-C setup and scan

Native Dune UI includes DVB-C setup and scan functionality (available via
Setup / Applications / DVB-C).

The STB persistently stores (in the flash memory) the following kinds of
DVB-C configuration data:

   - Scan configuration data.
      - Defines DVB-C scan parameters.
      - Can be configured directly via native Dune Setup UI.
      - It is stored along with other STB settings in
        "/config/settings.properties" and is not intended to be directly
        used/modified by 3rd-party software.
      - Default initial state:
         - Some typical DVB-C parameters.
      - Is written:
         - When the user changes DVB-C configuration via native Dune Setup
           UI.
      - Is read/used:
         - When DVB-C scan is performed.

   - Scan results.
      - Contains the list of DVB-C channels found as the result of
        DVB-C scan.
      - Each DVB-C channel is represented as a DVB-C media_url (see "DVB-C
        media_url syntax" section). A folder is created for each scanned
        channel, named with service name (in escaped form as described in
        DVB media_url format), containing the "dune_folder.txt" with the
        media_url in its content. NOTE: This representation is likely to
        change (become more consistent with the way scan results are stored
        for DVB-S) in future firmware versions.
      - Location in the filesystem:
        "/flashdata/DVBC_channels"
      - Default initial state:
         - Absent (no DVB-C channels defined).
      - Is written:
         - As the result of the succesfull DVB-C scan operation.
      - Is read/used:
         - When built-in UI (available via TV / DVB-C) for browsing
           available DVB-C channels is accessed.

DVB-C media_url syntax

Syntax:
   dvb:///<name>:<frequency>:C
      :<bandwidth>
      :<modulation>:<symbol_rate>[:<FEC>]
      [:<inversion>]
      :<on_id>:<ts_id>:<service_id>:.ts

Examples:
    dvb:///OnLime%201:200000000:C:BW_6:QAM_AUTO:5157000:FEC_AUTO:5910:1:1:.ts

Parameters:

   name
      TV channel caption used when the playback is performed via native
      Dune UI (with native Dune OSD).
      String should be encoded with UTF-8. Special chars should be escaped
      using the form %hh, where hh is the hex code. List of escaped chars:
      - Control chars with codes 1..31, 127.
      - ":", "/", "\", "*", "?", quotation mark, "<", ">", "|", "&", "%".

   frequency
      Transponder frequency (Hz).

   bandwidth
      Bandwidth, possible values:
        BW_5|BW_6|BW_7|BW_8

   modulation
      Modulation, possible values (including the AUTO):
         QAM_AUTO|QAM_16|QAM_32|QAM_64|QAM_128|QAM_256

   symbol_rate
      Transponder symbol rate (symbols per second).

   FEC
      FEC (Forward Error Correction), possible values (default is AUTO):
         FEC_AUTO|FEC_1_2|FEC_2_3|FEC_3_4|FEC_5_6|FEC_7_8|
         FEC_8_9|FEC_3_5|FEC_4_5|FEC_9_10|FEC_6_7

   inversion
      Pssible values (default is AUTO):
         INVERSION_OFF|INVERSION_ON|INVERSION_AUTO

   on_id
      Original network ID.

   ts_id
      Transport stream ID.

   service_id
      Service ID.

DVB-C hardware

Dune HD TV-102C uses Maxlinear MXL241SF single-chip chipset. It supports:
  - Frequency range: from 44 MHz to 1002 MHz.
  - Bandwitdh: 6 MHz, 8 MHz.
  - Symbol rate: unrestricted (any allowed by the DVB-C spec).

DVB-T setup and scan

Native Dune UI includes DVB-T setup and scan functionality (available via
Setup / Applications / DVB-T).

The STB persistently stores (in the flash memory) the following kinds of
DVB-T configuration data:

   - Scan configuration data.
      - Defines DVB-T scan parameters.
      - Can be configured directly via native Dune Setup UI.
      - It is stored along with other STB settings in
        "/config/settings.properties" and is not intended to be directly
        used/modified by 3rd-party software.
      - Default initial state:
         - Full automatic scan.
      - Is written:
         - When the user changes DVB-T configuration via native Dune Setup
           UI.
      - Is read/used:
         - When DVB-T scan is performed.

   - Scan results.
      - Contains the list of DVB-T channels found as the result of
        DVB-T scan.
      - Each DVB-T channel is represented as a DVB-T media_url (see "DVB-T
        media_url syntax" section). A folder is created for each scanned
        channel, named with service name (in escaped form as described in
        DVB media_url format), containing the "dune_folder.txt" with the
        media_url in its content. NOTE: This representation is likely to
        change (become more consistent with the way scan results are stored
        for DVB-S) in future firmware versions.
      - Location in the filesystem:
        "/flashdata/DVBT_channels"
      - Default initial state:
         - Absent (no DVB-T channels defined).
      - Is written:
         - As the result of the succesfull DVB-T scan operation.
      - Is read/used:
         - When built-in UI (available via TV / DVB-T) for browsing
           available DVB-T channels is accessed.

DVB-T media_url syntax

Syntax:
   dvb:///<name>:<frequency>:T|T2
      :<bandwidth>
      [:<inversion>][:<FEC_HP>[:<FEC_LP>]][:<modulation>]
      [:<transmission_mode>][:<guard_interval>][:<hierarchy>]
      :<on_id>:<ts_id>:<service_id>:.ts

Examples:
   dvb:///Channel_T:578000000:T:BW_8:8835:1:7:.ts
   dvb:///Channel_T2:546000000:T2:0:BW_8:8835:1:7:.ts

Parameters:

   name
      TV channel caption used when the playback is performed via native
      Dune UI (with native Dune OSD).
      String should be encoded with UTF-8. Special chars should be escaped
      using the form %hh, where hh is the hex code. List of escaped chars:
      - Control chars with codes 1..31, 127.
      - ":", "/", "\", "*", "?", quotation mark, "<", ">", "|", "&", "%".

   frequency
      Transponder frequency (Hz).

   inversion
      Inversion mode, possible values (default is AUTO):
         INVERSION_OFF|INVERSION_ON|INVERSION_AUTO

   FEC_HP
      FEC (Forward Error Correction) for High Profile, possible values
      (default is AUTO):
         FEC_AUTO|FEC_1_2|FEC_2_3|FEC_3_4|FEC_5_6|FEC_7_8|
         FEC_8_9|FEC_3_5|FEC_4_5|FEC_9_10|FEC_6_7

   FEC_LP
      FEC (Forward Error Correction) for Low Profile, possible values
      (default is AUTO):
      FEC, possible values (default is AUTO):
         FEC_AUTO|FEC_1_2|FEC_2_3|FEC_3_4|FEC_5_6|FEC_7_8|
         FEC_8_9|FEC_3_5|FEC_4_5|FEC_9_10|FEC_6_7

   modulation
      Modulation, possible values (including the AUTO; QAM_256 valid for 
      T2 but not for T):
         QPSK|QAM_16|QAM_64|QAM_256|QAM_AUTO

   transmission_mode
      Transmission mode, possible values (default is AUTO):
         TRANSMISSION_MODE_2K|TRANSMISSION_MODE_8K|TRANSMISSION_MODE_AUTO

   guard_interval
      Guard interval, possible values (default is AUTO):
      GUARD_INTERVAL_1_16|GUARD_INTERVAL_1_32|GUARD_INTERVAL_1_4|
      GUARD_INTERVAL_1_8|GUARD_INTERVAL_AUTO

   hierarchy
      Hierarchy information, possible values (default is AUTO):
         HIERARCHY_1|HIERARCHY_2|HIERARCHY_4|HIERARCHY_NONE|HIERARCHY_AUTO

   symbol_rate
      Transponder symbol rate (symbols per second).

   on_id
      Original network ID.

   ts_id
      Transport stream ID.

   service_id
      Service ID.

NOTE: Dune's playback engine also accepts legacy syntax of DVB media_url
which uses "dvb://" prefix instead of "dvb:///". The legacy syntax is not
recommended to be used in any new developments.

STB API for working with DVB

See here:
   - http://files.dune-hd.com/sdk/doc/html/sdk.html, "JS STB SDK" => 
      - js_stb_sdk-*/doc/dune_js_stb_api.txt, "DVB" section