From 8e48a7e9d50221ed75974ce8537d25e96d52ec8d Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Tue, 25 Feb 2014 00:08:54 +0200 Subject: Initial commit Signed-off-by: Roman Yeryomin --- rtkmib.h | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 rtkmib.h (limited to 'rtkmib.h') diff --git a/rtkmib.h b/rtkmib.h new file mode 100644 index 0000000..baf12d2 --- /dev/null +++ b/rtkmib.h @@ -0,0 +1,189 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef _DEBUG_ +#include +#else +#define syslog(x,fmt,args...) printf(fmt,## args) +#endif + +#define __PACK__ __attribute__((packed)) + +#define MIB_ERR_GENERIC -1 +#define MIB_ERR_COMPRESSED -2 + + +#define FLASH_DEVICE_NAME "/dev/mtdblock0" +#define MIB_OFFSET_DEFAULT 0x6000 +#define MIB_WLAN_OFFSET 13 + +#ifdef RTK_HW_OFFSET +#define MIB_OFFSET RTK_HW_OFFSET +#else +#define MIB_OFFSET MIB_OFFSET_DEFAULT +#endif + +#define MIB_HEADER_TAG "H6" +#define MIB_HEADER_COMPR_TAG "COMPHS" + +#define MIB_TAG_LEN 2 +#define MIB_COMPR_TAG_LEN 6 +#define SIGNATURE_LEN 4 +#define HW_SETTING_VER 3 /* hw setting version */ + +typedef struct mib_hdr +{ + unsigned char sig[ SIGNATURE_LEN ]; /* tag + version */ + unsigned short len; +} __PACK__ mib_hdr_t; + +typedef struct mib_hdr_compr +{ + unsigned char sig[ MIB_COMPR_TAG_LEN ]; /* tag only? */ + uint16_t factor; + uint32_t len; +} __PACK__ mib_hdr_compr_t; + + +#ifdef HAVE_RTK_DUAL_BAND_SUPPORT +#define NUM_WLAN_INTERFACE 2 +#else +#define NUM_WLAN_INTERFACE 1 +#endif + +#define MAX_2G_CHANNEL_NUM_MIB 14 +#define MAX_5G_CHANNEL_NUM_MIB 196 +#define MAX_5G_DIFF_NUM 14 + +typedef struct mib_wlan +{ + unsigned char macAddr[6]; + unsigned char macAddr1[6]; + unsigned char macAddr2[6]; + unsigned char macAddr3[6]; + unsigned char macAddr4[6]; + unsigned char macAddr5[6]; + unsigned char macAddr6[6]; + unsigned char macAddr7[6]; + unsigned char pwrlevelCCK_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrlevelCCK_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrlevelHT40_1S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrlevelHT40_1S_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiffHT40_2S[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiffHT20[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiffOFDM[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char regDomain; + unsigned char rfType; + unsigned char ledType; /* LED type, see LED_TYPE_T for definition */ + unsigned char xCap; + unsigned char TSSI1; + unsigned char TSSI2; + unsigned char Ther; + unsigned char Reserved1; + unsigned char Reserved2; + unsigned char Reserved3; + unsigned char Reserved4; + unsigned char Reserved5; + unsigned char Reserved6; + unsigned char Reserved7; + unsigned char Reserved8; + unsigned char Reserved9; + unsigned char Reserved10; + unsigned char pwrlevel5GHT40_1S_A[ MAX_5G_CHANNEL_NUM_MIB ]; + unsigned char pwrlevel5GHT40_1S_B[ MAX_5G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff5GHT40_2S[ MAX_5G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff5GHT20[ MAX_5G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff5GOFDM[ MAX_5G_CHANNEL_NUM_MIB ]; + +#define PIN_LEN 8 + unsigned char wscPin[ PIN_LEN + 1 ]; + +#ifdef HAVE_RTK_AC_SUPPORT + unsigned char pwrdiff_20BW1S_OFDM1T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW2S_20BW2S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM2T_CCK2T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW3S_20BW3S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_4OFDM3T_CCK3T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW4S_20BW4S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM4T_CCK4T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + + unsigned char pwrdiff_5G_20BW1S_OFDM1T_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW2S_20BW2S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW3S_20BW3S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW4S_20BW4S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_RSVD_OFDM4T_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW1S_160BW1S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW2S_160BW2S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW3S_160BW3S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW4S_160BW4S_A[ MAX_5G_DIFF_NUM ]; + + unsigned char pwrdiff_20BW1S_OFDM1T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW2S_20BW2S_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM2T_CCK2T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW3S_20BW3S_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM3T_CCK3T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW4S_20BW4S_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM4T_CCK4T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + + unsigned char pwrdiff_5G_20BW1S_OFDM1T_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW2S_20BW2S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW3S_20BW3S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW4S_20BW4S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_RSVD_OFDM4T_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW1S_160BW1S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW2S_160BW2S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW3S_160BW3S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW4S_160BW4S_B[ MAX_5G_DIFF_NUM ]; +#endif +} __PACK__ mib_wlan_t; + +typedef struct mib_wlan_ac +{ + unsigned char pwrdiff_20BW1S_OFDM1T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW2S_20BW2S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM2T_CCK2T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW3S_20BW3S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_4OFDM3T_CCK3T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW4S_20BW4S_A[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM4T_CCK4T_A[ MAX_2G_CHANNEL_NUM_MIB ]; + + unsigned char pwrdiff_5G_20BW1S_OFDM1T_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW2S_20BW2S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW3S_20BW3S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW4S_20BW4S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_RSVD_OFDM4T_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW1S_160BW1S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW2S_160BW2S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW3S_160BW3S_A[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW4S_160BW4S_A[ MAX_5G_DIFF_NUM ]; + + unsigned char pwrdiff_20BW1S_OFDM1T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW3S_20BW3S_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM3T_CCK3T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_40BW4S_20BW4S_B[ MAX_2G_CHANNEL_NUM_MIB ]; + unsigned char pwrdiff_OFDM4T_CCK4T_B[ MAX_2G_CHANNEL_NUM_MIB ]; + + unsigned char pwrdiff_5G_20BW1S_OFDM1T_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW2S_20BW2S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW3S_20BW3S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_40BW4S_20BW4S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_RSVD_OFDM4T_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW1S_160BW1S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW2S_160BW2S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW3S_160BW3S_B[ MAX_5G_DIFF_NUM ]; + unsigned char pwrdiff_5G_80BW4S_160BW4S_B[ MAX_5G_DIFF_NUM ]; +} __PACK__ mib_wlan_ac_t; + +typedef struct mib +{ + unsigned char boardVer; + unsigned char nic0Addr[6]; + unsigned char nic1Addr[6]; + mib_wlan_t wlan[ NUM_WLAN_INTERFACE ]; +} __PACK__ mib_t; -- cgit v1.2.3