Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated with new IDL
Panel
borderColor#3D3D3D
bgColor#F4F4F4
titleColor#3D3D3D
Panel
borderColor#3D3D3D
bgColor#F4F4F4
titleColor#3D3D3D
borderWidth0
titleBGColor#3D3D3D
borderStylesolid

ON THIS PAGE

Table of Contents
indent20px

...

Code Block
languagejs
titlenetworkconfiguration IDL
collapsetrue
[
    Constructor(String ifName)
] interface NetworkInterface {
    attribute String type; // values: wifi, ethernet, modem
    NetworkInterfaceConfig defaultConfig();
    Promise<NetworkInterfaceConfig> getConfig(NetworkInterfaceConfigRequestParams params[optional]); // Promise will  Promise<NetworkInterfaceConfig> getConfig(be resolved as WifiInterfaceConfig, ModemInterfaceConfig, EthernetInterfaceConfig); // Promise will be resolved as WifiInterfaceConfig, ModemInterfaceConfig, EthernetInterfaceConfig
    Promise<void> applyConfig(NetworkInterfaceConfig config);
    [type == "ethernet"] Promise<LLDPNeighborInformation> getNeighborInformation();
    [type == "ethernet"] Promise<void> enableLeds();
    [type == "wifi"] Promise<WifiAccessPointList> scan();
};

interface WifiAccessPointList {
    attribute String essId;
    attribute String bssId;
    attribute long signal;
};

interface LLDPNeighborInformation {
    // information is directly converted from LLDP. Fields are defined deep down there.
};

interface NetworkInterfaceConfig {
    attribute long metric;
    [optional = CONFIG_DHCP_SERVER] attribute DHCPServerConfig dhcpServerConfig;
    attribute Array<String> dnsServerList;
    attribute IPAddressList ipAddressList;
    attribute long inboundShaperRate;
    attribute long mtu;
    [optional = CONFIG_VLAN] attribute Array<int> vlanIdList;
    attribute String clientIdentifier;
    attribute String domain;
	attribute Array<String> enabledProtocolList;
};

[optional = CONFIG_DIALUP] interface DialUpInterfaceConfig : public NetworkInterfaceConfig {
    attribute String user;
    attribute String password;
    attribute String number;
    attribute String initString;
};

interface DHCPServerConfig {
    attribute String start;
    attribute String end;
};

interface IPAddress {
    attribute String family;
    attribute String address;
    attribute String netmask;
    attribute String gateway;
    attribute String broadcast;
};

interface EthernetInterfaceConfig : public NetworkInterfaceConfig {
    attribute String securityMode;
    attribute String identity;
    attribute String eapTlsOptions;
    attribute String caCertificates;
    attribute String clientCertificate;
    attribute String privateKey;
};

interface WifiInterfaceConfig : public NetworkInterfaceConfig{
    attribute String essId;
    attribute String passphrase;
    attribute String obfuscatedPassphrase;
    attribute String securityMode;
    attribute String identity;
    attribute String eapTlsOptions;
    attribute String caCertificates;
    attribute String clientCertificate;
    attribute String privateKey;
    attribute String frequencies;
    [optional = CONFIG_WIFI_AP] attribute bool accessPointMode;
    [optional = CONFIG_WIFI_AP] attribute long accessPointFrequency;
    [optional = CONFIG_WIFI_AP] attribute bool accessPointHidden;
};

...

Use this interface to configure a network interface on the player. 

Attributes

  • [DOMString] type: The network interface type, which can one of the following:
    • "eth0": The Ethernet port on the BrightSign player
    • "wlan0": The internal WiFi
    • "ppp0": A connected modem
Tip
titleTip

The network interface can be configured as a VLAN using the following string format: "[parent_interface].[vlan_id]" (e.g "eth0.42"). Once the VLAN interface(s) are configured, they must be enabled on the parent network interface (e.g. "eth0") by including them in the vlanIdList of the parent interface. VLAN interfaces use DHCP by default. They are supported on Series 4 (XTx44, XDx34, HDx24, LS424) and Series 3 (XTx43, XDx33, HDx23, LS423, HO523) players only.

Methods

...

getConfig()

Code Block
languagejs
Promise<NetworkInterfaceConfig> getConfig(NetworkInterfaceConfigRequestParams params[optional])

Returns configuration settings for the network interface. Depending on the specified type, this method will return an EthernetInterfaceConfigWiFiInterfaceConfig, or ModemInterfaceConfig interface.  If there is a set password, getConfig() will return true for the password parameter. If there isn't a set password, getConfig() will return false for the password parameter.

Note that this class concerns itself with the player's persistent network configuration. If you wish to determine the current settings (for example the IP address that has been retrieved via DHCP) then use the Node.js os module.


applyConfig()

Code Block
languagejs
Promise<NetworkInterfaceConfig>Promise<void> getConfigapplyConfig(NetworkInterfaceConfig config)


