Driver MME ********** Presentation ============ Driver MMEs are purely internal messages used to communicate between the Linux/ARM part to the eCos/Leon. These messages are not intended to be transmitted on the powerline nor to the ethernet side. The Linux PLC driver does not accept them from the bridge. The only way to send a Driver MME accepted by the PLC driver is the netlink set between the PLC daemon and the PLC driver. All Driver MMTYPEs are from 0xb000 to 0xbffc. At the opposite of other Vendor specific and Manufacturing specific MMEs, **the MMENTRY** (payload) **of a Driver MME** **does not contain the SPiDCOM OUI** on the 3 first bytes. It contains an unique transaction ID created by the MME sender. Inside the confirm or the indication return packet, the same transaction ID must be kept unchanged to allow the multiplexing of several possible answer packet with the same MMTYPE. Driver MME list =============== +--------+----------------------------------+-------------------+-----------------+ | MMTYPE | Label | From H1 Interface | To H1 Interface | +========+==================================+===================+=================+ | 0xB000 | DRV_STA_SET_MAC_ADDR.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_MAC_ADDR.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB004 | DRV_STA_SET_CCO_PREF.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_CCO_PREF.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB008 | DRV_STA_SET_WAS_CCO.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_WAS_CCO.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB018 | DRV_STA_SET_M_STA_HFID.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_M_STA_HFID.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB01C | DRV_STA_SET_U_STA_HFID.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_U_STA_HFID.CNF | No | Yes | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_U_STA_HFID.IND | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB020 | DRV_STA_SET_AVLN_HFID.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_AVLN_HFID.CNF | No | Yes | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_AVLN_HFID.IND | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB024 | DRV_STA_SET_TONEMASK.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_TONEMASK.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB028 | DRV_STA_MAC_START.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_MAC_START.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB02C | DRV_STA_MAC_STOP.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_MAC_STOP.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB034 | DRV_STA_SC.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SC.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB03C | DRV_STA_STATUS.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_STATUS.CNF | No | Yes | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_STATUS.IND | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB040 | DRV_STA_SET_KEY.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_KEY.CNF | No | Yes | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_KEY.IND | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB044 | DRV_STA_GET_KEY.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DVR_STA_GET_KEY.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB048 | DRV_STA_SET_DAK.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_DAK.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB04C | DRV_STA_SET_CONFIG.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_STA_SET_CONFIG.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB050 | DRV_AUTHORIZE.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_AUTHORIZE.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB054 | DRV_MCAST_SET_LIST.REQ | Yes | No | +--------+----------------------------------+-------------------+-----------------+ | | DRV_MCAST_SET_LIST.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB058 | DRV_MCAST_SET_FILTER.REQ | Yes | No | +--------+----------------------------------+-------------------+-----------------+ | | DRV_MCAST_SET_FILTER.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB090 | DRV_EOC_CCO_GET_STATUS.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_GET_STATUS.CNF | No | Yes | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_GET_STATUS.IND | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB094 | DRV_EOC_CCO_SET_CONF_VERSION.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_SET_CONF_VERSION.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB098 | DRV_EOC_CCO_SET_SERVICES.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_SET_SERVICES.REQ | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB09C | DRV_EOC_CCO_SET_RULES_START.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_SET_RULES_START.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB0A0 | DRV_EOC_CCO_SET_RULES_STOP.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_SET_RULES_STOP.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB0A4 | DRV_EOC_CCO_SET_RULES.REQ | Yes | No | + +----------------------------------+-------------------+-----------------+ | | DRV_EOC_CCO_SET_RULES.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB0A8 | DRV_EOC_STA_SET_SLAVE_CONF.REQ | Yes | No | +--------+----------------------------------+-------------------+-----------------+ | | DRV_EOC_STA_SET_SLAVE_CONF.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ | 0xB0AC | DRV_EOC_STA_SET_EOC_CONF.REQ | Yes | No | +--------+----------------------------------+-------------------+-----------------+ | | DRV_EOC_STA_SET_EOC_CONF.CNF | No | Yes | +--------+----------------------------------+-------------------+-----------------+ Driver MME description ====================== Set MAC address (DRV_STA_SET_MAC_ADDR) -------------------------------------- DRV_STA_SET_MAC_ADDR.REQ (0xB000) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - StaMAC - 0 \- 5 - 6 - Mac address of the station DRV_STA_SET_MAC_ADDR.CNF (0xB001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set CCO preferred (DRV_STA_SET_CCO_PREF) ---------------------------------------- DRV_STA_SET_CCO_PREF.REQ (0xB004) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - CCo Pref - 0 - 1 - 0x00 = Station is not preferred CCo 0x01 = Station is preferred CCo 0x02 \- 0xff = Reserved DRV_STA_SET_CCO_PREF.CNF (0xB005) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set 'was CCO' (DRV_STA_SET_WAS_CCO) ----------------------------------- DRV_STA_SET_WAS_CCO.REQ (0xB008) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Was CCo - 0 - 1 - 0x00 = Station was not CCo 0x01 = Station was previously CCo 0x02 \- 0xff = Reserved DRV_STA_SET_WAS_CCO.CNF (0xB009) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set manufacturer human-friendly identifier (DRV_STA_SET_M_STA_HFID) ------------------------------------------------------------------- DRV_STA_SET_M_STA_HFID.REQ (0xB018) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Sta_m_HFID - 0 \- 63 - 64 - Manufacturer Station HFID in text format. Only characters from 0x20 to 0x7F are allowed. Must be zero\-padded if length is less than 64 chars. DRV_STA_SET_M_STA_HFID.CNF (0xB019) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set user human-friendly identifier (DRV_STA_SET_U_STA_HFID) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ DRV_STA_SET_U_STA_HFID.REQ (0xB01C) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 10 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Sta_u_HFID - 0 - 64 - User Station Human\-Friendly ID in text format. Only characters from 0x20 to 0x7F are allowed. Must be zero\-padded if length is less than 64 chars. DRV_STA_SET_U_STA_HFID.CNF (0xB01D) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved DRV_STA_SET_U_STA_HFID.IND (0xB01E) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 12 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Sta_AVLN_HFID - 0 - 64 - AVLN Station Human\-Friendly ID in text format. Only characters from 0x20 to 0x7F are allowed. Must be zero\-padded if length is less than 64 chars. Set AVLN human-friendly identifier (DRV_STA_SET_AVLN_HFID) ---------------------------------------------------------- DRV_STA_SET_AVLN_HFID.REQ (0xB020) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 12 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Sta_AVLN_HFID - 0 - 64 - AVLN Station Human\-Friendly ID in text format. Only characters from 0x20 to 0x7F are allowed. Must be zero\-padded if length is less than 64 chars. DRV_STA_SET_AVLN_HFID.CNF (0xB021) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved DRV_STA_SET_AVLN_HFID.IND (0xB022) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 12 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Sta_AVLN_HFID - 0 - 64 - AVLN Station Human\-Friendly ID in text format. Only characters from 0x20 to 0x7F are allowed. Must be zero\-padded if length is less than 64 chars. Set tonemask (DRV_STA_SET_TONEMASK) ----------------------------------- DRV_STA_SET_TONEMASK.REQ (0xB024) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 12 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Sta_Tonemask - 0 - 192 - Station Tonemask bitfield for the 1536 carriers from 0 MHz to 37.5 MHz, with: 0b0 = carrier is unmasked 0b1 = carrier is masked Byte 0 contains the activation bits for the first 8 carriers Byte 1 contains the activation bits for the second 8 carriers, and so on. DRV_STA_SET_TONEMASK.CNF (0xB025) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Start the MAC (DRV_STA_MAC_START) --------------------------------- DRV_STA_MAC_START.REQ (0xB028) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - - 0 - 0 - This message does not require any parameters DRV_STA_MAC_START.REQ (0xB029) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Stop the MAC (DRV_STA_MAC_STOP) ------------------------------- DRV_STA_MAC_STOP.REQ (0xB02C) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - - 0 - 0 - This message does not require any parameters DRV_STA_MAC_STOP.CNF (0xB02D) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Start simple connect (DRV_STA_SC) --------------------------------- DRV_STA_SC.REQ (0xB034) ^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - SC_JOIN - 0 - 1 - 0x00 = The STA should do a SC_ADD. 0x01 = The STA should do a SC_JOIN. 0x02 – 0xFF = Reserved. DRV_STA_SC.CNF (0xB035) ^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Get station status (DRV_STA_STATUS) ----------------------------------- DRV_STA_STATUS.REQ (0xB03C) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - NULL - - - No data DRV_STA_STATUS.CNF (0xB03D) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved * - Status - 1 - 1 - 0x00 = unassociated 0x01 = associated 0x02 = authenticated * - CCO - 2 - 1 - 0x00 = station 0x01 = proxy CCO 0x02 = CCO * - Preferred CCO - 3 - 1 - 0x00 = is not CCO preferred 0x01 = is CCO preferred * - Backup CCO - 4 - 1 - 0x00 = is not backup CCO 0x01 = Is backup CCO * - Simple Connect - 6 - 1 - 0x00 = is not processing Simple Connect 0x01 = processing Simple Connect * - PLC synchro frequency - 7 - 1 - 0x00 = unknown 0x01 = 50 Hz 0x02 = 60 Hz 0x03 = co\-axial cable DRV_STA_STATUS.IND (0xB03E) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Status - 0 - 1 - 0x00 = unassociated 0x01 = associated 0x02 = authenticated * - CCO - 1 - 1 - 0x00 = station 0x01 = proxy CCO 0x02 = CCO * - Preferred CCO - 2 - 1 - 0x00 = is not CCO preferred 0x01 = is CCO preferred * - Backup CCO - 3 - 1 - 0x00 = is not backup CCO 0x01 = Is backup CCO * - Simple Connect - 5 - 1 - 0x00 = is not processing Simple Connect 0x01 = processing Simple Connect * - PLC synchro frequency - 6 - 1 - 0x00 = unknown 0x01 = 50 Hz 0x02 = 60 Hz 0x03 = co\-axial cable Set network key (DRV_STA_SET_KEY) --------------------------------- DRV_STA_SET_KEY.REQ (0xB040) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - NMK - 0\- - 16 - Station Network Membership Key in binary format. * - Type - 16 - 1 - Change type of security data 0x00 = change the NID 0x01 = change the security level (SL) 0x02 \- 0xff = reserved * - NID - 17 - 7 - New NID value; no meaning if type != 0x00 * - SL - 24 - 1 - New SL value; no meaning of type != 0x01 0x00 : Simple Connect. The NMK may have been exchanged using UKE. 0x01 : Secure Security Level. The NMK must not have been exchanged using UKE. 0x02 \- 0xff: Reserved. DRV_STA_SET_KEY.CNF (0xB041) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved DRV_STA_SET_KEY.IND (0xB042) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - NMK - 0 - 16 - Station Network Membership Key in binary format. * - Type - 16 - 1 - Change type of security data 0x00 = change the NID 0x01 = change the security level (SL) 0x02 \- 0xff = reserved * - NID - 17 - 7 - New NID value; no meaning if type != 0x00 * - SL - 24 - 1 - New SL value; no meaning of type != 0x01 0x00 : Simple Connect. The NMK may have been exchanged using UKE. 0x01 : Secure Security Level. The NMK must not have been exchanged using UKE. 0x02 \- 0xff: Reserved. Set device password (DRV_STA_SET_DAK) ------------------------------------- DRV_STA_SET_DAK.REQ (0xB048) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - DAK - 0 - 16 - Station Device Access Key in binary format. DRV_STA_SET_DAK.CNF (0xB049) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set internal configuration (DRV_STA_SET_CONFIG) ----------------------------------------------- DRV_STA_SET_CONFIG.REQ (0xB04C) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Config - 0 - Var - This fields contain a string where each config is recorded with the following pattern: “:”. Value can be decimal or hexadecimal format. If it is hexadecimal, it must start with a “0x” prefix. Patterns are separated with spaces. The last char of the string is a NULL char (0x00). DRV_STA_SET_CONFIG.CNF (0xB04D) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Change NMK of another STA (DRV_AUTHORIZE) ----------------------------------------- This MME is based on APCM_AUTHORIZE. DRV_AUTHORIZE.REQ (0xB050) ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Request - 0 - 1 - 0x00 change NMK with current STA NMK 0x01 change NMK and NID 0x02 change MNK and SL * - Request ID - 1 - 1 - Request ID for asynchronous confirmation (random number) * - DAK - 2 - 16 - Device Access Key of the STA on which NMK has to be changed \- in binary format * - MAC Address - 18 - 6 - MAC address of the STA on which NMK has to be changed; if unknown use 0xffffffffffff * - NMK - 24 - 16 - New Network Membership Key of a remote STA \- in binary formatThis field has a signification only if Request = 0x01 or 0x02 * - NID - 40 - 7 - Network Identifier (including SL) to associate with this new NMKThis field has a signification only if Request = 0x01 * - SL - 47 - 1 - Security Level of this new NMKThis field has a signification only if Request = 0x02 DRV_AUTHORIZE.CNF (0xB051) ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Authorization complete 0x01 = No response (timeout) 0x02 = Aborted 0x03 \- 0xff = Reserved * - Request ID - 1 - 1 - Request ID of the DRV_AUTHORIZE.REQ to which this is a confirmation * - MAC Address - 2 - 6 - MAC address of the STA on which NMK has been changed Set multicast list (DRV_MCAST_SET_LIST) ------------------------------------------- Purpose of this MME is to add multicast group(s) with their member(s). Contents of this MME replace the previous multicast settings. DRV_MCAST_SET_LIST.REQ (0xB054) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 20 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Number of groups - 0 - 1 - Number of multicast groups (*n*) If 0, all groups have to be removed and rest of MME is empty * - MAC address of group #1 - 1\-6 - 6 - Multicast group #1 MAC address * - Number of members of group #1 - 7 - 1 - Number of members in multicast group #1 (*N**1*) * - MAC address of member #1 of group #1 - 8\-13 - 6 - Member #1 of group #1 MAC address * - MAC address of member #2 of group #1 - 14\-19 - 6 - Member #2 of group #1 MAC address * - ... - ... - ... - ... * - MAC address of member #*N**1* of group #1 - \- - 6 - Member #*N**1* of group #1 MAC address * - MAC address of group #2 - \- - 6 - Multicast group #2 MAC address * - Number of members of group #2 - \- - 1 - Number of members in multicast group #2 (*N**2*) * - MAC address of member #1 of group #2 - \- - 6 - Member #1 of group #2 MAC address * - MAC address of member #2 of group #2 - \- - 6 - Member #2 of group #2 MAC address * - ... - ... - ... - ... * - MAC address of member #*N**2* of group #2 - \- - 6 - Member # *N**2* of group #2 MAC address * - ... - ... - ... - ... * - MAC address of group #*n* - \- - 6 - Multicast group #*n* MAC address * - Number of members of group #*n* - \- - 1 - Number of members in multicast group #*n* (*N**n*) * - MAC address of member #1 of group #*n* - \- - 6 - Member #1 of group #*n* MAC address * - MAC address of member #2 of group #*n* - \- - 6 - Member #2 of group #*n* MAC address * - ... - ... - ... - ... * - MAC address of member #*N**n* of group #*n* - \- - 6 - Member #*N**n* of group #*n* MAC address DRV_MCAST_SET_LIST.CNF (0xB055) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success: request accepted 0x01 = Failure 0x02 \- 0xff = Reserved Set multicast filter (DRV_MCAST_SET_FILTER) ----------------------------------------------- Purpose of this DRV MME is to add filtering rules on a specific host which requested either: - to receive multicast packets from specific sources only; - not to receive multicast packets from specific unwanted sources. DRV_MCAST_SET_FILTER.REQ (0xB058) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 20 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - MAC address of group - 1\-6 - 6 - Multicast group MAC address on which to set a filter * - MAC address of subscriber - 7\-12 - 6 - Member MAC address on which to set a filter * - Record Type - 13 - 1 - 0x00 = whitelist 0x01 = blacklist * - Number of Sources (N) - 14\-15 - 2 - * - IP address of source #1 - 16\-19 - 4 - * - ... - - - * - IP address of source #N - - 4 - DRV_MCAST_SET_FILTER.CNF (0xB059) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success: request accepted 0x01 = Failure 0x02 \- 0xff = Reserved Update EoC station status (DRV_EOC_CCO_GET_STATUS) -------------------------------------------------- DRV_EOC_CCO_GET_STATUS.REQ (0xB090) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - StaMAC - 0 - 6 - MAC address of the station DRV_EOC_CCO_GET_STATUS.CNF (0xB091) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved * - StaMAC - 6 - 6 - MAC address of the station * - Status - 7 - 1 - 0x00 = disconnected 0x01 = unassociated 0x02 = sleep_unassociated 0x03 = associated 0x04 = sleep_associated 0x05 = authenticated 0x06 = sleep_authenticated or another proposition: 0x00 = disconnected 0x01 = unassociated 0x02 = associated 0x03 = authenticatedand an additional field for sleeping: 0 or 1 DRV_EOC_CCO_GET_STATUS.IND (0xB092) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - StaMAC - 0 - 6 - MAC address of the station * - Status - 6 - 1 - 0x00 = disconnected 0x01 = unassociated 0x02 = sleep_unassociated 0x03 = associated 0x04 = sleep_associated 0x05 = authenticated 0x06 = sleep_authenticatedidem Set version of EoC config file (DRV_EOC_CCO_SET_CONF_VERSION) ------------------------------------------------------------- DRV_EOC_CCO_SET_CONF_VERSION.REQ (0xB094) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - ConfType - 0 - 1 - Type of configuration file: 0x00 = white list 0x01 = services properties 0x02 = classifier rules 0x03 = multicast list * - Version - 1 - 32 - String with current version of configuration file. Contains current date and control version. We may remove control version. DRV_EOC_CCO_SET_CONF_VERSION.CNF (0xB095) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set EoC service properties (DRV_EOC_CCO_SET_SERVICES) ----------------------------------------------------- DRV_EOC_CCO_SET_SERVICES.REQ (0xB098) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Number of services - 0 - 1 - Total number of existing services = N * - Service Name #1 - 1 - 16 - Keyword of service type #1 * - CRP #1 - 17 - 1 - Classifier Rule Protocol for service #1 \- IPv4 Protocol rule identifier from Classifier Rule specification * - Service Type #1 - 18 - 1 - Type of parameters for service #1: 0x00 = fixed bandwidth (basic internet service) 0x01 = DBA 0x02 = latency 0x03 = jitter 0x04 = latency and jitter * - Parameter List #1 - 19 - var - List of parameter values for service #1 Format of list depends on service type * - ... - - - * - Service Name #N - \- - 16 - Keyword of service type #N * - CRP #N - \- - 1 - Classifier Rule Protocol for service #N * - Service Type #N - \- - 1 - Type of parameters for service #N * - Parameter List #N - \- - var - List of parameter values for service #N DRV_EOC_CCO_SET_SERVICES.CNF (**0xB099)** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Format of parameter list ^^^^^^^^^^^^^^^^^^^^^^^^ Format of list of parameter values depends on selected type of parameters for service: 1. Type of service is 0x00 (basic Internet service) .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Up_limit - var - 2 - Maximum bandwidth for upload * - Down_limit - var - 2 - Maximum bandwidth for download 1. Type of service is 0x01 (DBA service) .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Up_PIR - var - 2 - PIR for upload * - Down_PIR - var - 2 - PIR for download * - Up_CIR - var - 2 - CIR for upload * - Down_CIR - var - 2 - CIR for download 2. Type of service is 0x02 (latency requirement) .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Latency - var - 2 - Maximum latency value 3. Type of service is 0x03 (jitter requirement) .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Jitter - var - 2 - Maximum jitter value 4. Type of service is 0x04 (latency and jitter requirement) .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Latency - var - 2 - Maximum latency value * - Jitter - var - 2 - Maximum jitter value Start Reading EoC Classifier Rules (DRV_EOC_CCO_SET_RULES_START) ---------------------------------------------------------------- DRV_EOC_CCO_SET_RULES_START.REQ (0xB09C) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - - 0 - 0 - This message does not require any parameters DRV_EOC_CCO_SET_RULES_START.CNF (0xB09D) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved NOTE: As explained in white list start/stop messages – Cesar is not aware of number of classifier rules, and therefore must be informed precisely when the rules information will arrive. Maybe there's no purpose of these start/stop messages. Stop Reading EoC Classifier Rules (DRV_EOC_CCO_SET_RULES_STOP) -------------------------------------------------------------- DRV_EOC_CCO_SET_RULES_STOP.REQ (0xB0A0) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - - 0 - 0 - This message does not require any parameters. DRV_EOC_CCO_SET_RULES_STOP.CNF (0xB0A1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Read EoC additional classifier rules ( DRV_EOC_CCO_SET_RULES) ------------------------------------------------------------- DRV_EOC_CCO_SET_RULES.REQ (0xB0A4) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - StaMAC - 0 - 6 - MAC address of the station * - Number of Parameters - 6 - 1 - Number of services parameters specified = N * - Service Type #1 - 7 - 1 - Type of parameters for station service 0x00 = fixed bandwidth (basic internet service) 0x01 = DBA 0x02 = latency 0x03 = jitter 0x04 = latency and jitter * - Parameter List #1 - 8 - var - List of parameter values for service #1 Format of list depends on service type * - ... - - - * - Service Type #N - \- - 1 - Type of parameters for station service * - Parameter List #N - \- - var - List of parameter values for service #N * - CR_ID - \- - 1 - Classifier Rule Identifier (from HP\-AV Specification, Table 6\-137) * - CR_Value - \- - var - Classifier Rule ValueThis field depends on the type of Classifier Rule Identifier DRV_EOC_CCO_SET_RULES.CNF (0xB0A5) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved NOTE: Classifier rules should be described as on table 6-138 of HP-AV standard: not to use service parameters at all, but only classifier rule IDs. Set slave.conf (DRV_EOC_STA_SET_SLAVE_CONF) ------------------------------------------- DRV_EOC_STA_SET_SLAVE_CONF.REQ (0xB0A8) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Config - 0 - Var - This field contains a string where each config is recorded with the following pattern: “:”. Value can be decimal or hexadecimal format. If it is hexadecimal, it must start with a “0x” prefix. Patterns are separated with spaces. The last char of the string is a NULL char (0x00). DRV_EOC_STA_SET_SLAVE_CONF.CNF (0xB0A9) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved Set eoc.conf (DRV_EOC_STA_SET_EOC_CONF) --------------------------------------- Purpose of this MME is to set output level value. DRV_EOC_STA_SET_EOC_CONF.REQ (0xB0AC) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 20 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - TX_scale_adapt_blk_exp - 0 - 1 - Value of the TX_scale_adapt_blk_exp register to set. * - TX_scale_adapt - 1 - 2 - Value of the TX_scale_adapt register to set. DRV_EOC_STA_SET_EOC_CONF.CNF (0xB0AD) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 7 6 6 60 :header-rows: 1 * - Field - Octet number - Field size (octets) - Definition * - Result - 0 - 1 - 0x00 = Success 0x01 = Failure 0x02 \- 0xff = Reserved