-- $Id: ZyXEL-prowireless.mib,v 1.5.2 2006/07/09 11:37:51 mrecla Exp $
-- $Id: prowireless.mib,v 1.5 2005/05/30 09:04:51 smith Exp $
-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It includes object identifiers and object definitions for the ZyXEL
-- Enterprise MIB only, and should be used for compilation by a management
-- tool in order to extend the tool to support the ZyXEL MIB.

    ZYXEL-PROWIRELESS-MIB DEFINITIONS ::=BEGIN

    IMPORTS
	enterprises, NetworkAddress, IpAddress, Counter
	FROM RFC1155-SMI
    RowStatus, RowPointer, DateAndTime, TruthValue, PhysAddress
        FROM SNMPv2-TC
    NOTIFICATION-TYPE, TimeTicks, Integer32
        FROM SNMPv2-SMI
    OBJECT-TYPE
	FROM RFC-1212;


	DisplayString	::=	OCTET STRING

 -- tree structure

	zyxel			OBJECT IDENTIFIER ::= { enterprises 890 }
	products		OBJECT IDENTIFIER ::= { zyxel 1 }
	proWireless		OBJECT IDENTIFIER ::= { products 9 }
	pwCommon		OBJECT IDENTIFIER ::= { proWireless 1 }
	pwTraps			OBJECT IDENTIFIER ::= { proWireless 2 }
	pwStations		OBJECT IDENTIFIER ::= { proWireless 3 }
	pwAPDetect		OBJECT IDENTIFIER ::= { proWireless 4 }
	pwWlanControl		OBJECT IDENTIFIER ::= { proWireless 5 }
	pwWlanExtControl	OBJECT IDENTIFIER ::= { proWireless 6 }


 -- Node: ZyXEL
 -- Node: Products
 -- Node: proWireless
 -- Node: pwCommon		This group contains information dealing
 --				wish the overall proWireless system, such as
 --				software versions, software and configuration download...etc.

	pwSwVersion OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..255))
		ACCESS	read-only
		STATUS	mandatory
		DESCRIPTION
			"The current software version."
	::= { pwCommon 1 }

	pwCfgVersion OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..255))
		ACCESS	read-only
		STATUS	mandatory
		DESCRIPTION
			"The current WLAN configuration version."
	::= { pwCommon 2 }

	pwTftpServer OBJECT-TYPE
		SYNTAX	IpAddress
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"TFTP download server IP Address."
	::= { pwCommon 3 }

	pwTftpFileName OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..255))
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"TFTP file name in TFTP server."
	::= { pwCommon 4 }

	pwTftpFileType OBJECT-TYPE
		SYNTAX	INTEGER {
			software(1),
			romfile(2),
			textconfig(3)
		}
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"File type in TFTP server."
	::= { pwCommon 5 }

	pwTftpOpStatus OBJECT-TYPE
		SYNTAX	INTEGER {
			idle(0),
			inprogress(1),
			failed(2),
			success(3),
			timeout(4)
		}
		ACCESS	read-only
		STATUS	mandatory
		DESCRIPTION
			"TFTP Operation Status."
	::= { pwCommon 6 }

	pwTftpOpCommand OBJECT-TYPE
		SYNTAX	INTEGER {
			upload(1),
			download(2)
		}
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"TFTP Operation Command."
	::= { pwCommon 7 }

	pwSystemReboot OBJECT-TYPE
		SYNTAX	INTEGER {
			running(0),
			reboot(1)
		}
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"System Reboot."
	::= { pwCommon 8 }

	pwAutoCfgMessage OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..255))
		ACCESS	read-only
		STATUS	mandatory
		DESCRIPTION
			"The last error massage of Auto Configuration process."

	::= { pwCommon 9 }

--
-- The following table represent the associated station list
--

pwStationTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PwStationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table lists the associated stations."
        ::= { pwStations 2 }

pwStationEntry OBJECT-TYPE
        SYNTAX      PwStationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry describing the station information."
        INDEX { pwStationIndex  }
        ::= {  pwStationTable 1 }

PwStationEntry ::= SEQUENCE {
            pwStationIndex         		Integer32,
--            docsDevNmAccessIp           IpAddress,
--            docsDevNmAccessIpMask       IpAddress,
            pwStationMacAddress			OCTET STRING,
            pwStationAssociateTime      DateAndTime,
            pwStationSSID				OCTET STRING,
            pwStationStatus       		RowStatus
        }

pwStationIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index of stations."
        ::= { pwStationEntry 1 }

pwStationMacAddress OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The MAC Addresss of the station."
        DEFVAL { "public" }
        ::= { pwStationEntry 2 }

pwStationAssociateTime OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The associated time of the station."
        ::= { pwStationEntry 3 }

pwStationSSID OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The associated ssid."
        ::= { pwStationEntry 4 }

pwStationStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this
             the row is active."
        ::= { pwStationEntry 5 }


--
-- Node: pwAPDetect		This group defines the neighbor AP detection
--

pwAPDetectInterval OBJECT-TYPE
 		SYNTAX INTEGER {
 			disable(0)
 		}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "AP Detection Interval, time unit is minute.
             Minimum value is 3 minutes."
        ::= { pwAPDetect 1 }

pwAPDetectTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PwAPDetectEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table lists the neighbor AP."
        ::= { pwAPDetect 2 }

pwAPDetectEntry OBJECT-TYPE
        SYNTAX      PwAPDetectEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry describing the neighbor AP information."
        INDEX { pwAPDetectIndex  }
        ::= {  pwAPDetectTable 1 }

PwAPDetectEntry ::= SEQUENCE {
            pwAPDetectIndex         	Integer32,
            pwAPDetectSSID				OCTET STRING,
            pwAPDetectMacAddress		OCTET STRING,
            pwAPDetectChannel    		OCTET STRING,
            pwAPDetectSignal			Integer32,
            pwAPDetectNetwork			INTEGER,
            pwAPDetectSecurity			INTEGER,
            pwAPDetectStatus     		RowStatus
        }

