
-- *****************************************************************
-- Moxa NPort IAW5x50A_IO MIB
--
-- Copyright (c) 2016 by Moxa Inc.
-- All rights reserved.

-- Version: 1.0
-- Date: 2016/12/27
-- *****************************************************************

MOXA-IAW5x50A_IO-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        enterprises, IpAddress, OBJECT-TYPE, MODULE-IDENTITY
        	FROM SNMPv2-SMI
        DateAndTime, TEXTUAL-CONVENTION, MacAddress, DisplayString
        	FROM SNMPv2-TC;
        
    moxa 				OBJECT IDENTIFIER ::= { enterprises 8691 }	-- 1.3.6.1.4.1.8691
    
    nport OBJECT IDENTIFIER ::= { moxa 2 }			-- 1.3.6.1.4.1.8691.2
    
    iaw5x50AIO	MODULE-IDENTITY
			LAST-UPDATED "201612270000Z"
			ORGANIZATION "Moxa Inc."
			CONTACT-INFO
	            "Email: support@moxa.com
    			 Tel  : +886 2 89191230"
	             
			DESCRIPTION
	            "The MIB module for Moxa NPort IAW5x50A_IO series specific information."            
	
			::= { nport 21 }    -- 1.3.6.1.4.1.8691.2.21
    
-- -------------------------------------------------------------
-- groups in the MOXA-NPort IAW5x50A_IO MIB
-- -------------------------------------------------------------

swMgmt		OBJECT IDENTIFIER ::= { iaw5x50AIO 1 }			-- 1.3.6.1.4.1.8691.2.21.1    

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

PortList ::= TEXTUAL-CONVENTION
	STATUS			current
	DESCRIPTION		
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING
	
-- -------------------------------------------------------------
-- swMgmt group
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- Overview
-- -------------------------------------------------------------

	overview OBJECT IDENTIFIER ::= { swMgmt 1 }		-- 1.3.6.1.4.1.8691.2.21.1.1

    modelName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The model name of the NPort. The possible values 
	    of this parameter are:
            'NPort IAW5x50A_IO' for NPort IAW5x50A_IO."
        ::= { overview 1 }
    
    serialNumber OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The serial number of the NPort. Every NPort 
			IAW5x50A_IO series device server is assigned a unique 
			serial number before it is shipped."
        ::= { overview 2 }
    
    firmwareVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The version of the firmware currently running on
            the NPort."
        ::= { overview 3 }

    ethIPAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The IP address of the NPort's Ethernet interface."
        ::= { overview 4 }
    
    ethMacAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The MAC address of the NPort's Ethernet interface."
        ::= { overview 5 }

    wlanIPAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The IP address of the NPort's WLAN interface."
        ::= { overview 6 }
    
    wlanMacAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The MAC address of the NPort's WLAN interface."
        ::= { overview 7 }

    wlanSSID OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The SSID of WLAN."
        ::= { overview 8 }

    wlanNetworkType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Network Type of Wireless LAN. The possible values are 
            'Infrastrcture Mode' and 'Ad-hoc Mode'"
        ::= { overview 9 }
        
    wlanSecurityMode OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Security mode of Wireless LAN. The possible values are 
            'Open System', 'Shared Key', 'WPA', 'WPA-PSK', 'WPA2', 'WPA2-PSK'"
        ::= { overview 10 }        

    wlanRFType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "RF type of Wireless LAN. The possible values are 
            'Auto', '802.11b', '802.11g'"
        ::= { overview 11 } 

    wlanCountryCode OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "WLAN country code"
        ::= { overview 12 } 

    wlanFastRoaming OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Fast roaming state"
        ::= { overview 13 } 

    activeNetworkPort OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Current active network port. The possible values are 
            'WLAN', 'Ethernet'"
        ::= { overview 14 } 

	upTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The time (in human-readable notation) since the
            system was last re-initialized."
        ::= { overview 15 }
        
    serialPort1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "View NPort's serial port 1 setting."
        ::= { overview 16 }
    
    serialPort2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "View NPort's serial port 2 setting."
        ::= { overview 17 }
		
-- -------------------------------------------------------------
-- Basic settings
-- -------------------------------------------------------------

	basicSetting OBJECT IDENTIFIER ::= { swMgmt 2}			-- 1.3.6.1.4.1.8691.2.21.1.2

-- -------------------------------------------------------------
-- Basic settings -> Server settings
-- -------------------------------------------------------------
	
	serverSetting OBJECT IDENTIFIER ::= { basicSetting 1 }	-- 1.3.6.1.4.1.8691.2.21.1.2.1
	
	serverName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "A text string used to identify the NPort."
        ::= { serverSetting 1 }
       
    serverLocation OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "A text string used to identify the location of 
            the NPort. This option is useful for specifying 
            the location or application of different NPort 
            device servers."
        ::= { serverSetting 2 }

    enableServerSocketIdleConnectionTimeout OBJECT-TYPE
        SYNTAX INTEGER { 
            disable(0),
            enable(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable/disable Server Socket Idle Connection Timeout Interval. 
             Enable Server Socket Idle Connection Timeout Interval automatically 
             disconnects the Modbus/TCP connection from the server after a specified 
             time period to free up the port for the next connection."
        ::= { serverSetting 3 }
       
    serverSocketIdleConnectionTimeoutInterval OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Timeout interval of Server Socket Idle Connection Timeout Interval.
            Server Socket Idle Connection Timeout Interval automatically disconnects 
            the Modbus/TCP connection from the server after a specified time period 
            to free up the port for the next connection."
        ::= { serverSetting 4 }

    enableCommunicationWatchdogTimeout OBJECT-TYPE
        SYNTAX INTEGER { 
            disable(0),
            enable(1)
        }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Enable/disable Communication Watchdog. 
            Enable Communication Watchdog activates Safe Mode when a specified period 
            of time has passed and there is a loss of Modbus/TCP network connectivity."
        ::= { serverSetting 5 }
       
    communicationWatchdogTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Timeout time of Communication Watchdog. 
            Enable Communication Watchdog activates Safe Mode when a specified period 
            of time has passed and there is a loss of Modbus/TCP network connectivity."
        ::= { serverSetting 6 }
        
-- -------------------------------------------------------------
-- Basic settings -> Time settings
-- -------------------------------------------------------------
	
	timeSetting OBJECT IDENTIFIER ::= { basicSetting 2 }	-- 1.3.6.1.4.1.8691.2.21.1.2.2
	
    timeZone OBJECT-TYPE
        SYNTAX INTEGER { 
			gmt-1200_Eniwetok-Kwajalein(0),
			gmt-1100_Midway-Island-Samoa(1),
			gmt-1000_Hawaii(2),
			gmt-0900_Alaska(3),
			gmt-0800_Pacific-Time-US_Canada-Tijuana(4),
			gmt-0700_Arizona(5),
			gmt-0700_Mountain-Time-US_Canada(6),
			gmt-0600_Central-Time-US_Canada(7),
			gmt-0600_Mexico-City-Tegucigalpa(8),
			gmt-0600_Saskatchewan(9),
			gmt-0500_Bogota-Lima-Quito(10),
			gmt-0500_Eastern-Time-US_Canada(11),
			gmt-0500_Indiana-East(12),
			gmt-0430_Caracas(13),
			gmt-0400_Atlantic-Time-Canada(14),
			gmt-0400_Georgetown-La-Paz(15),
			gmt-0400_Santiago(16),
			gmt-0330_Newfoundland(17),
			gmt-0300_Brasilia(18),
			gmt-0300_Buenos-Aires(19),
			gmt-0200_Mid-Atlantic(20),
			gmt-0100_Azores-Cape-Verde-Is(21),
			gmt_Casabanca-Monrovia(22),
			gmt_Greenich-Mean-Time_Dublin-Edinburgh-Lisbon-London(23),
			gmt_0100_Amsterdam-Berlin-Bern-Rome-Stockholm-Vienna(24),
			gmt_0100_Belgrade-Bratislava-Budapest-Ljubljana-Prague(25),
			gmt_0100_Brussels-Copenhagen-Madrid-Paris-Vilnius(26),
			gmt_0100_Sarajevo-Skopje-Warsaw-Zagreb(27),
			gmt_0200_Athens-Istanbul-Minsk(28),
			gmt_0200_Bucharest(29),
			gmt_0200_Cairo(30),
			gmt_0200_Harare-Pretoria(31),
			gmt_0200_Helsinki-Riga-Sofia-Tallinn(32),
			gmt_0200_Jerusalem(33),
			gmt_0300_Baghdad-Kuwait-Riyadh(34),
			gmt_0300_Moscow-St-Petersburg-Volgograd(35),
			gmt_0300_Mairobi(36),
			gmt_0330_Tehran(37),
			gmt_0400_Abu-Dhabi-Muscat(38),
			gmt_0400_Baku-Tbilisi(39),
			gmt_0430_Kabul(40),
			gmt_0500_Ekaterinburg(41),
			gmt_0500_Islamabad-Karachi-Tashkent(42),
			gmt_0530_Bombay-Calcutta-Madras-New-Delhi(43),
			gmt_0600_Astana-Almaty-Dhaka(44),
			gmt_0600_Colombo(45),
			gmt_0700_Bangkok-Hanoi-Jakarta(46),
			gmt_0800_Beijing-Chongqing-Hong-Kong-Urumqi(47),
			gmt_0800_Perth(48),
			gmt_0800_Singapore(49),
			gmt_0800_Taipei(50),
			gmt_0900_Osaka-Sapporo-Tokyo(51),
			gmt_0900_Seoul(52),
			gmt_0900_Yakutsk(53),
			gmt_0930_Adelaide(54),
			gmt_0930_Darwin(55),
			gmt_1000_Brisbane(56),
			gmt_1000_Canberra-Melbourne-Sydney(57),
			gmt_1000_Guam-Port-Moresby(58),
			gmt_1000_Hobart(59),
			gmt_1000_Vladivostok(60),
			gmt_1100_Magadan-Solomon-Is-New-Caledonia(61),
			gmt_1200_Auckland-Wllington(62),
			gmt_1200_Fiji-Kamchatka-Marshall-Is(63)} 
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The time-zone index of the NPort."
        ::= { timeSetting 1 }
    
    localTime OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..19))
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The system time in the following format 
            yyyy/mm/dd hh:mm:ss"
        ::= { timeSetting 2 }
        
    timeServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The NPort IAW5x50A_IO series device server uses SNTP
            (RFC-1769) for auto time calibration.
            Input the correct 'Time server' IP address or domain
            name. Once the NPort IAW5x50A_IO series device server
			is configured with the correct Time server address,
			it will request time information from the Time server
            every 10 minutes."
        ::= { timeSetting 3 }

-- -------------------------------------------------------------
-- Network settings
-- -------------------------------------------------------------
    
    networkSetting OBJECT IDENTIFIER ::= { swMgmt 3 }		-- 1.3.6.1.4.1.8691.2.21.1.3

-- -------------------------------------------------------------
-- Network settings -> General
-- -------------------------------------------------------------
    
    generalSetting OBJECT IDENTIFIER ::= { networkSetting 1 }		-- 1.3.6.1.4.1.8691.2.21.1.3.1

    dnsServer1IpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The first DNS server address. When the user wants
            to visit a particular website, the computer asks a
			Domain Name System (DNS) server for the website's
            correct IP address, and then the computer uses the
            response to connect to the web server. DNS is the
            way that Internet domain names are identified and
            translated into IP addresses. A domain name is an
            alphanumeric name, such as moxa.com, that it is
            usually easier to remember. A DNS server is a host
            that translates this kind of text-based domain name
            into the numeric IP address used to establish a
            TCP/IP connection."
        ::= { generalSetting 1 }
        
    dnsServer2IpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The second DNS server address. When the user wants
            to visit a particular website, the computer asks a
            Domain Name System (DNS) server for the website's
            correct IP address, and then the computer uses the
            response to connect to the web server. DNS is the
            way that Internet domain names are identified and
            translated into IP addresses. A domain name is an
            alphanumeric name, such as moxa.com, that it is
            usually easier to remember. A DNS server is a host
            that translates this kind of text-based domain name
            into the numeric IP address used to establish a
            TCP/IP connection."
        ::= { generalSetting 2 }
        
