Configuration

Configure SDM hardware and software properties

All configuration tasks can be done over the web interface

Info

Web interface default login

admin / nexgentec

Open a browser and enter the devices network address in the address bar, press enter

Picture Picture

Use the top menu bar to navigate to the option you want

Subsections of Configuration

Network

Status

The status of the network connections can be viewed on the status page Host > Network > Status

Picture Picture

Configuration Scenarios

Control and Dante™ Primary on the same Ethernet Interface

This is like the simplest configuration. Our interface is the first, enp1s0. All you have to do is:

  • Assign a static IP address to enp1s0 if DHCP is not wished
  • Assign a Gateway to enp1s0 if not on DHCP
  • Assign at least to enp1s0 one DNS server if not on DHCP
  • Configure SDM service to use enp1s0 as primary Dante™ interface SDM service configuration

Picture Picture

Control on Ethernet Interface, Dante™ Primary on Ethernet Interface

In this scenario we use the Ethernet interface enp1s0 for control and Ethernet interface enp2s0 for Dante™

  • Assign a static IP address to enp1s0 if DHCP is not wished
  • Assign a Gateway to enp1s0 if not on DHCP
  • Assign at least to enp1s0 one DNS server if not on DHCP
  • Assign a static IP address to enp2s0 (mandatory)
  • Configure SDM service to use enp2s0 as primary Dante™ interface SDM service configuration

Picture Picture

Control on Ethernet Interface, Dante™ Primary Port on VLAN

We would like to use the Ethernet interface enp1s0 for control and the VLAN 10 on Ethernet interface enp1s0 for Dante™

  • Assign a static IP address to enp1s0 if DHCP is not wished
  • Assign a Gateway to enp1s0 if not on DHCP
  • Assign at least to enp1s0 one DNS server if not on DHCP
  • Add a new VLAN using the + symbol. In the popup window enter the name Dante, the VLAN id 10 and as option select enp1s0. Press Add :-)
  • Assign a static IP address to VLAN Dante (mandatory)

Picture Picture

Configuration Options

Network configuration be done on the settings page Host > Network > Settings

Picture Picture

Caution

This is not an end consumer product. It requires qualified personnel to be installed If you screw up the settings the hardware have to be sent back to the manufacturer, there is no way back

Note

Points you should pay attention to

  • Never assign a Gateway to more than one connection
  • Never place more than one connection in the same IP address range
  • Use DNS servers that are reachable. SDM needs internet access for licensing purposes
  • Never leave 2 interfaces connected to the network on DHCP
Notice

Oops, I did it again!

  • If everything went wrong, try to find the device using your DHCP server. Try all available Ethernet interfaces
Info

All interfaces are on DHCP if no static address is present

Caution

Network settings page uses JavaScript Please activate it in your browser and deactivate popup blockers

Ethernet

All available Ethernet connections found on the hardware are listed. Any Ethernet interface can be added to a new bridge using the bridge symbol. The new bridge will overtake all settings from the Ethernet interface

DHCP

  • A click on the sentence true or false opens a popup window for the new setting
  • With the setting true, all statically assigned addresses are deleted and the connection to this Ethernet interface can be interrupted. Look at the leases table on your DHCP server to find out the new address
  • If the previous setting was true the popup window will let you assign a static address. This address will be immediately applied as soon as you select add

Addresses

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Gateway

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Nameservers

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

VLAN

VLAN interfaces can be added to all available Ethernet interfaces. Any VLAN interface can be added to a new bridge using the bridge symbol. The new bridge will overtake all settings from the VLAN interface

Caution

If you don’t know what a VLAN is keep away from these settings

What is a VLAN?

  • A VLAN can be removed using the trash can symbol on the same horizontal line as the VLAN name

ID

  • A click on the VLAN id opens a popup window to modify the existing VLAN id
  • A click on the interface name opens a popup window to modify the interface on which the VLAN resides

DHCP

  • A click on the sentence true or false opens a popup window for the new setting
  • With the setting true, all statically assigned addresses are deleted and the connection to this Ethernet interface can be interrupted. Look at the leases table on your DHCP server to find out the new address
  • If the previous setting was true the popup window will let you assign a static address. This address will be immediately applied as soon as you select add

Addresses

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Gateway

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Nameservers

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Bridge

A bridge contains one or multiple Ethernet and/or VLAN interfaces.

Caution

If you don’t know what a network bridge is keep away from these settings

What is a bridge?

  • A brige can be removed using the trash can symbol on the same horizontal line as the brige name

Interfaces

  • List of the included interfaces in this bridge
  • A new interface can be added with the + symbol
  • An interface can be excluded with the trash can symbol