Returns configuration settings for Configures the network interface . Depending on the specified type, this method will return an EthernetInterfaceConfigWiFiInterfaceConfig, or ModemInterfaceConfig interface.  If there is a set password, getConfig() will return true for the password parameter. If there isn't a set password, getConfig() will return false for the password parameter.

Note that this class concerns itself with the player's persistent network configuration. If you wish to determine the current settings (for example the IP address that has been retrieved via DHCP) then use the Node.js os module.

...

using the parameters in the passed NetworkInterfaceConfig object. This method returns void upon success. 


To reset a network-interface setting to its default value, pass the NetworkInterfaceConfig object without the corresponding attribute.


The config parameter should contain the complete desired configuration. Any previous configuration is overwritten. If you wish to change one item while keeping the rest of the configuration the same then first call getConfig and modify the returned object (see the example in the Examples section).



getNeighborInformation()


Code Block
languagejs
Promise<LLDPNeighborInformation> getNeighborInformation()


Returns LLDP information related to the network. This method is available with the ethernet interface only.


enableLeds()

Code Block
languagejs
Promise<void> applyConfigenableLeds(NetworkInterfaceConfig config)

Configures the network interface using the parameters in the passed NetworkInterfaceConfig object. This method returns void upon success. 

To reset a network-interface setting to its default value, pass the NetworkInterfaceConfig object without the corresponding attribute.

The config parameter should contain the complete desired configuration. Any previous configuration is overwritten. If you wish to change one item while keeping the rest of the configuration the same then first call getConfig and modify the returned object (see the example in the Examples section).

...

Enables or disables the ethernet activity LEDs (that is, flashing during link and activity behavior). Ethernet LEDs are enabled by default. Changes to this setting do not persist across reboots. This method is available with the ethernet interface only.


scan()

Code Block
languagejs
Promise<LLDPNeighborInformation>Promise<WifiAccessPointList> getNeighborInformationscan()

Returns LLDP information related to the network. This method is available with the Ethernet interface only.

enableLeds()
Code Block
languagejs
Promise<void> enableLeds()

Enables or disables the Ethernet activity LEDs (i.e. flashing during link and activity behavior). Ethernet LEDs are enabled by default. Changes to this setting do not persist across reboots. This method is available with the Ethernet interface only.

scan()
Code Block
languagejs
Promise<WifiAccessPointList> scan()

Scans for WiFi access points are returns a list of detected access points. This method is available with the WiFi interface Scans for WiFi access points are returns a list of detected access points. This method is available with the WiFi interface only.

Attributes

  • [String] type: The network interface type, which can one of the following:
    • "eth0": The ethernet port on the BrightSign player
    • "wlan0": The internal WiFi
    • "ppp0": A connected modem
Tip
titleTip

The network interface can be configured as a VLAN using the following string format: "[parent_interface].[vlan_id]" (e.g "eth0.42"). Once the VLAN interface(s) are configured, they must be enabled on the parent network interface (e.g. "eth0") by including them in the vlanIdList of the parent interface. VLAN interfaces use DHCP by default. They are supported on Series 4 (XTx44, XDx34, HDx24, LS424) and Series 3 (XTx43, XDx33, HDx23, LS423, HO523) players only.

NetworkInterfaceConfig

This interface contains settings related to a network interface.

  • [long] metric: The routing metric for the default gateway on the interface. Routes with lower metrics are preferred over routes with higher metrics.
  • [DHCPServerConfig] dhcpServerConfig:  A DHCPServerConfig interface that specifies the DHCP server configuration for the interface. The DHCP server can be disabled by setting this attribute to a null value when calling applyConfig().
  • [Array<String>] dnsServerList: A string list containing a maximum of three DNS servers. Each string should contain the dotted-quad IP address of a DNS server. 
  • [Array<IPAddress>] ipAddressListAn array containing zero or one static IPv4 address configurations. Players do not currently support more than one IPv4 address per interface or static configuration of IPv6 addresses. If the array is empty then IP addresses will be assigned using DHCP.
  • [long] inboundShaperRate: The bandwidth limit for inbound traffic in bits per second. A value of -1 specifies the default bandwidth limit, and a value of 0 specifies no bandwidth limit (these two settings are functionally the same).

    Note
    titleNote

    Because of overhead on the shaping algorithm, attempting to limit the bandwidth at rates greater than approximately 2Mbit/s will reduce speeds to less than the specified rate.

  • [long] mtu: The maximum transmission unit (MTU) for the network interface in bytes
  • [Array<unsigned short>] vlanIdListA list of VLAN IDs that this network interface is the parent for.
  • [String] clientIdentifier: The DHCP client identifier for the network interface
  • [String] domain: The domain name for the network interface
  • [Array<String>] enabledProtocolList: An optional array containing the set of enabled IP protocols. The default value is [IPv4, IPv6].

WiFiInterfaceConfig

This interface contains attributes related to the WiFi interface:

...