HNE-DEVICE-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
      FROM SNMPv2-SMI
       InetAddress,
   	   InetAddressType
      FROM INET-ADDRESS-MIB
   ifIndex 
	  FROM IF-MIB
   arrisProdIdRouter
      FROM ARRIS-MIB
   TruthValue, DisplayString, DateAndTime, MacAddress, RowStatus
      FROM SNMPv2-TC;

   hneMib MODULE-IDENTITY
      LAST-UPDATED    "201501140000Z" -- January 14, 2015 
      ORGANIZATION    "ARRIS Broadband"
      CONTACT-INFO    "ARRIS
                       Postal: ARRIS Broadband
                       3871 Lakefield Drive
                       Suite 300
                       Suwanee, GA 30024-1242
                       U.S.A.
                       Phone: 
                       E-mail: "
      DESCRIPTION
       "This MIB module supplies the basic management objects for Home Networking Extenders.
        This MIB module is only supported by the Wi-Fi Gateway."
    
      -- Revision history
        REVISION "201501140000Z" -- January 14, 2015
              DESCRIPTION
              "Changing VLAN table to LAN table (which contains VLAN information) to support HNE extender via TR-181i2 objects only." 
              
        REVISION "201501070000Z" -- January 7, 2015
              DESCRIPTION
              "First draft of the Home Networking Extender MIB."
              
::= { arrisProdIdRouter 3 }

hneMibObjects			 OBJECT IDENTIFIER ::= { hneMib 1 }
hneWiFiGWSupport         OBJECT IDENTIFIER ::= { hneMibObjects 1 }
hneLAN  				 OBJECT IDENTIFIER ::= { hneMibObjects 2 }
    
	
hneWiFiGWSearch OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Setting this value to 'true' will trigger a M-SEARCH message from the Wi-Fi Gateway."
    ::= { hneWiFiGWSupport 1 }

hneWiFiGWTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HneWiFiGWEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of Home Networking Extenders that have attempted to connect to the WiFi Gateway."
    ::= { hneWiFiGWSupport 2 }

hneWiFiGWEntry OBJECT-TYPE
    SYNTAX      HneWiFiGWEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the table of the Home Networking Extender table."
    INDEX   { hneWiFiGWIndex }
    ::= { hneWiFiGWTable 1 }

HneWiFiGWEntry ::= 
    SEQUENCE    {
                hneWiFiGWIndex       				Unsigned32,
                hneWiFiGWMACAddr     				MacAddress,
                hneWiFiGWIPAddrType  				InetAddressType,
                hneWiFiGWIPAddress   				InetAddress,
                hneWiFiGWARRISAutoCfgSupport		TruthValue,
                hneWiFiGWLocation					DisplayString,
                hneWiFiGWManufacturer				DisplayString,
                hneWiFiGWModelName					DisplayString,
                hneWiFiGWModelNumber				DisplayString,
                hneWiFiGWConfigurationId			Unsigned32,
                hneWiFiGWLastSynchAttemptTime       DateAndTime,
                hneWiFiGWLastSynchAttemptResult	    INTEGER,
                hneWiFiGWSynchedWithGW     		    TruthValue,
                hneWiFiGWOverride24OutputPower      INTEGER,
                hneWiFiGWOverride50OutputPower      INTEGER,
                hneWiFiGWOverride24Channel          Unsigned32,
                hneWiFiGWOverride50Channel          Unsigned32,
                hneWiFiGWOverride24ChannelBW        INTEGER,
                hneWiFiGWOverride50ChannelBW	    INTEGER
                }

hneWiFiGWIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { hneWiFiGWEntry 1 }
    
hneWiFiGWMACAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The MAC Address of the Home Networking Extender."
    ::= { hneWiFiGWEntry 2 }

hneWiFiGWIPAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "IP Address type of the Home Networking Extender."
    ::= { hneWiFiGWEntry 3 }
    
hneWiFiGWIPAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "IP Address of the Home Networking Extender."
    ::= { hneWiFiGWEntry 4 }

hneWiFiGWARRISAutoCfgSupport OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates if the GW determined if the Home Networking Extender supports the ARRIS auto-configuration protocol."
    ::= { hneWiFiGWEntry 5 }

hneWiFiGWLocation OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The URL from the location header field of the NOTIFY/M-SEARCH response of device discovery."
    ::= { hneWiFiGWEntry 6 }

hneWiFiGWManufacturer OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The manufacturer of the Home Networking Extender from the device description during discovery."
    ::= { hneWiFiGWEntry 7 }
    
hneWiFiGWModelName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The model name of the Home Networking Extender from the device description during discovery."
    ::= { hneWiFiGWEntry 8 }

hneWiFiGWModelNumber OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The model number of the Home Networking Extender from the device description during discovery."
    ::= { hneWiFiGWEntry 9 }