DHCP

  • A click on the sentence true or false opens a popup window for the new setting
  • With the setting true, all statically assigned addresses are deleted and the connection to this Ethernet interface can be interrupted. Look at the leases table on your DHCP server to find out the new address
  • If the previous setting was true the popup window will let you assign a static address. This address will be immediately applied as soon as you select add

Addresses

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Gateway

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Nameservers

  • A click on the IP address opens a popup window to modify the existing address
  • Using the trash can symbol an address can be deleted
  • With the + symbol a new address can be added

Time

SDM needs a valid time to work correctly. Without time source the service is not guaranteed to work

Why is a valid time needed?

Status

The status of the time service can be viewed on the status page Host > Time > Status Picture Picture

Configuration

NTP Server

  • Insert a reachable NTP server near you

Fallback NTP Server

  • Insert another reachable NTP server near you which will be queried once the first server is unreachable

Time Zone

  • Select the time zone you are in

Picture Picture

SDM Service

SDM service features and functionality are defined in different configuration files

Editing a SDM service configuration file

Edid a config file using the web interface, for example sdm.conf

Caution

Do not edid a config file unless you are very sure what you do

Info

Web interface default login

admin / nexgentec

  1. Open a browser and enter the devices network address in the address bar, press enter

  2. Navigate to SDM -> Files -> Config Picture Picture

  3. Download the sdm.conf file

  4. Make your changes to the sdm.conf file and save as unix format text file. configuration options

  5. Upload the sdm.conf file, it will overwrite the existing one

  6. Restart SDM process, Host -> Services -> Software Defined Matrix Service (this step is not needed for .toml files) Picture Picture

Subsections of SDM Service

sdm.conf

This section describes the various configuration options sdm.conf file can contain.

Caution

Use UNIX file fomatting when editing the file

File entries must be formatted as follows:
[Section]
key=value

For example to activate syslog:
[syslog]
address=“server.example.com”
port=53
level=6
tag=“sdm”

uuid

Note

Do not delete the uuid, it identifies the sdm software. All licenses are bound to the uuid which is individual to every instance of sdm, it is like a product key for an OS

Section Key Value Example Supported Versions
uuid key 408aca84-a2b0-11eb-bcbc-0242ac130002 key=408aca84-a2b0-11eb-bcbc-0242ac130002 >v0.0.1

logLevel

Section Key Value Example Supported Versions
logLevel level 1-7 level=1 >v0.0.1

syslog

Section Key Value Example Supported Versions
syslog level 1-7 level=6 >v0.0.1
address your servers address address=“server.example.com” >v0.0.1
port 53 or custom port=53 >v0.0.1
tag sdm tag=“sdm” >v0.0.1

logAuth

Info

logAuth is for only internal usage

Section Key Value Example Supported Versions
logAuth key key="" >v0.0.1

api

Section Key Value Example Supported Versions
api jrpc2TCPInterface Any network interface jrpc2TCPInterface=“enp1s0” >v1.8.50
jrpc2TCPPort Default: 64823 jrpc2TCPPort=64823 >v1.8.50
jrpc2HTTPInterface Any network interface jrpc2HTTPInterface=“enp1s0” >v1.8.50
jrpc2HTTPPort Default: 64880 jrpc2HTTPPort=64880 >v1.8.50
jrpc2Console on/off jrpc2Console=on >v1.8.50

dante

Section Key Value Example Supported Versions
dante primary Any network interface primary=“enp1s0” >v1.8.50
secondary Any network interface secondary=“enp2s0” >v1.8.50

preset

Section Key Value Example Supported Versions
preset recallPresetIDOnStart Any preset as defined in presets_config.toml recallOnStart=1 >v1.8.50
preset recallPresetNameOnStart Any preset as defined in presets_config.toml recallOnStart=mypreset >v1.8.50
recallOnStartDelay x (seconds) recallOnStartDelay=10 >v1.8.50

ifConfig (deprecated)

Note

ifConfig is deprecated

Use api section to define interface/port for 3rd party communication and dante section to define the interfaces used for Dante™

Section Key Value Example Supported Versions
dante primary Any network interface primary=“enp1s0” <v1.8.50
secondary Any network interface secondary=“enp2s0” <v1.8.50
cmdServer Any network interface cmdServer=“enp2s0” <v1.8.50

cmdServer (deprecated)

Note

cmdServer is deprecated

Use api section to define the port for 3rd party communication

Section Key Value Example Supported Versions
cmdServer port port=48648 <v1.8.50

presets_config.toml

Presets can be recalled on start up and using the Control API

Caution