-- -------------------------------------------------------------
-- Network settings -> Ethernet
-- -------------------------------------------------------------
    
    ethernetSetting OBJECT IDENTIFIER ::= { networkSetting 2 }		-- 1.3.6.1.4.1.8691.2.21.1.3.2
          
    ethIpConfiguration OBJECT-TYPE
        SYNTAX INTEGER { static(0), dhcp(1), bootp(2) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP configuration mode of the NPort. You can
            choose from four possible IP configuration modes:
            Static, DHCP, DHCP/BOOTP, BOOTP."
        ::= { ethernetSetting 1 }
        
    ethIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "An IP address is a number assigned to a network
            device (such as a computer) as a permanent address
            on the network. Computers use the IP address to
            identify and talk to each other over the network.
            Choose a proper IP address that is unique and valid
            in your network environment."
        ::= { ethernetSetting 2 }
    
    ethNetMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "A subnet mask represents all of the network hosts
            at one geographic location, in one building, or on
            the same local area network. When a packet is sent
            out over the network, the NPort IAW5x50A_IO series
			device server will use the subnet mask to check
			whether the TCP/IP host specified in the packet is
			on the local network segment. If the address is on
			the same network segment as the NPort IAW5x50A_IO
			series device server, a connection is established
			directly from the NPort IAW5x50A_IO series device
			server. Otherwise, the connection is established
			through the given default gateway."
        ::= { ethernetSetting 3 }
    
    ethDefaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A gateway is a network computer that acts as an
            entrance to another network. Usually, the computers
            that control traffic within the network or at the
            local Internet service provider are gateway nodes.
            The NPort IAW5x50A_IO series device server needs to
			know the IP address of the default gateway computer
			in order to communicate with the hosts outside the
            local network environment. For correct gateway IP
            address information, consult with the network
            administrator."
        ::= { ethernetSetting 4 }
		
	ethBridgeMode OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Enable or disable the bridge function."
        ::= { ethernetSetting 5 }	
   
-- -------------------------------------------------------------
-- Network settings -> WLAN
-- -------------------------------------------------------------
    
    wlanSetting OBJECT IDENTIFIER ::= { networkSetting 3 }		-- 1.3.6.1.4.1.8691.2.21.1.3.3
          
    wlanIpConfiguration OBJECT-TYPE
        SYNTAX INTEGER { static(0), dhcp(1), bootp(2) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP configuration mode of the NPort. You can
            choose from four possible IP configuration modes:
            Static, DHCP, DHCP/BOOTP, BOOTP."
        ::= { wlanSetting 1 }
        
    wlanIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "An IP address is a number assigned to a network
            device (such as a computer) as a permanent address
            on the network. Computers use the IP address to
            identify and talk to each other over the network.
            Choose a proper IP address that is unique and valid
            in your network environment."
        ::= { wlanSetting 2 }
    
    wlanNetMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "A subnet mask represents all of the network hosts
            at one geographic location, in one building, or on
            the same local area network. When a packet is sent
            out over the network, the NPort IAW5x50A_IO series
			device server will use the subnet mask to check
			whether the TCP/IP host specified in the packet is
			on the local network segment. If the address is on
			the same network segment as the NPort IAW5x50A_IO
			series device server, a connection is established
			directly from the NPort IAW5x50A_IO series device
			server. Otherwise, the connection is established
			through the given default gateway."
        ::= { wlanSetting 3 }
    
    wlanDefaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A gateway is a network computer that acts as an
            entrance to another network. Usually, the computers
            that control traffic within the network or at the
            local Internet service provider are gateway nodes.
            The NPort IAW5x50A_IO series device server needs to
			know the IP address of the default gateway computer
			in order to communicate with the hosts outside the
            local network environment. For correct gateway IP
            address information, consult with the network
            administrator."
        ::= { wlanSetting 4 }
  
-- -------------------------------------------------------------
-- Network settings -> Profile
-- -------------------------------------------------------------

    profileSetting OBJECT IDENTIFIER ::= { networkSetting 4 }		-- 1.3.6.1.4.1.8691.2.21.1.3.4            

 	networkType OBJECT-TYPE
        SYNTAX INTEGER { ad-hoc(0), infrastructure(1) } 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Select WLAN network type."
        ::= { profileSetting 1 }

-- -------------------------------------------------------------
-- Network settings -> Profile -> adhocProfile
-- -------------------------------------------------------------

	adhocProfile OBJECT IDENTIFIER ::= { profileSetting 2 }			-- 1.3.6.1.4.1.8691.2.21.1.3.4.2
	
-- -------------------------------------------------------------
-- Network settings -> Profile -> adhocProfile -> General
-- -------------------------------------------------------------
	
	adhocGeneralSetting OBJECT IDENTIFIER ::= { adhocProfile 1 }	-- 1.3.6.1.4.1.8691.2.21.1.3.4.2.1

	adhocProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Assign profile name."
        ::= { adhocGeneralSetting 1 }

	adhocRFType OBJECT-TYPE
        SYNTAX INTEGER { w802_11b_g(2) } 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Select WLAN network type."
        ::= { adhocGeneralSetting 2 }
        
	adhocWlanSSID OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Set WLAN SSID"
        ::= { adhocGeneralSetting 3 }
        
	adhocChannel OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Display currently used channel. When in Ad-Hoc mode, this value can be set.
			    mode            region    possible channel
			======================================
			802.11b_g : 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13"
        ::= { adhocGeneralSetting 4 }  
		
-- -------------------------------------------------------------
-- Network settings -> Profile -> adhocProfile -> Security
-- -------------------------------------------------------------
	
	adhocSecuritySetting OBJECT IDENTIFIER ::= { adhocProfile 2 }	-- 1.3.6.1.4.1.8691.2.21.1.3.4.2.2

	adhocAuthentication OBJECT-TYPE
        SYNTAX INTEGER { open-system(0) } 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Wireless LAN autentication type."
        ::= { adhocSecuritySetting 1 }

	adhocEncryption OBJECT-TYPE
        SYNTAX INTEGER { disable(0), wep(1) } 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set encryption type."
        ::= { adhocSecuritySetting 2 }

	adhocWepKeyLength OBJECT-TYPE
        SYNTAX INTEGER { key-64-bits(0), key-128-bits(1) } 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "WEP key length."
        ::= { adhocSecuritySetting 3 }

	adhocWepKeyIndex OBJECT-TYPE
        SYNTAX INTEGER (1..4) 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WEP key index 1~4."
        ::= { adhocSecuritySetting 4 }
        
	adhocWepKeyPassphrase OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WEP key passphrase."
        ::= { adhocSecuritySetting 5 } 

	adhocWepKeyFormat OBJECT-TYPE
        SYNTAX INTEGER { ascii(0), hex(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WEP key format."
        ::= { adhocSecuritySetting 6 }

-- -------------------------------------------------------------
-- Network settings -> Profile -> infrastructureProfile
-- -------------------------------------------------------------

	infrastructureProfile OBJECT IDENTIFIER ::= { profileSetting 3 }		-- 1.3.6.1.4.1.8691.2.21.1.3.4.3

-- -------------------------------------------------------------
-- Network settings -> Profile -> infrastructureProfile -> General
-- -------------------------------------------------------------

    infraGeneralSetting OBJECT IDENTIFIER ::= { infrastructureProfile 1 }	-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.1
    
	infraGeneralSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF InfraGeneralSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "WLAN profile general setting table."
        ::= { infraGeneralSetting 1 }										-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.1.1
    
    infraGeneralSettingEntry OBJECT-TYPE
        SYNTAX InfraGeneralSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "WLAN profile general setting entry."
        INDEX { profileIndex }
        ::= { infraGeneralSettingTable 1 }									-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.1.1.1
        
    InfraGeneralSettingEntry ::=
        SEQUENCE {
        	profileIndex
        		INTEGER,
            profileName
                DisplayString,
            profileRFType
            	INTEGER,
            profileWlanSSID
            	DisplayString
        }

    profileIndex OBJECT-TYPE
        SYNTAX INTEGER { profile1(1) } 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The profile index"
        ::= { infraGeneralSettingEntry 1 }

	profileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Assign profile name."
        ::= { infraGeneralSettingEntry 2 }

	profileRFType OBJECT-TYPE
        SYNTAX INTEGER { auto(0), w802_11a(1), w802_11b_g(2), w802_11a_n(3), w802_11b_g_n(4) } 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Select WLAN network type."
        ::= { infraGeneralSettingEntry 3 }
        
	profileWlanSSID OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Set WLAN SSID"
        ::= { infraGeneralSettingEntry 4 }
                        
-- -------------------------------------------------------------
-- Network settings -> Profile -> infrastructureProfile -> Security
-- -------------------------------------------------------------

    securitySetting OBJECT IDENTIFIER ::= { infrastructureProfile 2 }		-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.2

	securitySettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SecuritySettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "WLAN profile security setting table."
        ::= { securitySetting 1 }											-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.2.1
    
    securitySettingEntry OBJECT-TYPE
        SYNTAX SecuritySettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "WLAN profile security setting entry."
        INDEX { profileIndex }
        ::= { securitySettingTable 1 }										-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.2.1.1
        
    SecuritySettingEntry ::=
        SEQUENCE {
            authentication
                INTEGER,
            encryption
            	INTEGER,
            wepKeyLength
            	INTEGER,
            wepKeyIndex
            	INTEGER,
            wepKeyPassphrase
            	DisplayString,
            wepKeyFormat
            	INTEGER,
            eapMethod	
            	INTEGER,
            tunneledAuth
            	INTEGER,
            wpaUsername	
            	DisplayString,
            wpaAnonymousUsername
            	DisplayString,
            verifyServerCert
            	INTEGER,
            trustedServerCert
            	INTEGER,
            userCert
            	INTEGER,
            userPrivateKey
            	INTEGER
        }
        
	authentication OBJECT-TYPE
        SYNTAX INTEGER { open-system(0), shared-key(1), wpa(2), wpa-psk(3), wpa2(4), wpa2-psk(5) } 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Wireless LAN autentication type."
        ::= { securitySettingEntry 1 }

	encryption OBJECT-TYPE
        SYNTAX INTEGER { disable(0), wep(1), tkip(2), aes-ccmp(3) } 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set encryption type. Selection rule is as following.
            authentication         selectable encryption
            ==============         =====================
            open-system(0)         disable(0), wep(1)
            shared-key(1)          wep(1)
            wpa(2), wpa-psk(3)     tkip(2), aes-ccmp(3)
            wpa2(4), wpa2-psk(5)   tkip(2), aes-ccmp(3)
            "
        ::= { securitySettingEntry 2 }

	wepKeyLength OBJECT-TYPE
        SYNTAX INTEGER { key-64-bits(0), key-128-bits(1) } 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "WEP key length."
        ::= { securitySettingEntry 3 }

	wepKeyIndex OBJECT-TYPE
        SYNTAX INTEGER (1..4) 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WEP key index 1~4."
        ::= { securitySettingEntry 4 }
        
	wepKeyPassphrase OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WEP key passphrase."
        ::= { securitySettingEntry 5 } 

	wepKeyFormat OBJECT-TYPE
        SYNTAX INTEGER { ascii(0), hex(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WEP key format."
        ::= { securitySettingEntry 6 }

	eapMethod OBJECT-TYPE
        SYNTAX INTEGER { tls(0), peap(1), ttls(2), leap(3) } 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "EAP method for WPA and WPA2 authentication."
        ::= { securitySettingEntry 12 } 

	tunneledAuth OBJECT-TYPE
        SYNTAX INTEGER { gtc(0), md5(1), pap(2), chap(3), mschap(4), mschapv2(5), tls(6), eap-tls(7), eap-mschapv2(8), eap-gtc(9), eap-md5(10)  } 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set tunneled authentication protocol when PEAP/TTLS is selected as EAP method.
             EAP method   selectable tunneled authentication 
             ==========   ==================================
             peap(1)      gtc(0), md5(1), mschapv2(5)        
             ttls(2)      pap(2), chap(3), mschap(4), mschapv2(5), 
             			  eap-mschapv2(8), eap-gtc(9), eap-md5(10)
            "            
        ::= { securitySettingEntry 13 } 
        
	wpaUsername OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "WPA username for WPA and WPA2 authentication."
        ::= { securitySettingEntry 14 }

	wpaAnonymousUsername OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Anonymous username needed when TTLS is selected as EAP method."
        ::= { securitySettingEntry 16 }
		
	verifyServerCert OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The setting of verify server certificate."
        ::= { securitySettingEntry 17 } 

	trustedServerCert OBJECT-TYPE
        SYNTAX INTEGER { not-installed(0), installed(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Display whether or not trusted server certificate is installed."
        ::= { securitySettingEntry 18 } 

	userCert OBJECT-TYPE
        SYNTAX INTEGER { not-installed(0), installed(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Display whether or not user certificate is installed."
        ::= { securitySettingEntry 19 }

	userPrivateKey OBJECT-TYPE
        SYNTAX INTEGER { not-installed(0), installed(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Display whether or not user private key is installed."
        ::= { securitySettingEntry 20 } 
        
-- -------------------------------------------------------------
-- Network settings -> Profile -> infrastructureProfile -> Sort
-- -------------------------------------------------------------
        
    fastRoamingSetting OBJECT-TYPE     
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The setting of fast roaming."
        ::= { infrastructureProfile 3 }										-- 1.3.6.1.4.1.8691.2.21.1.3.4.3.3
		
	fastRoamingScanChannels1 OBJECT-TYPE     
        SYNTAX INTEGER { n_a(0), channel_1(1), channel_2(2), channel_3(3), channel_4(4), channel_5(5), channel_6(6), channel_7(7), channel_8(8), channel_9(9), channel_10(10), channel_11(11), channel_12(12), channel_13(13), channel_36(15), channel_40(16), channel_44(17), channel_48(18), channel_52(19), channel_56(20),channel_60(21), channel_64(22), channel_100(23), channel_104(24), channel_108(25), channel_112(26), channel_116(27), channel_120(28), channel_124(29), channel_128(30), channel_132(31), channel_136(32), channel_140(33), channel_149(34), channel_153(35), channel_157(36), channel_161(37), channel_165(38)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The scan channels of fast roaming. 0 represents 'N/A'
			======================================================
			Auot channel : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165
			802.11a, 802.11a_n : 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165
			802.11b_g, 802.11b_g_n : 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13"
        ::= { infrastructureProfile 4 }
	
	fastRoamingScanChannels2 OBJECT-TYPE     
        SYNTAX INTEGER { n_a(0), channel_1(1), channel_2(2), channel_3(3), channel_4(4), channel_5(5), channel_6(6), channel_7(7), channel_8(8), channel_9(9), channel_10(10), channel_11(11), channel_12(12), channel_13(13), channel_36(15), channel_40(16), channel_44(17), channel_48(18), channel_52(19), channel_56(20),channel_60(21), channel_64(22), channel_100(23), channel_104(24), channel_108(25), channel_112(26), channel_116(27), channel_120(28), channel_124(29), channel_128(30), channel_132(31), channel_136(32), channel_140(33), channel_149(34), channel_153(35), channel_157(36), channel_161(37), channel_165(38)}

        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The scan channels of fast roaming. 0 represents 'N/A'
			======================================================
			Auot channel : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165
			802.11a, 802.11a_n : 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165
			802.11b_g, 802.11b_g_n : 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13"
        ::= { infrastructureProfile 5 }
        
	fastRoamingScanChannels3 OBJECT-TYPE     
        SYNTAX INTEGER { n_a(0), channel_1(1), channel_2(2), channel_3(3), channel_4(4), channel_5(5), channel_6(6), channel_7(7), channel_8(8), channel_9(9), channel_10(10), channel_11(11), channel_12(12), channel_13(13), channel_36(15), channel_40(16), channel_44(17), channel_48(18), channel_52(19), channel_56(20),channel_60(21), channel_64(22), channel_100(23), channel_104(24), channel_108(25), channel_112(26), channel_116(27), channel_120(28), channel_124(29), channel_128(30), channel_132(31), channel_136(32), channel_140(33), channel_149(34), channel_153(35), channel_157(36), channel_161(37), channel_165(38)}

        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The scan channels of fast roaming. 0 represents 'N/A'
			======================================================
			Auot channel : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165
			802.11a, 802.11a_n : 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165
			802.11b_g, 802.11b_g_n : 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13"
        ::= { infrastructureProfile 6 }
		
	fastRoamingThreshold OBJECT-TYPE	
		SYNTAX INTEGER (-70..-40)
		MAX-ACCESS read-write
		STATUS current
        DESCRIPTION
		"Roaming threshold of fast roaming"
        ::= { infrastructureProfile 7 }
		
	fastRoamingDifference OBJECT-TYPE
		SYNTAX INTEGER (2..10)
		MAX-ACCESS read-write
		STATUS current
        DESCRIPTION
		"Roaming difference of fast roaming"
        ::= { infrastructureProfile 8 }
		
-- -------------------------------------------------------------
-- Network settings -> WLAN Log
-- -------------------------------------------------------------		
    
	wlanLogSetting OBJECT IDENTIFIER ::= { networkSetting 5 }		-- 1.3.6.1.4.1.8691.2.21.1.3.5
	
	wlanLogEnable OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable WLAN log"
        ::= { wlanLogSetting 1 }
		
-- -------------------------------------------------------------
-- Network settings -> Advanced
-- -------------------------------------------------------------

    advancedSetting OBJECT IDENTIFIER ::= { networkSetting 6 }		-- 1.3.6.1.4.1.8691.2.21.1.3.6
           
    gratuitousArp OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable the gratuitous ARP function. For some
            applications, users need the NPort IAW5x50A_IO series
            device server to send broadcast packets to update
            the ARP table on the server. If the customer enables
            this function and sets the send period, the NPort IAW5x50A_IO 
            series device server will send broadcast
            packets periodically."
        ::= { advancedSetting 1 }
        
    gratuitousArpSendPeriod  OBJECT-TYPE
        SYNTAX INTEGER (10..1000)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The send period of the gratuitous ARP function.
             Range: 10 ~ 1000 sec.
            "
        ::= { advancedSetting 2 }
		
	gratuitousArpIpAddress1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address of the static gratuitous ARP."
        ::= { advancedSetting 3 }	
	
	gratuitousArpMacAddress1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The MAC address of the static gratuitous ARP."
        ::= { advancedSetting 4 }

	gratuitousArpIpAddress2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address of the static gratuitous ARP."
        ::= { advancedSetting 5 }	
	
	gratuitousArpMacAddress2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The MAC address of the static gratuitous ARP."
        ::= { advancedSetting 6 }
		
	gratuitousArpIpAddress3 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address of the static gratuitous ARP."
        ::= { advancedSetting 7 }	
	
	gratuitousArpMacAddress3 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The MAC address of the static gratuitous ARP."
        ::= { advancedSetting 8 }
		
	gratuitousArpIpAddress4 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address of the static gratuitous ARP."
        ::= { advancedSetting 9 }	
	
	gratuitousArpMacAddress4 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The MAC address of the static gratuitous ARP."
        ::= { advancedSetting 10 }	
		
-- -------------------------------------------------------------
-- Serial port settings
-- -------------------------------------------------------------

    portSetting OBJECT IDENTIFIER ::= { swMgmt 4 }			-- 1.3.6.1.4.1.8691.2.21.1.4
    
-- -------------------------------------------------------------
-- Serial port settings -> Operation Modes settings
-- -------------------------------------------------------------

	opModeSetting OBJECT IDENTIFIER ::= { portSetting 1 }	-- 1.3.6.1.4.1.8691.2.21.1.4.1
	
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Modes
-- --------------------------------------------------------------------------------------

	opMode OBJECT IDENTIFIER ::= { opModeSetting 1 }		-- 1.3.6.1.4.1.8691.2.21.1.4.1.1
	
	opModePortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF OpModePortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The serial ports' operation mode table."
        ::= { opMode 1 }
    
    opModePortEntry OBJECT-TYPE
        SYNTAX OpModePortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The serial port's operation mode entry."
        INDEX { portIndex }
        ::= { opModePortTable 1 }
        
    OpModePortEntry ::=
        SEQUENCE {
        	portIndex
        		INTEGER,
            portMode
            	INTEGER
        }
        
    portIndex OBJECT-TYPE
        SYNTAX INTEGER (1..1)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The serial port index."
        ::= { opModePortEntry 1 }
            
    portMode OBJECT-TYPE
        SYNTAX INTEGER { 
			pair-connection-slave(0),
			pair-connection-master(1),
        	real-Com(2), 
			disable(7), 
			tcp-Server(10), 
			ethernet-modem(12),
			tcp-Client(13), 
			udp(14),
			rfc-2217(20),
			reverse-Terminal(21)
        }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The operation mode of the serial port. Note that
            changing this setting may also change the application."
        ::= { opModePortEntry 2 }
        
        
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters
-- --------------------------------------------------------------------------------------

	opModeParam OBJECT IDENTIFIER ::= { opModeSetting 2 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2
	
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> Real COM
-- --------------------------------------------------------------------------------------

	realCOM OBJECT IDENTIFIER ::= { opModeParam 1 }						-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.1
	
	realCOMTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RealCOMEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Real COM mode table."
        ::= { realCOM 1 }
    
    realCOMEntry OBJECT-TYPE
        SYNTAX RealCOMEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Real COM mode entry."
        INDEX { portIndex }
        ::= { realCOMTable 1 }
        
    RealCOMEntry ::=
        SEQUENCE {
        	realCOMTcpAliveCheck
            	INTEGER,
            realCOMMaxConnection
            	INTEGER,
            realCOMIgnoreJammedIp
            	INTEGER,
            realCOMAllowDriverControl
            	INTEGER,
            realCOMConnectionDownRTS
            	INTEGER,
            realCOMConnectionDownDTR
            	INTEGER
        }
	
	realCOMTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time. After the
            connection is closed, the NPort IAW5x50A_IO series device
            server starts listening for another Real COM driver
            Connection."
        ::= { realCOMEntry 1 }
        
    realCOMMaxConnection OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Max connection is usually used when the user needs
            to receive data from different hosts simultaneously.
            The factory default is 1. In this case, only one
            specific host can access this port of the NPort
			IAW5x50A_IO series device server, and the Real COM driver
			on that host will have full control over the port.
            Max. connection = 1:
            Allows only a single host's Real COM driver to open
            the specific NPort IAW5x50A_IO series device server's
            serial port.
            Max connection = 2 to 8:
            Allows 2 to 8 hosts' Real COM drivers to open the
            specific NPort IAW5x50A_IO series device server's
			serial port, at the same time. When multiple hosts'
			Real COM drivers open the serial port at the same
			time, the COM driver only provides a pure data tunnel
            without control ability. The serial port parameter
            will use the firmware settings instead of getting
            the settings from your application program (AP)."
        ::= { realCOMEntry 2 }
        
    realCOMIgnoreJammedIp OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Previously, when Max connection was set to a value
            greater than 1, and the serial device was
            transmitting data, if any one of the connected hosts
            stopped responding, the serial device would wait
            until the data had been transmitted successfully
            before transmitting the second group of data to all
            hosts. Currently, if you select Yes for 'Ignore
            jammed IP,' the host that is not responding will be
            ignored, but the data will still be transmitted to
            the other hosts."
        ::= { realCOMEntry 3 }
        
    realCOMAllowDriverControl OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "If Max connection is greater than 1, NPort will
            ignore driver control commands from all connected
            hosts. However, if you set Allow driver control to
            YES, control commands will be accepted. Note that
            since the NPort IAW5x50A_IO series device server may get
            configuration changes from multiple hosts, the most
            recent command received will take precedence."
        ::= { realCOMEntry 4 }
    
	realCOMConnectionDownRTS OBJECT-TYPE
        SYNTAX INTEGER { always-low(1), always-high(0) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "For some applications, serial devices must obtain
            the Ethernet link status by reading the RTS signal from the
            NPort IAW5x50A_IO series device server. If this setting is
            set to 'always low,' RTS will change its state to
            low if the Ethernet link is off."
        ::= { realCOMEntry 5 }
        
    realCOMConnectionDownDTR OBJECT-TYPE
        SYNTAX INTEGER { always-low(1), always-high(0) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "For some applications, serial devices must obtain
            the Ethernet link status by reading the DTR signal from the
            NPort IAW5x50A_IO series device server. If this setting is
            set to 'always low,' DTR will change its state to
            low if the Ethernet link is off."
        ::= { realCOMEntry 6 }
    
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> RFC2217
-- --------------------------------------------------------------------------------------

	rfc2217 OBJECT IDENTIFIER ::= { opModeParam 2 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.2
	
	rfc2217Table OBJECT-TYPE
        SYNTAX SEQUENCE OF Rfc2217Entry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The RFC2217 mode table."
        ::= { rfc2217 1 }
    
    rfc2217Entry OBJECT-TYPE
        SYNTAX Rfc2217Entry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The RFC2217 mode entry."
        INDEX { portIndex }
        ::= { rfc2217Table 1 }
        
    Rfc2217Entry ::=
        SEQUENCE {
        	rfc2217TcpAliveCheck
            	INTEGER,
            rfc2217TcpPort
            	INTEGER
        }
	
	rfc2217TcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time. After the
            connection is closed, the NPort IAW5x50A_IO series
			device server starts listening for another TCP Connection."
        ::= { rfc2217Entry 1 }
        
    rfc2217TcpPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "TCP server port of RFC2217."
        ::= { rfc2217Entry 2 }
                        
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> TCP Server
-- --------------------------------------------------------------------------------------

	tcpServer OBJECT IDENTIFIER ::= { opModeParam 3 }			-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.3
	
	tcpServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TcpServerEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The TCP server mode table."
        ::= { tcpServer 1 }
    
    tcpServerEntry OBJECT-TYPE
        SYNTAX TcpServerEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The TCP server mode entry."
        INDEX { portIndex }
        ::= { tcpServerTable 1 }
        
    TcpServerEntry ::=
        SEQUENCE {
        	tcpServerTcpAliveCheck
            	INTEGER,
            tcpServerInactivityTime
            	INTEGER,
            tcpServerMaxConnection
            	INTEGER,
            tcpServerIgnoreJammedIp
            	INTEGER,
            tcpServerAllowDriverControl
            	INTEGER,
            tcpServerTcpPort
            	INTEGER,
            tcpServerCmdPort
            	INTEGER,
            tcpServerConnectionDownRTS
            	INTEGER,
            tcpServerConnectionDownDTR
            	INTEGER
        }
        
	tcpServerTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time. After the
            connection is closed, the NPort IAW5x50A_IO series device
            server starts listening for another TCP Connection."
        ::= { tcpServerEntry 1 }
        
    tcpServerInactivityTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "0 ms: TCP connection is not closed when the
            serial line is idle.
            1-65535 ms: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no serial data activity for the given time. After
            the connection is closed, the NPort IAW5x50A_IO series
            device server starts listening for another
            TCP connection."
        ::= { tcpServerEntry 2 }
        
    tcpServerMaxConnection OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Max connection is usually used when the user needs
            to receive data from different hosts simultaneously.
            The factory default is 1. In this case, only one
            specific host can access this port of the NPort
			IAW5x50A_IO series device server, and the TCP server driver
			on that host will have full control over the port.
            Max. connection 1:
            Allows only a single host's to connect specific
			NPort IAW5x50A_IO series device
            Max connection 2 to 8:
            Allows 2 to 8 hosts' to conncect NPort IAW5x50A_IO series
			device at the same time."
        ::= { tcpServerEntry 3 }
        
    tcpServerIgnoreJammedIp OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Previously, when Max connection was set to a value
            greater than 1, and the serial device was
            transmitting data, if any one of the connected hosts
            stopped responding, the serial device would wait
            until the data had been transmitted successfully
            before transmitting the second group of data to all
            hosts. Currently, if you select Yes for 'Ignore
            jammed IP,' the host that is not responding will be
            ignored, but the data will still be transmitted to
            the other hosts."
        ::= { tcpServerEntry 4 }
        
    tcpServerAllowDriverControl OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "If Max connection is greater than 1, NPort will
            ignore driver control commands from all connected
            hosts. However, if you set Allow driver control to
            YES, control commands will be accepted. Note that
            since the NPort IAW5x50A_IO series device server may
			get configuration changes from multiple hosts, the
			most recent command received will take precedence."
        ::= { tcpServerEntry 5 }
        
    tcpServerTcpPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The 'TCP port' is the TCP port that the NPort 
            IAW5x50A_IO series device server uses to listen to
            connections, and that other devices must use to
            contact the NPort IAW5x50A_IO series device server."
        ::= { tcpServerEntry 6 }
        
    tcpServerCmdPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The 'Command port' is a TCP port used to listen for 
            SSDK commands from the host. In order to
            prevent a TCP port conflict with other applications,
            the user can set the Command port to another port
            if needed."
        ::= { tcpServerEntry 7 }
	
    tcpServerConnectionDownRTS OBJECT-TYPE
        SYNTAX INTEGER { always-low(1), always-high(0) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "For some applications, serial devices must obtain
            the Ethernet link status from the RTS signal sent by the
            NPort IAW5x50A_IO series device server. If this setting is
            set to 'goes low,' RTS will change the state to
            low if the Ethernet link is off."
        ::= { tcpServerEntry 8 }
        
    tcpServerConnectionDownDTR OBJECT-TYPE
        SYNTAX INTEGER { always-low(1), always-high(0) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "For some applications, serial devices must obtain
            the Ethernet link status from the DTR signal sent by the
            NPort IAW5x50A_IO series device server. If this setting is
            set to 'goes low,' DTR will change the state to
            low if the Ethernet link is off."
        ::= { tcpServerEntry 9 }         

-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> TCP Client
-- --------------------------------------------------------------------------------------

	tcpClient OBJECT IDENTIFIER ::= { opModeParam 4 }			-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.4
	
	tcpClientTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TcpClientEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The TCP client mode table."
        ::= { tcpClient 1 }
    
    tcpClientEntry OBJECT-TYPE
        SYNTAX TcpClientEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The TCP client mode entry."
        INDEX { portIndex }
        ::= { tcpClientTable 1 }
        
    TcpClientEntry ::=
        SEQUENCE {
        	tcpClientTcpAliveCheck
            	INTEGER,
            tcpClientInactivityTime
            	INTEGER,
            tcpClientIgnoreJammedIp
            	INTEGER,
            tcpClientDestinationAddress1
                DisplayString,
            tcpClientDestinationPort1
                INTEGER,
            tcpClientDestinationAddress2
                DisplayString,
            tcpClientDestinationPort2
            	INTEGER,
            tcpClientDestinationAddress3
                DisplayString,
            tcpClientDestinationPort3
            	INTEGER,
            tcpClientDestinationAddress4
                DisplayString,
            tcpClientDestinationPort4
            	INTEGER,
            tcpClientDesignatedLocalPort1
            	INTEGER,
            tcpClientDesignatedLocalPort2
            	INTEGER,
            tcpClientDesignatedLocalPort3
            	INTEGER,
            tcpClientDesignatedLocalPort4
            	INTEGER,
            tcpClientConnectionControl
            	INTEGER
        }
        
	tcpClientTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device client
            automatically closes the TCP connection if there is
            no TCP activity for the given time."
        ::= { tcpClientEntry 1 }
        
    tcpClientInactivityTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "0 ms: TCP connection is not closed when the
            serial line is idle.
            1-65535 ms: The NPort IAW5x50A_IO series device client
            automatically closes the TCP connection if there is
            no serial data activity for the given time."
        ::= { tcpClientEntry 2 }
                
    tcpClientIgnoreJammedIp OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "Previously, when Max connection was set to a value
            greater than 1, and the serial device was
            transmitting data, if any one of the connected hosts
            stopped responding, the serial device would wait
            until the data had been transmitted successfully
            before transmitting the second group of data to all
            hosts. Currently, if you select Yes for 'Ignore
            jammed IP,' the host that is not responding will be
            ignored, but the data will still be transmitted to
            the other hosts."
        ::= { tcpClientEntry 3 }
                
    tcpClientDestinationAddress1 OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can connect
			actively to a remote host that has this IP address."
		::= { tcpClientEntry 4 }       
		
	tcpClientDestinationPort1 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can connect
			actively to a remote host that has this TCP port number."
		::= { tcpClientEntry 5 }    
		
	tcpClientDestinationAddress2 OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can
			connect actively to a remote host that has this IP
			address."
		::= { tcpClientEntry 6 }       
		
	tcpClientDestinationPort2 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can
			connect actively to a remote host that
			has this TCP port number."
		::= { tcpClientEntry 7 }   
		
	tcpClientDestinationAddress3 OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can
			connect actively to a remote host that 
                        has this IP address."
		::= { tcpClientEntry 8 }       
		
	tcpClientDestinationPort3 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can
			connect actively to a remote host that
                        has this port number."
		::= { tcpClientEntry 9 } 
		
	tcpClientDestinationAddress4 OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can
			connect actively to a remote host that
                        has this IP address."
		::= { tcpClientEntry 10 }       
		
	tcpClientDestinationPort4 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can
			connect actively to a remote host that 
                        has this port number."
		::= { tcpClientEntry 11 } 
		
	tcpClientDesignatedLocalPort1 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The local TCP port used to connect actively to the
			remote host."
		::= { tcpClientEntry 12 } 
		
	tcpClientDesignatedLocalPort2 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The local TCP port used to connect actively to the
			remote host."
		::= { tcpClientEntry 13 }
		
	tcpClientDesignatedLocalPort3 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The local TCP port used to connect actively to the
			remote host."
		::= { tcpClientEntry 14 }
		
	tcpClientDesignatedLocalPort4 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The local TCP port used to connect actively to the
			remote host."
		::= { tcpClientEntry 15 }
		
	tcpClientConnectionControl OBJECT-TYPE
		SYNTAX INTEGER {
			startup-None(257),
			anyCharacter-None(258),
			anyCharacter-InactivityTime(514),
			dsrOn-DSR-Off(1028),
			dsrOn-None(260),
			dcdOn-DCD-Off(2056),
			dcdOn-None(264) 
		}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Events that cause the TCP client to drop the
			connection."
		::= { tcpClientEntry 16 }
	
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> UDP
-- --------------------------------------------------------------------------------------

	udp OBJECT IDENTIFIER ::= { opModeParam 5 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.5
	
	udpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UdpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The UDP mode table."
        ::= { udp 1 }
    
    udpEntry OBJECT-TYPE
        SYNTAX UdpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The UDP mode entry."
        INDEX { portIndex }
        ::= { udpTable 1 }
        
    UdpEntry ::=
        SEQUENCE {
            udpDestinationAddress1Begin
            	IpAddress,
            udpDestinationAddress1End
            	IpAddress,
            udpDestinationPort1
            	INTEGER,
            udpDestinationAddress2Begin
            	IpAddress,
            udpDestinationAddress2End
            	IpAddress,
            udpDestinationPort2
            	INTEGER,
            udpDestinationAddress3Begin
            	IpAddress,
            udpDestinationAddress3End
            	IpAddress,
            udpDestinationPort3
            	INTEGER,
            udpDestinationAddress4Begin
            	IpAddress,
            udpDestinationAddress4End
            	IpAddress,
            udpDestinationPort4
            	INTEGER,
            udpLocalListenPort
            	INTEGER
        }
        	
	udpDestinationAddress1Begin OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between this parameter and
			udpDestinationAddress1End."
		::= { udpEntry 1 }     
		
	udpDestinationAddress1End OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between udpDestinationAddress1Begin
			and this parameter."
		::= { udpEntry 2 }    
		
	udpDestinationPort1 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts that have this UDP port
			number."
		::= { udpEntry 3 }    
		
	udpDestinationAddress2Begin OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between this parameter and
			udpDestinationAddress2End."
		::= { udpEntry 4 }     
		
	udpDestinationAddress2End OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to the remote hosts whose IP addresses
			are in the range between udpDestinationAddress2Begin
			and this parameter."
		::= { udpEntry 5 }    
		
	udpDestinationPort2 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to the remote hosts that have this 
            UDP port number."
		::= { udpEntry 6 } 
	
	udpDestinationAddress3Begin OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between this parameter and
			udpDestinationAddress3End."
		::= { udpEntry 7 }     
		
	udpDestinationAddress3End OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between udpDestinationAddress3Begin
			and this parameter."
		::= { udpEntry 8 }    
		
	udpDestinationPort3 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts that have this UDP
			port number."
		::= { udpEntry 9 } 
		
	udpDestinationAddress4Begin OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between this parameter and
			udpDestinationAddress4End."
		::= { udpEntry 10 }     
		
	udpDestinationAddress4End OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts whose IP addresses
			are in the range between udpDestinationAddress4Begin
			and this parameter."
		::= { udpEntry 11 }    
		
	udpDestinationPort4 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The NPort IAW5x50A_IO series device server can actively
			send UDP packets to remote hosts that have this 
            UDP port number."
		::= { udpEntry 12 } 
		
	udpLocalListenPort OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The UDP port that the NPort IAW5x50A_IO series device
			server listens to and that other devices must use
			to contact the NPort IAW5x50A_IO series device server."
		::= { udpEntry 13 }          
           
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> Pair Connection Master
-- --------------------------------------------------------------------------------------

	pairConnectionMaster OBJECT IDENTIFIER ::= { opModeParam 6 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.6
	
	pairConnectionMasterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PairConnectionMasterEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The pair connection master mode table."
        ::= { pairConnectionMaster 1 }
    
    pairConnectionMasterEntry OBJECT-TYPE
        SYNTAX PairConnectionMasterEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The pair connection master mode entry."
        INDEX { portIndex }
        ::= { pairConnectionMasterTable 1 }
        
    PairConnectionMasterEntry ::=
        SEQUENCE {
        	pairConnectionMasterTcpAliveCheck
            	INTEGER,
        	pairConnectionMasterDestnationAddress
            	DisplayString,
            pairConnectionMasterDestnationTcpPort
            	INTEGER
        }
	
	pairConnectionMasterTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time. After the
            connection is closed, the NPort IAW5x50A_IO series device 
            server starts connecting again."
        ::= { pairConnectionMasterEntry 1 }
        
	pairConnectionMasterDestnationAddress OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"IP address of pair connection slave."
		::= { pairConnectionMasterEntry 2 }     
		
    pairConnectionMasterDestnationTcpPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "TCP port of pair connection slave."
        ::= { pairConnectionMasterEntry 3 }
                        
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> Pair Connection Slave
-- --------------------------------------------------------------------------------------

	pairConnectionSlave OBJECT IDENTIFIER ::= { opModeParam 7 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.7
	
	pairConnectionSlaveTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PairConnectionSlaveEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The pair connection slave mode table."
        ::= { pairConnectionSlave 1 }
    
    pairConnectionSlaveEntry OBJECT-TYPE
        SYNTAX PairConnectionSlaveEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The pair connection slave mode entry."
        INDEX { portIndex }
        ::= { pairConnectionSlaveTable 1 }
        
    PairConnectionSlaveEntry ::=
        SEQUENCE {
        	pairConnectionSlaveTcpAliveCheck
            	INTEGER,
            pairConnectionSlaveLocalTcpPort
            	INTEGER
        }
	
	pairConnectionSlaveTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time. After the
            connection is closed, the NPort IAW5x50A_IO series
			device server starts listening for another TCP Connection."
        ::= { pairConnectionSlaveEntry 1 }
        
    pairConnectionSlaveLocalTcpPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "TCP server port of pair connection slave."
        ::= { pairConnectionSlaveEntry 2 }
                        
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> Ethernet Modem
-- --------------------------------------------------------------------------------------

	ethernetModem OBJECT IDENTIFIER ::= { opModeParam 8 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.8
	
	ethernetModemTable OBJECT-TYPE
        SYNTAX SEQUENCE OF EthernetModemEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The ethernet modem mode table."
        ::= { ethernetModem 1 }
    
    ethernetModemEntry OBJECT-TYPE
        SYNTAX EthernetModemEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The ethernet modem mode entry."
        INDEX { portIndex }
        ::= { ethernetModemTable 1 }
        
    EthernetModemEntry ::=
        SEQUENCE {
        	ethernetModemTcpAliveCheck
            	INTEGER,
            ethernetModemLocalTcpPort
            	INTEGER
        }
	
	ethernetModemTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time."
        ::= { ethernetModemEntry 1 }
        
    ethernetModemLocalTcpPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "TCP server port of ethernet modem."
        ::= { ethernetModemEntry 2 }
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Operation Mode Parameters -> Reverse Terminal
-- --------------------------------------------------------------------------------------

	reverseTerminal OBJECT IDENTIFIER ::= { opModeParam 9 }				-- 1.3.6.1.4.1.8691.2.21.1.4.1.2.9		
	
	reverseTerminalTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ReverseTerminalEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The reverse terminal mode table."
        ::= { reverseTerminal 1 }
    
    reverseTerminalEntry OBJECT-TYPE
        SYNTAX ReverseTerminalEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The reverse terminal mode entry."
        INDEX { portIndex }
        ::= { reverseTerminalTable 1 }
        
    ReverseTerminalEntry ::=
        SEQUENCE {
        	reverseTerminalTcpAliveCheck
        		INTEGER,
        	reverseTerminalInactivityTime
        		INTEGER,
            reverseTerminalTcpPort
            	INTEGER,
            reverseTerminalAuthenticationType
            	INTEGER,
            reverseTerminalMapKeys
            	INTEGER
        }
        
	reverseTerminalTcpAliveCheck OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The TCP alive check time.
            0 min: TCP connection will not be closed when the
            TCP connection is idle.
            1 to 99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection if there is
            no TCP activity for the given time."
        ::= { reverseTerminalEntry 1 }
		
	reverseTerminalInactivityTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "0 min: TCP connection is not closed when the 
            serial line is idle.
            0-99 min: The NPort IAW5x50A_IO series device server
            automatically closes the TCP connection."
        ::= { reverseTerminalEntry 2 }
		        
	reverseTerminalTcpPort OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Each of the NPort IAW5x50A_IO series device server's serial
			ports are mapped to a TCP port."
		::= { reverseTerminalEntry 3 }   
		
	reverseTerminalAuthenticationType OBJECT-TYPE
		SYNTAX INTEGER  { none(0), local(1), radius(2) }
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The reverse terminal authentication type."
		::= { reverseTerminalEntry 4 } 
		
	reverseTerminalMapKeys OBJECT-TYPE
		SYNTAX INTEGER  { cr-lf(0), cr(1), lf(2) }
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"If data received through NPort IAW5x50A_IO series device
			server's Ethernet port is sent using the 'enter'
			command, the data will be transmitted out through
			the serial port with an added
			1. 'carriage return + line feed' if you select the
			'cr-lf' option (i.e., the cursor will jump to the
			next line, and return to the first character of the
			line)
			2. 'carriage return' if you select the 'cr' option
			(i.e., the cursor will return to the first character
			of the line
			3. 'line feed' if you select the 'lf' option. (i.e.,
			the cursor will jump to the next line, but not move
			horizontally)"
		::= { reverseTerminalEntry 5 }
                        
-- --------------------------------------------------------------------------------------
-- Serial port settings -> Operation Modes settings -> Data Packing
-- --------------------------------------------------------------------------------------

	dataPacking OBJECT IDENTIFIER ::= { opModeSetting 3 }			-- 1.3.6.1.4.1.8691.2.21.1.4.1.3
	
	dataPackingPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DataPackingPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Data Packing table."
        ::= { dataPacking 1 }
    
    dataPackingPortEntry OBJECT-TYPE
        SYNTAX DataPackingPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Data Packing entry."
        INDEX { portIndex }
        ::= { dataPackingPortTable 1 }
        
    DataPackingPortEntry ::=
        SEQUENCE {
            portPacketLength
                INTEGER,
            portDelimiter1Enable
                INTEGER,
            portDelimiter1
            	DisplayString,
            portDelimiter2Enable
                INTEGER,
            portDelimiter2
            	DisplayString,
            portDelimiterProcess
            	INTEGER,
            portForceTransmit
            	INTEGER
        }
        
	portPacketLength OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "If the value is 0, the Delimiter Process will be
            used, regardless of the length of the data
            packet. If the data length (in bytes) matches the
            configured value, the data will be forced out. The
            data length can be configured from 0 to 1024 bytes.
            Set to 0 if you do not need to limit the length."
        ::= { dataPackingPortEntry 1 }
        
    portDelimiter1Enable OBJECT-TYPE
		SYNTAX INTEGER {disable(0), enable(1)}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Enable the first delimiter character."
		::= { dataPackingPortEntry 2 }
	
	portDelimiter1 OBJECT-TYPE
		SYNTAX DisplayString (SIZE(0..2))
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The first delimiter character, in hex decimal."
		::= { dataPackingPortEntry 3 }	
		
	portDelimiter2Enable OBJECT-TYPE
		SYNTAX INTEGER {disable(0), enable(1)}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Enable the second delimiter character."
		::= { dataPackingPortEntry 4 }
	
	portDelimiter2 OBJECT-TYPE
		SYNTAX DisplayString (SIZE(0..2))
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The second delimiter character, in hex decimal."
		::= { dataPackingPortEntry 5 }	
	
	portDelimiterProcess OBJECT-TYPE
		SYNTAX INTEGER {
			doNothing(1), 
			delimiterAddOne(2),
			delimiterAddTwo(4),
			stripDelimiter(8)
			}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"'delimiterAddOne' or 'delimiterAddTwo': The data
			will be transmitted when an additional byte (for
			'delimiterAddOne'), or an additional 2 bytes (for
			'delimiterAddTwo') of data is received after
			receiving the Delimiter.
			'stripDelimiter': When the delimiter is received,
			the Delimiter is deleted (i.e., stripped), and the
			remaining data is transmitted.
			'doNothing': The data will be transmitted when the
			delimiter is received."
		::= { dataPackingPortEntry 6 }
		
	portForceTransmit OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"0: Disable the force transmit timeout.
			1 to 65535: Forces the NPort IAW5x50A_IO series device
			server's TCP/IP protocol software to try to pack
			serial data received during the specified time into
			the same data frame."
		::= { dataPackingPortEntry 7 }

-- -------------------------------------------------------------
-- Serial port settings -> Communication Parameters settings
-- -------------------------------------------------------------

	comParamSetting OBJECT IDENTIFIER ::= { portSetting 2 }			-- 1.3.6.1.4.1.8691.2.21.1.4.2
	
    comParamPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ComParamPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Communication Parameters table."
        ::= { comParamSetting 1 }									-- 1.3.6.1.4.1.8691.2.21.1.4.2.1
    
    comParamPortEntry OBJECT-TYPE
        SYNTAX ComParamPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The Communication Parameters entry."
        INDEX { portIndex }
        ::= { comParamPortTable 1 }									-- 1.3.6.1.4.1.8691.2.21.1.4.2.1.1
        
    ComParamPortEntry ::=
        SEQUENCE {
            portAlias
                DisplayString,
            portInterface
            	INTEGER,
            portBaudRate
                INTEGER,
            portDataBits
                INTEGER,
            portStopBits
				INTEGER,
			portParity
				INTEGER,
			portFlowControl
				INTEGER,
			portFIFO
				INTEGER
        }
    
    portAlias OBJECT-TYPE
		SYNTAX DisplayString (SIZE(0..16))
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
		"Port alias is included to allow easy identification of
		the serial devices that are connected to NPort IAW5x50A_IO
		series device server's serial port."
		::= { comParamPortEntry 1 }
        
    portInterface OBJECT-TYPE
		SYNTAX INTEGER  { 
			rs-232(0), 
			rs-422(1),
			rs-485-2wire(2),
			rs-485-4wire(3)
		}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The serial interface that the port works on."
		::= { comParamPortEntry 2 }
     
	portBaudRate OBJECT-TYPE
		SYNTAX INTEGER  { 
			b50(0), 
			b75(1), 
			b110(2),
			b134(3), 
			b150(4), 
			b300(5), 
			b600(6),
			b1200(7), 
			b1800(8),
			b2400(9), 
			b4800(10), 
			b9600(12),
			b19200(13),
			b38400(14),
			b57600(15),
			b115200(16),
			b230400(17),
			b460800(18),
			b921600(19)
		}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The port's speed in bits per second. You can choose
			a standard baud rate by indexing."
		::= { comParamPortEntry 3 }   
		
    portDataBits OBJECT-TYPE
		SYNTAX INTEGER  { 
			bits-5(0),
			bits-6(1),
			bits-7(2),
			bits-8(3)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The number of bits in a character for the port."
		::= { comParamPortEntry 4 }
		
	portStopBits OBJECT-TYPE
		SYNTAX INTEGER  {
			bits-1(0),
			bits-1dot5(1),
			bits-2(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The number of stop bits for the port."
		::= { comParamPortEntry 5 }
		
	portParity OBJECT-TYPE
		SYNTAX INTEGER  { 
			none(0), 
			odd(1), 
			even(3),
			mark(5), 
			space(7) 
		}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The parity bit for the port."
		::= { comParamPortEntry 6 }
				
	portFlowControl OBJECT-TYPE
		SYNTAX INTEGER  { 
			none(0),
			rts-cts(1),
			xon-xoff(2)
		}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"The flow-control method for the port."
		::= { comParamPortEntry 7 }
		
	portFIFO OBJECT-TYPE
		SYNTAX INTEGER  { 
			disable(0), 
			enable(1)
		}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Enable or disable the port's FIFO."
		::= { comParamPortEntry 8 }

-- -------------------------------------------------------------
-- Serial port settings -> Data Buffering/Log
-- -------------------------------------------------------------

	dataBuffering OBJECT IDENTIFIER ::= { portSetting 3 }			-- 1.3.6.1.4.1.8691.2.21.1.4.3
	
    dataBufferingPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DataBufferingPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Data Buffering table."
        ::= { dataBuffering 1 }
    
    dataBufferingPortEntry OBJECT-TYPE
        SYNTAX DataBufferingPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The Data Buffering entry."
        INDEX { portIndex }
        ::= { dataBufferingPortTable 1 }
        
    DataBufferingPortEntry ::=
        SEQUENCE {
            portBufferingEnable
                INTEGER,
            portSerialDataLoggingEnable
            	INTEGER
        }
    
	portBufferingEnable OBJECT-TYPE
		SYNTAX INTEGER {disable(0), enable(1)}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Enable off-line port buffering."
		::= { dataBufferingPortEntry 1 }
		
	portSerialDataLoggingEnable OBJECT-TYPE
		SYNTAX INTEGER {disable(0), enable(1)}
		MAX-ACCESS read-write                
		STATUS current
		DESCRIPTION
			"Enable or disable serial data logging for the port."
		::= { dataBufferingPortEntry 2 }

-- -------------------------------------------------------------
-- Modbus Address Mapping Table
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- Modbus Address Mapping Table -> User-defined modbus addressing
-- -------------------------------------------------------------


    modbusAddressMapping OBJECT IDENTIFIER ::= { swMgmt 5 }                               -- 1.3.6.1.4.1.8691.2.21.1.5
   
    userDefinedModbusAddress OBJECT IDENTIFIER ::= { modbusAddressMapping 1 }             -- 1.3.6.1.4.1.8691.2.21.1.5.1
    
    enableUserDefinedModbus  OBJECT-TYPE
        SYNTAX INTEGER { 
            disable(0),
            enable(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable user defined modbus address."
        ::= { userDefinedModbusAddress 1 }

    doValueStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DO Value."
        ::= { userDefinedModbusAddress 2 }

    doValueFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DO Value."
        ::= { userDefinedModbusAddress 3 }

    doValueReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DO Value in modbus."
        ::= { userDefinedModbusAddress 4 }

    doValueReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DO Value."
        ::= { userDefinedModbusAddress 5 }

    doValueTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DO Value in modbus."
        ::= { userDefinedModbusAddress 6 }

    doValueDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DO Value."
        ::= { userDefinedModbusAddress 7 }

    doPulseStatusStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DO Pulse Start Status."
        ::= { userDefinedModbusAddress 8 }

    doPulseStatusFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DO Pulse Start Status."
        ::= { userDefinedModbusAddress 9 }

    doPulseStatusReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DO Pulse Start Status in modbus."
        ::= { userDefinedModbusAddress 10 }

    doPulseStatusReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DO Pulse Start Status."
        ::= { userDefinedModbusAddress 11 }

    doPulseStatusTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DO Pulse Start Status in modbus."
        ::= { userDefinedModbusAddress 12 }

    doPulseStatusDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DO Pulse Start Status."
        ::= { userDefinedModbusAddress 13 }

    doValueAllChannelStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DO Value all channel."
        ::= { userDefinedModbusAddress 14 }

    doValueAllChannelFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DO Value all channel."
        ::= { userDefinedModbusAddress 15 }

    doValueAllChannelReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DO Value all channel in modbus."
        ::= { userDefinedModbusAddress 16 }

    doValueAllChannelReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DO Value all channel."
        ::= { userDefinedModbusAddress 17 }

    doValueAllChannelTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DO Value all channel in modbus."
        ::= { userDefinedModbusAddress 18 }

    doValueAllChannelDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DO Value all channel."
        ::= { userDefinedModbusAddress 19 }

    diValueStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DI Value."
        ::= { userDefinedModbusAddress 20 }

    diValueFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {
            fc02_InputStatus(1),
            fc04_InputRegister(3)
        }		
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DI Value."
        ::= { userDefinedModbusAddress 21 }

    diValueReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
             r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DI Value in modbus."
        ::= { userDefinedModbusAddress 22 }

    diValueReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DI Value."
        ::= { userDefinedModbusAddress 23 }

    diValueTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DI Value in modbus."
        ::= { userDefinedModbusAddress 24 }

    diValueDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DI Value."
        ::= { userDefinedModbusAddress 25 }

    diCounterValueStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DI Counter Value."
        ::= { userDefinedModbusAddress 26 }

    diCounterValueFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {   
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DI Counter Value."
        ::= { userDefinedModbusAddress 27 }

    diCounterValueReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DI Counter Value in modbus."
        ::= { userDefinedModbusAddress 28 }

    diCounterValueReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DI Counter Value."
        ::= { userDefinedModbusAddress 29 }

    diCounterValueTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DI Counter Value in modbus."
        ::= { userDefinedModbusAddress 30 }

    diCounterValueDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DI Counter Value."
        ::= { userDefinedModbusAddress 31 }

    diValueAllChannelStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DI Value All Channel."
        ::= { userDefinedModbusAddress 32 }

    diValueAllChannelFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {   
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DI Value All Channel."
        ::= { userDefinedModbusAddress 33 }

    diValueAllChannelReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DI Value All Channel in modbus."
        ::= { userDefinedModbusAddress 34 }

    diValueAllChannelReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DI Value All Channel."
        ::= { userDefinedModbusAddress 35 }

    diValueAllChannelTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DI Value All Channel in modbus."
        ::= { userDefinedModbusAddress 36 }

    diValueAllChannelDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DI Value All Channel."
        ::= { userDefinedModbusAddress 37 }

    diCounterStartStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DI Counter Start/Stop."
        ::= { userDefinedModbusAddress 38 }

    diCounterStartFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DI Counter Start/Stop."
        ::= { userDefinedModbusAddress 39 }

    diCounterStartReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DI Counter Start/Stop in modbus."
        ::= { userDefinedModbusAddress 40 }

    diCounterStartReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DI Counter Start/Stop."
        ::= { userDefinedModbusAddress 41 }

    diCounterStartTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DI Counter Start/Stop in modbus."
        ::= { userDefinedModbusAddress 42 }

    diCounterStartDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DI Counter Start/Stop."
        ::= { userDefinedModbusAddress 43 }

    diCounterClearStartAddress  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Start address of DI Counter Clear."
        ::= { userDefinedModbusAddress 44 }

    diCounterClearFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Function code of DI Counter Clear."
        ::= { userDefinedModbusAddress 45 }

    diCounterClearReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Permission of DI Counter Clear in modbus."
        ::= { userDefinedModbusAddress 46 }

    diCounterClearReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER (1..465536)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Reference address of DI Counter Clear."
        ::= { userDefinedModbusAddress 47 }

    diCounterClearTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Total channels of DI Counter Clear in modbus."
        ::= { userDefinedModbusAddress 48 }

    diCounterClearDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Data type of DI Counter Clear."
        ::= { userDefinedModbusAddress 49 }


    userDefModbusLoadDefault  OBJECT-TYPE
        SYNTAX INTEGER {
            userDefinedModbusLoadDefault(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "User-defined modbus address load default."
        ::= { userDefinedModbusAddress 50 }

-- -------------------------------------------------------------
-- Modbus Address Mapping Table -> Default modbus addressing
-- -------------------------------------------------------------

    defaultModbusAddress OBJECT IDENTIFIER ::= { modbusAddressMapping 2 }             -- 1.3.6.1.4.1.8691.2.21.1.5.2


    defaultDOValueStartAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DO Value."
        ::= { defaultModbusAddress 1 }

    defaultDOValueFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DO Value."
        ::= { defaultModbusAddress 2 }

    defaultDOValueReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DO Value in modbus."
        ::= { defaultModbusAddress 3 }

    defaultDOValueReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DO Value."
        ::= { defaultModbusAddress 4 }

    defaultDOValueTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DO Value in modbus."
        ::= { defaultModbusAddress 5 }

    defaultDOValueDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DO Value."
        ::= { defaultModbusAddress 6 }

    defaultDOPulseStatusStartAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DO Pulse Start/Stop."
        ::= { defaultModbusAddress 7 }

    defaultDOPulseStatusFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DO Pulse Start/Stop."
        ::= { defaultModbusAddress 8 }

    defaultDOPulseStatusReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DO Pulse Start/Stop in modbus."
        ::= { defaultModbusAddress 9 }

    defaultDOPulseStatusReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DO Pulse Start/Stop."
        ::= { defaultModbusAddress 10 }

    defaultDOPulseStatusTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DO Pulse Start/Stop in modbus."
        ::= { defaultModbusAddress 11 }

    defaultDOPulseStatusDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DO Pulse Start/Stop in modbus."
        ::= { defaultModbusAddress 12 }

    defaultDOValueAllChannelStartAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DO Value all channel in modbus."
        ::= { defaultModbusAddress 13 }

    defaultDOValueAllChannelFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {       
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DO Value all channel in modbus."
        ::= { defaultModbusAddress 14 }

    defaultDOValueAllChannelReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DO Value all channel in modbus."
        ::= { defaultModbusAddress 15 }

    defaultDOValueAllChannelReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DO Value all channel in modbus."
        ::= { defaultModbusAddress 16 }

    defaultDOValueAllChannelTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DO Value all channel in modbus."
        ::= { defaultModbusAddress 17 }

    defaultDOValueAllChannelDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DO Value all channel."
        ::= { defaultModbusAddress 18 }

    defaultDIValueStartAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DI Value."
        ::= { defaultModbusAddress 19 }

    defaultDIValueFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {
            fc02_InputStatus(1),  
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DI Value."
        ::= { defaultModbusAddress 20 }

    defaultDIValueReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DI Value in modbus."
        ::= { defaultModbusAddress 21 }

    defaultDIValueReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DI Value."
        ::= { defaultModbusAddress 22 }

    defaultDIValueTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DI Value in modbus."
        ::= { defaultModbusAddress 23 }

    defaultDIValueDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DI Value."
        ::= { defaultModbusAddress 24 }

    defaultDICounterValueStartAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DI Counter Value."
        ::= { defaultModbusAddress 25 }

    defaultDICounterValueFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DI Counter Value."
        ::= { defaultModbusAddress 26 }

    defaultDICounterValueReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DI Counter Value in modbus."
        ::= { defaultModbusAddress 27 }

    defaultDICounterValueReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DI Counter Value."
        ::= { defaultModbusAddress 28 }

    defaultDICounterValueTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DI Counter Value in modbus."
        ::= { defaultModbusAddress 29 }

    defaultDICounterValueDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DI Counter Value."
        ::= { defaultModbusAddress 30 }

    defaultDIValueAllChannelStartAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DI Value All Channel."
        ::= { defaultModbusAddress 31 }

    defaultDIValueAllChannelFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DI Value All Channel."
        ::= { defaultModbusAddress 32 }

    defaultDIValueAllChannelReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DI Value All Channel in modbus."
        ::= { defaultModbusAddress 33 }

    defaultDIValueAllChannelReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DI Value All Channel."
        ::= { defaultModbusAddress 34 }

    defaultDIValueAllChannelTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DI Value All Channel in modbus."
        ::= { defaultModbusAddress 35 }

    defaultDIValueAllChannelDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DI Value All Channel."
        ::= { defaultModbusAddress 36 }

    defaultDICounterStartStartAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DI Counter Start/Stop."
        ::= { defaultModbusAddress 37 }

    defaultDICounterStartFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DI Counter Start/Stop."
        ::= { defaultModbusAddress 38 }

    defaultDICounterStartReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DI Counter Start/Stop in modbus."
        ::= { defaultModbusAddress 39 }

    defaultDICounterStartReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DI Counter Start/Stop."
        ::= { defaultModbusAddress 40 }

    defaultDICounterStartTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DI Counter Start/Stop in modbus."
        ::= { defaultModbusAddress 41 }

    defaultDICounterStartDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DI Counter Start/Stop."
        ::= { defaultModbusAddress 42 }

    defaultDICounterClearStartAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default start address of DI Counter Clear."
        ::= { defaultModbusAddress 43 }

    defaultDICounterClearFunctionCode  OBJECT-TYPE
        SYNTAX INTEGER {            
        	fc01_CoilStatus(0),
        	fc02_InputStatus(1),
            fc03_HoldingRegister(2),
            fc04_InputRegister(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default function code of DI Counter Clear."
        ::= { defaultModbusAddress 44 }

    defaultDICounterClearReadWrite  OBJECT-TYPE
        SYNTAX INTEGER { 
            r(0),
            rw(1)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default permission of DI Counter Clear in modbus."
        ::= { defaultModbusAddress 45 }

    defaultDICounterClearReferenceAddress  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default reference address of DI Counter Clear."
        ::= { defaultModbusAddress 46 }

    defaultDICounterClearTotalchannels  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default total channels of DI Counter Clear in modbus."
        ::= { defaultModbusAddress 47 }

    defaultDICounterClearDatatype  OBJECT-TYPE
        SYNTAX INTEGER {
            dt_1_bit(0),
            dt_1_word(1),
            dt_2_word(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Default data type of DI Counter Clear."
        ::= { defaultModbusAddress 48 }

-- -------------------------------------------------------------
-- IO Setting
-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- IO Setting -> DI Setting
-- -------------------------------------------------------------
    ioSetting OBJECT IDENTIFIER ::= { swMgmt 6 }                     -- 1.3.6.1.4.1.6.1.8

    diSetting OBJECT IDENTIFIER ::= { ioSetting 1 }                    

    diTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DIEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        		"The DI channel table"
     ::= { diSetting 1 }        -- 1.3.6.1.4.1.8691.2.21.1.6.1.1

    diEntry OBJECT-TYPE
        SYNTAX DIEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DI channel item"
        INDEX { diIndex }
        ::= { diTable 1 }

    DIEntry ::= SEQUENCE {
                diIndex     INTEGER,
                diMode      INTEGER,
                diStatus    INTEGER,
                diFilter    INTEGER,
                diTrigger   INTEGER,
                diCntStart  INTEGER   
                }       


    diIndex OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DI - index"
        ::= { diEntry 1 }

    diMode OBJECT-TYPE
        SYNTAX INTEGER (0..1)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DI - mode (0: DI, 1: Counter mode)"
        ::= { diEntry 2 }

    diStatus OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DI - DI mode status (0: OFF, 1: ON) or Counter mode value"
        ::= { diEntry 3 }

    diFilter OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DI - filter setting (unit: 12.5 ms)"
        ::= { diEntry 4 }

    diTrigger OBJECT-TYPE
        SYNTAX INTEGER {
        	loToHigh(0),
        	highToLow(1),
        	both(2)	
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DI - Counter mode - event (0: Rising Edge, 1: Falling Edge, 2: Both)"
        ::= { diEntry 5 }

    diCntStart OBJECT-TYPE
        SYNTAX INTEGER (0..1)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DI - Counter mode - status (0: STOP, 1: START)"
        ::= { diEntry 6 }

-- -------------------------------------------------------------
-- IO Setting -> DO Setting
-- -------------------------------------------------------------

    doSetting OBJECT IDENTIFIER ::= { ioSetting 2 }                    

    doTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DOEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION     
            "The DO channel table"
     ::= { doSetting 1 }        -- 1.3.6.1.4.1.8691.2.21.1.6.1.1

    doEntry OBJECT-TYPE
        SYNTAX DOEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DO channel item"
        INDEX { doIndex }
        ::= { doTable 1 }

    DOEntry ::= SEQUENCE {
                doIndex     INTEGER,
                doMode      INTEGER,
                doStatus    INTEGER,
                doPulseOnWidth    INTEGER,
                doPulseOffWidth   INTEGER,
                doPulseStart  INTEGER   
                }


    doIndex OBJECT-TYPE
        SYNTAX INTEGER (0..3)
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DO - index"
        ::= { doEntry 1 }

    doMode OBJECT-TYPE
        SYNTAX INTEGER (0..1)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DO - mode (0: DO, 1: Pulse)"
        ::= { doEntry 2 }

    doStatus OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DO - DO mode status (0: OFF, 1: ON) or Pulse mode count"
        ::= { doEntry 3 }

    doPulseOnWidth OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DO - Pulse mode - ON width (unit: 25 ms)"
        ::= { doEntry 4 }

    doPulseOffWidth OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DO - Pulse mode - OFF width (unit: 25 ms)"
        ::= { doEntry 5 }

    doPulseStart OBJECT-TYPE
        SYNTAX INTEGER (0..1)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DO - Pulse mode - status (0: STOP, 1: START)"
        ::= { doEntry 6 }
    
-- -------------------------------------------------------------
-- System Management
-- -------------------------------------------------------------

	sysManagement OBJECT IDENTIFIER ::= { swMgmt 7 }				-- 1.3.6.1.4.1.8691.2.21.1.7
	
-- -------------------------------------------------------------
-- System Management -> Misc. Network Settings
-- -------------------------------------------------------------

	miscNetworkSettings OBJECT IDENTIFIER ::= { sysManagement 1 }	-- 1.3.6.1.4.1.8691.2.21.1.5.1
	
-- ----------------------------------------------------------------------------
-- System Management -> Misc. Network Settings -> Accessible IP List
-- ----------------------------------------------------------------------------

	accessibleIp OBJECT IDENTIFIER ::= { miscNetworkSettings 1 }	-- 1.3.6.1.4.1.8691.2.21.1.5.1.1
	
	enableAccessibleIpList  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable the entire accessible IP list."
		::= { accessibleIp 1 }
	
	accessibleIpListTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AccessibleIpListEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Accessible IP List table."
        ::= { accessibleIp 2 }										-- 1.3.6.1.4.1.8691.2.21.1.5.1.1.2
    
    accessibleIpListEntry OBJECT-TYPE
        SYNTAX AccessibleIpListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Accessible IP List entry."
        INDEX { accessibleIpListIndex }
        ::= { accessibleIpListTable 1 }								-- 1.3.6.1.4.1.8691.2.21.1.5.1.1.2.1
        
    AccessibleIpListEntry ::=
        SEQUENCE {
        	accessibleIpListIndex
       			INTEGER,
            activeAccessibleIpList
            	INTEGER,
            accessibleIpListAddress
                IpAddress,
            accessibleIpListNetmask
                IpAddress
        }
	
	accessibleIpListIndex OBJECT-TYPE
        SYNTAX INTEGER (1..16)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "Accessible IP List index."
        ::= { accessibleIpListEntry 1 }
		
	activeAccessibleIpList  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable this accessible IP entry."
		::= { accessibleIpListEntry 2 }
		
	accessibleIpListAddress  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Accessible IP address. This value can be the IP address of a
	    single host if the netmask is set to '255.255.255.255,'
            or it can be a network address."
		::= { accessibleIpListEntry 3 }
		
	accessibleIpListNetmask  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Accessible IP address netmask. The IP address and
            netmask are used to specify a group of remote hosts."
		::= { accessibleIpListEntry 4 }
	
-- ----------------------------------------------------------------------------
-- System Management -> Misc. Network Settings -> SNMP Agent Settings
-- ----------------------------------------------------------------------------

	snmpAgentSettings OBJECT IDENTIFIER ::= { miscNetworkSettings 2 }		-- 1.3.6.1.4.1.8691.2.21.1.5.1.2
	
	snmpEnable  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable SNMP agent."
		::= { snmpAgentSettings 1 }
    
	snmpContactName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The SNMP contact information usually includes an
            emergency contact name and telephone or pager
            number."
        ::= { snmpAgentSettings 2 }
        
    snmpLocation OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specify the location string for SNMP agents, such as
            the NPort IAW5x50A_IO series device server. This string is
            usually set to the street address where the NPort
			IAW5x50A_IO series device server is physically located."
        ::= { snmpAgentSettings 3 }

-- ----------------------------------------------------------------------------
-- System Management -> Misc. Network Settings -> Authentication Server
-- ----------------------------------------------------------------------------

	authenticationServer OBJECT IDENTIFIER ::= { miscNetworkSettings 4 }
	
	radiusServerIp  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..40))
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address or domain name of the RADIUS server."
		::= { authenticationServer 1 }
		
	udpPortAuthenticationServer  OBJECT-TYPE
        SYNTAX INTEGER { port1645(1645), port1812(1812)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The UDP port of the RADIUS server."
		::= { authenticationServer 3 }
		
	radiusAccounting  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable RADIUS accounting."
		::= { authenticationServer 4 }

-- ----------------------------------------------------------------------------
-- System Management -> Misc. Network Settings -> System Log Settings
-- ----------------------------------------------------------------------------

	sysLogSettings OBJECT IDENTIFIER ::= { miscNetworkSettings 5 }			-- 1.3.6.1.4.1.8691.2.21.1.5.1.3
	
	sysLocalLog  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "System cold start, System warm start."
		::= { sysLogSettings 1 }
		
	networkLocalLog  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "DHCP/BOOTP get IP/renew, mail fail, NTP connect fail,
            IP conflict, network link down, Modbus/TCP Disconnect,
            Safe Mode Activated."
		::= { sysLogSettings 2 }
		
	configLocalLog  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Login fail, IP changed, password changed, firmware upgrade,
            SSL certificate import, config export, wireless certificate import,
            serial data log export."
		::= { sysLogSettings 3 }
		
	opModeLocalLog  OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Connect, Disconnect, Restart."
		::= { sysLogSettings 4 }
	
-- -------------------------------------------------------------
-- System Management -> Auto Warning Settings
-- -------------------------------------------------------------

	autoWarningSettings OBJECT IDENTIFIER ::= { sysManagement 2 }		-- 1.3.6.1.4.1.8691.2.21.1.5.2
		
-- -------------------------------------------------------------
-- System Management -> Auto Warning Settings -> Event Settings
-- -------------------------------------------------------------

	eventSettings OBJECT IDENTIFIER ::= { autoWarningSettings 1 }		-- 1.3.6.1.4.1.8691.2.21.1.5.2.1
	
	mailWarningColdStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Refers to starting the system from power off
            (contrast this with warm start). When performing a
            cold start, the NPort IAW5x50A_IO series device server
			will automatically issue an auto warning message by
            e-mail after booting up."
        ::= { eventSettings 1 }
        
    mailWarningWarmStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Refers to restarting the NPort IAW5x50A_IO without
            turning the power off. When performing a warm start,
            the NPort IAW5x50A_IO series device server will
            automatically send an e-mail after rebooting."
        ::= { eventSettings 2 }

    mailWarningPower1InputFailure OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user has changed the NPort IAW5x50A_IO series device
            server's password. When the password changes, the
            NPort IAW5x50A_IO series device server will send an e-mail
            with the password changed notice before it reboots.
            If the NPort IAW5x50A_IO series device server is unable to
            send an e-mail message to the mail server within 15
            seconds, it will reboot anyway, and abort the e-mail
            auto warning."
        ::= { eventSettings 3 }

    mailWarningPower2InputFailure OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user has changed the NPort IAW5x50A_IO series device
            server's password. When the password changes, the
            NPort IAW5x50A_IO series device server will send an e-mail
            with the password changed notice before it reboots.
            If the NPort IAW5x50A_IO series device server is unable to
            send an e-mail message to the mail server within 15
            seconds, it will reboot anyway, and abort the e-mail
            auto warning."
        ::= { eventSettings 4 }
        
    mailWarningAuthFailure OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user inputs a wrong password from the Console
            or Administrator. When authentication failure
            occurs, the NPort IAW5x50A_IO series device server
			will immediately send an e-mail."
        ::= { eventSettings 5 }
        
    mailWarningIpChanged OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user has changed the NPort IAW5x50A_IO series
			device server's IP address. When the IP address
			changes,the NPort IAW5x50A_IO series device server
			will send an e-mail with the new IP address before
			it reboots. If the NPort IAW5x50A_IO series device
			server is unable to send an e-mail message to the
			mail server	within 15 seconds, it will reboot anyway,
			and abort the e-mail auto warning."
        ::= { eventSettings 6 }
        
    mailWarningPasswordChanged OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user has changed the NPort IAW5x50A_IO series device
            server's password. When the password changes, the
            NPort IAW5x50A_IO series device server will send an e-mail
            with the password changed notice before it reboots.
            If the NPort IAW5x50A_IO series device server is unable to
            send an e-mail message to the mail server within 15
            seconds, it will reboot anyway, and abort the e-mail
            auto warning."
        ::= { eventSettings 7 }
		
	trapServerColdStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Refers to starting the system from power off
            (contrast this with warm start). When performing a
            cold start, the NPort IAW5x50A_IO series device server
			will automatically issue an auto warning message by
			sending an SNMP trap after booting up."
        ::= { eventSettings 8 }
        
    trapServerWarmStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Refers to restarting the NPort IAW5x50A_IO without
            turning the power off. When performing a warm start,
            the NPort IAW5x50A_IO series device server will
            automatically send an SNMP trap after rebooting."
        ::= { eventSettings 9 }
        
    trapServerAuthFailure OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user inputs a wrong password from the Console
            or Administrator. When authentication failure
            occurs, the NPort IAW5x50A_IO series device server will
            immediately send an SNMP trap."
        ::= { eventSettings 10 }

    relayOutputPower1InputFailure OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user inputs a wrong password from the Console
            or Administrator. When authentication failure
            occurs, the NPort IAW5x50A_IO series device server will
            immediately send an SNMP trap."
        ::= { eventSettings 11 }

    relayOutputPower2InputFailure OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user inputs a wrong password from the Console
            or Administrator. When authentication failure
            occurs, the NPort IAW5x50A_IO series device server will
            immediately send an SNMP trap."
        ::= { eventSettings 12 }

    relayOutputEthernetLinkDown OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user inputs a wrong password from the Console
            or Administrator. When authentication failure
            occurs, the NPort IAW5x50A_IO series device server will
            immediately send an SNMP trap."
        ::= { eventSettings 13 }
	
-- -------------------------------------------------------------
-- System Management -> Auto Warning Settings -> Serial Event Settings
-- -------------------------------------------------------------

	serialEventSettings OBJECT IDENTIFIER ::= { autoWarningSettings 2 }		-- 1.3.6.1.4.1.8691.2.21.1.5.2.2
	
	portEventSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortEventSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Port Event Settings Table."
        ::= { serialEventSettings 1 }										-- 1.3.6.1.4.1.8691.2.21.1.5.2.2.1
    
    portEventSettingsEntry OBJECT-TYPE
        SYNTAX PortEventSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Port Event Settings entry."
        INDEX { portIndex }
        ::= { portEventSettingsTable 1 }									-- 1.3.6.1.4.1.8691.2.21.1.5.2.2.1.1
        
    PortEventSettingsEntry ::=
        SEQUENCE {
        	mailDCDchange
        		INTEGER,
            trapDCDchange
                INTEGER,
            mailDSRchange
        		INTEGER,
            trapDSRchange
                INTEGER
        }
	
	mailDCDchange OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A change in the DCD (Data Carrier Detect) signal
            indicates that the modem connection status has
            changed. For example, if the DCD signal changes to
            low, it indicates that the connection line is down.
            When the DCD signal changes to low, the NPort
			IAW5x50A_IO series device server will immediately send
			an e-mail message."
        ::= { portEventSettingsEntry 1 }
        
	trapDCDchange OBJECT-TYPE
		SYNTAX INTEGER { disable(0), enable(1)}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"A change in the DCD (Data Carrier Detect) signal
            indicates that the modem connection status has
            changed. For example, if the DCD signal changes to
            low, it indicates that the connection line is down.
            When the DCD signal changes to low, the NPort
			IAW5x50A_IO series device server will immediately send
			an SNMP trap."
		::= { portEventSettingsEntry 2 }
		
	mailDSRchange OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A change in the DSR (Data Set Ready) signal
            indicates that the data communication equipment is
            powered off. For example, if the DSR signal changes
            to low, it indicates that the data communication
            equipment is powered down. When the DSR signal
            changes to low, the NPort IAW5x50A_IO series device
			server will immediately send an e-mail message."
        ::= { portEventSettingsEntry 3 }
        
	trapDSRchange OBJECT-TYPE
		SYNTAX INTEGER { disable(0), enable(1)}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"A change in the DSR (Data Set Ready) signal
            indicates that the data communication equipment is
            powered off. For example, if the DSR signal changes
            to low, it indicates that the data communication
            equipment is powered down. When the DSR signal
            changes to low, the NPort IAW5x50A_IO series device
			server will immediately send an SNMP trap."
		::= { portEventSettingsEntry 4 }

-- -------------------------------------------------------------
-- System Management -> Auto Warning Settings -> E-mail Alert
-- -------------------------------------------------------------
    ioEventSettings OBJECT IDENTIFIER ::= { autoWarningSettings 3 }     -- 1.3.6.1.4.1.8691.2.21.1.5.2.3
    
    diEventSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DiEventSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "DI Event Settings Table."
        ::= { ioEventSettings 1 }                                       -- 1.3.6.1.4.1.8691.2.21.1.5.2.3.1
    
    diEventSettingsEntry OBJECT-TYPE
        SYNTAX DiEventSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "DI Event Settings entry."
        INDEX { portIndex }
        ::= { diEventSettingsTable 1 }                                    -- 1.3.6.1.4.1.8691.2.21.1.5.2.3.1.1
        
    DiEventSettingsEntry ::=
        SEQUENCE {
            diEventIndex
                INTEGER,
            diEventTrap
                INTEGER
        }
    
    diEventIndex OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "DI - event index"
        ::= { diEventSettingsEntry 1 }
        
    diEventTrap OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DI - trap setting"
        ::= { diEventSettingsEntry 2 }

    doEventSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DoEventSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "DO Event Settings Table."
        ::= { ioEventSettings 2 }                                       -- 1.3.6.1.4.1.8691.2.21.1.5.2.3.2

    doEventSettingsEntry OBJECT-TYPE
        SYNTAX DoEventSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "DO Event Settings entry."
        INDEX { portIndex }
        ::= { doEventSettingsTable 1 }                                    -- 1.3.6.1.4.1.8691.2.21.1.5.2.3.2.1
        
    DoEventSettingsEntry ::=
        SEQUENCE {
            doEventIndex
                INTEGER,
            doEventTrap
                INTEGER
        }
    
    doEventIndex OBJECT-TYPE
        SYNTAX INTEGER (0..3)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "DO - event index"
        ::= { doEventSettingsEntry 1 }
        
    doEventTrap OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DO - trap setting "
        ::= { doEventSettingsEntry 2 }
      

-- -------------------------------------------------------------
-- System Management -> Auto Warning Settings -> E-mail Alert
-- -------------------------------------------------------------

	emailAlert OBJECT IDENTIFIER ::= { autoWarningSettings 4 }		-- 1.3.6.1.4.1.8691.2.21.1.5.2.3
	
	emailWarningMailServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The e-mail server's IP address or domain name of
            the e-mail warning function."
        ::= { emailAlert 1 }
        
    emailRequiresAuthentication  OBJECT-TYPE
        SYNTAX INTEGER { non-require(0), require(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set if the mail server requires user login."
        ::= { emailAlert 2 }
        
    emailWarningUserName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The user name used to log into the mail server if 
            authentication is required."
        ::= { emailAlert 3 }
        
    emailWarningFromEmail OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The e-mail address to be filled in the 'From' field of
            the auto-warning e-mail."
        ::= { emailAlert 5 }
        
    emailWarningFirstEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The first email address to where the auto-warning
            e-mail is to be sent."
        ::= { emailAlert 6 }
        
    emailWarningSecondEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The second email address to where the auto-warning
            e-mail is to be sent."
        ::= { emailAlert 7 }
        
    emailWarningThirdEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The third email address to where the auto-warning
            e-mail is to be sent."
        ::= { emailAlert 8 }
        
    emailWarningFourthEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The fourth email address to where the auto-warning
            e-mail is to be sent."
        ::= { emailAlert 9 }
	
-- -------------------------------------------------------------
-- System Management -> Auto Warning Settings -> SNMP Trap
-- -------------------------------------------------------------

	snmpTrap OBJECT IDENTIFIER ::= { autoWarningSettings 5 }			-- 1.3.6.1.4.1.8691.2.21.1.5.2.4
	
	snmpTrapReceiverIp  OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "SNMP trap server IP address or domain name."
		::= { snmpTrap 1 }
		
	trapVersion  OBJECT-TYPE
        SYNTAX INTEGER { v1(0), v2c(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "SNMP trap version used for the auto-warning function."
		::= { snmpTrap 2 }
	
-- -------------------------------------------------------------
-- System Management -> Maintenance
-- -------------------------------------------------------------

	maintenance OBJECT IDENTIFIER ::= { sysManagement 3 }				-- 1.3.6.1.4.1.8691.2.21.1.5.3
	
-- ----------------------------------------------------------------------------
-- System Management -> Maintenance -> Console Settings
-- ----------------------------------------------------------------------------

	consoleSettings OBJECT IDENTIFIER ::= { maintenance 1 }				-- 1.3.6.1.4.1.8691.2.21.1.5.3.1
	
	httpConsole OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable HTTP console."
        ::= { consoleSettings 1 }
        
    httpsConsole OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable HTTPS console."
		::= { consoleSettings 2 }
	
	telnetConsole OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable Telnet console."
		::= { consoleSettings 3 }
		
	sshConsole OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable SSH console."
		::= { consoleSettings 4 }
		
	serialConsole OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable or disable Serial console."
		::= { consoleSettings 5 }	
	
	resetButton OBJECT-TYPE
        SYNTAX INTEGER { disable_after_60_sec(0), always_enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Reset button setting."
		::= { consoleSettings 6 }
	
-- ----------------------------------------------------------------------------
-- System Management -> Maintenance -> Load Factory Default
-- ----------------------------------------------------------------------------

	loadFactoryDefault OBJECT IDENTIFIER ::= { maintenance 2 }			-- 1.3.6.1.4.1.8691.2.21.1.5.3.2
			
	loadFactoryDefaultSetting  OBJECT-TYPE
        SYNTAX INTEGER { 
        	resetToFactoryDefault-ExcludingIpConfiguration (0), 
        	resetToFactoryDefault (1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This function will reset all of the NPort IAW5x50A_IO
			series device server's settings to the factory default
            values. Be aware that previous settings will be
            lost. Selecting Reset to factory default
            (excluding IP configuration) will reset all settings
            except the IP configuration to factory defaults.
            Selecting Reset to factory default will reset all
            settings including the IP configuration to factory
            defaults."
		::= { loadFactoryDefault 1 }

-- ----------------------------------------------------------------------------
-- System Management -> Maintenance -> SD-card Backup Configuration
-- ----------------------------------------------------------------------------

    sdBackup OBJECT IDENTIFIER ::= { maintenance 3 }          -- 1.3.6.1.4.1.8691.2.21.1.5.3.3
            
    autoLoadSdConfiguration  OBJECT-TYPE
        SYNTAX INTEGER { 
            disable (0), 
            enable (1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "In boot-time, this function will auto import the backup 
            configuration  in sd-card when the current configuration 
            difference to the backup configuration."
        ::= { sdBackup 1 }
		
-- -------------------------------------------------------------
-- System Status
-- -------------------------------------------------------------

	sysStatus OBJECT IDENTIFIER ::= { swMgmt 8 }						-- 1.3.6.1.4.1.8691.2.21.1.8
	
-- -------------------------------------------------------------
-- System Status -> Serial to Network Connections
-- -------------------------------------------------------------

	s2eConnections OBJECT IDENTIFIER ::= { sysStatus 1 }				-- 1.3.6.1.4.1.8691.2.21.1.6.1

	monitorRemoteIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorRemoteIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial to Network Connections Remote IP table."
        ::= { s2eConnections 1 }										-- 1.3.6.1.4.1.8691.2.21.1.6.1.1
    
    monitorRemoteIpEntry OBJECT-TYPE
        SYNTAX MonitorRemoteIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial to Network Connections Remote IP entry."
        INDEX { portIndex, remoteIpIndex }
        ::= { monitorRemoteIpTable 1 }									-- 1.3.6.1.4.1.8691.2.21.1.6.1.1.1
        
    MonitorRemoteIpEntry ::=
        SEQUENCE {
        	remoteIpIndex
        		INTEGER,
            monitorRemoteIp
                IpAddress
        }
    
    remoteIpIndex  OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Serial to Network Connections Remote IP index."
		::= { monitorRemoteIpEntry 1 }
   	    
	monitorRemoteIp  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The remote IP currently connecting to this port."
		::= { monitorRemoteIpEntry 2 }
	
-- -------------------------------------------------------------
-- System Status -> Serial Port Status
-- -------------------------------------------------------------

	serialPortStatus OBJECT IDENTIFIER ::= { sysStatus 2 }				-- 1.3.6.1.4.1.8691.2.21.1.6.2
	
	monitorSerialPortStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorSerialPortStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Status table."
        ::= { serialPortStatus 1 }										-- 1.3.6.1.4.1.8691.2.21.1.6.2.1
    
    monitorSerialPortStatusEntry OBJECT-TYPE
        SYNTAX MonitorSerialPortStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Status entry."
        INDEX { portIndex }
        ::= { monitorSerialPortStatusTable 1 }							-- 1.3.6.1.4.1.8691.2.21.1.6.2.1.1
        
    MonitorSerialPortStatusEntry ::=
        SEQUENCE {
            monitorTxCount
				INTEGER,
			monitorRxCount
				INTEGER,
			monitorTxTotalCount
				INTEGER,
			monitorRxTotalCount
				INTEGER,
			monitorDSR
				INTEGER,
			monitorDTR
				INTEGER,
			monitorRTS
				INTEGER,
			monitorCTS
				INTEGER,
			monitorDCD
				INTEGER
        }

	monitorTxCount  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of bytes transmitted from the port
            since the last time the port was initialized."
		::= { monitorSerialPortStatusEntry 1 }
		
	monitorRxCount  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of bytes received by the port since
            the last time the port was initialized."
		::= { monitorSerialPortStatusEntry 2 }
		
	monitorTxTotalCount  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of bytes transmitted from the port
            since the last time the system was initialized."
		::= { monitorSerialPortStatusEntry 3 }
		
	monitorRxTotalCount  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of bytes received by the port since
            the last time the system was initialized."
		::= { monitorSerialPortStatusEntry 4 }
		
	monitorDSR  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the current DSR status of this port."
		::= { monitorSerialPortStatusEntry 5 }
		
	monitorDTR  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the current DTR status of this port."
		::= { monitorSerialPortStatusEntry 6 }
		
	monitorRTS  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the current RTS status of this port."
		::= { monitorSerialPortStatusEntry 7 }
		
	monitorCTS  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the current CTS status of this port."
		::= { monitorSerialPortStatusEntry 8 }
		
	monitorDCD  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the current DCD status of this port."
		::= { monitorSerialPortStatusEntry 9 }
		
-- -------------------------------------------------------------
-- System Status -> Serial Port Error Count
-- -------------------------------------------------------------

	serialPortErrorCount OBJECT IDENTIFIER ::= { sysStatus 3 }			-- 1.3.6.1.4.1.8691.2.21.1.6.3
	
	monitorSerialPortErrorCountTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorSerialPortErrorCountEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Error Count table."
        ::= { serialPortErrorCount 1 }									-- 1.3.6.1.4.1.8691.2.21.1.6.3.1
    
    monitorSerialPortErrorCountEntry OBJECT-TYPE
        SYNTAX MonitorSerialPortErrorCountEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Error Count entry."
        INDEX { portIndex }
        ::= { monitorSerialPortErrorCountTable 1 }						-- 1.3.6.1.4.1.8691.2.21.1.6.3.1.1
        
    MonitorSerialPortErrorCountEntry ::=
        SEQUENCE {
            monitorErrorCountFrame
				INTEGER,
			monitorErrorCountParity
				INTEGER,
			monitorErrorCountOverrun
				INTEGER,
			monitorErrorCountBreak
				INTEGER
        }

	monitorErrorCountFrame  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of 'Frame' errors for this port."
		::= { monitorSerialPortErrorCountEntry 1 }
		
	monitorErrorCountParity  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of 'Parity' errors for this port."
		::= { monitorSerialPortErrorCountEntry 2 }
		
	monitorErrorCountOverrun  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of 'Overrun' errors for this port."
		::= { monitorSerialPortErrorCountEntry 3 }
		
	monitorErrorCountBreak  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of 'Break' errors for this port."
		::= { monitorSerialPortErrorCountEntry 4 }
	
-- -------------------------------------------------------------
-- System Status -> Serial Port Settings
-- -------------------------------------------------------------

	serialPortSettings OBJECT IDENTIFIER ::= { sysStatus 4 }			-- 1.3.6.1.4.1.8691.2.21.1.6.4
	
	monitorSerialPortSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorSerialPortSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Settings table."
        ::= { serialPortSettings 1 }									-- 1.3.6.1.4.1.8691.2.21.1.6.4.1
    
    monitorSerialPortSettingsEntry OBJECT-TYPE
        SYNTAX MonitorSerialPortSettingsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Settings entry."
        INDEX { portIndex }
        ::= { monitorSerialPortSettingsTable 1 }						-- 1.3.6.1.4.1.8691.2.21.1.6.4.1.1
        
    MonitorSerialPortSettingsEntry ::=
        SEQUENCE {
            monitorBaudRate
				INTEGER,
			monitorDataBits
				INTEGER,
			monitorStopBits
				DisplayString,
			monitorParity
				INTEGER,
			monitorRTSCTSFlowControl
				INTEGER,
			monitorXONXOFFFlowControl
				INTEGER,
			monitorFIFO
				INTEGER,
			monitorInterface
				INTEGER
        }

	monitorBaudRate  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the current baudrate of the port."
		::= { monitorSerialPortSettingsEntry 1 }
		
	monitorDataBits  OBJECT-TYPE
		SYNTAX INTEGER  { 
			bits-5(5), 
			bits-6(6), 
			bits-7(7),
			bits-8(8)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of bits per byte for the port."
		::= { monitorSerialPortSettingsEntry 2 }
		
	monitorStopBits  OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the number of stop bits for the port."
		::= { monitorSerialPortSettingsEntry 3 }
	
	monitorParity  OBJECT-TYPE
        SYNTAX INTEGER {
        	none(0),
			odd(8),
			even(24),
			mark(40),
			space(56)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the parity bit for the port."
		::= { monitorSerialPortSettingsEntry 4 }
		
	monitorRTSCTSFlowControl  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View if the port is using RTS/CTS flow control."
		::= { monitorSerialPortSettingsEntry 5 }
		
	monitorXONXOFFFlowControl  OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View if the port is using XON/XOFF flow control."
		::= { monitorSerialPortSettingsEntry 6 }
		
	monitorFIFO  OBJECT-TYPE
        SYNTAX INTEGER {
        	disable(0),
			enable(1)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View FIFO status of this port."
		::= { monitorSerialPortSettingsEntry 7 }
		
	monitorInterface  OBJECT-TYPE
        SYNTAX INTEGER {
        	rs-232(0),
			rs-422(1),
			rs-485-2-wire(2),
			rs-485-4-wire(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View the serial interface that the port is using."
		::= { monitorSerialPortSettingsEntry 8 }

-- -------------------------------------------------------------
-- System Status -> Buffering
-- -------------------------------------------------------------

	serialPortBuffering OBJECT IDENTIFIER ::= { sysStatus 5 }			-- 1.3.6.1.4.1.8691.2.21.1.6.5
	
	monitorSerialPortBufferingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorSerialPortBufferingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Buffering table."
        ::= { serialPortBuffering 1 }									-- 1.3.6.1.4.1.8691.2.21.1.6.5.1
    
    monitorSerialPortBufferingEntry OBJECT-TYPE
        SYNTAX MonitorSerialPortBufferingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Serial Port Settings entry."
        INDEX { portIndex }
        ::= { monitorSerialPortBufferingTable 1 }						-- 1.3.6.1.4.1.8691.2.21.1.6.5.1.1
        
    MonitorSerialPortBufferingEntry ::=
        SEQUENCE {
            monitorBuffering
				INTEGER
        }
        
	monitorBuffering  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "View length of buffered data for the port. The length unit is byte."
		::= { monitorSerialPortBufferingEntry 1 }

-- -------------------------------------------------------------
-- System Status -> WLAN Status
-- -------------------------------------------------------------

	sysWlanStatus OBJECT IDENTIFIER ::= { sysStatus 6 }				-- 1.3.6.1.4.1.8691.2.21.1.6.6

    wlanStatusActiveProfileName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The active profile name."
        ::= { sysWlanStatus 1 }   

    wlanStatusIpConfiguration OBJECT-TYPE
        SYNTAX INTEGER { static(0), dhcp(1), bootp(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The IP configuration mode of the NPort. You can
            choose from four possible IP configuration modes:
            Static, DHCP, DHCP/BOOTP, BOOTP."
        ::= { sysWlanStatus 2 }
        
    wlanStatusIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "An IP address is a number assigned to a network
            device (such as a computer) as a permanent address
            on the network. Computers use the IP address to
            identify and talk to each other over the network.
            Choose a proper IP address that is unique and valid
            in your network environment."
        ::= { sysWlanStatus 3 }
    
    wlanStatusNetMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A subnet mask represents all of the network hosts
            at one geographic location, in one building, or on
            the same local area network. When a packet is sent
            out over the network, the NPort IAW5x50A_IO series
			device server will use the subnet mask to check
			whether the TCP/IP host specified in the packet is on
            the local network segment. If the address is on the
            same network segment as the NPort IAW5x50A_IO series
			device server, a connection is established directly
			from the NPort IAW5x50A_IO series device server.
			Otherwise, the connection is established through the
			given default gateway."
        ::= { sysWlanStatus 4 }
    
    wlanStatusDefaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A gateway is a network computer that acts as an
            entrance to another network. Usually, the computers
            that control traffic within the network or at the
            local Internet service provider are gateway nodes.
            The NPort IAW5x50A_IO series device server needs to
			know the IP address of the default gateway computer
			in order to communicate with the hosts outside the
            local network environment. For correct gateway IP
            address information, consult with the network
            administrator."
        ::= { sysWlanStatus 5 }

    wlanStatusNetworkType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Network Type of Wireless LAN. The possible values are 
            'Infrastrcture Mode' and 'Ad-hoc Mode'"
        ::= { sysWlanStatus 6 }    

    wlanStatusRFType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "RF type of Wireless LAN. The possible values are 
            'N/A', 802.11a', '802.11b', 
            '802.11g', '802.11ag', '802.11bg', 
            '802.11na', '802.11ng', '802.11nag'."
        ::= { sysWlanStatus 7 } 

    wlanStatusSSID OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The SSID of WLAN."
        ::= { sysWlanStatus 8 }

    wlanStatusChannel OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The currently used channel."
        ::= { sysWlanStatus 9 }
        
    wlanStatusAuthentication OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Authentication type of Wireless LAN. The possible values are 
            'Unknown', 'Open System', 'Shared Key', 'WPA', 'WPA-PSK', 'WPA2', 'WPA2-PSK'"
        ::= { sysWlanStatus 10 }
 
 	wlanStatusEncryption OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Show encryption type of Wireless LAN."
        ::= { sysWlanStatus 11 }
 
     wlanStatusRegion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Display region. The possible values are 'US', 'EU', 'JP', 'CN'." 
        ::= { sysWlanStatus 12 }    

    wlanStatusSignalStrength OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The signal strength of Wireless LAN."
        ::= { sysWlanStatus 13 }

    wlanStatusConnectionSpeed OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The connection speed of Wireless LAN."
        ::= { sysWlanStatus 14 }
		
	wlanStatusCurrentBSSID OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The current BSSID of Wireless LAN."
        ::= { sysWlanStatus 15 }	

-- -------------------------------------------------------------
-- System Status -> IO Status
-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- System Status -> DI Monitor
-- -------------------------------------------------------------

    ioStatus OBJECT IDENTIFIER ::= { sysStatus 7 }                    
    diIoStatus OBJECT IDENTIFIER ::= { ioStatus 1 } 

    diMonTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DIMonEntry
        MAX-ACCESS not-accessible
        STATUS current        
        DESCRIPTION     
            "The DI channel monitor table"
     ::= { diIoStatus 1 }        -- 1.3.6.1.4.1.8691.2.21.1.7.1

    diMonEntry OBJECT-TYPE
        SYNTAX DIMonEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION     
            "The DI channel monitor item"
        INDEX { diMonIndex }
        ::= { diMonTable 1 }

    DIMonEntry ::= SEQUENCE {
                diMonIndex     INTEGER,
                diMonMode      INTEGER,
                diMonStatus    INTEGER,
                diMonFilter    INTEGER,
                diMonTrigger   INTEGER,
                diMonCntStart  INTEGER   
                 }


    diMonIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DI - index"
        ::= { diMonEntry 1 }

    diMonMode OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DI - mode (0: DI, 1: Counter mode)"
        ::= { diMonEntry 2 }

    diMonStatus OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DI - DI mode status (0: OFF, 1: ON) or Counter mode value"
        ::= { diMonEntry 3 }

    diMonFilter OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DI - filter setting (unit: 12.5 ms)"
        ::= { diMonEntry 4 }

    diMonTrigger OBJECT-TYPE
        SYNTAX INTEGER {
        	loToHigh(0),
        	highToLow(1),
        	both(2)	
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DI - Counter mode - event (0: Rising Edge, 1: Falling Edge, 2: Both)"
        ::= { diMonEntry 5 }

    diMonCntStart OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DI - Counter mode - status (0: STOP, 1: START)"
        ::= { diMonEntry 6 }

-- -------------------------------------------------------------
-- System Status -> DO Monitor
-- -------------------------------------------------------------

    doIoStatus OBJECT IDENTIFIER ::= { ioStatus 2 }                    

    doMonTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DOMonEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
        "The DO channel monitor table"
     ::= { doIoStatus 1 }        -- 1.3.6.1.4.1.8691.2.21.1.7.2

    doMonEntry OBJECT-TYPE
        SYNTAX DOMonEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DO channel monitor item"
        INDEX { doMonIndex }
        ::= { doMonTable 1 }

    DOMonEntry ::= SEQUENCE {
                doMonIndex     INTEGER,
                doMonMode      INTEGER,
                doMonStatus    INTEGER,
                doMonPulseOnWidth    INTEGER,
                doMonPulseOffWidth   INTEGER,
                doMonPulseStart  INTEGER   
                }

    doMonIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DO - index"
        ::= { doMonEntry 1 }

    doMonMode OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DO - mode (0: DO, 1: Pulse)"
        ::= { doMonEntry 2 }

    doMonStatus OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DO - DO mode status (0: OFF, 1: ON) or Pulse mode count"
        ::= { doMonEntry 3 }

    doMonPulseOnWidth OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DO - Pulse mode - ON width (unit: 25 ms)"
        ::= { doMonEntry 4 }

    doMonPulseOffWidth OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DO - Pulse mode - OFF width (unit: 25 ms)"
        ::= { doMonEntry 5 }

    doMonPulseStart OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "DO - Pulse mode - status (0: STOP, 1: START)"
        ::= { doMonEntry 6 }

-- -------------------------------------------------------------
-- System Status -> Relay Monitor
-- -------------------------------------------------------------

    sysAlertStatus OBJECT IDENTIFIER ::= { sysStatus 8 } 

    power1FailureStatus OBJECT-TYPE
        SYNTAX INTEGER {
            na(0),
            non(1),
            alarm(2),
            alarmAcked(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Power input 1 failure status"
        ::= { sysAlertStatus 1 }

    power1FailureAck OBJECT-TYPE
        SYNTAX INTEGER {
            ack(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Ack the power input 1 failure alarm."
        ::= { sysAlertStatus 2 }

    power2FailureStatus OBJECT-TYPE
        SYNTAX INTEGER {
            na(0),
            non(1),
            alarm(2),
            alarmAcked(3)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Power input 2 failure status"
        ::= { sysAlertStatus 3 }    

    power2FailureAck OBJECT-TYPE
        SYNTAX INTEGER {
            ack(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Ack the power input 2 failure alarm."
        ::= { sysAlertStatus 4 }
         
    hostConnectionLostAlarmStatus OBJECT-TYPE
        SYNTAX INTEGER {
            na(0),
            non(1),
            alarm(2)
        }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Modbus/TCP connection lost alarm status"
        ::= { sysAlertStatus 5 }    

    hostConnectionLostAlarmClear OBJECT-TYPE
        SYNTAX INTEGER {
            clear(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Clear the Modbus/TCP connection lost alarm."
        ::= { sysAlertStatus 6 }


-- -------------------------------------------------------------
-- Activate Settings
-- -------------------------------------------------------------

	activateSettings OBJECT IDENTIFIER ::= { swMgmt 9 }				-- 1.3.6.1.4.1.8691.2.21.1.9
	
	doActivate  OBJECT-TYPE
        SYNTAX INTEGER { 
        	activate(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Activate current settings."
		::= { activateSettings 1 }

-- -------------------------------------------------------------
-- Restart
-- -------------------------------------------------------------

	restart OBJECT IDENTIFIER ::= { swMgmt 10 }						-- 1.3.6.1.4.1.TCSANOW.1.10
	
	restartPorts  OBJECT-TYPE
        SYNTAX INTEGER { 
        	port1(0), port2(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Restart serial port. Restarting will cause port
            reseting."
		::= { restart 1 }
		
	restartSystem  OBJECT-TYPE
        SYNTAX INTEGER { 
        	restart(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Restart the NPort IAW5x50A_IO series device server.
			Be sure to save all of your configuration changes
			before you restart the system. Otherwise, all of
			the changes will be lost."
		::= { restart 2 }

END
    
 