hneWiFiGWConfigurationId OBJECT-TYPE
     SYNTAX     Unsigned32 (0..16777215)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "Represents the current configuration of the Home Networking Extender."
     ::= { hneWiFiGWEntry 10 }

hneWiFiGWLastSynchAttemptTime OBJECT-TYPE
     SYNTAX      DateAndTime
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "Timestamp of the last synchronization attempt of the Home Networking Extender."
     ::= { hneWiFiGWEntry 11 }

hneWiFiGWLastSynchAttemptResult OBJECT-TYPE
     SYNTAX      INTEGER {	uninitialized(-1),
							pass(0),
							failHTTPSSessionEstablishment(1),
							failHTTPSPUT(2)
     					 }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "Indicates whether the last synchronization case passed or failed with failure reason."
     ::= { hneWiFiGWEntry 12 }

hneWiFiGWSynchedWithGW OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "Indicates if the Home Networking Extender is synchronized with the WiFi Gateway."
     ::= { hneWiFiGWEntry 13 }

hneWiFiGWOverride24OutputPower  OBJECT-TYPE
    SYNTAX      INTEGER {
                gatewayDefault(0),
                percent12(12),
                percent25(25),
                percent50(50),
                percent75(75),
                percent100(100)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the output power relative to the hardware's maximum capability.
         This value is for the 2.4 GHz radio.  This value overrides the gateway
         value set via wecbWiFiOutputPower.
         A value of 0 indicates to use the value in the gateway configuration.
         
         If the Home Networking Extender does not support one of the provisioned values it should
         implement the closest value that is supported."
    DEFVAL { gatewayDefault }
    ::= { hneWiFiGWEntry 14 }
    
hneWiFiGWOverride50OutputPower  OBJECT-TYPE
    SYNTAX      INTEGER {
                gatewayDefault(0),
                percent12(12),
                percent25(25),
                percent50(50),
                percent75(75),
                percent100(100)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the output power relative to the hardware's maximum capability.
         This value is for the 5.0 GHz radio.  This value overrides the gateway
         value set via wecbWiFi50OutputPower.
         A value of 0 indicates to use the value in the gateway configuration.
         
         If the Home Networking Extender does not support one of the provisioned values it should 
         implement the closest value that is supported."
    DEFVAL { gatewayDefault }
    ::= { hneWiFiGWEntry 15 }

hneWiFiGWOverride24Channel OBJECT-TYPE
     SYNTAX     Unsigned32 (0..216|255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Controls and reflects the current channel number (802.11g) or
				 control channel (802.11n).
				 
				 If set to (0), the device will be put in auto-channel mode where it automatically scans 
				 for the least-crowded channel.

				 For 802.11g cards, available channels are 1-14. 
				 For 802.11n cards, available channels are 34-216.
				 Channel selection is also subject to restrictions based on the selected
				 country code.
				 
				 This value overrides the gateway value set via wecbWiFiChannel.  
				 
				 A value of 255 indicates there is no override and the gateway setting should be used."
	 DEFVAL { 255 }
     ::= { hneWiFiGWEntry 16 }

hneWiFiGWOverride50Channel OBJECT-TYPE
     SYNTAX     Unsigned32 (0..216|255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Controls and reflects the current channel number on the 5.0 GHz radio (802.11 a/n).
                                 
                   If set to (0), the device will be put in auto-channel mode where it automatically scans 
                   for the least-crowded channel.

                   Available channels are 34-216. 
                   Channel selection is also subject to restrictions based on the selected
                   country code.
                   
                   This value overrides the gateway value set via wecbWiFi50Channel.
                   
                   A value of 255 indicates there is no override and the gateway setting should be used."
     DEFVAL { 255 } 
     ::= { hneWiFiGWEntry 17 }

hneWiFiGWOverride24ChannelBW OBJECT-TYPE
     SYNTAX      INTEGER { gatewayDefault(-2), 
                           unknown(-1),
                           width20MHz(0),
                           width40MHz(1),
                           width20and40Mhz(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Determines which Band Width that we will be operating in. Either the 20MHz or the 40MHz.
                  Note: This is for 802.11n mode only. 
                  
                  This value overrides the gateway value set via wecbWiFiChannelBW.
                  
                  A value of -2 indicates to use the value in the gateway configuration."
     DEFVAL { gatewayDefault }
     ::= { hneWiFiGWEntry 18 }

hneWiFiGWOverride50ChannelBW OBJECT-TYPE
     SYNTAX      INTEGER { gatewayDefault(-2),
                           unknown(-1),
                           width20MHz(0),
                           width20and40Mhz(2),
                           width20and40and80Mhz(3) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Determines which Band Width that we will be operating in. Either the 20MHz 40MHz or 80MHz.
                  Note: This is for 802.11n mode only.
                  
                  This value overrides the gateway value set via wecbWiFi50ChannelBW.
                  
                  A value of -2 indicates to use the value in the gateway configuration."
     DEFVAL { gatewayDefault }
     ::= { hneWiFiGWEntry 19 }
   
hneWiFiGWSupportedTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HneWiFiGWSupportedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of Home Networking Extenders that are supported by the Wi-Fi GW."
    ::= { hneWiFiGWSupport 3 }

hneWiFiGWSupportedEntry OBJECT-TYPE
    SYNTAX      HneWiFiGWSupportedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the table of the supported Home Networking Extender table."
    INDEX   { hneWiFiGWSupportedIndex }
    ::= { hneWiFiGWSupportedTable 1 }

HneWiFiGWSupportedEntry ::= 
    SEQUENCE    {
                 hneWiFiGWSupportedIndex			Unsigned32,
                 hneWiFiGWSupportedManufacturer	    DisplayString,
                 hneWiFiGWSupportedModelNumber		DisplayString,
                 hneWiFiGWSupportedRowStatus		RowStatus
                }

hneWiFiGWSupportedIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { hneWiFiGWSupportedEntry 1 }

hneWiFiGWSupportedManufacturer OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Manufacturer for the supported Home Networking Extenders."
    ::= { hneWiFiGWSupportedEntry 2 }
    
hneWiFiGWSupportedModelNumber OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Model number for the supported Home Networking Extenders."
    ::= { hneWiFiGWSupportedEntry 3 }

hneWiFiGWSupportedRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Row status for the supported Home Networking Extender entry."
    ::= { hneWiFiGWSupportedEntry 4 }

hneWiFiGWConfigAttempts OBJECT-TYPE
	SYNTAX     Unsigned32 (1..255)
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
	    "The number of allowed configuration mismatch detections
	     over the time period hneWiFiGWConfigDuration before
	     the GW stops attempting to configure the Home Networking Extender."
	DEFVAL { 10 }
	::=  { hneWiFiGWSupport 4 }

hneWiFiGWConfigDuration OBJECT-TYPE
	SYNTAX     Unsigned32
	UNITS      "seconds"
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
	    "The timer period over which the number of configuration
	     mismatch detections per hneWiFiGWConfigAttempts is counted."
	DEFVAL { 3600 }
	::=  { hneWiFiGWSupport 5 }

hneWiFiGWAutoConfigurationEnable OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS  read-write
	STATUS		current
	DESCRIPTION "Enables/disables the ARRIS Home Networking Extender Auto-configuration support."
	DEFVAL		{ false }
	::= { hneWiFiGWSupport 6 }
	
hneWiFiGWSecurityEnable OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS  read-write
	STATUS		current
	DESCRIPTION "Enables/disables the ARRIS Home Networking Extender security support."
	DEFVAL		{ true }
	::= { hneWiFiGWSupport 7 }
	
hneLANTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HneLANEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of the LAN interfaces on the Home Networking Extenders connected to
        the WiFi Gateway."
    ::= { hneLAN 1 }

hneLANEntry OBJECT-TYPE
    SYNTAX      HneLANEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the table of the Home Networking Extender VLAN table."
    INDEX   { hneLANIndex, hneLANGWMappingIndex }
    ::= { hneLANTable 1 }

HneLANEntry ::= 
    SEQUENCE    {
                hneLANIndex		                Unsigned32,
                hneLANGWMappingIndex            Unsigned32,
                hneLANInterface                 DisplayString,
                hneLANInterfaceType             INTEGER,
                hneLANBridgingMgmtPortInterface DisplayString,
                hneLANVLANID		            Unsigned32                
                }

hneLANIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { hneLANEntry 1 }
    
hneLANGWMappingIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value is hneWiFiGWIndex in the hneWiFiGWTable that correlates to the specific Home
         Networking Extender being added to this HNE LAN table on the Gateway."
    ::= { hneLANEntry 2 }

hneLANInterface OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "TR-181i2 Interface object of the specific HNE LAN-side interface."
    ::= { hneLANEntry 3 }
    
hneLANInterfaceType OBJECT-TYPE
    SYNTAX      INTEGER {radio24Ghz(0), 
                         radio50Ghz(1), 
                         radio24GhzSsid(2), 
                         radio50GhzSsid(3), 
                         ethernet(4)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the interface type."
    ::= { hneLANEntry 4 }

hneLANBridgingMgmtPortInterface OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "TR-181i2 Bridge Port Table path name for management port entry for the specific HNE interface.  
        Note:  This column is not valid for hneLANInterfaceType values of 'radio24Ghz' and 'radio50Ghz'."
    ::= { hneLANEntry 5 }
    
hneLANVLANID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the VLAN ID to be used for this VLAN mapping.
        Note:  This column is not valid for hneLANInterfaceType values of 'radio24Ghz' and 'radio50Ghz'."
    ::= { hneLANEntry 6 }
       
END  