Use UNIX file fomatting when editing the file

Info

Generate yourself an example Generate example

See the fully commented definition below

  • The file must be in TOML format
  • Check the correct syntax online toml-lint
  • Mandatory means that it will not work without.
[[preset]]

  # ID (s) of the preset object, mandatory
  preset_id = [56, 59, 33, 38]

  # Name of the preset object, can be omitted
  preset_name = "MyPreset_1"

  # Destination object
  [preset.destination]

    [[preset.destination.channel]]

      # Dante channel name, mandatory for Dante devices
      channel_name = "SDMS0000011"

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 1

      # Dante device name, can be omitted but should not.
      node_name = "MyDanteDevice_1"

    [[preset.destination.channel]]

      # Dante channel name, mandatory for Dante devices
      channel_name = "SDMS0000012"

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 2

      # Dante device name, can be omitted but should not.
      node_name = "MyDanteDevice_1"

    [[preset.destination.channel]]

      # Dante channel name, mandatory for Dante devices
      channel_name = "SDMS0000013"

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 3

      # Dante device name, can be omitted but should not.
      node_name = "MyDanteDevice_1"

    [[preset.destination.channel]]

      # Dante channel name, mandatory for Dante devices
      channel_name = "SDMS0000014"

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 4

      # Dante device name, can be omitted but should not.
      node_name = "MyDanteDevice_1"

  # Source object
  [preset.source]

    [[preset.source.channel]]

      # Dante channel name, mandatory for Dante devices
      channel_name = "SDMS0000011"

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 1

      # Dante device name, can be omitted but should not.
      node_name = "MyDanteDevice_1"

    [[preset.source.channel]]

      # Dante channel name, mandatory for Dante devices
      channel_name = "SDMS0000012"

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 2

      # Dante device name, can be omitted but should not.
      node_name = "MyDanteDevice_1"

    [[preset.source.channel]]

      # AES Flow name, mandatory for AES devices
      aes_flow_name = "239.69.x.x@MyAesDevice_1"

      # AES flow slot ID for this channel (1-x), mandatory for AES devices
      aes_flow_slot_id = 1

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 3

    [[preset.source.channel]]

      # AES Flow name, mandatory for AES devices
      aes_flow_name = "239.69.x.x@MyAesDevice_1"

      # AES flow slot ID for this channel (1-x), mandatory for AES devices
      aes_flow_slot_id = 2

      # Channel index, if omitted the order of the channels below the object determines the index
      index = 4

[[preset]]

  preset_id = [26, 9, 3, 63]
  preset_name = "MyPreset_2"

  [preset.destination]

    [[preset.destination.channel]]
      channel_name = "SDMS0000021"
      index = 1
      node_name = "MyDanteDevice_2"

    [[preset.destination.channel]]
      channel_name = "SDMS0000022"
      index = 2
      node_name = "MyDanteDevice_2"

    [[preset.destination.channel]]
      channel_name = "SDMS0000023"
      index = 3
      node_name = "MyDanteDevice_2"

    [[preset.destination.channel]]
      channel_name = "SDMS0000024"
      index = 4
      node_name = "MyDanteDevice_2"

  [preset.source]

    [[preset.source.channel]] 
      channel_name = "SDMS0000021"  
      index = 1  
      node_name = "MyDanteDevice_2"

    [[preset.source.channel]]
      channel_name = "SDMS0000022"
      index = 2   
      node_name = "MyDanteDevice_2"

    [[preset.source.channel]]
      aes_flow_name = "239.69.x.x@MyAesDevice_2"
      aes_flow_slot_id = 1
      index = 3

    [[preset.source.channel]] 
      aes_flow_name = "239.69.x.x@MyAesDevice_2"  
      aes_flow_slot_id = 2   
      index = 4

symnet_config_sources.toml

The source config file describe the sources which are selected by a Symetrix Symnet control number value. If there is no Symetrix device present or SDM should not listen to Symetrix this file can be omitted

Caution

Use UNIX file fomatting when editing the file

Info

Generate yourself an example" Generate example

See the fully commented definition below

  • The file must be in TOML format
  • Check the correct syntax online toml-lint
  • Mandatory means that it will not work without.
# Defaults can be omitted if all values are defined source specific.
# Source object defined values are taking precedence
[default]

  # Default delay settings for all objects that are not carrying its own settings for delay
  # Object defined values are taking precedence , can be omitted
  [default.delay]

    # Delay value (ms) on switch over, if omitted on object basis default settings apply
    switch = 500