pwAPDetectIndex OBJECT-TYPE
		SYNTAX	Integer32 (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index of neighbor AP table."
        ::= { pwAPDetectEntry 1 }

pwAPDetectSSID OBJECT-TYPE
		SYNTAX	OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The SSID. If SSID of the AP is hidden, it will be displayed as '(Hidden SSID)'."
        ::= { pwAPDetectEntry 2 }

pwAPDetectMacAddress OBJECT-TYPE
		SYNTAX	OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The MAC address."
        ::= { pwAPDetectEntry 3 }

pwAPDetectChannel OBJECT-TYPE
		SYNTAX	OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The frequency channel ID."
        ::= { pwAPDetectEntry 4 }

pwAPDetectSignal OBJECT-TYPE
		SYNTAX	Integer32 (0..100)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The received signal strength, which represented as a percetage."
        ::= { pwAPDetectEntry 5 }

pwAPDetectNetwork OBJECT-TYPE
		SYNTAX	INTEGER {
			infra(0),
			adhoc(1)
		}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The network mode."
        ::= { pwAPDetectEntry 6 }

pwAPDetectSecurity OBJECT-TYPE
		SYNTAX	INTEGER {
			none(0),
			wep(1),
			wpa(2)
		}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The data security mode."
        ::= { pwAPDetectEntry 7 }

pwAPDetectStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this
             the row is active."
        ::= { pwAPDetectEntry 8 }



--
-- Node: pwMacFilter		This group defines the MAC Filter
--

pwMacFilterActive OBJECT-TYPE
 		SYNTAX INTEGER {
 			enable(1),
 			disable(2)
 		}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable MAC Filter."
        ::= { pwWlanControl 1 }

pwMacFilterAction OBJECT-TYPE
 		SYNTAX INTEGER {
 			accept(1),
 			discard(2)
 		}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Accept or discard the matched packets."
        ::= { pwWlanControl 2 }

pwMacFilterTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PwMacFilterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table lists the Mac Filter."
        ::= { pwWlanControl 3 }

pwMacFilterEntry OBJECT-TYPE
        SYNTAX      PwMacFilterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry describing the Mac Filter information."
        INDEX { pwMacFilterIndex  }
        ::= {  pwMacFilterTable 1 }

PwMacFilterEntry ::= SEQUENCE {
            pwMacFilterIndex         	Integer32,
            pwMacFilterMacAddress		OCTET STRING,
            pwMacFilterStatus     		RowStatus
        }

pwMacFilterIndex OBJECT-TYPE
		SYNTAX	Integer32 (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index of MAC Filter table."
        ::= { pwMacFilterEntry 1 }

pwMacFilterMacAddress OBJECT-TYPE
		SYNTAX	OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The MAC address."
        ::= { pwMacFilterEntry 2 }

pwMacFilterStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this
             the row is active."
        ::= { pwMacFilterEntry 3 }

pwWlanTxPower OBJECT-TYPE
 		SYNTAX INTEGER {
 			disabled(0),
 			full(1),
 			half(2),
 			quarter(4),
 			eighth(8)
 		}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "To specify the RF transmission power."
        ::= { pwWlanControl 4 }


 -- Node: pwTraps		This group defines information of pro wireless product
 --						specific snmpv2 notifications. 
 --						Including control variables to enable / disable 
 -- 					sending trap.
 	                                                       
	pwTrapControl		OBJECT IDENTIFIER ::= { pwTraps 1 } 	                                                       
 	pwTrapVariables		OBJECT IDENTIFIER ::= { pwTraps 2 }
 	pwTrapTypes			OBJECT IDENTIFIER ::= { pwTraps 3 }  
 	
 	pwWirelessTraps		OBJECT IDENTIFIER ::= { pwTrapTypes 1 }
 	pwSecurityTraps		OBJECT IDENTIFIER ::= { pwTrapTypes 2 }
 	pwTFTPTraps			OBJECT IDENTIFIER ::= { pwTrapTypes 3 }
 	
 -- 	Control
 	pwTrapWirelessStatus OBJECT-TYPE
 		SYNTAX INTEGER {
 			enable(1),
 			disable(2)
 		}
 		MAX-ACCESS read-write
 		STATUS current
 		DESCRIPTION
 		"Controls wireless group traps enable or disable."
 	::= { pwTrapControl 1 }
 	
 	pwTrapSecurityStatus OBJECT-TYPE
 		SYNTAX INTEGER {
 			enable(1),
 			disable(2)
 		}
 		MAX-ACCESS read-write
 		STATUS current
 		DESCRIPTION
 		"Controls security group traps enable or disable."
 	::= { pwTrapControl 2 }
 	
 	pwTrapTFTPStatus  OBJECT-TYPE
 		SYNTAX INTEGER {
 			enable(1),
 			disable(2)
 		}
 		MAX-ACCESS read-write
 		STATUS current
 		DESCRIPTION
 		"Controls TFTP group traps enable or disable."
 	::= { pwTrapControl 3 }

 	 	              
 -- 	Trap variables
 	pwTrapGenericMessage OBJECT-TYPE 
 	    SYNTAX DisplayString
    	MAX-ACCESS accessible-for-notify
    	STATUS current
    	DESCRIPTION
		"Provide generic information on traps."
    ::= { pwTrapVariables 1 }
    
    pwTrapMACAddress OBJECT-TYPE
    	SYNTAX DisplayString
    	MAX-ACCESS accessible-for-notify
    	STATUS current
    	DESCRIPTION
		"Represents MAC address of the device or the host 
		which triggers the trap."
    ::= { pwTrapVariables 2 }
    
    pwTrapWlanSSID OBJECT-TYPE
    	SYNTAX DisplayString
    	MAX-ACCESS accessible-for-notify
    	STATUS current
    	DESCRIPTION
		"The SSID name which the wireless client associates."
    ::= { pwTrapVariables 3 }
 	              
 -- 	Wireless Traps
 -- 		Assocication, Disassociation
 	pwWlanStaAssociation NOTIFICATION-TYPE
		STATUS	current
		DESCRIPTION
			"Wireless client assocication notification."
	::= { pwWirelessTraps 1 }    
	                           
	pwWlanStaDisassociation NOTIFICATION-TYPE
		STATUS	current
		DESCRIPTION
			"Wireless client disassocication notification."
	::= { pwWirelessTraps 2 }  
	                           
 -- 	Security Traps
 --         Client authenticate failed
 
	pwWlanStaAuthFail NOTIFICATION-TYPE
		STATUS	current
		DESCRIPTION
			"Wireless client authentication failed."
	::= { pwSecurityTraps 1 }  

 --		TFTP Traps
 --			Status

	pwTFTPStatus NOTIFICATION-TYPE
		OBJECTS {pwTrapGenericMessage, pwTftpOpStatus, pwTftpServer, 
		pwTftpFileName, pwTftpFileType, pwTftpOpCommand }
		STATUS current
		DESCRIPTION
			"Send when TFTP operation completed, or stopped due to some reason. 
			For example, timeout or wrong configuration."
	::= { pwTFTPTraps 1 }
END