[[source]]

  # Name of the source or destination object, can be omitted
  name = "MyDanteSource_1"

  [[source.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMS0000011"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 1

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_1"

  [[source.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMS0000012"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 2

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_1"

  # Object defined delay settings, if omitted on object basis default settings apply
  [source.delay]

    # Delay value (ms) on switch over, if omitted on object basis default settings apply
    switch = 800

  # Object defined Symetrix settings, mandatory
  [source.symnet]

    # Symetrix Control Number Value for this source object, mandatory
    control_value = 1

[[source]]

  # Name of the source or destination object, can be omitted
  name = "MyDanteSource_2"

  [[source.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMS0000021"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 1

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_2"

  [[source.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMS0000022"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 2

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_2"

  # Object defined delay settings, if omitted on object basis default settings apply
  [source.delay]

    # Delay value (ms) on switch over, if omitted on object basis default settings apply
    switch = 800

  # Object defined Symetrix settings, mandatory
  [source.symnet]

    # Symetrix Control Number Value for this source object, mandatory
    control_value = 2

[[source]]

  # Name of the source or destination object, can be omitted
  name = "MyDanteSource_3"

  [[source.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMS0000031"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 1

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_3"

  [[source.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMS0000032"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 2

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_3"

  # Object defined delay settings, if omitted on object basis default settings apply
  [source.delay]

    # Delay value (ms) on switch over, if omitted on object basis default settings apply
    switch = 800

  # Object defined Symetrix settings, mandatory
  [source.symnet]

    # Symetrix Control Number Value for this source object, mandatory
    control_value = 3

symnet_config_destinations.toml

The destination config file describe the destinations which are identified by a Symetrix Symnet control number. If there is no Symetrix device present or SDM should not listen to Symetrix this file can be omitted

Caution

Use UNIX file fomatting when editing the file

Info

Generate yourself an example Generate example

See the fully commented definition below

  • The file must be in TOML format
  • Check the correct syntax online toml-lint
  • Mandatory means that it will not work without.
# Defaults can be omitted if all values are defined destination specific.
# Destination object defined values are taking precedence
[default]

  # Default delay settings for all objects that are not carrying its own settings for delay
  # Object defined values are taking precedence , can be omitted
  [default.delay]

    # Delay value (ms) on disconnect, if omitted on object basis default settings apply
    disconnect = 2000

  # Default Symetrix settings for all objects that are not carrying its own settings for delay
  # Object defined values are taking precedence, can be omitted
  [default.symnet]

    # Symetrix Site ID, defined in project settings, if omitted on object basis default settings apply
    site_id = 2

    # Symetrix DSP IP Address (v4), if omitted on object basis default settings apply
    unit_ip = "127.0.0.1"

[[destination]]

  # Name of the source or destination object, can be omitted
  name = "MyDanteDestination_1"

  [[destination.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMD0000011"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 1

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_1"

  [[destination.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMD0000012"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 2

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_1"

  # Object defined delay settings, if omitted on object basis default settings apply
  [destination.delay]

    # Delay value (ms) on disconnect, if omitted on object basis default settings apply
    disconnect = 800

  # Object defined Symetrix settings, mandatory
  [destination.symnet]

    # Symetrix Control Number for this destination object, mandatory
    control_id = 5001

    # Symetrix Control Number that is feed back to Symetrix once the destination has changed, can be omitted
    feedback_id = 6001

    # Symetrix Site ID, defined in project settings, if omitted on object basis default settings apply
    site_id = 3

    # Symetrix DSP IP Address (v4), if omitted on object basis default settings apply
    unit_ip = "127.0.0.2"

[[destination]]

  # Name of the source or destination object, can be omitted
  name = "MyDanteDestination_2"

  [[destination.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMD0000021"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 1

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_2"

  [[destination.channel]]

    # Dante channel name, mandatory for Dante devices
    channel_name = "SDMD0000022"

    # Channel index, if omitted the order of the channels below the object determines the index
    index = 2

    # Dante device name, can be omitted but should not.
    node_name = "MyDanteDevice_2"

  # Object defined delay settings, if omitted on object basis default settings apply
  [destination.delay]

    # Delay value (ms) on disconnect, if omitted on object basis default settings apply
    disconnect = 800

  # Object defined Symetrix settings, mandatory
  [destination.symnet]

    # Symetrix Control Number for this destination object, mandatory
    control_id = 5002

    # Symetrix Control Number that is feed back to Symetrix once the destination has changed, can be omitted
    feedback_id = 6002

    # Symetrix Site ID, defined in project settings, if omitted on object basis default settings apply
    site_id = 3

    # Symetrix DSP IP Address (v4), if omitted on object basis default settings apply
    unit_ip = "127.0.0.2"