diff --git a/config.yml b/config.yml index 13cb74307..50ec23e4b 100644 --- a/config.yml +++ b/config.yml @@ -12,6 +12,5 @@ patch_folders: - patches/ipq40xx - patches/ipq806x - patches/ipq807x - - patches/rtkmipsel - patches/rest - patches/x86 diff --git a/feeds/realtek/realtek-poe/Makefile b/feeds/realtek/realtek-poe/Makefile deleted file mode 100644 index 343218ca9..000000000 --- a/feeds/realtek/realtek-poe/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=realtek-poe -PKG_RELEASE:=1 - -PKG_LICENSE:=GPL-2.0 -PKG_MAINTAINER:=John Crispin - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/realtek-poe - SECTION:=net - CATEGORY:=Network - TITLE:=Realtek PoE Switch Port daemon - DEPENDS:=+libubox +libubus +libuci -endef - -define Package/realtek-poe/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/realtek-poe $(1)/usr/bin/ - $(CP) ./files/* $(1) -endef - -$(eval $(call BuildPackage,realtek-poe)) diff --git a/feeds/realtek/realtek-poe/files/etc/config/poe b/feeds/realtek/realtek-poe/files/etc/config/poe deleted file mode 100644 index 372976e99..000000000 --- a/feeds/realtek/realtek-poe/files/etc/config/poe +++ /dev/null @@ -1,58 +0,0 @@ -config global - option budget '65' - -config port - option enable '1' - option id '1' - option name 'lan1' - option poe_plus '1' - option priority '3' - -config port - option enable '1' - option id '2' - option name 'lan2' - option poe_plus '1' - option priority '3' - -config port - option enable '1' - option id '3' - option name 'lan3' - option poe_plus '1' - option priority '2' - -config port - option enable '1' - option id '4' - option name 'lan4' - option poe_plus '1' - option priority '2' - -config port - option enable '1' - option id '5' - option name 'lan5' - option poe_plus '1' - option priority '1' - -config port - option enable '1' - option id '6' - option name 'lan6' - option poe_plus '1' - option priority '1' - -config port - option enable '1' - option id '7' - option name 'lan7' - option poe_plus '1' - option priority '0' - -config port - option enable '1' - option id '8' - option name 'lan8' - option poe_plus '1' - option priority '0' diff --git a/feeds/realtek/realtek-poe/files/etc/init.d/poe b/feeds/realtek/realtek-poe/files/etc/init.d/poe deleted file mode 100755 index 66f77d6ef..000000000 --- a/feeds/realtek/realtek-poe/files/etc/init.d/poe +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=80 -USE_PROCD=1 -PROG=/usr/bin/realtek-poe - -reload_service() { - ubus call poe reload -} - -service_triggers() { - procd_add_config_trigger "config.change" "poe" ubus call poe reload -} - -start_service() { - procd_open_instance - procd_set_param command "$PROG" - procd_set_param respawn - procd_close_instance -} diff --git a/feeds/realtek/realtek-poe/src/CMakeLists.txt b/feeds/realtek/realtek-poe/src/CMakeLists.txt deleted file mode 100644 index 4eb81f457..000000000 --- a/feeds/realtek/realtek-poe/src/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -cmake_minimum_required(VERSION 2.6) - -PROJECT(realtek-poe C) -ADD_DEFINITIONS(-Os -ggdb -Wextra -Wall -Werror --std=gnu99 -Wmissing-declarations -Wno-unused-parameter) - -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") - -SET(SOURCES main.c) - -IF(DEBUG) - ADD_DEFINITIONS(-DDEBUG -g3) -ENDIF() - -FIND_LIBRARY(ubus NAMES ubus) -FIND_LIBRARY(uci NAMES uci) -FIND_LIBRARY(ubox NAMES ubox) -FIND_PATH(uci_include_dir NAMES uci.h) -FIND_PATH(ubus_include_dir NAMES libubus.h) -FIND_PATH(ubox_include_dir NAMES libubox/usock.h) -INCLUDE_DIRECTORIES(${ubox_include_dir} ${ubus_include_dir} ${uci_include_dir}) - -ADD_EXECUTABLE(realtek-poe ${SOURCES}) - -TARGET_LINK_LIBRARIES(realtek-poe ${ubox} ${ubus} ${uci}) - -INSTALL(TARGETS realtek-poe - RUNTIME DESTINATION sbin -) diff --git a/feeds/realtek/realtek-poe/src/main.c b/feeds/realtek/realtek-poe/src/main.c deleted file mode 100644 index 987584020..000000000 --- a/feeds/realtek/realtek-poe/src/main.c +++ /dev/null @@ -1,845 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#define ULOG_DBG(fmt, ...) ulog(LOG_DEBUG, fmt, ## __VA_ARGS__) - -typedef int (*poe_reply_handler)(unsigned char *reply); - -#define MAX_PORT 8 -#define GET_STR(a, b) (a < ARRAY_SIZE(b) ? b[a] : NULL) - -struct port_config { - char name[16]; - unsigned char enable; - unsigned char priority; - unsigned char power_up_mode; - unsigned char power_budget; -}; - -struct config { - int debug; - - int budget; - int budget_guard; - - int port_count; - struct port_config ports[MAX_PORT]; -}; - -struct port_state { - char *status; - float watt; - char *poe_mode; -}; - -struct state { - char *sys_mode; - unsigned char sys_version; - char *sys_mcu; - char *sys_status; - unsigned char sys_ext_version; - float power_consumption; - - struct port_state ports[MAX_PORT]; -}; - -struct cmd { - struct list_head list; - unsigned char cmd[12]; -}; - -static struct uloop_timeout state_timeout; -static struct ubus_auto_conn conn; -static struct ustream_fd stream; -static LIST_HEAD(cmd_pending); -static unsigned char cmd_seq; -static struct state state; -static struct blob_buf b; - -static struct config config = { - .budget = 65, - .budget_guard = 7, - .port_count = 8, -}; - -static void -config_load_port(struct uci_section *s) -{ - enum { - PORT_ATTR_ID, - PORT_ATTR_NAME, - PORT_ATTR_ENABLE, - PORT_ATTR_PRIO, - PORT_ATTR_POE_PLUS, - __PORT_ATTR_MAX, - }; - - static const struct blobmsg_policy port_attrs[__PORT_ATTR_MAX] = { - [PORT_ATTR_ID] = { .name = "id", .type = BLOBMSG_TYPE_INT32 }, - [PORT_ATTR_NAME] = { .name = "name", .type = BLOBMSG_TYPE_STRING }, - [PORT_ATTR_ENABLE] = { .name = "enable", .type = BLOBMSG_TYPE_INT32 }, - [PORT_ATTR_PRIO] = { .name = "priority", .type = BLOBMSG_TYPE_INT32 }, - [PORT_ATTR_POE_PLUS] = { .name = "poe_plus", .type = BLOBMSG_TYPE_INT32 }, - }; - - const struct uci_blob_param_list port_attr_list = { - .n_params = __PORT_ATTR_MAX, - .params = port_attrs, - }; - - struct blob_attr *tb[__PORT_ATTR_MAX] = { 0 }; - unsigned int id; - - blob_buf_init(&b, 0); - uci_to_blob(&b, s, &port_attr_list); - blobmsg_parse(port_attrs, __PORT_ATTR_MAX, tb, blob_data(b.head), blob_len(b.head)); - - if (!tb[PORT_ATTR_ID] || !tb[PORT_ATTR_NAME]) { - ULOG_ERR("invalid port settings"); - return; - } - - id = blobmsg_get_u32(tb[PORT_ATTR_ID]); - if (!id || id > MAX_PORT) { - ULOG_ERR("invalid port id"); - return; - } - id--; - - strncpy(config.ports[id].name, blobmsg_get_string(tb[PORT_ATTR_NAME]), 16); - - if (tb[PORT_ATTR_ENABLE]) - config.ports[id].enable = !!blobmsg_get_u32(tb[PORT_ATTR_ENABLE]); - - if (tb[PORT_ATTR_PRIO]) - config.ports[id].priority = blobmsg_get_u32(tb[PORT_ATTR_PRIO]); - if (config.ports[id].priority > 3) - config.ports[id].priority = 3; - - if (tb[PORT_ATTR_POE_PLUS] && blobmsg_get_u32(tb[PORT_ATTR_POE_PLUS])) - config.ports[id].power_up_mode = 3; -} - -static void -config_load_global(struct uci_section *s) -{ - enum { - GLOBAL_ATTR_BUDGET, - GLOBAL_ATTR_GUARD, - __GLOBAL_ATTR_MAX, - }; - - static const struct blobmsg_policy global_attrs[__GLOBAL_ATTR_MAX] = { - [GLOBAL_ATTR_BUDGET] = { .name = "budget", .type = BLOBMSG_TYPE_INT32 }, - [GLOBAL_ATTR_GUARD] = { .name = "guard", .type = BLOBMSG_TYPE_INT32 }, - }; - - const struct uci_blob_param_list global_attr_list = { - .n_params = __GLOBAL_ATTR_MAX, - .params = global_attrs, - }; - - struct blob_attr *tb[__GLOBAL_ATTR_MAX] = { 0 }; - - blob_buf_init(&b, 0); - uci_to_blob(&b, s, &global_attr_list); - blobmsg_parse(global_attrs, __GLOBAL_ATTR_MAX, tb, blob_data(b.head), blob_len(b.head)); - - config.budget = 65; - if (tb[GLOBAL_ATTR_BUDGET]) - config.budget = blobmsg_get_u32(tb[GLOBAL_ATTR_BUDGET]); - - if (tb[GLOBAL_ATTR_GUARD]) - config.budget_guard = blobmsg_get_u32(tb[GLOBAL_ATTR_GUARD]); - else - config.budget_guard = config.budget / 10; -} - -static void -config_load(int init) -{ - struct uci_context *uci = uci_alloc_context(); - struct uci_package *package = NULL; - - memset(config.ports, 0, sizeof(config.ports)); - - if (!uci_load(uci, "poe", &package)) { - struct uci_element *e; - - if (init) - uci_foreach_element(&package->sections, e) { - struct uci_section *s = uci_to_section(e); - - if (!strcmp(s->type, "global")) - config_load_global(s); - } - uci_foreach_element(&package->sections, e) { - struct uci_section *s = uci_to_section(e); - - if (!strcmp(s->type, "port")) - config_load_port(s); - } - } - - uci_unload(uci, package); - uci_free_context(uci); -} - -static void -poe_cmd_dump(char *type, unsigned char *data) -{ - int i; - - if (!config.debug) - return; - - fprintf(stderr, "%s ->", type); - for (i = 0; i < 12; i++) - fprintf(stderr, " 0x%02x", data[i]); - fprintf(stderr, "\n"); -} - -static int -poe_cmd_send(struct cmd *cmd) -{ - poe_cmd_dump("TX", cmd->cmd); - ustream_write(&stream.stream, (char *)cmd->cmd, 12, false); - - return 0; -} - -static int -poe_cmd_next(void) -{ - struct cmd *cmd; - - if (list_empty(&cmd_pending)) - return -1; - - cmd = list_first_entry(&cmd_pending, struct cmd, list); - - return poe_cmd_send(cmd); -} - -static int -poe_cmd_queue(unsigned char *_cmd, int len) -{ - int i, empty = list_empty(&cmd_pending); - struct cmd *cmd = malloc(sizeof(*cmd)); - - memset(cmd, 0, sizeof(*cmd)); - memset(cmd->cmd, 0xff, 12); - memcpy(cmd->cmd, _cmd, len); - - cmd_seq++; - cmd->cmd[1] = cmd_seq; - cmd->cmd[11] = 0; - - for (i = 0; i < 11; i++) - cmd->cmd[11] += cmd->cmd[i]; - - list_add_tail(&cmd->list, &cmd_pending); - - if (empty) - return poe_cmd_send(cmd); - - return 0; -} - -/* 0x00 - Set port enable - * 0: Disable - * 1: Enable - */ -static int -poe_cmd_port_enable(unsigned char port, unsigned char enable) -{ - unsigned char cmd[] = { 0x00, 0x00, port, enable }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x06 - Set global port enable - * 0: Disable PSE Functionality on all Ports - * 1: Enable PSE Functionality on all Ports - * 2: Enable Force power Functionality on all ports - * 3: Enable Force Power with Disconnect Functionality on all Ports - */ -static int -poe_cmd_global_port_enable(unsigned char enable) -{ - unsigned char cmd[] = { 0x06, 0x00, enable }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x10 - Set port detection type - * 1: Legacy Capacitive Detection only - * 2: IEEE 802.3af 4-Point Detection only (Default) - * 3: IEEE 802.3af 4-Point followed by Legacy - * 4: IEEE 802.3af 2-Point detection (Not Supported) - * 5: IEEE 802.3af 2-Point followed by Legacy - */ -static int -poe_cmd_port_detection_type(unsigned char port, unsigned char type) -{ - unsigned char cmd[] = { 0x10, 0x00, port, type }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x11 - Set port classification - * 0: Disable - * 1: Enable - */ -static int -poe_cmd_port_classification(unsigned char port, unsigned char classification) -{ - unsigned char cmd[] = { 0x11, 0x00, port, classification }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x13 - Set port disconnect type - * 0: none - * 1: AC-disconnect - * 2: DC-disconnect - * 3: DC with delay - */ -static int -poe_cmd_port_disconnect_type(unsigned char port, unsigned char type) -{ - unsigned char cmd[] = { 0x13, 0x00, port, type }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x15 - Set port power limit type - * 0: None. Power limit is 16.2W if the connected device is “low power”, - * or the set high power limit if the device is “high power”. - * 1: Class based. The power limit for class 4 devices is determined by the high power limit. - * 2: User defined - */ -static int -poe_cmd_port_power_limit_type(unsigned char port, unsigned char type) -{ - unsigned char cmd[] = { 0x15, 0x00, port, type }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x16 - Set port power budget - * values in 0.2W increments - */ -static int -poe_cmd_port_power_budget(unsigned char port, unsigned char budget) -{ - unsigned char cmd[] = { 0x16, 0x00, port, budget }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x17 - Set power management mode - * 0: None (No Power Management mode) (Default in Semi-Auto mode) - * 1: Static Power Management with Port Priority(Default in Automode) - * 2: Dynamic Power Management with Port Priority - * 3: Static Power Management without Port Priority - * 4: Dynamic Power Management without Port Priority - */ -static int -poe_cmd_power_mgmt_mode(unsigned char mode) -{ - unsigned char cmd[] = { 0x17, 0x00, mode }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x18 - Set global power budget */ -static int -poe_cmd_global_power_budget(int budget, int guard) -{ - unsigned char cmd[] = { 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - cmd[3] = budget * 10 / 256; - cmd[4] = budget * 10 % 256; - cmd[5] = guard * 10 / 256; - cmd[6] = guard * 10 % 256; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x1a - Set port priority - * 0: Low - * 1: Normal - * 2: High - * 3: Critical - */ -static int -poe_set_port_priority(unsigned char port, unsigned char priority) -{ - unsigned char cmd[] = { 0x1a, 0x00, port, priority }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x1c - Set port power-up mode - * 0: PoE - * 1: legacy - * 2: pre-PoE+ - * 3: PoE+ - */ -static int -poe_set_port_power_up_mode(unsigned char port, unsigned char mode) -{ - unsigned char cmd[] = { 0x1c, 0x00, port, mode }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -/* 0x20 - Get system info */ -static int -poe_cmd_status(void) -{ - unsigned char cmd[] = { 0x20 }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -static int -poe_reply_status(unsigned char *reply) -{ - static char *mode[]={ - "Semi-auto I2C", - "Semi-auto UART", - "Auto I2C", - "Auto UART" - }; - static char *mcu[]={ - "ST Micro ST32F100 Microcontroller", - "Nuvoton M05xx LAN Microcontroller", - "ST Micro STF030C8 Microcontroller", - "Nuvoton M058SAN Microcontroller", - "Nuvoton NUC122 Microcontroller" - }; - static char *status[]={ - "Global Disable pin is de-asserted:No system reset from the previous query cmd:Configuration saved", - "Global Disable pin is de-asserted:No system reset from the previous query cmd:Configuration Dirty", - "Global Disable pin is de-asserted:System reseted:Configuration saved", - "Global Disable pin is de-asserted:System reseted:Configuration Dirty", - "Global Disable Pin is asserted:No system reset from the previous query cmd:Configuration saved", - "Global Disable Pin is asserted:No system reset from the previous query cmd:Configuration Dirty", - "Global Disable Pin is asserted:System reseted:Configuration saved", - "Global Disable Pin is asserted:System reseted:Configuration Dirty" - }; - - state.sys_mode = GET_STR(reply[2], mode); - config.port_count = reply[3]; - state.sys_version = reply[7]; - state.sys_mcu = GET_STR(reply[8], mcu); - state.sys_status = GET_STR(reply[9], status); - state.sys_ext_version = reply[10]; - - return 0; -} - -/* 0x23 - Get power statistics */ -static int -poe_cmd_power_stats(void) -{ - unsigned char cmd[] = { 0x23 }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -static int -poe_reply_power_stats(unsigned char *reply) -{ - state.power_consumption = reply[2]; - state.power_consumption *= 256; - state.power_consumption += reply[3]; - state.power_consumption /= 10; - - return 0; -} - -/* 0x26 - Get extended port config */ -static int -poe_cmd_port_ext_config(unsigned char port) -{ - unsigned char cmd[] = { 0x26, 0x00, port }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -static int -poe_reply_port_ext_config(unsigned char *reply) -{ - static char *mode[] = { - "PoE", - "Legacy", - "pre-PoE+", - "PoE+" - }; - - state.ports[reply[2]].poe_mode = GET_STR(reply[3], mode); - - return 0; -} - -/* 0x2a - Get all port status */ -static int -poe_cmd_port_overview(void) -{ - unsigned char cmd[] = { 0x2a, 0x00, 0x00 }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -static int -poe_reply_port_overview(unsigned char *reply) -{ - static char *status[]={ - "Disabled", - "Searching", - "Delivering power", - "Fault", - "Other fault", - "Requesting power", - }; - int i; - - for (i = 0; i < 8; i++) - state.ports[i].status = GET_STR((reply[3 + i] & 0xf), status); - - return 0; -} - -/* 0x30 - Get port power statistics */ -static int -poe_cmd_port_power_stats(unsigned char port) -{ - unsigned char cmd[] = { 0x30, 0x00, port }; - - return poe_cmd_queue(cmd, sizeof(cmd)); -} - -static int -poe_reply_port_power_stats(unsigned char *reply) -{ - float watt; - - watt = reply[9]; - watt *= 256; - watt += reply[10]; - watt /= 10; - - state.ports[reply[2]].watt = watt; - - return 0; -} - -static poe_reply_handler reply_handler[] = { - [0x20] = poe_reply_status, - [0x23] = poe_reply_power_stats, - [0x26] = poe_reply_port_ext_config, - [0x2a] = poe_reply_port_overview, - [0x30] = poe_reply_port_power_stats, -}; - -static int -poe_reply_consume(unsigned char *reply) -{ - struct cmd *cmd = NULL; - unsigned char sum = 0, i; - - poe_cmd_dump("RX", reply); - - if (list_empty(&cmd_pending)) { - ULOG_ERR("received unsolicited reply\n"); - return -1; - } - - cmd = list_first_entry(&cmd_pending, struct cmd, list); - list_del(&cmd->list); - - for (i = 0; i < 11; i++) - sum += reply[i]; - - if (reply[11] != sum) { - ULOG_DBG("received reply with bad checksum\n"); - return -1; - } - - if (reply[0] != cmd->cmd[0]) { - ULOG_DBG("received reply with bad command id\n"); - return -1; - } - - if (reply[1] != cmd->cmd[1]) { - ULOG_DBG("received reply with bad sequence number\n"); - return -1; - } - - free(cmd); - - if (reply_handler[reply[0]]) - return reply_handler[reply[0]](reply); - - return 0; -} - -static void -poe_stream_msg_cb(struct ustream *s, int bytes) -{ - int len; - unsigned char *reply = (unsigned char *)ustream_get_read_buf(s, &len); - - if (len < 12) - return; - - poe_reply_consume(reply); - ustream_consume(s, 12); - poe_cmd_next(); -} - -static void -poe_stream_notify_cb(struct ustream *s) -{ - if (!s->eof) - return; - - ULOG_ERR("tty error, shutting down\n"); - exit(-1); -} - -static int -poe_stream_open(char *dev, struct ustream_fd *s, speed_t speed) -{ - struct termios tio; - int tty; - - tty = open(dev, O_RDWR | O_NOCTTY | O_NONBLOCK); - if (tty < 0) { - ULOG_ERR("%s: device open failed: %s\n", dev, strerror(errno)); - return -1; - } - - tcgetattr(tty, &tio); - tio.c_cflag |= CREAD; - tio.c_cflag |= CS8; - tio.c_iflag |= IGNPAR; - tio.c_lflag &= ~(ICANON); - tio.c_lflag &= ~(ECHO); - tio.c_lflag &= ~(ECHOE); - tio.c_lflag &= ~(ISIG); - tio.c_iflag &= ~(IXON | IXOFF | IXANY); - tio.c_cflag &= ~CRTSCTS; - tio.c_cc[VMIN] = 1; - tio.c_cc[VTIME] = 0; - cfsetispeed(&tio, speed); - cfsetospeed(&tio, speed); - tcsetattr(tty, TCSANOW, &tio); - - s->stream.string_data = false; - s->stream.notify_read = poe_stream_msg_cb; - s->stream.notify_state = poe_stream_notify_cb; - - ustream_fd_init(s, tty); - tcflush(tty, TCIFLUSH); - - return 0; -} - -static int -poe_port_setup(void) -{ - int i; - - for (i = 0; i < config.port_count; i++) { - if (!config.ports[i].enable) { - poe_cmd_port_enable(i, 0); - continue; - } - - poe_set_port_priority(i, config.ports[i].priority); - poe_set_port_power_up_mode(i, config.ports[i].power_up_mode); - if (config.ports[i].power_budget) { - poe_cmd_port_power_budget(i, config.ports[i].power_budget); - poe_cmd_port_power_limit_type(i, 2); - } else { - poe_cmd_port_power_limit_type(i, 1); - } - poe_cmd_port_disconnect_type(i, 2); - poe_cmd_port_classification(i, 1); - poe_cmd_port_detection_type(i, 3); - poe_cmd_port_enable(i, 1); - } - - return 0; -} - -static int -poe_initial_setup(void) -{ - poe_cmd_status(); - poe_cmd_power_mgmt_mode(2); - poe_cmd_global_power_budget(0, 0); - poe_cmd_global_port_enable(0); - poe_cmd_global_power_budget(config.budget, config.budget_guard); - - poe_port_setup(); - - return 0; -} - -static void -state_timeout_cb(struct uloop_timeout *t) -{ - int i; - - poe_cmd_power_stats(); - poe_cmd_port_overview(); - - for (i = 0; i < config.port_count; i++) { - poe_cmd_port_ext_config(i); - poe_cmd_port_power_stats(i); - } - - uloop_timeout_set(&state_timeout, 2 * 1000); -} - -static int -ubus_poe_info_cb(struct ubus_context *ctx, struct ubus_object *obj, - struct ubus_request_data *req, const char *method, - struct blob_attr *msg) -{ - char tmp[16]; - void *c; - int i; - - blob_buf_init(&b, 0); - - snprintf(tmp, sizeof(tmp), "v%u.%u.%u.%u", - state.sys_version >> 4, state.sys_version & 0xf, - state.sys_ext_version >> 4, state.sys_ext_version & 0xf); - blobmsg_add_string(&b, "firmware", tmp); - if (state.sys_mcu) - blobmsg_add_string(&b, "mcu", state.sys_mcu); - blobmsg_add_double(&b, "budget", config.budget); - blobmsg_add_double(&b, "consumption", state.power_consumption); - - c = blobmsg_open_table(&b, "ports"); - for (i = 0; i < config.port_count; i++) { - void *p; - - if (!config.ports[i].enable) - continue; - - p = blobmsg_open_table(&b, config.ports[i].name); - - blobmsg_add_u32(&b, "priority", config.ports[i].priority); - - if (state.ports[i].poe_mode) - blobmsg_add_string(&b, "mode", state.ports[i].poe_mode); - if (state.ports[i].status) - blobmsg_add_string(&b, "status", state.ports[i].status); - else - blobmsg_add_string(&b, "status", "unknown"); - if (state.ports[i].watt) - blobmsg_add_double(&b, "consumption", state.ports[i].watt); - - blobmsg_close_table(&b, p); - } - blobmsg_close_table(&b, c); - - ubus_send_reply(ctx, req, b.head); - - return UBUS_STATUS_OK; -} - -static int -ubus_poe_reload_cb(struct ubus_context *ctx, struct ubus_object *obj, - struct ubus_request_data *req, const char *method, - struct blob_attr *msg) -{ - config_load(0); - poe_port_setup(); - - return UBUS_STATUS_OK; -} - -static const struct ubus_method ubus_poe_methods[] = { - UBUS_METHOD_NOARG("info", ubus_poe_info_cb), - UBUS_METHOD_NOARG("reload", ubus_poe_reload_cb), -}; - -static struct ubus_object_type ubus_poe_object_type = - UBUS_OBJECT_TYPE("poe", ubus_poe_methods); - -static struct ubus_object ubus_poe_object = { - .name = "poe", - .type = &ubus_poe_object_type, - .methods = ubus_poe_methods, - .n_methods = ARRAY_SIZE(ubus_poe_methods), -}; - -static void -ubus_connect_handler(struct ubus_context *ctx) -{ - int ret; - - ret = ubus_add_object(ctx, &ubus_poe_object); - if (ret) - fprintf(stderr, "Failed to add object: %s\n", ubus_strerror(ret)); -} - -int -main(int argc, char ** argv) -{ - int ch; - - ulog_open(ULOG_STDIO | ULOG_SYSLOG, LOG_DAEMON, "realtek-poe"); - ulog_threshold(LOG_INFO); - - while ((ch = getopt(argc, argv, "d")) != -1) { - switch (ch) { - case 'd': - config.debug = 1; - break; - } - } - - config_load(1); - - uloop_init(); - conn.cb = ubus_connect_handler; - ubus_auto_connect(&conn); - - if (poe_stream_open("/dev/ttyS1", &stream, B19200) < 0) - return -1; - - poe_initial_setup(); - state_timeout.cb = state_timeout_cb; - uloop_timeout_set(&state_timeout, 1000); - uloop_run(); - uloop_done(); - - return 0; -} diff --git a/feeds/realtek/rtl83xx-poe/Makefile b/feeds/realtek/rtl83xx-poe/Makefile deleted file mode 100644 index 195b1eb20..000000000 --- a/feeds/realtek/rtl83xx-poe/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=rtl83xx-poe -PKG_RELEASE:=2 - -PKG_LICENSE:=GPL-2.0+ - -include $(INCLUDE_DIR)/package.mk - -define Package/rtl83xx-poe - SECTION:=utils - CATEGORY:=Utilities - DEPENDS:=+libubox-lua +libubus-lua +libuci-lua +lua-rs232 - TITLE:=PoE daemon for realtek switches -endef - -define Package/rtl83xx-poe/description - This package contains an utility to allow triggering the PoE state of realtek switch ports. -endef - -define Build/Compile - -endef - -define Package/rtl83xx-poe/install - $(CP) ./files/* $(1)/ -endef - -$(eval $(call BuildPackage,rtl83xx-poe)) diff --git a/feeds/realtek/rtl83xx-poe/files/bin/poe.lua b/feeds/realtek/rtl83xx-poe/files/bin/poe.lua deleted file mode 100755 index 86dafe13c..000000000 --- a/feeds/realtek/rtl83xx-poe/files/bin/poe.lua +++ /dev/null @@ -1,316 +0,0 @@ -#!/usr/bin/lua -local rs = require "luars232" - -port_name = "/dev/ttyS1" -out = io.stderr -nseq = 0 - -budget = 65.0 -port_power = {0, 0, 0, 0, 0, 0, 0, 0 } - -if arg[1] ~= nil then - budget = tonumber(arg[1]) -end -for i = 1, 8 do - port_power[i] = arg[i + 1] -end - -function initSerial(p) - local e, p = rs.open(p) - if e ~= rs.RS232_ERR_NOERROR then - -- handle error - out:write(string.format("can't open serial port '%s', error: '%s'\n", - port_name, rs.error_tostring(e))) - return - end - - assert(p:set_baud_rate(rs.RS232_BAUD_19200) == rs.RS232_ERR_NOERROR) - assert(p:set_data_bits(rs.RS232_DATA_8) == rs.RS232_ERR_NOERROR) - assert(p:set_parity(rs.RS232_PARITY_NONE) == rs.RS232_ERR_NOERROR) - assert(p:set_stop_bits(rs.RS232_STOP_1) == rs.RS232_ERR_NOERROR) - assert(p:set_flow_control(rs.RS232_FLOW_OFF) == rs.RS232_ERR_NOERROR) - - out:write(string.format("OK, port open with values '%s'\n", tostring(p))) - - return p -end - -function receive(pCon) - local reply = {} - local retries = 0 - - while table.getn(reply) < 12 and retries < 4 do - -- Read up to 12 byte response, timeout 400ms - err, data_read, size = pCon:read(12, 400) - assert(err == rs.RS232_ERR_NOERROR) --- io.write(string.format("-> [%2d]:", string.len(data_read))) - for i = 1, string.len(data_read) do - table.insert(reply, string.byte(string.sub(data_read, i, i))) --- io.write(string.format(" %02x", reply[i])) - end --- io.write("\n") - retries = retries + 1 - end - if table.getn(reply) ~= 12 then - print ("Unexpected length!") - return(nil) - end - local sum = 0 - for i = 1, 11 do - sum = sum + reply[i] - end - if sum % 256 ~= reply[12] then - print ("Checksum error!") - return(nil) - end - return(reply) -end - -function sendCommand(pCon, cmd) - nseq = nseq + 1 - cmd[2] = nseq % 256 - - while table.getn(cmd) < 11 do - table.insert(cmd, 0xff) - end - local c_string = "" - local sum = 0 --- io.write("send ") - for i = 1, 11 do - sum = sum + cmd[i] --- io.write(string.format(" %02x", cmd[i])) - c_string = c_string .. string.char(cmd[i]) - end --- io.write(string.format(" %02x\n", sum % 256)) - c_string = c_string .. string.char(sum % 256) - err, len_written = pCon:write(c_string) - assert(err == rs.RS232_ERR_NOERROR) - - local reply = receive(pCon) - if reply then --- io.write("recv ") --- dumpReply(reply) - if (reply[1] == cmd[1] and reply[2] == cmd[2]) then - return(reply) - else - if reply[1] == 0xfd then - print ("An incomplete request was received!") - elseif reply[1] == 0xfe then - print ("Request frame checksum was incorrect!") - elseif reply[1] == 0xff then - print ("Controller was not ready to respond !") - else - print ("Sequence number mismatch!") - end - end - else - print ("Missing reply!") - end - return(nil) -end - -function dumpReply(reply) - for i,v in ipairs(reply) do - io.write(string.format(" %02x", v)) - end - io.write("\n"); -end - -function getStatus(pCon) - local cmd = {0x20, 0x01} - local reply = sendCommand(pCon, cmd) - if not reply then return(nil) end - -- returns status, PoEExtVersion, PoEVersion, state2 - return({reply[5], reply[6], reply[7], reply[10]}) -end - -function disablePort(pCon, port) - local cmd = {0x00, port, port, 0x00} - -- disable command is always sent twice - sendCommand(pCon, cmd) - sendCommand(pCon, cmd) -end - -function enablePort(pCon, port) - local cmd = {0x00, port, port, 0x01} - sendCommand(pCon, cmd) -end - -function setPortRelPrio(pCon, port, prio) - local cmd = {0x1d, 0x00, port, prio} - sendCommand(pCon, cmd) -end - -function setGlobalPowerBudget(pCon, maxPower, guard) - -- maxPower and guard Watts - local cmd = {0x18, 0x01, 0x00} - table.insert(cmd, math.floor(maxPower * 10 / 256)) - table.insert(cmd, math.floor(maxPower * 10) % 256) - table.insert(cmd, math.floor(guard * 10 / 256)) - table.insert(cmd, math.floor(guard * 10) % 256) - sendCommand(pCon, cmd) -end - -function setPowerLowAction(pCon, disableNext) - local cmd = {0x17, 0x00} - if disableNext then - table.insert(cmd, 0x04) - else - table.insert(cmd, 0x02) - end - sendCommand(pCon, cmd) -end - -function getPowerStat(pCon) - local cmd = {0x23, 0x01} - local reply = sendCommand(pCon, cmd) - if not reply then return(nil) end - local watts = (reply[3] * 256 + reply[4]) / 10.0 - return watts -end - -function getPortPower(pCon, port) - local cmd = {0x30, 0x01, port} - local reply = sendCommand(pCon, cmd) - if not reply then return(nil) end - local watts = (reply[10] * 256 + reply[11]) / 10.0 - local mamps = reply[6] * 256 + reply[7] - return({watts, mamps}) -end - -function getPortOverview(pCon) - local cmd = {0x2a, 0x01, 0x00} - local reply = sendCommand(pCon, cmd) - if not reply then return(nil) end - local s = { } - for i = 4, 11 do - if reply[i] == 0x10 then - s[i-3] = "off" - elseif reply[i] == 0x11 then - s[i-3] = "enabled" - elseif reply[i] > 0x11 then - s[i-3] = "active" - else - s[i-3] = "unknown" - end - end - return(s) -end - --- Priority for power: 3: High, 2: Normal, 1: Low? -function setPortPriority(pCon, port, prio) - local cmd = {0x1a, port, port, prio} - local reply = sendCommand(pCon, cmd) - if not reply then return(nil) end - return(unpack(reply, 4, 11)) -end - -function getPortPowerLimits(pCon, port) - local cmd = {0x26, 0x01, port} - local reply = sendCommand(pCon, cmd) - if not reply then return(nil) end - return(reply) -end - -function startupPoE(pCon) - local reply = nil - reply = getStatus(pCon) - - setGlobalPowerBudget(pCon, 0, 0) - setPowerLowAction(pCon, nil) - -- do something unknown - sendCommand(pCon, {0x06, 0x00, 0x01}) - for i = 0, 7 do - if port_power[i + 1] ~= "1" then - disablePort(pCon, i) - end - end - -- do something unknown - sendCommand(pCon, {0x02, 0x00, 0x01}) - - for i = 0, 7 do - if port_power[i + 1] ~= "1" then - disablePort(pCon, i) - end - end - -- do something unknown - sendCommand(pCon, {0x02, 0x00, 0x01}) - - -- use monitor command 25 - sendCommand(pCon, {0x25, 0x01}) - - setGlobalPowerBudget(pCon, 65.0, 7.0) - getPowerStat(pCon) - -- -> 23 01 00 00 02 44 00 02 ff ff 00 6a - - -- Set 4 unknown port properties: - for i = 0, 7 do - sendCommand(pCon, {0x11, i, i, 0x01}) - sendCommand(pCon, {0x13, i, i, 0x02}) - sendCommand(pCon, {0x15, i, i, 0x01}) - sendCommand(pCon, {0x10, i, i, 0x03}) - end - for i = 0, 7 do - if port_power[i + 1] == "1" then - enablePort(pCon, i) - end - end - -end - -local p = initSerial(port_name) -startupPoE(p) - -require "ubus" -require "uloop" - -uloop.init() - -local conn = ubus.connect() -if not conn then - error("Failed to connect to ubus") -end - -local my_method = { - poe = { - info = { - function(req, msg) - local reply = {} - - reply.power_consumption = tostring(getPowerStat(p)).."W" - reply.power_budget = tostring(budget).."W" - - reply.ports = {} - local s = getPortOverview(p) - for i = 1, 8 do - if s[i] == "active" then - local r = getPortPower(p, i - 1) - reply.ports[i] = tostring(r[1]).."W" - else - reply.ports[i] = s[i] - end - end - conn:reply(req, reply); - end, {} - }, - port = { - function(req, msg) - local reply = {} - if msg.port < 1 or msg.port > 8 then - conn:reply(req, false); - return -1 - end - if msg.enable == true then - enablePort(p, msg.port - 1) - else - disablePort(p, msg.port - 1) - end - conn:reply(req, reply); - end, {port = ubus.INT32, enable = ubus.BOOLEAN } - }, - }, -} - -conn:add(my_method) - -uloop.run() diff --git a/feeds/realtek/rtl83xx-poe/files/etc/config/poe b/feeds/realtek/rtl83xx-poe/files/etc/config/poe deleted file mode 100644 index 4fc9723c8..000000000 --- a/feeds/realtek/rtl83xx-poe/files/etc/config/poe +++ /dev/null @@ -1,10 +0,0 @@ -config poe poe - option budget 65 - option port1 0 - option port2 0 - option port3 0 - option port4 0 - option port5 0 - option port6 0 - option port7 0 - option port8 0 diff --git a/feeds/realtek/rtl83xx-poe/files/etc/init.d/poe b/feeds/realtek/rtl83xx-poe/files/etc/init.d/poe deleted file mode 100755 index aa2b905f4..000000000 --- a/feeds/realtek/rtl83xx-poe/files/etc/init.d/poe +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh /etc/rc.common -START=40 - -USE_PROCD=1 -PROG=/bin/poe.lua - -service_triggers() { - procd_add_reload_trigger poe -} - -start_service() { - [ "$(uci get poe.poe.enable)" -eq 1 ] || return 0 - - local budget=$(uci get poe.poe.budget) - - procd_open_instance - procd_set_param command "$PROG" - procd_append_param command ${budget:-65} - for p in `seq 1 8`; do - local pwr=$(uci get poe.poe.port$p) - procd_append_param command ${pwr:-0} - done - procd_close_instance -} diff --git a/feeds/realtek/rtl83xx-poe/files/etc/uci-defaults/30-poe b/feeds/realtek/rtl83xx-poe/files/etc/uci-defaults/30-poe deleted file mode 100644 index 131d28ae7..000000000 --- a/feeds/realtek/rtl83xx-poe/files/etc/uci-defaults/30-poe +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh - -board=$(board_name) - -budget=0 -case "$board" in -d-link,dgs-1210-10p) - budget=65 - ;; -netgear,gs110tpp-v1|\ -zyxel,gs1900-10hp) - budget=130 - ;; -*) - exit 0 - ;; -esac -uci set poe.poe.enable=1 -uci set poe.poe.budget=$budget diff --git a/feeds/rtkmipsel/mac80211/Makefile b/feeds/rtkmipsel/mac80211/Makefile deleted file mode 100644 index 8850db55c..000000000 --- a/feeds/rtkmipsel/mac80211/Makefile +++ /dev/null @@ -1,1878 +0,0 @@ -# -# Copyright (C) 2007-2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=mac80211 - -PKG_VERSION:=2016-01-10 -PKG_RELEASE:=1 -PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources -PKG_BACKPORT_VERSION:= -PKG_MD5SUM:=be5fae2e8d6f7490f9b073374fb895ba - -PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2 -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION) -PKG_BUILD_PARALLEL:=1 - -PKG_MAINTAINER:=Felix Fietkau - -PKG_DRIVERS = \ - adm8211 \ - ath ath5k ath9k ath9k-common ath9k-htc ath10k \ - b43 b43legacy \ - carl9170 \ - hermes hermes-pci hermes-pcmcia hermes-plx\ - iwl-legacy iwl3945 iwl4965 iwlwifi \ - lib80211 \ - libipw ipw2100 ipw2200 \ - libertas-sdio libertas-usb libertas-spi \ - mac80211-hwsim \ - mt7601u \ - mwl8k mwifiex-pcie \ - p54-common p54-pci p54-spi p54-usb \ - rt2x00-lib rt2x00-pci rt2x00-usb \ - rt2400-pci rt2500-pci rt2500-usb \ - rt2800-lib rt2800-mmio rt2800-pci rt2800-soc rt2800-usb \ - rt61-pci rt73-usb \ - rtl8180 rtl8187 \ - rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \ - rtl8192de rtl8192cu rtl8192cd \ - rtl8xxxu \ - wlcore wl12xx wl18xx \ - zd1211rw - -PKG_CONFIG_DEPENDS:= \ - CONFIG_PACKAGE_kmod-mac80211 \ - $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \ - CONFIG_PACKAGE_MAC80211_DEBUGFS \ - CONFIG_PACKAGE_MAC80211_MESH \ - CONFIG_PACKAGE_ATH_DEBUG \ - CONFIG_PACKAGE_ATH_DFS \ - CONFIG_PACKAGE_B43_DEBUG \ - CONFIG_PACKAGE_B43_PIO \ - CONFIG_PACKAGE_B43_PHY_G \ - CONFIG_PACKAGE_B43_PHY_N \ - CONFIG_PACKAGE_B43_PHY_LP \ - CONFIG_PACKAGE_B43_PHY_HT \ - CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \ - CONFIG_PACKAGE_B43_BUSES_BCMA \ - CONFIG_PACKAGE_B43_BUSES_SSB \ - CONFIG_PACKAGE_RTLWIFI_DEBUG \ - CONFIG_ATH_USER_REGD \ - -include $(INCLUDE_DIR)/package.mk - -WMENU:=Wireless Drivers - -define KernelPackage/mac80211/Default - SUBMENU:=$(WMENU) - URL:=https://wireless.wiki.kernel.org/ - MAINTAINER:=Felix Fietkau -endef - -define KernelPackage/cfg80211 - $(call KernelPackage/mac80211/Default) - TITLE:=cfg80211 - wireless configuration API - DEPENDS+= +iw - FILES:= \ - $(PKG_BUILD_DIR)/compat/compat.ko \ - $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko -endef - -define KernelPackage/cfg80211/description -cfg80211 is the Linux wireless LAN (802.11) configuration API. -endef - -define KernelPackage/mac80211 - $(call KernelPackage/mac80211/Default) - TITLE:=Linux 802.11 Wireless Networking Stack - DEPENDS+= +kmod-cfg80211 +hostapd-common +kmod-crypto-core +kmod-crypto-arc4 - KCONFIG:=\ - CONFIG_AVERAGE=y - FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko - MENU:=1 -endef - -define KernelPackage/mac80211/config - if PACKAGE_kmod-mac80211 - - config PACKAGE_MAC80211_DEBUGFS - bool "Export mac80211 internals in DebugFS" - select KERNEL_DEBUG_FS - default y - help - Select this to see extensive information about - the internal state of mac80211 in debugfs. - - config PACKAGE_MAC80211_TRACING - bool "Enable tracing (mac80211 and supported drivers)" - select KERNEL_FTRACE - select KERNEL_ENABLE_DEFAULT_TRACERS - default n - help - Select this to enable tracing of mac80211 and - related wifi drivers (using trace-cmd). - - config PACKAGE_MAC80211_MESH - bool "Enable 802.11s mesh support" - default y - - endif -endef - -define KernelPackage/mac80211/description -Generic IEEE 802.11 Networking Stack (mac80211) -endef - -define KernelPackage/adm8211 - $(call KernelPackage/mac80211/Default) - TITLE:=ADMTek 8211 support - DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6 - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko - AUTOLOAD:=$(call AutoProbe,adm8211) -endef - -define KernelPackage/ath/config - if PACKAGE_kmod-ath - config ATH_USER_REGD - bool "Force Atheros drivers to respect the user's regdomain settings" - help - Atheros' idea of regulatory handling is that the EEPROM of the card defines - the regulatory limits and the user is only allowed to restrict the settings - even further, even if the country allows frequencies or power levels that - are forbidden by the EEPROM settings. - - Select this option if you want the driver to respect the user's decision about - regulatory settings. - - config PACKAGE_ATH_DEBUG - bool "Atheros wireless debugging" - help - Say Y, if you want to debug atheros wireless drivers. - Only ath9k & ath10k make use of this. - - config PACKAGE_ATH_DFS - bool "Enable DFS support" - default y - help - Dynamic frequency selection (DFS) is required for most of the 5 GHz band - channels in Europe, US, and Japan. - - Select this option if you want to use such channels. - - endif -endef - -define KernelPackage/ath - $(call KernelPackage/mac80211/Default) - TITLE:=Atheros common driver part - DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath25 +kmod-mac80211 - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko - MENU:=1 -endef - -define KernelPackage/ath/description - This module contains some common parts needed by Atheros Wireless drivers. -endef - -define KernelPackage/ath5k - $(call KernelPackage/mac80211/Default) - TITLE:=Atheros 5xxx wireless cards support - URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k - DEPENDS+= @PCI_SUPPORT||@TARGET_ath25 +kmod-ath - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko - AUTOLOAD:=$(call AutoProbe,ath5k) -endef - -define KernelPackage/ath5k/description - This module adds support for wireless adapters based on - Atheros 5xxx chipset. -endef - -define KernelPackage/ath9k-common - $(call KernelPackage/mac80211/Default) - TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc) - URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k - DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko -endef - -define KernelPackage/ath9k - $(call KernelPackage/mac80211/Default) - TITLE:=Atheros 802.11n PCI wireless cards support - URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k - DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko - AUTOLOAD:=$(call AutoProbe,ath9k) -endef - -define KernelPackage/ath9k/description -This module adds support for wireless adapters based on -Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets. -endef - -define KernelPackage/ath9k/config - - config ATH9K_SUPPORT_PCOEM - bool "Support chips used in PC OEM cards" - depends on PACKAGE_kmod-ath9k - -endef - -define KernelPackage/ath9k-htc - $(call KernelPackage/mac80211/Default) - TITLE:=Atheros 802.11n USB device support - URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k - DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko - AUTOLOAD:=$(call AutoProbe,ath9k_htc) -endef - -define KernelPackage/ath9k-htc/description -This module adds support for wireless adapters based on -Atheros USB AR9271 and AR7010 family of chipsets. -endef - -define KernelPackage/ath10k - $(call KernelPackage/mac80211/Default) - TITLE:=Atheros 802.11ac wireless cards support - URL:=https://wireless.wiki.kernel.org/en/users/Drivers/ath10k - DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY +ath10k-firmware-qca988x - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko - AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci) -endef - -define KernelPackage/ath10k/description -This module adds support for wireless adapters based on -Atheros IEEE 802.11ac family of chipsets. For now only -PCI is supported. -endef - -define KernelPackage/rtl8192cd - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek 8192cd wireless module support - DEPENDS+= @(TARGET_realtek||TARGET_rtkmips||TARGET_rtkmipsel) +kmod-mac80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT \ - +PACKAGE_kmod-rtl819x_8211F:kmod-rtl819x_8211F +PACKAGE_kmod-rtl819x_83XX:kmod-rtl819x_83XX - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/rtl8192cd.ko - AUTOLOAD:=$(call AutoProbe,rtl8192cd) -endef - -define KernelPackage/rtl8192cd/description - This module adds support for Realtek rtl8192cd wireless adapters -endef - -#Broadcom firmware -ifneq ($(CONFIG_B43_FW_6_30),) - PKG_B43_FWV4_NAME:=broadcom-wl - PKG_B43_FWV4_VERSION:=6.30.163.46 - PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o - PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2 - PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/ - PKG_B43_FWV4_MD5SUM:=6fe97e9368d25342a1ab943d3cf3496d -else -ifneq ($(CONFIG_B43_FW_5_10),) - PKG_B43_FWV4_NAME:=broadcom-wl - PKG_B43_FWV4_VERSION:=5.10.56.27.3 - PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o - PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2 - PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/ - PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac -else -ifneq ($(CONFIG_B43_FW_4_178),) - PKG_B43_FWV4_NAME:=broadcom-wl - PKG_B43_FWV4_VERSION:=4.178.10.4 - PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o - PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2 - PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/ - PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb -else -ifneq ($(CONFIG_B43_FW_5_100_138),) - PKG_B43_FWV4_NAME:=broadcom-wl - PKG_B43_FWV4_VERSION:=5.100.138 - PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o - PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2 - PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/ - PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555 -else - PKG_B43_FWV4_NAME:=broadcom-wl - PKG_B43_FWV4_VERSION:=4.150.10.5 - PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o - PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2 - PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/ - PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60 -endif -endif -endif -endif -ifneq ($(CONFIG_B43_OPENFIRMWARE),) - PKG_B43_FWV4_NAME:=broadcom-wl - PKG_B43_FWV4_VERSION:=5.2 - PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION) - PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz - PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/ - PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa -endif - - -define Download/b43 - FILE:=$(PKG_B43_FWV4_SOURCE) - URL:=$(PKG_B43_FWV4_SOURCE_URL) - MD5SUM:=$(PKG_B43_FWV4_MD5SUM) -endef -$(eval $(call Download,b43)) - -define KernelPackage/b43 - $(call KernelPackage/mac80211/Default) - TITLE:=Broadcom 43xx wireless support - URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43 - KCONFIG:= \ - CONFIG_HW_RANDOM=y - # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb - DEPENDS += \ - @PCI_SUPPORT +kmod-mac80211 \ - $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \ - $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko - AUTOLOAD:=$(call AutoProbe,b43) - MENU:=1 -endef - -define KernelPackage/b43/config - -config PACKAGE_B43_USE_SSB - select PACKAGE_kmod-ssb - tristate - depends on !TARGET_brcm47xx && !TARGET_brcm63xx - default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB - default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB - -config PACKAGE_B43_USE_BCMA - select PACKAGE_kmod-bcma - tristate - depends on !TARGET_brcm47xx && !TARGET_bcm53xx - default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB - default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA - - if PACKAGE_kmod-b43 - - choice - prompt "b43 firmware version" - default B43_FW_5_100_138 - help - This option allows you to select the version of the b43 firmware. - - config B43_FW_4_150 - bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)" - help - Old stable firmware for BCM43xx devices. - - If unsure, select this. - - config B43_FW_4_178 - bool "Firmware 478.104 from driver 4.178.10.4" - help - Older firmware for BCM43xx devices. - - If unsure, select the "stable" firmware. - - config B43_FW_5_10 - bool "Firmware 508.1084 from driver 5.10.56.27" - help - Older firmware for BCM43xx devices. - - If unsure, select the "stable" firmware. - - config B43_FW_5_100_138 - bool "Firmware 666.2 from driver 5.100.138 (stable)" - help - The currently default firmware for BCM43xx devices. - - This firmware currently gets most of the testing and is needed for some N-PHY devices. - - If unsure, select the this firmware. - - config B43_FW_6_30 - bool "Firmware 784.2 from driver 6.30.163.46 (experimental)" - help - Newer experimental firmware for BCM43xx devices. - - This firmware is mostly untested. - - If unsure, select the "stable" firmware. - - config B43_OPENFIRMWARE - bool "Open FirmWare for WiFi networks" - help - Opensource firmware for BCM43xx devices. - - Do _not_ select this, unless you know what you are doing. - The Opensource firmware is not suitable for embedded devices, yet. - It does not support QoS, which is bad for AccessPoints. - It does not support hardware crypto acceleration, which is a showstopper - for embedded devices with low CPU resources. - - If unsure, select the "stable" firmware. - - endchoice - - config B43_FW_SQUASH - bool "Remove unnecessary firmware files" - depends on !B43_OPENFIRMWARE - default y - help - This options allows you to remove unnecessary b43 firmware files - from the final rootfs image. This can reduce the rootfs size by - up to 200k. - - If unsure, say Y. - - config B43_FW_SQUASH_COREREVS - string "Core revisions to include" - depends on B43_FW_SQUASH - default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy - default "16,28,29,30" if TARGET_brcm47xx_mips74k - default "5,6,7,8,9,10,11,13,15,16,28,29,30" - help - This is a comma seperated list of core revision numbers. - - Example (keep files for rev5 only): - 5 - - Example (keep files for rev5 and rev11): - 5,11 - - config B43_FW_SQUASH_PHYTYPES - string "PHY types to include" - depends on B43_FW_SQUASH - default "G,N,LP" if TARGET_brcm47xx_legacy - default "N,HT" if TARGET_brcm47xx_mips74k - default "G,N,LP,HT" - help - This is a comma seperated list of PHY types: - A => A-PHY - AG => Dual A-PHY G-PHY - G => G-PHY - LP => LP-PHY - N => N-PHY - HT => HT-PHY - LCN => LCN-PHY - LCN40 => LCN40-PHY - AC => AC-PHY - - Example (keep files for G-PHY only): - G - - Example (keep files for G-PHY and N-PHY): - G,N - - choice - prompt "Supported buses" - default PACKAGE_B43_BUSES_BCMA_AND_SSB - help - This allows choosing buses that b43 should support. - - config PACKAGE_B43_BUSES_BCMA_AND_SSB - depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx - bool "BCMA and SSB" - - config PACKAGE_B43_BUSES_BCMA - depends on !TARGET_brcm47xx_legacy - bool "BCMA only" - - config PACKAGE_B43_BUSES_SSB - depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx - bool "SSB only" - - endchoice - - config PACKAGE_B43_DEBUG - bool "Enable debug output and debugfs for b43" - default n - help - Enable additional debug output and runtime sanity checks for b43 - and enables the debugfs interface. - - If unsure, say N. - - config PACKAGE_B43_PIO - bool "Enable support for PIO transfer mode" - default n - help - Enable support for using PIO instead of DMA. Unless you have DMA - transfer problems you don't need this. - - If unsure, say N. - - config PACKAGE_B43_PHY_G - bool "Enable support for G-PHYs" - default n if TARGET_brcm47xx_mips74k - default y - help - Enable support for G-PHY. This includes support for the following devices: - PCI: BCM4306, BCM4311, BCM4318 - SoC: BCM5352E, BCM4712 - - If unsure, say Y. - - config PACKAGE_B43_PHY_N - bool "Enable support for N-PHYs" - default y - help - Enable support for N-PHY. This includes support for the following devices: - PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225 - SoC: BCM4716, BCM4717, BCM4718 - - Currently only 11g speed is available. - - If unsure, say Y. - - config PACKAGE_B43_PHY_LP - bool "Enable support for LP-PHYs" - default n if TARGET_brcm47xx_mips74k - default y - help - Enable support for LP-PHY. This includes support for the following devices: - PCI: BCM4312 - SoC: BCM5354 - - If unsure, say Y. - - config PACKAGE_B43_PHY_HT - bool "Enable support for HT-PHYs" - default n if TARGET_brcm47xx_legacy - default y - help - Enable support for HT-PHY. This includes support for the following devices: - PCI: BCM4331 - - Currently only 11g speed is available. - - If unsure, say Y. - - config PACKAGE_B43_PHY_LCN - bool "Enable support for LCN-PHYs" - depends on BROKEN - default n - help - Currently broken. - - If unsure, say N. - - endif -endef - -define KernelPackage/b43/description -Kernel module for Broadcom 43xx wireless support (mac80211 stack) new -endef - -define KernelPackage/b43legacy - $(call KernelPackage/mac80211/Default) - TITLE:=Broadcom 43xx-legacy wireless support - URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43 - KCONFIG:= \ - CONFIG_HW_RANDOM=y - DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko - AUTOLOAD:=$(call AutoProbe,b43legacy) - MENU:=1 -endef - -define KernelPackage/b43legacy/description -Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new -endef - - -define KernelPackage/brcmutil - $(call KernelPackage/mac80211/Default) - TITLE:=Broadcom IEEE802.11n common driver parts - URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 - DEPENDS+=@PCI_SUPPORT||USB_SUPPORT - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko - AUTOLOAD:=$(call AutoProbe,brcmutil) - MENU:=1 -endef - -define KernelPackage/brcmutil/description - This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac. -endef - -define KernelPackage/brcmutil/config - if PACKAGE_kmod-brcmutil - - config PACKAGE_BRCM80211_DEBUG - bool "Broadcom wireless driver debugging" - help - Say Y, if you want to debug brcmsmac and brcmfmac wireless driver. - - endif -endef - -PKG_BRCMSMAC_FW_NAME:=broadcom-wl -PKG_BRCMSMAC_FW_VERSION:=5.100.138 -PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o -PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2 -PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/ -PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555 - -define Download/brcmsmac - FILE:=$(PKG_BRCMSMAC_FW_SOURCE) - URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL) - MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM) -endef -$(eval $(call Download,brcmsmac)) - -define KernelPackage/brcmsmac - $(call KernelPackage/mac80211/Default) - TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver - URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 - DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil +!BRCMSMAC_USE_FW_FROM_WL:brcmsmac-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko - AUTOLOAD:=$(call AutoProbe,brcmsmac) - MENU:=1 -endef - -define KernelPackage/brcmsmac/description - Kernel module for Broadcom IEEE802.11n PCIe Wireless cards -endef - -define KernelPackage/brcmsmac/config - if PACKAGE_kmod-brcmsmac - - config BRCMSMAC_USE_FW_FROM_WL - bool "Use firmware extracted from broadcom proprietary driver" - default y - help - Instead of using the official brcmsmac firmware a firmware - version 666.2 extracted from the proprietary Broadcom driver - is used. This is needed to get core rev 17 used in bcm4716 - to work. - - If unsure, say Y. - - endif -endef - - -define KernelPackage/brcmfmac - $(call KernelPackage/mac80211/Default) - TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver - URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 - DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil \ - +BRCMFMAC_PCIE:brcmfmac-firmware-pcie \ - +BRCMFMAC_SDIO:kmod-mmc +BRCMFMAC_SDIO:brcmfmac-firmware-sdio \ - +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko - AUTOLOAD:=$(call AutoProbe,brcmfmac) -endef - -define KernelPackage/brcmfmac/description - Kernel module for Broadcom IEEE802.11n USB Wireless cards -endef - -define KernelPackage/brcmfmac/config - if PACKAGE_kmod-brcmfmac - - config BRCMFMAC_SDIO - bool "Enable SDIO bus interface support" - default n - help - Enable support for cards attached to an SDIO bus. - Select this option only if you are sure that your - board has a Broadcom wireless chip atacched to - that bus. - - config BRCMFMAC_USB - bool "Enable USB bus interface support" - depends on USB_SUPPORT - default y - help - Supported USB connected chipsets: - BCM43235, BCM43236, BCM43238 (all in revision 3 only) - BCM43143, BCM43242, BCM43566, BCM43569 - - config BRCMFMAC_PCIE - bool "Enable PCIE bus interface support" - depends on PCI_SUPPORT - default y - help - Supported PCIe connected chipsets: - BCM4354, BCM4356, BCM43567, BCM43570, BCM43602 - - endif -endef - - -define KernelPackage/carl9170 - $(call KernelPackage/mac80211/Default) - TITLE:=Driver for Atheros AR9170 USB sticks - DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT +carl9170-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko - AUTOLOAD:=$(call AutoProbe,carl9170) -endef - - -define KernelPackage/hermes - $(call KernelPackage/mac80211/Default) - TITLE:=Hermes 802.11b chipset support - DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko - AUTOLOAD:=$(call AutoProbe,orinoco) -endef - -define KernelPackage/hermes/description - Kernel support for Hermes 802.11b chipsets -endef - -define KernelPackage/hermes-pci - $(call KernelPackage/mac80211/Default) - TITLE:=Intersil Prism 2.5 PCI support - DEPENDS:=@PCI_SUPPORT +kmod-hermes - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko - AUTOLOAD:=$(call AutoProbe,orinoco_pci) -endef - -define KernelPackage/hermes-pci/description - Kernel modules for Intersil Prism 2.5 PCI support -endef - -define KernelPackage/hermes-plx - $(call KernelPackage/mac80211/Default) - TITLE:=PLX9052 based PCI adaptor - DEPENDS:=@PCI_SUPPORT +kmod-hermes - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko - AUTOLOAD:=$(call AutoProbe,orinoco_plx) -endef - -define KernelPackage/hermes-plx/description - Kernel modules for Hermes in PLX9052 based PCI adaptors -endef - -define KernelPackage/hermes-pcmcia - $(call KernelPackage/mac80211/Default) - TITLE:=Hermes based PCMCIA adaptors - DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes @BROKEN - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko - AUTOLOAD:=$(call AutoProbe,orinoco_cs) -endef - -define KernelPackage/hermes-pcmcia/description - Kernel modules for Hermes based PCMCIA adaptors -endef - - -define KernelPackage/iwlwifi - $(call KernelPackage/mac80211/Default) - DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +iwlwifi-firmware - TITLE:=Intel AGN Wireless support - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko - AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm) - MENU:=1 -endef - -define KernelPackage/iwlwifi/description - iwlwifi kernel module for - Intel Wireless WiFi Link 6250AGN Adapter - Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) - Intel WiFi Link 1000BGN - Intel Wireless WiFi 5150AGN - Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN - Intel 6005 Series Wi-Fi Adapters - Intel 6030 Series Wi-Fi Adapters - Intel Wireless WiFi Link 6150BGN 2 Adapter - Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN) - Intel 2000 Series Wi-Fi Adapters - Intel 7260 Wi-Fi Adapter - Intel 3160 Wi-Fi Adapter - Intel 7265 Wi-Fi Adapter - Intel 8260 Wi-Fi Adapter - Intel 3165 Wi-Fi Adapter -endef - -define KernelPackage/iwlwifi/config - if PACKAGE_kmod-iwlwifi - - config PACKAGE_IWLWIFI_DEBUG - bool "Enable full debugging output in the iwlwifi driver" - default n - help - This option will enable debug tracing output for the iwlwifi drivers - - This will result in the kernel module being ~100k larger. You can - control which debug output is sent to the kernel log by setting the - value in - - /sys/module/iwlwifi/parameters/debug - - This entry will only exist if this option is enabled. - - To set a value, simply echo an 8-byte hex value to the same file: - - % echo 0x43fff > /sys/module/iwlwifi/parameters/debug - - You can find the list of debug mask values in: - drivers/net/wireless/intel/iwlwifi/iwl-debug.h - - If this is your first time using this driver, you should say Y here - as the debug information can assist others in helping you resolve - any problems you may encounter. - - config PACKAGE_IWLWIFI_DEBUGFS - bool "iwlwifi debugfs support" - depends on PACKAGE_MAC80211_DEBUGFS - default n - help - Enable creation of debugfs files for the iwlwifi drivers. This - is a low-impact option that allows getting insight into the - driver's state at runtime. - - endif -endef - -define KernelPackage/iwl-legacy - $(call KernelPackage/mac80211/Default) - DEPENDS:= +kmod-mac80211 @PCI_SUPPORT - TITLE:=Intel legacy Wireless support - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko - AUTOLOAD:=$(call AutoProbe,iwlegacy) -endef - -define KernelPackage/iwl-legacy/description - iwl-legacy kernel module for legacy Intel wireless support -endef - -define KernelPackage/iwl3945 - $(call KernelPackage/mac80211/Default) - DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware - TITLE:=Intel iwl3945 Wireless support - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko - AUTOLOAD:=$(call AutoProbe,iwl3945) -endef - -define KernelPackage/iwl3945/description - iwl3945 kernel module for Intel 3945 support -endef - -define KernelPackage/iwl4965 - $(call KernelPackage/mac80211/Default) - DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware - TITLE:=Intel iwl4965 Wireless support - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko - AUTOLOAD:=$(call AutoProbe,iwl4965) -endef - -define KernelPackage/iwl4965/description - iwl4965 kernel module for Intel 4965 support -endef - - -define KernelPackage/lib80211 - $(call KernelPackage/mac80211/Default) - TITLE:=802.11 Networking stack - DEPENDS:=+kmod-cfg80211 - FILES:= \ - $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \ - $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \ - $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \ - $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko - AUTOLOAD:=$(call AutoProbe, \ - lib80211 \ - lib80211_crypt_wep \ - lib80211_crypt_ccmp \ - lib80211_crypt_tkip \ - ) -endef - -define KernelPackage/lib80211/description - Kernel modules for 802.11 Networking stack - Includes: - - lib80211 - - lib80211_crypt_wep - - lib80211_crypt_tkip - - lib80211_crytp_ccmp -endef - - -define KernelPackage/libipw - $(call KernelPackage/mac80211/Default) - TITLE:=libipw for ipw2100 and ipw2200 - DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-crypto-core +kmod-crypto-arc4 +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko - AUTOLOAD:=$(call AutoProbe,libipw) -endef - -define KernelPackage/libipw/description - Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200. -endef - -IPW2100_NAME:=ipw2100-fw -IPW2100_VERSION:=1.3 - -define Download/ipw2100 - URL:=http://bughost.org/firmware/ - FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz - MD5SUM=46aa75bcda1a00efa841f9707bbbd113 -endef -$(eval $(call Download,ipw2100)) - -define KernelPackage/ipw2100 - $(call KernelPackage/mac80211/Default) - TITLE:=Intel IPW2100 driver - DEPENDS:=@PCI_SUPPORT +kmod-libipw - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko - AUTOLOAD:=$(call AutoProbe,ipw2100) -endef - -define KernelPackage/ipw2100/description - Kernel support for Intel IPW2100 - Includes: - - ipw2100 -endef - -IPW2200_NAME:=ipw2200-fw -IPW2200_VERSION:=3.1 - -define Download/ipw2200 - URL:=http://bughost.org/firmware/ - FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz - MD5SUM=eaba788643c7cc7483dd67ace70f6e99 -endef -$(eval $(call Download,ipw2200)) - -define KernelPackage/ipw2200 - $(call KernelPackage/mac80211/Default) - TITLE:=Intel IPW2200 driver - DEPENDS:=@PCI_SUPPORT +kmod-libipw - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko - AUTOLOAD:=$(call AutoProbe,ipw2200) -endef - -define KernelPackage/ipw2200/description - Kernel support for Intel IPW2200 - Includes: - - ipw2200 -endef - - -define KernelPackage/libertas-usb - $(call KernelPackage/mac80211/Default) - DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware - TITLE:=Marvell 88W8015 Wireless Driver - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko - AUTOLOAD:=$(call AutoProbe,libertas usb8xxx) -endef - -define KernelPackage/libertas-sdio - $(call KernelPackage/mac80211/Default) - DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware - TITLE:=Marvell 88W8686 Wireless Driver - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko - AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio) -endef - -define KernelPackage/libertas-spi - $(call KernelPackage/mac80211/Default) - SUBMENU:=Wireless Drivers - DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-spi-firmware - KCONFIG := \ - CONFIG_SPI=y \ - CONFIG_SPI_MASTER=y - TITLE:=Marvell 88W8686 SPI Wireless Driver - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko - AUTOLOAD:=$(call AutoProbe,libertas libertas_spi) -endef - -define KernelPackage/mac80211-hwsim - $(call KernelPackage/mac80211/Default) - TITLE:=mac80211 HW simulation device - DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko - AUTOLOAD:=$(call AutoProbe,mac80211_hwsim) -endef - - -define KernelPackage/mt7601u - $(call KernelPackage/mac80211/Default) - TITLE:=MT7601U-based USB dongles Wireless Driver - DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko - AUTOLOAD:=$(call AutoProbe,mt7601u) -endef - - -define KernelPackage/mwl8k - $(call KernelPackage/mac80211/Default) - TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards - URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k - DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko - AUTOLOAD:=$(call AutoProbe,mwl8k) -endef - -define KernelPackage/mwl8k/description - Kernel modules for Marvell TOPDOG 802.11 Wireless cards -endef - - -define KernelPackage/mwifiex-pcie - $(call KernelPackage/mac80211/Default) - TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards - URL:=http://wireless.kernel.org/en/users/Drivers/mwifiex - DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwifiex-pcie-firmware - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko - AUTOLOAD:=$(call AutoProbe,mwifiex_pcie) -endef - -define KernelPackage/mwifiex-pcie/description - Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards -endef - - -# Prism54 drivers -P54PCIFW:=2.13.12.0.arm -P54USBFW:=2.13.24.0.lm87.arm -P54SPIFW:=2.13.0.0.a.13.14.arm - -define Download/p54usb - FILE:=$(P54USBFW) - URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb - MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6 -endef -$(eval $(call Download,p54usb)) - -define Download/p54pci - FILE:=$(P54PCIFW) - URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac - MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4 -endef -$(eval $(call Download,p54pci)) - -define Download/p54spi - FILE:=$(P54SPIFW) - URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560 - MD5SUM:=42661f8ecbadd88012807493f596081d -endef -$(eval $(call Download,p54spi)) - -define KernelPackage/p54/Default - $(call KernelPackage/mac80211/Default) - TITLE:=Prism54 Drivers -endef - -define KernelPackage/p54/description - Kernel module for Prism54 chipsets (mac80211) -endef - -define KernelPackage/p54-common - $(call KernelPackage/p54/Default) - DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt - TITLE+= (COMMON) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko -endef - -define KernelPackage/p54-pci - $(call KernelPackage/p54/Default) - TITLE+= (PCI) - DEPENDS+= @PCI_SUPPORT +kmod-p54-common - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko - AUTOLOAD:=$(call AutoProbe,p54pci) -endef - -define KernelPackage/p54-usb - $(call KernelPackage/p54/Default) - TITLE+= (USB) - DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko - AUTOLOAD:=$(call AutoProbe,p54usb) -endef - -define KernelPackage/p54-spi - $(call KernelPackage/p54/Default) - TITLE+= (SPI) - DEPENDS+= @TARGET_omap24xx +kmod-p54-common - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko - AUTOLOAD:=$(call AutoProbe,p54spi) -endef - -define KernelPackage/rt2x00/Default - $(call KernelPackage/mac80211/Default) - TITLE:=Ralink Drivers for RT2x00 cards -endef - -define KernelPackage/rt2x00-lib -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t - TITLE+= (LIB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko - MENU:=1 -endef - -define KernelPackage/rt2x00-lib/config - if PACKAGE_kmod-rt2x00-lib - - config PACKAGE_RT2X00_LIB_DEBUGFS - bool "Enable rt2x00 debugfs support" - depends on PACKAGE_MAC80211_DEBUGFS - help - Enable creation of debugfs files for the rt2x00 drivers. - These debugfs files support both reading and writing of the - most important register types of the rt2x00 hardware. - - config PACKAGE_RT2X00_DEBUG - bool "Enable rt2x00 debug output" - help - Enable debugging output for all rt2x00 modules - - endif -endef - -define KernelPackage/rt2x00-mmio -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6 - HIDDEN:=1 - TITLE+= (MMIO) - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00mmio.ko -endef - -define KernelPackage/rt2x00-pci -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib - HIDDEN:=1 - TITLE+= (PCI) - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00pci.ko - AUTOLOAD:=$(call AutoProbe,rt2x00pci) -endef - -define KernelPackage/rt2x00-usb -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core - HIDDEN:=1 - TITLE+= (USB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko - AUTOLOAD:=$(call AutoProbe,rt2x00usb) -endef - -define KernelPackage/rt2800-lib -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT - HIDDEN:=1 - TITLE+= (rt2800 LIB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko -endef - -define KernelPackage/rt2400-pci -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci - TITLE+= (RT2400 PCI) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2400pci.ko - AUTOLOAD:=$(call AutoProbe,rt2400pci) -endef - -define KernelPackage/rt2500-pci -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci - TITLE+= (RT2500 PCI) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500pci.ko - AUTOLOAD:=$(call AutoProbe,rt2500pci) -endef - -define KernelPackage/rt2500-usb -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb - TITLE+= (RT2500 USB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500usb.ko - AUTOLOAD:=$(call AutoProbe,rt2500usb) -endef - -define KernelPackage/rt2800-mmio -$(call KernelPackage/rt2x00/Default) - TITLE += (RT28xx/RT3xxx MMIO) - DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio - HIDDEN:=1 - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800mmio.ko -endef - -define KernelPackage/rt2800-soc -$(call KernelPackage/rt2x00/Default) - DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib - TITLE += (RT28xx/RT3xxx SoC) - FILES := \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800soc.ko - AUTOLOAD:=$(call AutoProbe,rt2800soc) -endef - -define KernelPackage/rt2800-pci -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio +rt2800-pci-firmware - TITLE+= (RT2860 PCI) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800pci.ko - AUTOLOAD:=$(call AutoProbe,rt2800pci) -endef - -define KernelPackage/rt2800-usb -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt +rt2800-usb-firmware - TITLE+= (RT2870 USB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko - AUTOLOAD:=$(call AutoProbe,rt2800usb) -endef - - -define KernelPackage/rt61-pci -$(call KernelPackage/rt2x00/Default) - DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +rt61-pci-firmware - TITLE+= (RT2x61 PCI) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt61pci.ko - AUTOLOAD:=$(call AutoProbe,rt61pci) -endef - -define KernelPackage/rt73-usb - $(call KernelPackage/rt2x00/Default) - DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +rt73-usb-firmware - TITLE+= (RT73 USB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt73usb.ko - AUTOLOAD:=$(call AutoProbe,rt73usb) -endef - - -define KernelPackage/rtl818x/Default - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek Drivers for RTL818x devices - URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187 - DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211 -endef - -define KernelPackage/rtl8180 - $(call KernelPackage/rtl818x/Default) - DEPENDS+= @PCI_SUPPORT - TITLE+= (RTL8180 PCI) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko - AUTOLOAD:=$(call AutoProbe,rtl818x_pci) -endef - -define KernelPackage/rtl8187 -$(call KernelPackage/rtl818x/Default) - DEPENDS+= @USB_SUPPORT +kmod-usb-core - TITLE+= (RTL8187 USB) - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko - AUTOLOAD:=$(call AutoProbe,rtl8187) -endef - -define KernelPackage/rtlwifi/config - config PACKAGE_RTLWIFI_DEBUG - bool "Realtek wireless debugging" - depends on PACKAGE_kmod-rtlwifi - help - Say Y, if you want to debug realtek wireless drivers. - -endef - -define KernelPackage/rtlwifi - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek common driver part - DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko - HIDDEN:=1 -endef - -define KernelPackage/rtlwifi-pci - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek common driver part (PCI support) - DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko - AUTOLOAD:=$(call AutoProbe,rtl_pci) - HIDDEN:=1 -endef - -define KernelPackage/rtlwifi-usb - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek common driver part (USB support) - DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko - AUTOLOAD:=$(call AutoProbe,rtl_usb) - HIDDEN:=1 -endef - -define KernelPackage/rtl8192c-common - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek RTL8192CE/RTL8192CU common support module - DEPENDS+= +kmod-rtlwifi - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko - HIDDEN:=1 -endef - -define KernelPackage/rtl8192ce - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek RTL8192CE/RTL8188CE support - DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko - AUTOLOAD:=$(call AutoProbe,rtl8192ce) -endef - -define KernelPackage/rtl8192se - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek RTL8192SE/RTL8191SE support - DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko - AUTOLOAD:=$(call AutoProbe,rtl8192se) -endef - -define KernelPackage/rtl8192de - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek RTL8192DE/RTL8188DE support - DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko - AUTOLOAD:=$(call AutoProbe,rtl8192de) -endef - -define KernelPackage/rtl8192cu - $(call KernelPackage/mac80211/Default) - TITLE:=Realtek RTL8192CU/RTL8188CU support - DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko - AUTOLOAD:=$(call AutoProbe,rtl8192cu) -endef - - -define KernelPackage/rtl8xxxu - $(call KernelPackage/mac80211/Default) - TITLE:=alternative Realtek RTL8XXXU support - DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211 - FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko - AUTOLOAD:=$(call AutoProbe,rtl8xxxu) -endef - -define KernelPackage/rtl8xxxu/description - This is an alternative driver for various Realtek RTL8XXX - parts written to utilize the Linux mac80211 stack. - The driver is known to work with a number of RTL8723AU, - RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices - - This driver is under development and has a limited feature - set. In particular it does not yet support 40MHz channels - and power management. However it should have a smaller - memory footprint than the vendor drivers and benetifs - from the in kernel mac80211 stack. - - It can coexist with drivers from drivers/staging/rtl8723au, - drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi, - but you will need to control which module you wish to load. - - RTL8XXXU_UNTESTED is enabled - This option enables detection of Realtek 8723/8188/8191/8192 WiFi - USB devices which have not been tested directly by the driver - author or reported to be working by third parties. - - Please report your results! -endef - - -define KernelPackage/wlcore - $(call KernelPackage/mac80211/Default) - TITLE:=TI common driver part - DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT - FILES:= \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \ - $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko - AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio) -endef - -define KernelPackage/wlcore/description - This module contains some common parts needed by TI Wireless drivers. -endef - -define KernelPackage/wl12xx - $(call KernelPackage/mac80211/Default) - TITLE:=Driver for TI WL12xx - URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx - DEPENDS+= +kmod-wlcore +wl12xx-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko - AUTOLOAD:=$(call AutoProbe,wl12xx) -endef - -define KernelPackage/wl12xx/description - Kernel modules for TI WL12xx -endef - -define KernelPackage/wl18xx - $(call KernelPackage/mac80211/Default) - TITLE:=Driver for TI WL18xx - URL:=http://wireless.kernel.org/en/users/Drivers/wl18xx - DEPENDS+= +kmod-wlcore +wl18xx-firmware - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko - AUTOLOAD:=$(call AutoProbe,wl18xx) -endef - -define KernelPackage/wl18xx/description - Kernel modules for TI WL18xx -endef - - -ZD1211FW_NAME:=zd1211-firmware -ZD1211FW_VERSION:=1.4 -define Download/zd1211rw - FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2 - URL:=@SF/zd1211/ - MD5SUM:=19f28781d76569af8551c9d11294c870 -endef -$(eval $(call Download,zd1211rw)) - -define KernelPackage/zd1211rw - $(call KernelPackage/mac80211/Default) - TITLE:=Zydas ZD1211 support - DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211 - FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko - AUTOLOAD:=$(call AutoProbe,zd1211rw) -endef - - - -config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m) - -config-y:= \ - WLAN \ - NL80211_TESTMODE \ - CFG80211_WEXT \ - CFG80211_INTERNAL_REGDB \ - CFG80211_CERTIFICATION_ONUS \ - MAC80211_RC_MINSTREL \ - MAC80211_RC_MINSTREL_HT \ - MAC80211_RC_MINSTREL_VHT \ - MAC80211_RC_DEFAULT_MINSTREL \ - WLAN_VENDOR_ADMTEK \ - WLAN_VENDOR_ATH \ - WLAN_VENDOR_ATMEL \ - WLAN_VENDOR_BROADCOM \ - WLAN_VENDOR_INTEL \ - WLAN_VENDOR_INTERSIL \ - WLAN_VENDOR_MARVELL \ - WLAN_VENDOR_MEDIATEK \ - WLAN_VENDOR_RALINK \ - WLAN_VENDOR_REALTEK \ - WLAN_VENDOR_RSI \ - WLAN_VENDOR_ST \ - WLAN_VENDOR_TI \ - WLAN_VENDOR_ZYDAS \ - -config-$(call config_package,cfg80211) += CFG80211 - -config-$(call config_package,mac80211) += MAC80211 -config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH -ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS - config-y += \ - CFG80211_DEBUGFS \ - MAC80211_DEBUGFS \ - ATH9K_DEBUGFS \ - ATH9K_HTC_DEBUGFS \ - ATH10K_DEBUGFS \ - CARL9170_DEBUGFS \ - ATH5K_DEBUG -endif - -ifdef CONFIG_PACKAGE_MAC80211_TRACING - config-y += \ - ATH10K_TRACING \ - ATH6KL_TRACING \ - ATH_TRACEPOINTS \ - WIL6210_TRACING \ - ATH5K_TRACER \ - IWLWIFI_DEVICE_TRACING -endif - -config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP - -config-$(call config_package,ath) += ATH_CARDS ATH_COMMON -config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG -config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED - -config-$(call config_package,ath9k) += ATH9K -config-$(call config_package,ath9k-common) += ATH9K_COMMON -config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB -config-$(CONFIG_PCI) += ATH9K_PCI -config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD -config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM - -config-$(call config_package,ath9k-htc) += ATH9K_HTC -config-$(call config_package,ath10k) += ATH10K ATH10K_PCI - -config-$(call config_package,ath5k) += ATH5K -ifdef CONFIG_TARGET_ath25 - config-y += ATH5K_AHB -else - config-y += ATH5K_PCI -endif - -config-$(call config_package,carl9170) += CARL9170 - -config-$(call config_package,b43) += B43 -config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB -config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA -config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB -config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G -config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N -config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP -config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT -config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO -config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG - -config-$(call config_package,b43legacy) += B43LEGACY -config-y += B43LEGACY_DMA_MODE - -config-$(call config_package,brcmutil) += BRCMUTIL -config-$(call config_package,brcmsmac) += BRCMSMAC -config-$(call config_package,brcmfmac) += BRCMFMAC -config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO -config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB -config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE -config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG - -config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM -config-$(call config_package,mt7601u) += MT7601U -config-y += WL_MEDIATEK - -config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB -config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI -config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO -config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB -config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS -config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG - -config-$(call config_package,rt2400-pci) += RT2400PCI -config-$(call config_package,rt2500-pci) += RT2500PCI -config-$(call config_package,rt2500-usb) += RT2500USB -config-$(call config_package,rt61-pci) += RT61PCI -config-$(call config_package,rt73-usb) += RT73USB - -config-$(call config_package,rt2800-lib) += RT2800_LIB - -config-$(call config_package,rt2800-soc) += RT2800SOC -config-$(call config_package,rt2800-pci) += RT2800PCI -config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290 - -config-$(call config_package,rt2800-usb) += RT2800USB -config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN - -config-$(call config_package,iwl-legacy) += IWLEGACY -config-$(call config_package,iwl3945) += IWL3945 -config-$(call config_package,iwl4965) += IWL4965 -config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM -config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG -config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS - -config-$(call config_package,libipw) += LIBIPW -config-$(call config_package,ipw2100) += IPW2100 -config-$(call config_package,ipw2200) += IPW2200 - -config-$(call config_package,p54-common) += P54_COMMON -config-$(call config_package,p54-pci) += P54_PCI -config-$(call config_package,p54-usb) += P54_USB -config-$(call config_package,p54-spi) += P54_SPI - -config-$(call config_package,hermes) += HERMES -config-$(call config_package,hermes-pci) += PCI_HERMES -config-$(call config_package,hermes-plx) += PLX_HERMES -config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES -config-y += HERMES_PRISM - -config-$(call config_package,adm8211) += ADM8211 -config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO -config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB -config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI -config-$(call config_package,mwl8k) += MWL8K -config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE -config-$(call config_package,rtl8180) += RTL8180 -config-$(call config_package,rtl8187) += RTL8187 -config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO -config-$(call config_package,wl12xx) += WL12XX -config-$(call config_package,wl18xx) += WL18XX -config-y += WL_TI WILINK_PLATFORM_DATA -config-$(call config_package,zd1211rw) += ZD1211RW - -config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI -config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI -config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB -config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON -config-$(call config_package,rtl8192ce) += RTL8192CE -config-$(call config_package,rtl8192se) += RTL8192SE -config-$(call config_package,rtl8192de) += RTL8192DE -config-$(call config_package,rtl8192cu) += RTL8192CU -config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG -config-$(call config_package,rtl8192cd) += RTL8192CD - -config-$(call config_package,rtl8xxxu) += RTL8XXXU -config-y += RTL8XXXU_UNTESTED - -config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS - -MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \ - CROSS_COMPILE="$(KERNEL_CROSS)" \ - ARCH="$(LINUX_KARCH)" \ - EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \ - KLIB_BUILD="$(LINUX_DIR)" \ - MODPROBE=true \ - KLIB=$(TARGET_MODULES_DIR) \ - KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \ - KBUILD_LDFLAGS_MODULE_PREREQ= - -ifneq ($(findstring c,$(OPENWRT_VERBOSE)),) - MAKE_OPTS += V=1 -endif - -ifeq ($(CONFIG_PACKAGE_kmod-rtl8192cd),y) - MAKE_OPTS += "EXTRA_CFLAGS += -I$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd \ - -I$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/phydm \ - -I$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/WlanHAL \ - -I$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/RTL88XX \ - -I$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/HalMac88XX \ - -DDM_ODM_SUPPORT_TYPE=0x1" -endif -ifeq ($(CONFIG_TARGET_rtkmipsel_rtl8197f),y) -MAKE_OPTS += "EXTRA_CFLAGS += -I$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/efuse_97f" -endif - -define ConfigVars -$(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1) -)) -endef - -define mac80211_config -$(call ConfigVars,m)$(call ConfigVars,y) -endef -$(eval $(call shexport,mac80211_config)) - -define Build/Prepare - rm -rf $(PKG_BUILD_DIR) - mkdir -p $(PKG_BUILD_DIR) - $(PKG_UNPACK) -#rtk workaround - mkdir -p $(PKG_BUILD_DIR)/drivers/net/wireless - $(CP) -r $(LINUX_DIR)/drivers/net/wireless/rtl8192cd $(PKG_BUILD_DIR)/drivers/net/wireless/realtek -#-------------- -#ignitenet workaround -ifneq ($(wildcard $(PLATFORM_DIR)/files-$(PROFILE)/),) - $(CP) -vr $(PLATFORM_DIR)/files-$(PROFILE)/* $(PKG_BUILD_DIR)/ -endif -#-------------- - $(Build/Patch) - $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz - $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz - $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2 - rm -rf \ - $(PKG_BUILD_DIR)/include/linux/ssb \ - $(PKG_BUILD_DIR)/include/linux/bcma \ - $(PKG_BUILD_DIR)/include/net/bluetooth - - rm -f \ - $(PKG_BUILD_DIR)/include/linux/cordic.h \ - $(PKG_BUILD_DIR)/include/linux/crc8.h \ - $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \ - $(PKG_BUILD_DIR)/include/linux/wl12xx.h \ - $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \ - $(PKG_BUILD_DIR)/include/net/ieee80211.h \ - $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h - - echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version - $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt -#ignitenet workaround -ifneq ($(wildcard ./files/regdb_$(PROFILE).txt),) - $(CP) ./files/regdb_$(PROFILE).txt $(PKG_BUILD_DIR)/net/wireless/db.txt -endif -#-------------- -endef - -ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),) - define Build/Compile/kmod - rm -rf $(PKG_BUILD_DIR)/modules - +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules - endef -endif - -define Build/Configure - cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h - cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h - cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h -endef - -define Build/Compile - $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config - $(MAKE) $(MAKE_OPTS) allnoconfig - $(call Build/Compile/kmod) -endef - -define Build/InstallDev - mkdir -p \ - $(1)/usr/include/mac80211 \ - $(1)/usr/include/mac80211-backport \ - $(1)/usr/include/mac80211/ath \ - $(1)/usr/include/net/mac80211 - $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/ - $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/ - $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/ - $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/ -#ifeq($(CONFIG_PACKAGE_kmod-rtl8192cd),y) - $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8192cd/sysfs_stats.h $(1)/usr/include/ -#endif - rm -f $(1)/usr/include/mac80211-backport/linux/module.h -endef - - -define KernelPackage/b43/install - rm -rf $(1)/lib/firmware/ -ifeq ($(CONFIG_B43_OPENFIRMWARE),y) - tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)" -else - tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)" -endif - $(INSTALL_DIR) $(1)/lib/firmware/ -ifeq ($(CONFIG_B43_OPENFIRMWARE),y) - $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/" - $(INSTALL_DIR) $(1)/lib/firmware/b43-open/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw -else - b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT) -endif -ifneq ($(CONFIG_B43_FW_SQUASH),) - b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43" -endif -endef - -define KernelPackage/brcmsmac/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm -ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y) - tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)" - b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT) -endif -endef - -define KernelPackage/cfg80211/install - $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless - $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi - $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless - $(INSTALL_DIR) $(1)/etc/hotplug.d/ieee80211 - $(INSTALL_DATA) ./files/mac80211.hotplug $(1)/etc/hotplug.d/ieee80211/10-wifi-detect -endef - -define KernelPackage/ipw2100/install - $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware -endef - -define KernelPackage/ipw2200/install - $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware -endef - -define KernelPackage/p54-pci/install - $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci -endef - -define KernelPackage/p54-usb/install - $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb -endef - -define KernelPackage/p54-spi/install - $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm -endef - -define KernelPackage/zd1211rw/install - $(INSTALL_DIR) $(1)/lib/firmware/zd1211 - $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211 -endef - - -$(eval $(call KernelPackage,adm8211)) -$(eval $(call KernelPackage,ath)) -$(eval $(call KernelPackage,ath10k)) -$(eval $(call KernelPackage,ath5k)) -$(eval $(call KernelPackage,ath9k)) -$(eval $(call KernelPackage,ath9k-common)) -$(eval $(call KernelPackage,ath9k-htc)) -$(eval $(call KernelPackage,b43)) -$(eval $(call KernelPackage,b43legacy)) -$(eval $(call KernelPackage,brcmsmac)) -$(eval $(call KernelPackage,brcmfmac)) -$(eval $(call KernelPackage,brcmutil)) -$(eval $(call KernelPackage,carl9170)) -$(eval $(call KernelPackage,cfg80211)) -$(eval $(call KernelPackage,hermes)) -$(eval $(call KernelPackage,hermes-pci)) -$(eval $(call KernelPackage,hermes-plx)) -$(eval $(call KernelPackage,hermes-pcmcia)) -$(eval $(call KernelPackage,iwlwifi)) -$(eval $(call KernelPackage,iwl-legacy)) -$(eval $(call KernelPackage,iwl4965)) -$(eval $(call KernelPackage,iwl3945)) -$(eval $(call KernelPackage,lib80211)) -$(eval $(call KernelPackage,libertas-usb)) -$(eval $(call KernelPackage,libertas-sdio)) -$(eval $(call KernelPackage,libertas-spi)) -$(eval $(call KernelPackage,libipw)) -$(eval $(call KernelPackage,ipw2100)) -$(eval $(call KernelPackage,ipw2200)) -$(eval $(call KernelPackage,mac80211)) -$(eval $(call KernelPackage,mac80211-hwsim)) -$(eval $(call KernelPackage,mt7601u)) -$(eval $(call KernelPackage,mwl8k)) -$(eval $(call KernelPackage,mwifiex-pcie)) -$(eval $(call KernelPackage,p54-common)) -$(eval $(call KernelPackage,p54-pci)) -$(eval $(call KernelPackage,p54-usb)) -$(eval $(call KernelPackage,p54-spi)) -$(eval $(call KernelPackage,rt2x00-lib)) -$(eval $(call KernelPackage,rt2x00-mmio)) -$(eval $(call KernelPackage,rt2x00-pci)) -$(eval $(call KernelPackage,rt2x00-usb)) -$(eval $(call KernelPackage,rt2800-lib)) -$(eval $(call KernelPackage,rt2400-pci)) -$(eval $(call KernelPackage,rt2500-pci)) -$(eval $(call KernelPackage,rt2500-usb)) -$(eval $(call KernelPackage,rt2800-mmio)) -$(eval $(call KernelPackage,rt2800-soc)) -$(eval $(call KernelPackage,rt2800-pci)) -$(eval $(call KernelPackage,rt2800-usb)) -$(eval $(call KernelPackage,rt61-pci)) -$(eval $(call KernelPackage,rt73-usb)) -$(eval $(call KernelPackage,rtl8180)) -$(eval $(call KernelPackage,rtl8187)) -$(eval $(call KernelPackage,rtlwifi)) -$(eval $(call KernelPackage,rtlwifi-pci)) -$(eval $(call KernelPackage,rtlwifi-usb)) -$(eval $(call KernelPackage,rtl8192c-common)) -$(eval $(call KernelPackage,rtl8192ce)) -$(eval $(call KernelPackage,rtl8192se)) -$(eval $(call KernelPackage,rtl8192de)) -$(eval $(call KernelPackage,rtl8192cu)) -$(eval $(call KernelPackage,rtl8xxxu)) -$(eval $(call KernelPackage,wlcore)) -$(eval $(call KernelPackage,wl12xx)) -$(eval $(call KernelPackage,wl18xx)) -$(eval $(call KernelPackage,zd1211rw)) -$(eval $(call KernelPackage,rtl8192cd)) diff --git a/feeds/rtkmipsel/mac80211/files/lib/netifd/wireless/mac80211.sh b/feeds/rtkmipsel/mac80211/files/lib/netifd/wireless/mac80211.sh deleted file mode 100644 index 7bd3d9f11..000000000 --- a/feeds/rtkmipsel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ /dev/null @@ -1,754 +0,0 @@ -#!/bin/sh -. /lib/netifd/netifd-wireless.sh -. /lib/netifd/hostapd.sh - -init_wireless_driver "$@" - -MP_CONFIG_INT="mesh_retry_timeout mesh_confirm_timeout mesh_holding_timeout mesh_max_peer_links - mesh_max_retries mesh_ttl mesh_element_ttl mesh_hwmp_max_preq_retries - mesh_path_refresh_time mesh_min_discovery_timeout mesh_hwmp_active_path_timeout - mesh_hwmp_preq_min_interval mesh_hwmp_net_diameter_traversal_time mesh_hwmp_rootmode - mesh_hwmp_rann_interval mesh_gate_announcements mesh_sync_offset_max_neighor - mesh_rssi_threshold mesh_hwmp_active_path_to_root_timeout mesh_hwmp_root_interval - mesh_hwmp_confirmation_interval mesh_awake_window mesh_plink_timeout" -MP_CONFIG_BOOL="mesh_auto_open_plinks mesh_fwding" -MP_CONFIG_STRING="mesh_power_mode" - -drv_mac80211_init_device_config() { - hostapd_common_add_device_config - - config_add_string path phy 'macaddr:macaddr' - config_add_string hwmode - config_add_int beacon_int chanbw frag rts - config_add_int rxantenna txantenna antenna_gain txpower distance - config_add_boolean noscan ht_coex - config_add_array ht_capab - config_add_boolean \ - rxldpc \ - short_gi_80 \ - short_gi_160 \ - tx_stbc_2by1 \ - su_beamformer \ - su_beamformee \ - mu_beamformer \ - mu_beamformee \ - vht_txop_ps \ - htc_vht \ - rx_antenna_pattern \ - tx_antenna_pattern - config_add_int vht_max_a_mpdu_len_exp vht_max_mpdu vht_link_adapt vht160 rx_stbc tx_stbc - config_add_boolean \ - ldpc \ - greenfield \ - short_gi_20 \ - short_gi_40 \ - max_amsdu \ - dsss_cck_40 -} - -drv_mac80211_init_iface_config() { - hostapd_common_add_bss_config - - config_add_string 'macaddr:macaddr' ifname - - config_add_boolean wds powersave - config_add_int maxassoc - config_add_int max_listen_int - config_add_int dtim_period - config_add_int start_disabled - - # mesh - config_add_string mesh_id - config_add_int $MP_CONFIG_INT - config_add_boolean $MP_CONFIG_BOOL - config_add_string $MP_CONFIG_STRING -} - -mac80211_add_capabilities() { - local __var="$1"; shift - local __mask="$1"; shift - local __out= oifs - - oifs="$IFS" - IFS=: - for capab in "$@"; do - set -- $capab - - [ "$(($4))" -gt 0 ] || continue - [ "$(($__mask & $2))" -eq "$((${3:-$2}))" ] || continue - __out="$__out[$1]" - done - IFS="$oifs" - - export -n -- "$__var=$__out" -} - -mac80211_hostapd_setup_base() { - local phy="$1" - - json_select config - - [ "$auto_channel" -gt 0 ] && channel=acs_survey - - json_get_vars noscan ht_coex - json_get_values ht_capab_list ht_capab - - ieee80211n=1 - ht_capab= - case "$htmode" in - VHT20|HT20) ;; - HT40*|VHT40|VHT80|VHT160) - case "$hwmode" in - a) - case "$(( ($channel / 4) % 2 ))" in - 1) ht_capab="[HT40+]";; - 0) ht_capab="[HT40-]";; - esac - ;; - *) - case "$htmode" in - HT40+) ht_capab="[HT40+]";; - HT40-) ht_capab="[HT40-]";; - *) - if [ "$channel" -lt 7 ]; then - ht_capab="[HT40+]" - else - ht_capab="[HT40-]" - fi - ;; - esac - ;; - esac - [ "$auto_channel" -gt 0 ] && ht_capab="[HT40+]" - ;; - *) ieee80211n= ;; - esac - - [ -n "$ieee80211n" ] && { - append base_cfg "ieee80211n=1" "$N" - - set_default ht_coex 0 - append base_cfg "ht_coex=$ht_coex" "$N" - - json_get_vars \ - ldpc:1 \ - greenfield:0 \ - short_gi_20:1 \ - short_gi_40:1 \ - tx_stbc:1 \ - rx_stbc:3 \ - max_amsdu:1 \ - dsss_cck_40:1 - - ht_cap_mask=0 - for cap in $(iw phy "$phy" info | grep 'Capabilities:' | cut -d: -f2); do - ht_cap_mask="$(($ht_cap_mask | $cap))" - done - - cap_rx_stbc=$((($ht_cap_mask >> 8) & 3)) - [ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc" - ht_cap_mask="$(( ($ht_cap_mask & ~(0x300)) | ($cap_rx_stbc << 8) ))" - - mac80211_add_capabilities ht_capab_flags $ht_cap_mask \ - LDPC:0x1::$ldpc \ - GF:0x10::$greenfield \ - SHORT-GI-20:0x20::$short_gi_20 \ - SHORT-GI-40:0x40::$short_gi_40 \ - TX-STBC:0x80::$tx_stbc \ - RX-STBC1:0x300:0x100:1 \ - RX-STBC12:0x300:0x200:1 \ - RX-STBC123:0x300:0x300:1 \ - MAX-AMSDU-7935:0x800::$max_amsdu \ - DSSS_CCK-40:0x1000::$dsss_cck_40 - - ht_capab="$ht_capab$ht_capab_flags" - [ -n "$ht_capab" ] && append base_cfg "ht_capab=$ht_capab" "$N" - } - - # 802.11ac - enable_ac=0 - idx="$channel" - case "$htmode" in - VHT20) enable_ac=1;; - VHT40) - case "$(( ($channel / 4) % 2 ))" in - 1) idx=$(($channel + 2));; - 0) idx=$(($channel - 2));; - esac - enable_ac=1 - append base_cfg "vht_oper_chwidth=0" "$N" - append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N" - ;; - VHT80) - case "$(( ($channel / 4) % 4 ))" in - 1) idx=$(($channel + 6));; - 2) idx=$(($channel + 2));; - 3) idx=$(($channel - 2));; - 0) idx=$(($channel - 6));; - esac - enable_ac=1 - append base_cfg "vht_oper_chwidth=1" "$N" - append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N" - ;; - VHT160) - case "$channel" in - 36|40|44|48|52|56|60|64) idx=50;; - 100|104|108|112|116|120|124|128) idx=114;; - esac - enable_ac=1 - append base_cfg "vht_oper_chwidth=2" "$N" - append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N" - ;; - esac - - if [ "$enable_ac" != "0" ]; then - json_get_vars \ - rxldpc:1 \ - short_gi_80:1 \ - short_gi_160:1 \ - tx_stbc_2by1:1 \ - su_beamformer:1 \ - su_beamformee:1 \ - mu_beamformer:1 \ - mu_beamformee:1 \ - vht_txop_ps:1 \ - htc_vht:1 \ - rx_antenna_pattern:1 \ - tx_antenna_pattern:1 \ - vht_max_a_mpdu_len_exp:7 \ - vht_max_mpdu:11454 \ - rx_stbc:4 \ - tx_stbc:4 \ - vht_link_adapt:3 \ - vht160:2 - - append base_cfg "ieee80211ac=1" "$N" - vht_cap=0 - for cap in $(iw phy "$phy" info | awk -F "[()]" '/VHT Capabilities/ { print $2 }'); do - vht_cap="$(($vht_cap | $cap))" - done - - cap_rx_stbc=$((($vht_cap >> 8) & 7)) - [ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc" - ht_cap_mask="$(( ($vht_cap & ~(0x700)) | ($cap_rx_stbc << 8) ))" - - mac80211_add_capabilities vht_capab $vht_cap \ - RXLDPC:0x10::$rxldpc \ - SHORT-GI-80:0x20::$short_gi_80 \ - SHORT-GI-160:0x40::$short_gi_160 \ - TX-STBC-2BY1:0x80::$tx_stbc \ - SU-BEAMFORMER:0x800::$su_beamformer \ - SU-BEAMFORMEE:0x1000::$su_beamformee \ - MU-BEAMFORMER:0x80000::$mu_beamformer \ - MU-BEAMFORMEE:0x100000::$mu_beamformee \ - VHT-TXOP-PS:0x200000::$vht_txop_ps \ - HTC-VHT:0x400000::$htc_vht \ - RX-ANTENNA-PATTERN:0x10000000::$rx_antenna_pattern \ - TX-ANTENNA-PATTERN:0x20000000::$tx_antenna_pattern \ - RX-STBC1:0x700:0x100:1 \ - RX-STBC12:0x700:0x200:1 \ - RX-STBC123:0x700:0x300:1 \ - RX-STBC1234:0x700:0x400:1 \ - - # supported Channel widths - vht160_hw=0 - [ "$(($vht_cap & 12))" -eq 4 -a 1 -le "$vht160" ] && \ - vht160_hw=1 - [ "$(($vht_cap & 12))" -eq 8 -a 2 -le "$vht160" ] && \ - vht160_hw=2 - [ "$vht160_hw" = 1 ] && vht_capab="$vht_capab[VHT160]" - [ "$vht160_hw" = 2 ] && vht_capab="$vht_capab[VHT160-80PLUS80]" - - # maximum MPDU length - vht_max_mpdu_hw=3895 - [ "$(($vht_cap & 3))" -ge 1 -a 7991 -le "$vht_max_mpdu" ] && \ - vht_max_mpdu_hw=7991 - [ "$(($vht_cap & 3))" -ge 2 -a 11454 -le "$vht_max_mpdu" ] && \ - vht_max_mpdu_hw=11454 - [ "$vht_max_mpdu_hw" != 3895 ] && \ - vht_capab="$vht_capab[MAX-MPDU-$vht_max_mpdu_hw]" - - # maximum A-MPDU length exponent - vht_max_a_mpdu_len_exp_hw=0 - [ "$(($vht_cap & 58720256))" -ge 8388608 -a 1 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=1 - [ "$(($vht_cap & 58720256))" -ge 16777216 -a 2 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=2 - [ "$(($vht_cap & 58720256))" -ge 25165824 -a 3 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=3 - [ "$(($vht_cap & 58720256))" -ge 33554432 -a 4 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=4 - [ "$(($vht_cap & 58720256))" -ge 41943040 -a 5 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=5 - [ "$(($vht_cap & 58720256))" -ge 50331648 -a 6 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=6 - [ "$(($vht_cap & 58720256))" -ge 58720256 -a 7 -le "$vht_max_a_mpdu_len_exp" ] && \ - vht_max_a_mpdu_len_exp_hw=7 - vht_capab="$vht_capab[MAX-A-MPDU-LEN-EXP$vht_max_a_mpdu_len_exp_hw]" - - # whether or not the STA supports link adaptation using VHT variant - vht_link_adapt_hw=0 - [ "$(($vht_cap & 201326592))" -ge 134217728 -a 2 -le "$vht_link_adapt" ] && \ - vht_link_adapt_hw=2 - [ "$(($vht_cap & 201326592))" -ge 201326592 -a 3 -le "$vht_link_adapt" ] && \ - vht_link_adapt_hw=3 - [ "$vht_link_adapt_hw" != 0 ] && \ - vht_capab="$vht_capab[VHT-LINK-ADAPT-$vht_link_adapt_hw]" - - [ -n "$vht_capab" ] && append base_cfg "vht_capab=$vht_capab" "$N" - fi - - hostapd_prepare_device_config "$hostapd_conf_file" nl80211 - cat >> "$hostapd_conf_file" <> /var/run/hostapd-$phy.conf </dev/null); do - grep -i -q "$macaddr" "/sys/class/ieee80211/${phy}/macaddress" && return 0 - done - } - return 1 -} - -mac80211_check_ap() { - has_ap=1 -} - -mac80211_prepare_vif() { - json_select config - - json_get_vars ifname mode ssid wds powersave macaddr - - [ -n "$ifname" ] || ifname="wlan${phy#phy}${if_idx:+-$if_idx}" - if_idx=$((${if_idx:-0} + 1)) - - set_default wds 0 - set_default powersave 0 - - json_select .. - - [ -n "$macaddr" ] || { - macaddr="$(mac80211_generate_mac $phy)" - macidx="$(($macidx + 1))" - } - - json_add_object data - json_add_string ifname "$ifname" - json_close_object - json_select config - - # It is far easier to delete and create the desired interface - case "$mode" in - adhoc) - iw phy "$phy" interface add "$ifname" type adhoc - ;; - ap) - # Hostapd will handle recreating the interface and - # subsequent virtual APs belonging to the same PHY - if [ -n "$hostapd_ctrl" ]; then - type=bss - else - type=interface - fi - - mac80211_hostapd_setup_bss "$phy" "$ifname" "$macaddr" "$type" || return - - [ -n "$hostapd_ctrl" ] || { - iw phy "$phy" interface add "$ifname" type __ap - hostapd_ctrl="${hostapd_ctrl:-/var/run/hostapd/$ifname}" - } - ;; - mesh) - iw phy "$phy" interface add "$ifname" type mp - ;; - monitor) - iw phy "$phy" interface add "$ifname" type monitor - ;; - sta) - local wdsflag= - staidx="$(($staidx + 1))" - [ "$wds" -gt 0 ] && wdsflag="4addr on" - iw phy "$phy" interface add "$ifname" type managed $wdsflag - [ "$powersave" -gt 0 ] && powersave="on" || powersave="off" - iw "$ifname" set power_save "$powersave" - ;; - esac - - case "$mode" in - monitor|mesh) - [ "$auto_channel" -gt 0 ] || iw dev "$ifname" set channel "$channel" $htmode - ;; - esac - - if [ "$mode" != "ap" ]; then - # ALL ap functionality will be passed to hostapd - # All interfaces must have unique mac addresses - # which can either be explicitly set in the device - # section, or automatically generated - ifconfig "$ifname" hw ether "$macaddr" - fi - - json_select .. -} - -mac80211_setup_supplicant() { - wpa_supplicant_prepare_interface "$ifname" nl80211 || return 1 - wpa_supplicant_add_network "$ifname" - wpa_supplicant_run "$ifname" ${hostapd_ctrl:+-H $hostapd_ctrl} -} - -mac80211_setup_adhoc_htmode() { - case "$htmode" in - VHT20|HT20) ibss_htmode=HT20;; - HT40*|VHT40|VHT80|VHT160) - case "$hwmode" in - a) - case "$(( ($channel / 4) % 2 ))" in - 1) ibss_htmode="HT40+" ;; - 0) ibss_htmode="HT40-";; - esac - ;; - *) - case "$htmode" in - HT40+) ibss_htmode="HT40+";; - HT40-) ibss_htmode="HT40-";; - *) - if [ "$channel" -lt 7 ]; then - ibss_htmode="HT40+" - else - ibss_htmode="HT40-" - fi - ;; - esac - ;; - esac - [ "$auto_channel" -gt 0 ] && ibss_htmode="HT40+" - ;; - NONE|NOHT) - ibss_htmode="NOHT" - ;; - *) ibss_htmode="" ;; - esac - -} - -mac80211_setup_adhoc() { - json_get_vars bssid ssid key mcast_rate - - keyspec= - [ "$auth_type" = "wep" ] && { - set_default key 1 - case "$key" in - [1234]) - local idx - for idx in 1 2 3 4; do - json_get_var ikey "key$idx" - - [ -n "$ikey" ] && { - ikey="$(($idx - 1)):$(prepare_key_wep "$ikey")" - [ $idx -eq $key ] && ikey="d:$ikey" - append keyspec "$ikey" - } - done - ;; - *) - append keyspec "d:0:$(prepare_key_wep "$key")" - ;; - esac - } - - brstr= - for br in $basic_rate_list; do - wpa_supplicant_add_rate brstr "$br" - done - - mcval= - [ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate" - - iw dev "$ifname" ibss join "$ssid" $freq $ibss_htmode fixed-freq $bssid \ - ${beacon_int:+beacon-interval $beacon_int} \ - ${brstr:+basic-rates $brstr} \ - ${mcval:+mcast-rate $mcval} \ - ${keyspec:+keys $keyspec} -} - -mac80211_setup_vif() { - local name="$1" - local failed - - json_select data - json_get_vars ifname - json_select .. - - json_select config - json_get_vars mode - json_get_var vif_txpower txpower - - ifconfig "$ifname" up || { - wireless_setup_vif_failed IFUP_ERROR - json_select .. - return - } - - set_default vif_txpower "$txpower" - [ -z "$vif_txpower" ] || iw dev "$ifname" set txpower fixed "${vif_txpower%%.*}00" - - case "$mode" in - mesh) - # authsae or wpa_supplicant - json_get_vars key - if [ -n "$key" ]; then - if [ -e "/lib/wifi/authsae.sh" ]; then - . /lib/wifi/authsae.sh - authsae_start_interface || failed=1 - else - wireless_vif_parse_encryption - mac80211_setup_supplicant || failed=1 - fi - else - json_get_vars mesh_id mcast_rate - - mcval= - [ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate" - - iw dev "$ifname" mesh join "$mesh_id" ${mcval:+mcast-rate $mcval} - fi - - for var in $MP_CONFIG_INT $MP_CONFIG_BOOL $MP_CONFIG_STRING; do - json_get_var mp_val "$var" - [ -n "$mp_val" ] && iw dev "$ifname" set mesh_param "$var" "$mp_val" - done - ;; - adhoc) - wireless_vif_parse_encryption - mac80211_setup_adhoc_htmode - if [ "$wpa" -gt 0 -o "$auto_channel" -gt 0 ]; then - mac80211_setup_supplicant || failed=1 - else - mac80211_setup_adhoc - fi - ;; - sta) - mac80211_setup_supplicant || failed=1 - ;; - esac - - json_select .. - [ -n "$failed" ] || wireless_add_vif "$name" "$ifname" -} - -get_freq() { - local phy="$1" - local chan="$2" - iw "$phy" info | grep -E -m1 "(\* ${chan:-....} MHz${chan:+|\\[$chan\\]})" | grep MHz | awk '{print $2}' -} - -mac80211_interface_cleanup() { - local phy="$1" - - for wdev in $(list_phy_interfaces "$phy"); do - ifconfig "$wdev" down 2>/dev/null - iw dev "$wdev" del - done -} - -drv_mac80211_cleanup() { - hostapd_common_cleanup -} - -drv_mac80211_setup() { - json_select config - json_get_vars \ - phy macaddr path \ - country chanbw distance \ - txpower antenna_gain \ - rxantenna txantenna \ - frag rts beacon_int htmode - json_get_values basic_rate_list basic_rate - json_select .. - - find_phy || { - echo "Could not find PHY for device '$1'" - wireless_set_retry 0 - return 1 - } - - wireless_set_data phy="$phy" - mac80211_interface_cleanup "$phy" - - # convert channel to frequency - [ "$auto_channel" -gt 0 ] || freq="$(get_freq "$phy" "$channel")" - - [ -n "$country" ] && { - iw reg get | grep -q "^country $country:" || { - iw reg set "$country" - sleep 1 - } - } - - hostapd_conf_file="/var/run/hostapd-$phy.conf" - - no_ap=1 - macidx=0 - staidx=0 - - [ -n "$chanbw" ] && { - for file in /sys/kernel/debug/ieee80211/$phy/ath9k/chanbw /sys/kernel/debug/ieee80211/$phy/ath5k/bwmode; do - [ -f "$file" ] && echo "$chanbw" > "$file" - done - } - - set_default rxantenna all - set_default txantenna all - set_default distance 0 - set_default antenna_gain 0 - - iw phy "$phy" set antenna $txantenna $rxantenna >/dev/null 2>&1 - iw phy "$phy" set antenna_gain $antenna_gain - iw phy "$phy" set distance "$distance" - - [ -n "$frag" ] && iw phy "$phy" set frag "${frag%%.*}" - [ -n "$rts" ] && iw phy "$phy" set rts "${rts%%.*}" - - has_ap= - hostapd_ctrl= - for_each_interface "ap" mac80211_check_ap - - rm -f "$hostapd_conf_file" - [ -n "$has_ap" ] && mac80211_hostapd_setup_base "$phy" -# rtk : reoder the prepare_vif flow to workaround - for_each_interface "ap" mac80211_prepare_vif - for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif -# for_each_interface "ap" mac80211_prepare_vif - - [ -n "$hostapd_ctrl" ] && { - /usr/sbin/hostapd -P /var/run/wifi-$phy.pid -B "$hostapd_conf_file" - ret="$?" - wireless_add_process "$(cat /var/run/wifi-$phy.pid)" "/usr/sbin/hostapd" 1 - [ "$ret" != 0 ] && { - wireless_setup_failed HOSTAPD_START_FAILED - return - } - } - - for_each_interface "ap sta adhoc mesh monitor" mac80211_setup_vif - - wireless_set_up -} - -list_phy_interfaces() { - local phy="$1" - if [ -d "/sys/class/ieee80211/${phy}/device/net" ]; then - ls "/sys/class/ieee80211/${phy}/device/net" 2>/dev/null; - else - ls "/sys/class/ieee80211/${phy}/device" 2>/dev/null | grep net: | sed -e 's,net:,,g' - fi -} - -drv_mac80211_teardown() { - wireless_process_kill_all - - json_select data - json_get_vars phy - json_select .. - - mac80211_interface_cleanup "$phy" -} - -add_driver mac80211 diff --git a/feeds/rtkmipsel/mac80211/files/lib/wifi/mac80211.sh b/feeds/rtkmipsel/mac80211/files/lib/wifi/mac80211.sh deleted file mode 100644 index 6f20f74c4..000000000 --- a/feeds/rtkmipsel/mac80211/files/lib/wifi/mac80211.sh +++ /dev/null @@ -1,190 +0,0 @@ -#!/bin/sh - -append DRIVERS "mac80211" - -lookup_phy() { - [ -n "$phy" ] && { - [ -d /sys/class/ieee80211/$phy ] && return - } - - local devpath - config_get devpath "$device" path - [ -n "$devpath" ] && { - phy="$(iwinfo nl80211 phyname "path=$devpath")" - [ -n "$phy" ] && return - } - - local macaddr="$(config_get "$device" macaddr | tr 'A-Z' 'a-z')" - [ -n "$macaddr" ] && { - for _phy in /sys/class/ieee80211/*; do - [ -e "$_phy" ] || continue - - [ "$macaddr" = "$(cat ${_phy}/macaddress)" ] || continue - phy="${_phy##*/}" - return - done - } - phy= - return -} - -find_mac80211_phy() { - local device="$1" - - config_get phy "$device" phy - lookup_phy - [ -n "$phy" -a -d "/sys/class/ieee80211/$phy" ] || { - echo "PHY for wifi device $1 not found" - return 1 - } - config_set "$device" phy "$phy" - - config_get macaddr "$device" macaddr - [ -z "$macaddr" ] && { - config_set "$device" macaddr "$(cat /sys/class/ieee80211/${phy}/macaddress)" - } - - return 0 -} - -check_mac80211_device() { - config_get phy "$1" phy - [ -z "$phy" ] && { - find_mac80211_phy "$1" >/dev/null || return 0 - config_get phy "$1" phy - } - [ "$phy" = "$dev" ] && found=1 -} - - -__get_band_defaults() { - local phy="$1" - - ( iw phy "$phy" info; echo ) | awk ' -BEGIN { - bands = "" -} - -($1 == "Band" || $1 == "") && band { - if (channel) { - mode="NOHT" - if (ht) mode="HT20" - if (vht && band != "1:") mode="VHT80" - if (he) mode="HE80" - if (he && band == "1:") mode="HE20" - sub("\\[", "", channel) - sub("\\]", "", channel) - bands = bands band channel ":" mode " " - } - band="" -} - -$1 == "Band" { - band = $2 - channel = "" - vht = "" - ht = "" - he = "" -} - -$0 ~ "Capabilities:" { - ht=1 -} - -$0 ~ "VHT Capabilities" { - vht=1 -} - -$0 ~ "HE Iftypes" { - he=1 -} - -$1 == "*" && $3 == "MHz" && $0 !~ /disabled/ && band && !channel { - channel = $4 -} - -END { - print bands -}' -} - -get_band_defaults() { - local phy="$1" - - for c in $(__get_band_defaults "$phy"); do - local band="${c%%:*}" - c="${c#*:}" - local chan="${c%%:*}" - c="${c#*:}" - local mode="${c%%:*}" - - case "$band" in - 1) band=2g;; - 2) band=5g;; - 3) band=60g;; - 4) band=6g;; - *) band="";; - esac - - [ -n "$band" ] || continue - [ -n "$mode_band" -a "$band" = "6g" ] && return - - mode_band="$band" - channel="$chan" - htmode="$mode" - done -} - -detect_mac80211() { - devidx=0 - config_load wireless - while :; do - config_get type "radio$devidx" type - [ -n "$type" ] || break - devidx=$(($devidx + 1)) - done - - for _dev in /sys/class/ieee80211/*; do - [ -e "$_dev" ] || continue - - dev="${_dev##*/}" - - found=0 - config_foreach check_mac80211_device wifi-device - [ "$found" -gt 0 ] && continue - - mode_band="" - channel="" - htmode="" - ht_capab="" - - get_band_defaults "$dev" - - path="$(iwinfo nl80211 path "$dev")" - if [ -n "$path" ]; then - dev_id="set wireless.radio${devidx}.path='$path'" - else - dev_id="set wireless.radio${devidx}.macaddr=$(cat /sys/class/ieee80211/${dev}/macaddress)" - fi - - uci -q batch <<-EOF - set wireless.radio${devidx}=wifi-device - set wireless.radio${devidx}.type=mac80211 - ${dev_id} - set wireless.radio${devidx}.channel=${channel} - set wireless.radio${devidx}.band=${mode_band} - set wireless.radio${devidx}.htmode=$htmode - set wireless.radio${devidx}.disabled=0 - - set wireless.default_radio${devidx}=wifi-iface - set wireless.default_radio${devidx}.device=radio${devidx} - set wireless.default_radio${devidx}.network=lan - set wireless.default_radio${devidx}.mode=ap - set wireless.default_radio${devidx}.ssid=OpenWrt - set wireless.default_radio${devidx}.encryption=none -EOF - uci -q commit wireless - - devidx=$(($devidx + 1)) - done -} diff --git a/feeds/rtkmipsel/mac80211/files/mac80211.hotplug b/feeds/rtkmipsel/mac80211/files/mac80211.hotplug deleted file mode 100644 index b86555266..000000000 --- a/feeds/rtkmipsel/mac80211/files/mac80211.hotplug +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -[ "${ACTION}" = "add" ] && { - /sbin/wifi config -} diff --git a/feeds/rtkmipsel/mac80211/files/regdb.txt b/feeds/rtkmipsel/mac80211/files/regdb.txt deleted file mode 100644 index 463ace3a3..000000000 --- a/feeds/rtkmipsel/mac80211/files/regdb.txt +++ /dev/null @@ -1,1262 +0,0 @@ -# This is the world regulatory domain -country 00: - (2402 - 2472 @ 40), (20) - # Channel 12 - 13. - (2457 - 2482 @ 20), (20), NO-IR, AUTO-BW - # Channel 14. Only JP enables this and for 802.11b only - (2474 - 2494 @ 20), (20), NO-IR, NO-OFDM - # Channel 36 - 48 - (5170 - 5250 @ 80), (20), AUTO-BW - # Channel 52 - 64 - (5250 - 5330 @ 80), (20), NO-IR, DFS, AUTO-BW - # Channel 100 - 144 - (5490 - 5730 @ 160), (20), NO-IR, DFS - # Channel 149 - 165 - (5735 - 5835 @ 80), (20), NO-IR - # IEEE 802.11ad (60GHz), channels 1..3 - (57240 - 63720 @ 2160), (0) - - -country AD: - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20) - (5250 - 5330 @ 80), (20), DFS - (5490 - 5710 @ 80), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country AE: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://pucanguilla.org/Downloads/January2005-Anguilla%20Table%20of%20Allocations.pdf -country AI: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country AL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20.00), AUTO-BW - (5250 - 5330 @ 80), (20.00), DFS, AUTO-BW - (5490 - 5710 @ 160), (27.00), DFS - -country AM: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (18) - (5250 - 5330 @ 20), (18), DFS - -country AN: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country AR: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AS: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country AU: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5710 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country AW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country AZ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (18), AUTO-BW - (5250 - 5330 @ 80), (18), DFS, AUTO-BW - -country BA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country BB: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country BD: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country BE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country BF: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country BG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 5 GHz Short Range Devices, ref: - # Etsi EN 300 440-1 - # Etsi EN 300 440-2 - # http://crc.bg/files/_bg/Spisak_2015.pdf - # http://crc.bg/files/_bg/Pravila_2015_resh24.pdf - (5725 - 5875 @ 80), (14) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country BH: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (20) - (5250 - 5330 @ 20), (20), DFS - (5735 - 5835 @ 20), (20) - -country BL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country BM: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country BN: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country BO: DFS-JP - (2402 - 2482 @ 40), (20) - (5250 - 5330 @ 80), (30), DFS - (5735 - 5835 @ 80), (30) - -country BR: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country BS: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.bicma.gov.bt/paper/publication/nrrpart4.pdf -country BT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country BY: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country BZ: DFS-JP - (2402 - 2482 @ 40), (30) - (5735 - 5835 @ 80), (30) - -country CA: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5600 @ 80), (24), DFS - (5650 - 5730 @ 80), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.art-rca.org -country CF: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (17) - (5250 - 5330 @ 40), (24), DFS - (5490 - 5730 @ 40), (24), DFS - (5735 - 5835 @ 40), (30) - -country CH: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country CI: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country CL: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country CN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - # 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm - # ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf - (57240 - 59400 @ 2160), (28) - (59400 - 63720 @ 2160), (44) - (63720 - 65880 @ 2160), (28) - -country CO: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country CR: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -country CX: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country CY: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Data from http://www.ctu.eu/164/download/VOR/VOR-12-08-2005-34.pdf -# and http://www.ctu.eu/164/download/VOR/VOR-12-05-2007-6-AN.pdf -# Power at 5250 - 5350 MHz and 5470 - 5725 MHz can be doubled if TPC is -# implemented. -country CZ: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW - (5470 - 5725 @ 160), (500 mW), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Data from "Frequenznutzungsplan" (as published in April 2008), downloaded from -# http://www.bundesnetzagentur.de/cae/servlet/contentblob/38448/publicationFile/2659/Frequenznutzungsplan2008_Id17448pdf.pdf -# For the 5GHz range also see -# http://www.bundesnetzagentur.de/cae/servlet/contentblob/38216/publicationFile/6579/WLAN5GHzVfg7_2010_28042010pdf.pdf -# The values have been reduced by a factor of 2 (3db) for non TPC devices -# (in other words: devices with TPC can use twice the tx power of this table). -# Note that the docs do not require TPC for 5150--5250; the reduction to -# 100mW thus is not strictly required -- however the conservative 100mW -# limit is used here as the non-interference with radar and satellite -# apps relies on the attenuation by the building walls only in the -# absence of DFS; the neighbour countries have 100mW limit here as well. - -country DE: DFS-ETSI - # entries 279004 and 280006 - (2400 - 2483.5 @ 40), (100 mW) - # entry 303005 - (5150 - 5250 @ 80), (100 mW), NO-OUTDOOR, AUTO-BW - # entries 304002 and 305002 - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW - # entries 308002, 309001 and 310003 - (5470 - 5725 @ 160), (500 mW), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country DK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Source: -# http://www.ntrcdom.org/index.php?option=com_content&view=category&layout=blog&id=10&Itemid=55 -country DM: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country DO: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country DZ: DFS-JP - (2402 - 2482 @ 40), (20) - (5170.000 - 5250.000 @ 80.000), (23.00), AUTO-BW - (5250.000 - 5330.000 @ 80.000), (23.00), DFS, AUTO-BW - (5490.000 - 5670.000 @ 160.000), (23.00), DFS - -country EC: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -country EE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country EG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - -# Orden IET/787/2013, de 25 de abril, por la que se aprueba -# el cuadro nacional de atribución de frecuencias. -# http://www.boe.es/diario_boe/txt.php?id=BOE-A-2013-4845 -# -# more info at "Cuadro nacional de atribución de frecuencias (CNAF)": -# http://www.minetur.gob.es/telecomunicaciones/espectro/paginas/cnaf.aspx - -country ES: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW - (5470 - 5725 @ 160), (500 mW), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country ET: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country FI: DFS-ETSI - (2400 - 2483.5 @ 40), (20) - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW - (5470 - 5725 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country FM: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country FR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GB: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GD: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country GE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (18), AUTO-BW - (5250 - 5330 @ 80), (18), DFS, AUTO-BW - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country GH: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country GL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country GP: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country GR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country GT: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country GU: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -country GY: - (2402 - 2482 @ 40), (30) - (5735 - 5835 @ 80), (30) - -country HK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5710 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country HN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country HR: DFS-ETSI - (2400 - 2483.5 @ 40), (20) - (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW - (5470 - 5725 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country HT: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country HU: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country ID: DFS-JP - # ref: http://www.postel.go.id/content/ID/regulasi/standardisasi/kepdir/bwa%205,8%20ghz.pdf - (2402 - 2482 @ 20), (20) - (5735 - 5815 @ 20), (23) - -country IE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country IL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (200 mW), NO-OUTDOOR, DFS, AUTO-BW - -country IN: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country IR: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country IS: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country IT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country JM: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country JO: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23) - (5735 - 5835 @ 80), (23) - -country JP: DFS-JP - (2402 - 2482 @ 40), (20) - (2474 - 2494 @ 20), (20), NO-OFDM - (4910 - 4990 @ 40), (23) - (5030 - 5090 @ 40), (23) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (23), DFS - # 60 GHz band channels 2-4 at 10mW, - # ref: http://www.arib.or.jp/english/html/overview/doc/1-STD-T74v1_1.pdf - (59000 - 66000 @ 2160), (10 mW) - -country KE: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23) - (5490 - 5570 @ 80), (30), DFS - (5735 - 5775 @ 40), (23) - -country KH: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source -# http://ntrc.kn/?page_id=7 -country KN: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30), DFS - (5735 - 5815 @ 80), (30) - -country KP: DFS-JP - (2402 - 2482 @ 20), (20) - (5170 - 5250 @ 20), (20) - (5250 - 5330 @ 20), (20), DFS - (5490 - 5630 @ 20), (30), DFS - (5735 - 5815 @ 20), (30) - -country KR: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30), DFS - (5735 - 5835 @ 80), (30) - -country KW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -country KY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country KZ: - (2402 - 2482 @ 40), (20) - -country LB: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.ntrc.org.lc/operational_structures.htm -country LC: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30), DFS - (5735 - 5815 @ 80), (30) - -country LI: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country LK: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (24), DFS - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -# Source: -# http://lca.org.ls/images/documents/lesotho_national_frequency_allocation_plan.pdf -country LS: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country LT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country LU: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country LV: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country MA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -country MC: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://www.cnfr.md/index.php?pag=sec&id=117&l=en -country MD: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://www.cept.org/files/1050/Tools%20and%20Services/EFIS%20-%20ECO%20Frequency%20Information%20System/National%20frequency%20tables/Montenegro%20NAFT%20-%202010.pdf -country ME: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country MF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country MH: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country MN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MO: DFS-FCC - (2402 - 2482 @ 40), (23) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5490 - 5730 @ 160), (30), DFS - (5735 - 5835 @ 80), (30) - -country MP: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MQ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# http://www.are.mr/pdfs/telec_freq_TNAbf_2010.pdf -country MR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country MT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country MU: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.cam.gov.mv/docs/tech_standards/TAM-TS-100-2004-WLAN.pdf -country MV: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), AUTO-BW - (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW - (5725 - 5850 @ 80), (100 mW) - -country MW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country MX: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country MY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5650 @ 160), (24), DFS - (5735 - 5835 @ 80), (24) - -country NG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5250 - 5330 @ 80), (30), DFS - (5735 - 5835 @ 80), (30) - -country NI: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country NL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW - (5250 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Data from http://www.lovdata.no/dokument/SF/forskrift/2012-01-19-77 -# Power at 5250 - 5350 MHz, 5470 - 5725 MHz and 5815 – 5850 MHz can -# be doubled if TPC is implemented. -# Up to 2W (or 4W with TPC) is allowed in the 5725 – 5795 MHz band -# which has been merged with 5470 - 5725 MHz to allow wide channels -country NO: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), AUTO-BW - (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW - (5470 - 5795 @ 160), (500 mW), DFS - (5815 - 5850 @ 35), (2000 mW), DFS - (17100 - 17300 @ 200), (100 mW) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country NP: DFS-JP - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5735 - 5835 @ 80), (20) - -country NZ: DFS-ETSI - (2402 - 2482 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country OM: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country PA: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country PE: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country PG: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PH: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PK: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country PL: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country PM: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country PR: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country PW: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country PY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country QA: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -country RE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country RO: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - - -# Source: -# http://www.ratel.rs/upload/documents/Plan_namene/Plan_namene-sl_glasnik.pdf -country RS: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5350 @ 40), (200 mW), NO-OUTDOOR - (5470 - 5725 @ 20), (1000 mW), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country RU: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5650 - 5730 @ 80), (30), DFS - (5735 - 5835 @ 80), (30) - # 60 GHz band channels 1-4, ref: Changes to NLA 124_Order №129_22042015.pdf - (57000 - 66000 @ 2160), (40) - -country RW: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country SA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country SE: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country SG: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country SI: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country SK: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -# Source: -# Regulation N° 2004-005 ART/DG/DRC/D.Rég -country SN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country SR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country SV: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 20), (17) - (5250 - 5330 @ 20), (23), DFS - (5735 - 5835 @ 20), (30) - -country SY: - (2402 - 2482 @ 40), (20) - -# Source: -# http://www.telecommission.tc/Spectrum-plan20110324-101210.html -country TC: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country TD: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country TG: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - (5490 - 5710 @ 40), (27), DFS - -country TH: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country TN: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -country TR: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country TT: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# Table of Frequency Allocations of Republic of China (Taiwan) / Nov 2014: -# http://www.motc.gov.tw/websitedowndoc?file=post/201411171137330.doc& \ -# filedisplay=Table+of+radio+frequency+allocation.doc -# LP0002 Low-power Radio-frequency Devices Technical Regulations / 28 Jun 2011: -# http://www.ncc.gov.tw/english/show_file.aspx?table_name=news&file_sn=681 -# (section 3.10.1, 4.7) -country TW: DFS-FCC - (2400 - 2483.5 @ 40), (30) - # Follow US 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients - (5150 - 5250 @ 80), (23), AUTO-BW - (5250 - 5350 @ 80), (23), DFS, AUTO-BW - (5470 - 5725 @ 160), (23), DFS - (5725 - 5850 @ 80), (30) - -country TZ: - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -# Source: -# #914 / 06 Sep 2007: http://www.ucrf.gov.ua/uk/doc/nkrz/1196068874 -# #1174 / 23 Oct 2008: http://www.nkrz.gov.ua/uk/activities/ruling/1225269361 -# (appendix 8) -# Listed 5GHz range is a lowest common denominator for all related -# rules in the referenced laws. Such a range is used because of -# disputable definitions there. -country UA: DFS-ETSI - (2400 - 2483.5 @ 40), (20), NO-OUTDOOR - (5150 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW - (5250 - 5350 @ 80), (20), DFS, NO-OUTDOOR, AUTO-BW - (5490 - 5670 @ 160), (20), DFS - (5735 - 5835 @ 80), (20) - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - -country UG: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country US: DFS-FCC - (2402 - 2472 @ 40), (30) - # 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5490 - 5730 @ 160), (23), DFS - (5735 - 5835 @ 80), (30) - # 60g band - # reference: http://cfr.regstoday.com/47cfr15.aspx#47_CFR_15p255 - # channels 1,2,3, EIRP=40dBm(43dBm peak) - (57240 - 63720 @ 2160), (40) - -country UY: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -# Source: -# http://cemc.uz/article/1976/ -country UZ: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - -# Source: -# http://www.ntrc.vc/regulations/Jun_2006_Spectrum_Managment_Regulations.pdf -country VC: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -# Source: -# Official Gazette (Gaceta Oficial) concerning Unlicensed transmitter use -# (10 June 2013) -# http://www.conatel.gob.ve/ -country VE: DFS-FCC - (2402 - 2482 @ 40), (30) - (5170 - 5250 @ 80), (23), AUTO-BW - (5250 - 5330 @ 80), (23), DFS, AUTO-BW - (5735 - 5835 @ 80), (30) - -country VI: DFS-FCC - (2402 - 2472 @ 40), (30) - (5170 - 5250 @ 80), (24), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country VN: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17) - (5250 - 5330 @ 80), (24), DFS - (5490 - 5730 @ 80), (24), DFS - (5735 - 5835 @ 80), (30) - -# Source: -# http://www.trr.vu/attachments/category/130/GURL_for_Short-range_Radiocommunication_Devices2.pdf -country VU: DFS-FCC - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (17), AUTO-BW - (5250 - 5330 @ 80), (24), DFS, AUTO-BW - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -country WF: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country WS: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - (5490 - 5710 @ 40), (27), DFS - -country YE: - (2402 - 2482 @ 40), (20) - -country YT: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -country ZA: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (30) - -country ZW: DFS-ETSI - (2402 - 2482 @ 40), (20) - (5170 - 5250 @ 80), (20), AUTO-BW - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - diff --git a/feeds/rtkmipsel/mac80211/patches/000-fix_kconfig.patch b/feeds/rtkmipsel/mac80211/patches/000-fix_kconfig.patch deleted file mode 100644 index 3987aae4f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/000-fix_kconfig.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/kconf/Makefile -+++ b/kconf/Makefile -@@ -1,9 +1,9 @@ --CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -+CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS - - LXDIALOG := lxdialog/checklist.o lxdialog/inputbox.o lxdialog/menubox.o lxdialog/textbox.o lxdialog/util.o lxdialog/yesno.o - - conf: conf.o zconf.tab.o --mconf_CFLAGS := $(shell ./lxdialog/check-lxdialog.sh -ccflags) -DLOCALE -+mconf_CFLAGS := $(shell ./lxdialog/check-lxdialog.sh -ccflags) - mconf_LDFLAGS := $(shell ./lxdialog/check-lxdialog.sh -ldflags $(CC)) - mconf: CFLAGS += $(mconf_CFLAGS) - diff --git a/feeds/rtkmipsel/mac80211/patches/001-fix_build.patch b/feeds/rtkmipsel/mac80211/patches/001-fix_build.patch deleted file mode 100644 index 402649d2c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/001-fix_build.patch +++ /dev/null @@ -1,167 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -5,7 +5,7 @@ - ifeq ($(KERNELRELEASE),) - - MAKEFLAGS += --no-print-directory --SHELL := /bin/bash -+SHELL := /usr/bin/env bash - BACKPORT_DIR := $(shell pwd) - - KMODDIR ?= updates -@@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/ - KERNEL_CONFIG := $(KLIB_BUILD)/.config - KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile - CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//') -+STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5) - - export KLIB KLIB_BUILD BACKPORT_DIR KMODDIR KMODPATH_ARG - -@@ -36,7 +37,8 @@ mrproper: - @rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel - @rm -f backport-include/backport/autoconf.h - --.DEFAULT: -+.SILENT: $(STAMP_KERNEL_CONFIG) -+$(STAMP_KERNEL_CONFIG): - @set -e ; test -f .local-symbols || ( \ - echo "/--------------" ;\ - echo "| You shouldn't run make in the backports tree, but only in" ;\ -@@ -60,57 +62,61 @@ mrproper: - echo "| (that isn't currently running.)" ;\ - echo "\\--" ;\ - false) -- @set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ] ;\ -- then \ -- echo -n "Generating local configuration database from kernel ..." ;\ -- grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | ( \ -- while read l ; do \ -- if [ "$${l:0:7}" != "CONFIG_" ] ; then \ -- continue ;\ -- fi ;\ -- l=$${l:7} ;\ -- n=$${l%%=*} ;\ -- v=$${l#*=} ;\ -- if [ "$$v" = "m" ] ; then \ -- echo config $$n ;\ -- echo ' tristate' ;\ -- elif [ "$$v" = "y" ] ; then \ -- echo config $$n ;\ -- echo ' bool' ;\ -- else \ -- continue ;\ -- fi ;\ -- echo " default $$v" ;\ -- echo "" ;\ -- done \ -- ) > Kconfig.kernel ;\ -- kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \ -- sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\ -- test "$$kver" != "" || echo "Kernel version parse failed!" ;\ -- test "$$kver" != "" ;\ -- kvers="$$(seq 14 39 | sed 's/^/2.6./')" ;\ -- kvers="$$kvers $$(seq 0 19 | sed 's/^/3./')" ;\ -- kvers="$$kvers $$(seq 0 99 | sed 's/^/4./')" ;\ -- print=0 ;\ -- for v in $$kvers ; do \ -- if [ "$$print" = "1" ] ; then \ -- echo config KERNEL_$$(echo $$v | tr . _) ;\ -- echo " def_bool y" ;\ -- fi ;\ -- if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\ -- done > Kconfig.versions ;\ -- # RHEL as well, sadly we need to grep for it ;\ -- RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \ -- sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\ -- RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \ -- sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\ -- for v in $$(seq 0 $$RHEL_MINOR) ; do \ -- echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\ -- echo " def_bool y" ;\ -- done >> Kconfig.versions ;\ -- echo " done." ;\ -- fi ;\ -- echo "$(CONFIG_MD5)" > .kernel_config_md5 -+ @rm -f .kernel_config_md5_* -+ @touch $@ -+ -+Kconfig.kernel: $(STAMP_KERNEL_CONFIG) .local-symbols -+ @printf "Generating local configuration database from kernel ..." -+ @grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | ( \ -+ while read l ; do \ -+ if [ "$${l:0:7}" != "CONFIG_" ] ; then \ -+ continue ;\ -+ fi ;\ -+ l=$${l:7} ;\ -+ n=$${l%%=*} ;\ -+ v=$${l#*=} ;\ -+ if [ "$$v" = "m" ] ; then \ -+ echo config $$n ;\ -+ echo ' tristate' ;\ -+ elif [ "$$v" = "y" ] ; then \ -+ echo config $$n ;\ -+ echo ' bool' ;\ -+ else \ -+ continue ;\ -+ fi ;\ -+ echo " default $$v" ;\ -+ echo "" ;\ -+ done \ -+ ) > $@ -+ @echo " done." -+ -+Kconfig.versions: Kconfig.kernel -+ @kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \ -+ sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\ -+ test "$$kver" != "" || echo "Kernel version parse failed!" ;\ -+ test "$$kver" != "" ;\ -+ kvers="$$(seq 14 39 | sed 's/^/2.6./')" ;\ -+ kvers="$$kvers $$(seq 0 19 | sed 's/^/3./')" ;\ -+ kvers="$$kvers $$(seq 0 99 | sed 's/^/4./')" ;\ -+ print=0 ;\ -+ for v in $$kvers ; do \ -+ if [ "$$print" = "1" ] ; then \ -+ echo config KERNEL_$$(echo $$v | tr . _) ;\ -+ echo " def_bool y" ;\ -+ fi ;\ -+ if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\ -+ done > $@ -+ @RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \ -+ sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\ -+ RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \ -+ sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\ -+ for v in $$(seq 0 $$RHEL_MINOR) ; do \ -+ echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\ -+ echo " def_bool y" ;\ -+ done >> $@ -+ -+.DEFAULT: -+ @$(MAKE) Kconfig.versions - @$(MAKE) -f Makefile.real "$@" - - .PHONY: defconfig-help ---- a/Makefile.real -+++ b/Makefile.real -@@ -59,7 +59,7 @@ defconfig-%:: - - backport-include/backport/autoconf.h: .config Kconfig.versions Kconfig.kernel - @$(MAKE) oldconfig -- @echo -n "Building backport-include/backport/autoconf.h ..." -+ @printf "Building backport-include/backport/autoconf.h ..." - @grep -f .local-symbols .config | ( \ - echo "#ifndef COMPAT_AUTOCONF_INCLUDED" ;\ - echo "#define COMPAT_AUTOCONF_INCLUDED" ;\ -@@ -80,7 +80,12 @@ backport-include/backport/autoconf.h: .c - esac ;\ - done ;\ - echo "#endif /* COMPAT_AUTOCONF_INCLUDED */" ;\ -- ) > backport-include/backport/autoconf.h -+ ) > $@.new -+ @if cmp -s $@ $@.new; then \ -+ rm -f $@.new; \ -+ else \ -+ mv $@.new $@; \ -+ fi - @echo " done." - - .PHONY: modules diff --git a/feeds/rtkmipsel/mac80211/patches/002-change_allconfig.patch b/feeds/rtkmipsel/mac80211/patches/002-change_allconfig.patch deleted file mode 100644 index bd5bebfa4..000000000 --- a/feeds/rtkmipsel/mac80211/patches/002-change_allconfig.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- a/kconf/conf.c -+++ b/kconf/conf.c -@@ -593,40 +593,12 @@ int main(int ac, char **av) - case oldconfig: - case listnewconfig: - case olddefconfig: -- conf_read(NULL); -- break; - case allnoconfig: - case allyesconfig: - case allmodconfig: - case alldefconfig: - case randconfig: -- name = getenv("KCONFIG_ALLCONFIG"); -- if (!name) -- break; -- if ((strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) { -- if (conf_read_simple(name, S_DEF_USER)) { -- fprintf(stderr, -- _("*** Can't read seed configuration \"%s\"!\n"), -- name); -- exit(1); -- } -- break; -- } -- switch (input_mode) { -- case allnoconfig: name = "allno.config"; break; -- case allyesconfig: name = "allyes.config"; break; -- case allmodconfig: name = "allmod.config"; break; -- case alldefconfig: name = "alldef.config"; break; -- case randconfig: name = "allrandom.config"; break; -- default: break; -- } -- if (conf_read_simple(name, S_DEF_USER) && -- conf_read_simple("all.config", S_DEF_USER)) { -- fprintf(stderr, -- _("*** KCONFIG_ALLCONFIG set, but no \"%s\" or \"all.config\" file found\n"), -- name); -- exit(1); -- } -+ conf_read(NULL); - break; - default: - break; ---- a/kconf/confdata.c -+++ b/kconf/confdata.c -@@ -1169,6 +1169,8 @@ bool conf_set_all_new_symbols(enum conf_ - } - bool has_changed = false; - -+ sym_clear_all_valid(); -+ - for_all_symbols(i, sym) { - if (sym_has_value(sym) || (sym->flags & SYMBOL_VALID)) - continue; -@@ -1212,8 +1214,6 @@ bool conf_set_all_new_symbols(enum conf_ - - } - -- sym_clear_all_valid(); -- - /* - * We have different type of choice blocks. - * If curr.tri equals to mod then we can select several diff --git a/feeds/rtkmipsel/mac80211/patches/003-remove_bogus_modparams.patch b/feeds/rtkmipsel/mac80211/patches/003-remove_bogus_modparams.patch deleted file mode 100644 index 8fa465a7e..000000000 --- a/feeds/rtkmipsel/mac80211/patches/003-remove_bogus_modparams.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/compat/main.c -+++ b/compat/main.c -@@ -20,31 +20,6 @@ MODULE_LICENSE("GPL"); - #error "You need a CPTCFG_VERSION" - #endif - --static char *backported_kernel_name = CPTCFG_KERNEL_NAME; -- --module_param(backported_kernel_name, charp, 0400); --MODULE_PARM_DESC(backported_kernel_name, -- "The kernel tree name that was used for this backport (" CPTCFG_KERNEL_NAME ")"); -- --#ifdef BACKPORTS_GIT_TRACKED --static char *backports_tracker_id = BACKPORTS_GIT_TRACKED; --module_param(backports_tracker_id, charp, 0400); --MODULE_PARM_DESC(backports_tracker_id, -- "The version of the tree containing this backport (" BACKPORTS_GIT_TRACKED ")"); --#else --static char *backported_kernel_version = CPTCFG_KERNEL_VERSION; --static char *backports_version = CPTCFG_VERSION; -- --module_param(backported_kernel_version, charp, 0400); --MODULE_PARM_DESC(backported_kernel_version, -- "The kernel version that was used for this backport (" CPTCFG_KERNEL_VERSION ")"); -- --module_param(backports_version, charp, 0400); --MODULE_PARM_DESC(backports_version, -- "The git version of the backports tree used to generate this backport (" CPTCFG_VERSION ")"); -- --#endif -- - void backport_dependency_symbol(void) - { - } diff --git a/feeds/rtkmipsel/mac80211/patches/004-backports-add-skb_free_frag.patch b/feeds/rtkmipsel/mac80211/patches/004-backports-add-skb_free_frag.patch deleted file mode 100644 index 9adfd8f71..000000000 --- a/feeds/rtkmipsel/mac80211/patches/004-backports-add-skb_free_frag.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Felix Fietkau -Date: Thu, 28 Jan 2016 15:16:35 +0100 -Subject: [PATCH] backports: add skb_free_frag() - -Signed-off-by: Felix Fietkau ---- - ---- a/backport-include/linux/skbuff.h -+++ b/backport-include/linux/skbuff.h -@@ -300,4 +300,11 @@ int skb_ensure_writable(struct sk_buff * - - #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) */ - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) -+static inline void skb_free_frag(void *data) -+{ -+ put_page(virt_to_head_page(data)); -+} -+#endif -+ - #endif /* __BACKPORT_SKBUFF_H */ diff --git a/feeds/rtkmipsel/mac80211/patches/005-backports-add-napi_alloc_frag.patch b/feeds/rtkmipsel/mac80211/patches/005-backports-add-napi_alloc_frag.patch deleted file mode 100644 index 9b672a8d1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/005-backports-add-napi_alloc_frag.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Felix Fietkau -Date: Thu, 28 Jan 2016 15:19:22 +0100 -Subject: [PATCH] backports: add napi_alloc_frag - -Signed-off-by: Felix Fietkau ---- - ---- a/backport-include/linux/netdevice.h -+++ b/backport-include/linux/netdevice.h -@@ -232,6 +232,10 @@ static inline void backport_unregister_n - #define unregister_netdevice_many LINUX_BACKPORT(unregister_netdevice_many) - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) -+#define napi_alloc_frag netdev_alloc_frag -+#endif -+ - /* - * Complicated way of saying: We only backport netdev_rss_key stuff on kernels - * that either already have net_get_random_once() (>= 3.13) or where we've been diff --git a/feeds/rtkmipsel/mac80211/patches/010-disable_rfkill.patch b/feeds/rtkmipsel/mac80211/patches/010-disable_rfkill.patch deleted file mode 100644 index c5a92d6b4..000000000 --- a/feeds/rtkmipsel/mac80211/patches/010-disable_rfkill.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/backport-include/linux/rfkill.h -+++ b/backport-include/linux/rfkill.h -@@ -2,6 +2,10 @@ - #define __COMPAT_RFKILL_H - #include - -+#undef CONFIG_RFKILL -+#undef CONFIG_RFKILL_LEDS -+#undef CONFIG_RFKILL_MODULE -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) - #include_next - #else diff --git a/feeds/rtkmipsel/mac80211/patches/030-rt2x00_options.patch b/feeds/rtkmipsel/mac80211/patches/030-rt2x00_options.patch deleted file mode 100644 index a4ca8848c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/030-rt2x00_options.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/Kconfig -+++ b/drivers/net/wireless/ralink/rt2x00/Kconfig -@@ -225,36 +225,37 @@ config RT2800SOC - - - config RT2800_LIB -- tristate -+ tristate "RT2800 USB/PCI support" - depends on m - - config RT2800_LIB_MMIO -- tristate -+ tristate "RT2800 MMIO support" - depends on m - select RT2X00_LIB_MMIO - select RT2800_LIB - - config RT2X00_LIB_MMIO -- tristate -+ tristate "RT2x00 MMIO support" - depends on m - - config RT2X00_LIB_PCI -- tristate -+ tristate "RT2x00 PCI support" - depends on m - select RT2X00_LIB - - config RT2X00_LIB_SOC -- tristate -+ tristate "RT2x00 SoC support" -+ depends on SOC_RT288X || SOC_RT305X - depends on m - select RT2X00_LIB - - config RT2X00_LIB_USB -- tristate -+ tristate "RT2x00 USB support" - depends on m - select RT2X00_LIB - - config RT2X00_LIB -- tristate -+ tristate "RT2x00 support" - depends on m - - config RT2X00_LIB_FIRMWARE diff --git a/feeds/rtkmipsel/mac80211/patches/040-brcmutil_option.patch b/feeds/rtkmipsel/mac80211/patches/040-brcmutil_option.patch deleted file mode 100644 index 167332d91..000000000 --- a/feeds/rtkmipsel/mac80211/patches/040-brcmutil_option.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/drivers/net/wireless/broadcom/brcm80211/Kconfig -+++ b/drivers/net/wireless/broadcom/brcm80211/Kconfig -@@ -1,5 +1,5 @@ - config BRCMUTIL -- tristate -+ tristate "Broadcom 802.11 driver utility functions" - depends on m - - config BRCMSMAC diff --git a/feeds/rtkmipsel/mac80211/patches/050-lib80211_option.patch b/feeds/rtkmipsel/mac80211/patches/050-lib80211_option.patch deleted file mode 100644 index 3fc8c0520..000000000 --- a/feeds/rtkmipsel/mac80211/patches/050-lib80211_option.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/net/wireless/Kconfig -+++ b/net/wireless/Kconfig -@@ -171,7 +171,7 @@ config CFG80211_WEXT_EXPORT - wext compatibility symbols to be exported. - - config LIB80211 -- tristate -+ tristate "lib80211" - depends on m - default n - help -@@ -181,15 +181,15 @@ config LIB80211 - Drivers should select this themselves if needed. - - config LIB80211_CRYPT_WEP -- tristate -+ tristate "lib80211 WEP support" - depends on m - - config LIB80211_CRYPT_CCMP -- tristate -+ tristate "lib80211 CCMP support" - depends on m - - config LIB80211_CRYPT_TKIP -- tristate -+ tristate "lib80211 TKIP support" - depends on m - - config LIB80211_DEBUG diff --git a/feeds/rtkmipsel/mac80211/patches/060-no_local_ssb_bcma.patch b/feeds/rtkmipsel/mac80211/patches/060-no_local_ssb_bcma.patch deleted file mode 100644 index fd1e1cff3..000000000 --- a/feeds/rtkmipsel/mac80211/patches/060-no_local_ssb_bcma.patch +++ /dev/null @@ -1,131 +0,0 @@ ---- a/.local-symbols -+++ b/.local-symbols -@@ -476,44 +476,6 @@ USB_IPHETH= - USB_SIERRA_NET= - USB_VL600= - USB_NET_CH9200= --SSB_POSSIBLE= --SSB= --SSB_SPROM= --SSB_BLOCKIO= --SSB_PCIHOST_POSSIBLE= --SSB_PCIHOST= --SSB_B43_PCI_BRIDGE= --SSB_PCMCIAHOST_POSSIBLE= --SSB_PCMCIAHOST= --SSB_SDIOHOST_POSSIBLE= --SSB_SDIOHOST= --SSB_HOST_SOC= --SSB_SILENT= --SSB_DEBUG= --SSB_SERIAL= --SSB_DRIVER_PCICORE_POSSIBLE= --SSB_DRIVER_PCICORE= --SSB_PCICORE_HOSTMODE= --SSB_DRIVER_MIPS= --SSB_SFLASH= --SSB_EMBEDDED= --SSB_DRIVER_EXTIF= --SSB_DRIVER_GIGE= --SSB_DRIVER_GPIO= --BCMA_POSSIBLE= --BCMA= --BCMA_BLOCKIO= --BCMA_HOST_PCI_POSSIBLE= --BCMA_HOST_PCI= --BCMA_HOST_SOC= --BCMA_DRIVER_PCI= --BCMA_DRIVER_PCI_HOSTMODE= --BCMA_DRIVER_MIPS= --BCMA_SFLASH= --BCMA_NFLASH= --BCMA_DRIVER_GMAC_CMN= --BCMA_DRIVER_GPIO= --BCMA_DEBUG= - NFC= - NFC_DIGITAL= - NFC_NCI= ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -2866,7 +2866,7 @@ static struct ssb_device *b43_ssb_gpio_d - { - struct ssb_bus *bus = dev->dev->sdev->bus; - --#ifdef CPTCFG_SSB_DRIVER_PCICORE -+#ifdef CONFIG_SSB_DRIVER_PCICORE - return (bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev); - #else - return bus->chipco.dev; -@@ -4903,7 +4903,7 @@ static int b43_wireless_core_init(struct - } - if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW) - hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */ --#if defined(CPTCFG_B43_SSB) && defined(CPTCFG_SSB_DRIVER_PCICORE) -+#if defined(CPTCFG_B43_SSB) && defined(CONFIG_SSB_DRIVER_PCICORE) - if (dev->dev->bus_type == B43_BUS_SSB && - dev->dev->sdev->bus->bustype == SSB_BUSTYPE_PCI && - dev->dev->sdev->bus->pcicore.dev->id.revision <= 10) ---- a/drivers/net/wireless/broadcom/b43legacy/main.c -+++ b/drivers/net/wireless/broadcom/b43legacy/main.c -@@ -1937,7 +1937,7 @@ static int b43legacy_gpio_init(struct b4 - if (dev->dev->id.revision >= 2) - mask |= 0x0010; /* FIXME: This is redundant. */ - --#ifdef CPTCFG_SSB_DRIVER_PCICORE -+#ifdef CONFIG_SSB_DRIVER_PCICORE - pcidev = bus->pcicore.dev; - #endif - gpiodev = bus->chipco.dev ? : pcidev; -@@ -1956,7 +1956,7 @@ static void b43legacy_gpio_cleanup(struc - struct ssb_bus *bus = dev->dev->bus; - struct ssb_device *gpiodev, *pcidev = NULL; - --#ifdef CPTCFG_SSB_DRIVER_PCICORE -+#ifdef CONFIG_SSB_DRIVER_PCICORE - pcidev = bus->pcicore.dev; - #endif - gpiodev = bus->chipco.dev ? : pcidev; ---- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/Makefile -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/Makefile -@@ -43,6 +43,6 @@ brcmsmac-y := \ - brcms_trace_events.o \ - debug.o - --brcmsmac-$(CPTCFG_BCMA_DRIVER_GPIO) += led.o -+brcmsmac-$(CONFIG_BCMA_DRIVER_GPIO) += led.o - - obj-$(CPTCFG_BRCMSMAC) += brcmsmac.o ---- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h -@@ -22,7 +22,7 @@ struct brcms_led { - bool active_low; - }; - --#ifdef CPTCFG_BCMA_DRIVER_GPIO -+#ifdef CONFIG_BCMA_DRIVER_GPIO - void brcms_led_unregister(struct brcms_info *wl); - int brcms_led_register(struct brcms_info *wl); - #else ---- a/Kconfig.sources -+++ b/Kconfig.sources -@@ -9,9 +9,6 @@ source "$BACKPORT_DIR/drivers/net/wirele - source "$BACKPORT_DIR/drivers/net/ethernet/Kconfig" - source "$BACKPORT_DIR/drivers/net/usb/Kconfig" - --source "$BACKPORT_DIR/drivers/ssb/Kconfig" --source "$BACKPORT_DIR/drivers/bcma/Kconfig" -- - source "$BACKPORT_DIR/net/nfc/Kconfig" - - source "$BACKPORT_DIR/drivers/media/Kconfig" ---- a/Makefile.kernel -+++ b/Makefile.kernel -@@ -38,8 +38,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/ - obj-$(CPTCFG_WLAN) += drivers/net/wireless/ - obj-$(CPTCFG_BT) += net/bluetooth/ - obj-$(CPTCFG_BT) += drivers/bluetooth/ --obj-$(CPTCFG_SSB) += drivers/ssb/ --obj-$(CPTCFG_BCMA) += drivers/bcma/ - obj-$(CPTCFG_ETHERNET) += drivers/net/ethernet/ - obj-$(CPTCFG_USB_NET_RNDIS_WLAN) += drivers/net/usb/ - obj-$(CPTCFG_NFC) += net/nfc/ diff --git a/feeds/rtkmipsel/mac80211/patches/070-ath_common_config.patch b/feeds/rtkmipsel/mac80211/patches/070-ath_common_config.patch deleted file mode 100644 index 41774fe53..000000000 --- a/feeds/rtkmipsel/mac80211/patches/070-ath_common_config.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/drivers/net/wireless/ath/Kconfig -+++ b/drivers/net/wireless/ath/Kconfig -@@ -1,5 +1,5 @@ - config ATH_COMMON -- tristate -+ tristate "ath.ko" - depends on m - - config WLAN_VENDOR_ATH diff --git a/feeds/rtkmipsel/mac80211/patches/080-disable_clk_backport.patch b/feeds/rtkmipsel/mac80211/patches/080-disable_clk_backport.patch deleted file mode 100644 index 3765591eb..000000000 --- a/feeds/rtkmipsel/mac80211/patches/080-disable_clk_backport.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/compat/compat-3.6.c -+++ b/compat/compat-3.6.c -@@ -147,17 +147,3 @@ int sg_alloc_table_from_pages(struct sg_ - return 0; - } - EXPORT_SYMBOL_GPL(sg_alloc_table_from_pages); -- --/* whoopsie ! */ --#ifndef CONFIG_COMMON_CLK --int clk_enable(struct clk *clk) --{ -- return 0; --} --EXPORT_SYMBOL_GPL(clk_enable); -- --void clk_disable(struct clk *clk) --{ --} --EXPORT_SYMBOL_GPL(clk_disable); --#endif diff --git a/feeds/rtkmipsel/mac80211/patches/100-remove-cryptoapi-dependencies.patch b/feeds/rtkmipsel/mac80211/patches/100-remove-cryptoapi-dependencies.patch deleted file mode 100644 index 02f46c778..000000000 --- a/feeds/rtkmipsel/mac80211/patches/100-remove-cryptoapi-dependencies.patch +++ /dev/null @@ -1,376 +0,0 @@ ---- a/net/mac80211/Kconfig -+++ b/net/mac80211/Kconfig -@@ -5,8 +5,6 @@ config MAC80211 - depends on CRYPTO - depends on CRYPTO_ARC4 - depends on CRYPTO_AES -- select BPAUTO_CRYPTO_CCM -- depends on CRYPTO_GCM - depends on CRC32 - ---help--- - This option enables the hardware independent IEEE 802.11 ---- a/net/mac80211/Makefile -+++ b/net/mac80211/Makefile -@@ -16,9 +16,7 @@ mac80211-y := \ - michael.o \ - tkip.o \ - aes_ccm.o \ -- aes_gcm.o \ - aes_cmac.o \ -- aes_gmac.o \ - cfg.o \ - ethtool.o \ - rx.o \ ---- a/net/mac80211/aes_ccm.c -+++ b/net/mac80211/aes_ccm.c -@@ -13,89 +13,132 @@ - #include - #include - #include -+#include - - #include - #include "key.h" - #include "aes_ccm.h" - --void ieee80211_aes_ccm_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, -- u8 *data, size_t data_len, u8 *mic, -- size_t mic_len) -+static void aes_ccm_prepare(struct crypto_cipher *tfm, u8 *b_0, u8 *aad, u8 *s_0, -+ u8 *a, u8 *b) - { -- struct scatterlist sg[3]; -+ int i; -+ -+ crypto_cipher_encrypt_one(tfm, b, b_0); -+ -+ /* Extra Authenticate-only data (always two AES blocks) */ -+ for (i = 0; i < AES_BLOCK_SIZE; i++) -+ aad[i] ^= b[i]; -+ crypto_cipher_encrypt_one(tfm, b, aad); -+ -+ aad += AES_BLOCK_SIZE; -+ -+ for (i = 0; i < AES_BLOCK_SIZE; i++) -+ aad[i] ^= b[i]; -+ crypto_cipher_encrypt_one(tfm, a, aad); - -- char aead_req_data[sizeof(struct aead_request) + -- crypto_aead_reqsize(tfm)] -- __aligned(__alignof__(struct aead_request)); -- struct aead_request *aead_req = (void *) aead_req_data; -+ /* Mask out bits from auth-only-b_0 */ -+ b_0[0] &= 0x07; - -- memset(aead_req, 0, sizeof(aead_req_data)); -+ /* S_0 is used to encrypt T (= MIC) */ -+ b_0[14] = 0; -+ b_0[15] = 0; -+ crypto_cipher_encrypt_one(tfm, s_0, b_0); -+} - -- sg_init_table(sg, 3); -- sg_set_buf(&sg[0], &aad[2], be16_to_cpup((__be16 *)aad)); -- sg_set_buf(&sg[1], data, data_len); -- sg_set_buf(&sg[2], mic, mic_len); - -- aead_request_set_tfm(aead_req, tfm); -- aead_request_set_crypt(aead_req, sg, sg, data_len, b_0); -- aead_request_set_ad(aead_req, sg[0].length); -+void ieee80211_aes_ccm_encrypt(struct crypto_cipher *tfm, u8 *b_0, u8 *aad, -+ u8 *data, size_t data_len, u8 *mic, -+ size_t mic_len) -+{ -+ int i, j, last_len, num_blocks; -+ u8 b[AES_BLOCK_SIZE]; -+ u8 s_0[AES_BLOCK_SIZE]; -+ u8 e[AES_BLOCK_SIZE]; -+ u8 *pos, *cpos; -+ -+ num_blocks = DIV_ROUND_UP(data_len, AES_BLOCK_SIZE); -+ last_len = data_len % AES_BLOCK_SIZE; -+ aes_ccm_prepare(tfm, b_0, aad, s_0, b, b); -+ -+ /* Process payload blocks */ -+ pos = data; -+ cpos = data; -+ for (j = 1; j <= num_blocks; j++) { -+ int blen = (j == num_blocks && last_len) ? -+ last_len : AES_BLOCK_SIZE; -+ -+ /* Authentication followed by encryption */ -+ for (i = 0; i < blen; i++) -+ b[i] ^= pos[i]; -+ crypto_cipher_encrypt_one(tfm, b, b); -+ -+ b_0[14] = (j >> 8) & 0xff; -+ b_0[15] = j & 0xff; -+ crypto_cipher_encrypt_one(tfm, e, b_0); -+ for (i = 0; i < blen; i++) -+ *cpos++ = *pos++ ^ e[i]; -+ } - -- crypto_aead_encrypt(aead_req); -+ for (i = 0; i < mic_len; i++) -+ mic[i] = b[i] ^ s_0[i]; - } - --int ieee80211_aes_ccm_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, -+int ieee80211_aes_ccm_decrypt(struct crypto_cipher *tfm, u8 *b_0, u8 *aad, - u8 *data, size_t data_len, u8 *mic, - size_t mic_len) - { -- struct scatterlist sg[3]; -- char aead_req_data[sizeof(struct aead_request) + -- crypto_aead_reqsize(tfm)] -- __aligned(__alignof__(struct aead_request)); -- struct aead_request *aead_req = (void *) aead_req_data; -- -- if (data_len == 0) -- return -EINVAL; -- -- memset(aead_req, 0, sizeof(aead_req_data)); -- -- sg_init_table(sg, 3); -- sg_set_buf(&sg[0], &aad[2], be16_to_cpup((__be16 *)aad)); -- sg_set_buf(&sg[1], data, data_len); -- sg_set_buf(&sg[2], mic, mic_len); -- -- aead_request_set_tfm(aead_req, tfm); -- aead_request_set_crypt(aead_req, sg, sg, data_len + mic_len, b_0); -- aead_request_set_ad(aead_req, sg[0].length); -+ int i, j, last_len, num_blocks; -+ u8 *pos, *cpos; -+ u8 a[AES_BLOCK_SIZE]; -+ u8 b[AES_BLOCK_SIZE]; -+ u8 s_0[AES_BLOCK_SIZE]; -+ -+ num_blocks = DIV_ROUND_UP(data_len, AES_BLOCK_SIZE); -+ last_len = data_len % AES_BLOCK_SIZE; -+ aes_ccm_prepare(tfm, b_0, aad, s_0, a, b); -+ -+ /* Process payload blocks */ -+ cpos = data; -+ pos = data; -+ for (j = 1; j <= num_blocks; j++) { -+ int blen = (j == num_blocks && last_len) ? -+ last_len : AES_BLOCK_SIZE; -+ -+ /* Decryption followed by authentication */ -+ b_0[14] = (j >> 8) & 0xff; -+ b_0[15] = j & 0xff; -+ crypto_cipher_encrypt_one(tfm, b, b_0); -+ for (i = 0; i < blen; i++) { -+ *pos = *cpos++ ^ b[i]; -+ a[i] ^= *pos++; -+ } -+ crypto_cipher_encrypt_one(tfm, a, a); -+ } -+ -+ for (i = 0; i < mic_len; i++) { -+ if ((mic[i] ^ s_0[i]) != a[i]) -+ return -1; -+ } - -- return crypto_aead_decrypt(aead_req); -+ return 0; - } - --struct crypto_aead *ieee80211_aes_key_setup_encrypt(const u8 key[], -- size_t key_len, -- size_t mic_len) -+struct crypto_cipher *ieee80211_aes_key_setup_encrypt(const u8 key[], -+ size_t key_len, -+ size_t mic_len) - { -- struct crypto_aead *tfm; -- int err; -+ struct crypto_cipher *tfm; - -- tfm = crypto_alloc_aead("ccm(aes)", 0, CRYPTO_ALG_ASYNC); -- if (IS_ERR(tfm)) -- return tfm; -- -- err = crypto_aead_setkey(tfm, key, key_len); -- if (err) -- goto free_aead; -- err = crypto_aead_setauthsize(tfm, mic_len); -- if (err) -- goto free_aead; -+ tfm = crypto_alloc_cipher("aes", 0, CRYPTO_ALG_ASYNC); -+ if (!IS_ERR(tfm)) -+ crypto_cipher_setkey(tfm, key, key_len); - - return tfm; -- --free_aead: -- crypto_free_aead(tfm); -- return ERR_PTR(err); - } - --void ieee80211_aes_key_free(struct crypto_aead *tfm) -+ -+void ieee80211_aes_key_free(struct crypto_cipher *tfm) - { -- crypto_free_aead(tfm); -+ crypto_free_cipher(tfm); - } ---- a/net/mac80211/aes_ccm.h -+++ b/net/mac80211/aes_ccm.h -@@ -12,15 +12,15 @@ - - #include - --struct crypto_aead *ieee80211_aes_key_setup_encrypt(const u8 key[], -- size_t key_len, -- size_t mic_len); --void ieee80211_aes_ccm_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, -+struct crypto_cipher *ieee80211_aes_key_setup_encrypt(const u8 key[], -+ size_t key_len, -+ size_t mic_len); -+void ieee80211_aes_ccm_encrypt(struct crypto_cipher *tfm, u8 *b_0, u8 *aad, - u8 *data, size_t data_len, u8 *mic, - size_t mic_len); --int ieee80211_aes_ccm_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, -+int ieee80211_aes_ccm_decrypt(struct crypto_cipher *tfm, u8 *b_0, u8 *aad, - u8 *data, size_t data_len, u8 *mic, - size_t mic_len); --void ieee80211_aes_key_free(struct crypto_aead *tfm); -+void ieee80211_aes_key_free(struct crypto_cipher *tfm); - - #endif /* AES_CCM_H */ ---- a/net/mac80211/aes_gcm.h -+++ b/net/mac80211/aes_gcm.h -@@ -11,12 +11,28 @@ - - #include - --void ieee80211_aes_gcm_encrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad, -- u8 *data, size_t data_len, u8 *mic); --int ieee80211_aes_gcm_decrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad, -- u8 *data, size_t data_len, u8 *mic); --struct crypto_aead *ieee80211_aes_gcm_key_setup_encrypt(const u8 key[], -- size_t key_len); --void ieee80211_aes_gcm_key_free(struct crypto_aead *tfm); -+static inline void -+ieee80211_aes_gcm_encrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad, -+ u8 *data, size_t data_len, u8 *mic) -+{ -+} -+ -+static inline int -+ieee80211_aes_gcm_decrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad, -+ u8 *data, size_t data_len, u8 *mic) -+{ -+ return -EOPNOTSUPP; -+} -+ -+static inline struct crypto_aead * -+ieee80211_aes_gcm_key_setup_encrypt(const u8 key[], size_t key_len) -+{ -+ return NULL; -+} -+ -+static inline void -+ieee80211_aes_gcm_key_free(struct crypto_aead *tfm) -+{ -+} - - #endif /* AES_GCM_H */ ---- a/net/mac80211/aes_gmac.h -+++ b/net/mac80211/aes_gmac.h -@@ -11,10 +11,22 @@ - - #include - --struct crypto_aead *ieee80211_aes_gmac_key_setup(const u8 key[], -- size_t key_len); --int ieee80211_aes_gmac(struct crypto_aead *tfm, const u8 *aad, u8 *nonce, -- const u8 *data, size_t data_len, u8 *mic); --void ieee80211_aes_gmac_key_free(struct crypto_aead *tfm); -+static inline struct crypto_aead * -+ieee80211_aes_gmac_key_setup(const u8 key[], size_t key_len) -+{ -+ return NULL; -+} -+ -+static inline int -+ieee80211_aes_gmac(struct crypto_aead *tfm, const u8 *aad, u8 *nonce, -+ const u8 *data, size_t data_len, u8 *mic) -+{ -+ return -EOPNOTSUPP; -+} -+ -+static inline void -+ieee80211_aes_gmac_key_free(struct crypto_aead *tfm) -+{ -+} - - #endif /* AES_GMAC_H */ ---- a/net/mac80211/key.h -+++ b/net/mac80211/key.h -@@ -84,7 +84,7 @@ struct ieee80211_key { - * Management frames. - */ - u8 rx_pn[IEEE80211_NUM_TIDS + 1][IEEE80211_CCMP_PN_LEN]; -- struct crypto_aead *tfm; -+ struct crypto_cipher *tfm; - u32 replays; /* dot11RSNAStatsCCMPReplays */ - } ccmp; - struct { ---- a/net/mac80211/wpa.c -+++ b/net/mac80211/wpa.c -@@ -307,7 +307,8 @@ ieee80211_crypto_tkip_decrypt(struct iee - } - - --static void ccmp_special_blocks(struct sk_buff *skb, u8 *pn, u8 *b_0, u8 *aad) -+static void ccmp_special_blocks(struct sk_buff *skb, u8 *pn, u8 *b_0, u8 *aad, -+ u16 data_len) - { - __le16 mask_fc; - int a4_included, mgmt; -@@ -337,14 +338,8 @@ static void ccmp_special_blocks(struct s - else - qos_tid = 0; - -- /* In CCM, the initial vectors (IV) used for CTR mode encryption and CBC -- * mode authentication are not allowed to collide, yet both are derived -- * from this vector b_0. We only set L := 1 here to indicate that the -- * data size can be represented in (L+1) bytes. The CCM layer will take -- * care of storing the data length in the top (L+1) bytes and setting -- * and clearing the other bits as is required to derive the two IVs. -- */ -- b_0[0] = 0x1; -+ /* First block, b_0 */ -+ b_0[0] = 0x59; /* flags: Adata: 1, M: 011, L: 001 */ - - /* Nonce: Nonce Flags | A2 | PN - * Nonce Flags: Priority (b0..b3) | Management (b4) | Reserved (b5..b7) -@@ -352,6 +347,8 @@ static void ccmp_special_blocks(struct s - b_0[1] = qos_tid | (mgmt << 4); - memcpy(&b_0[2], hdr->addr2, ETH_ALEN); - memcpy(&b_0[8], pn, IEEE80211_CCMP_PN_LEN); -+ /* l(m) */ -+ put_unaligned_be16(data_len, &b_0[14]); - - /* AAD (extra authenticate-only data) / masked 802.11 header - * FC | A1 | A2 | A3 | SC | [A4] | [QC] */ -@@ -463,7 +460,7 @@ static int ccmp_encrypt_skb(struct ieee8 - return 0; - - pos += IEEE80211_CCMP_HDR_LEN; -- ccmp_special_blocks(skb, pn, b_0, aad); -+ ccmp_special_blocks(skb, pn, b_0, aad, len); - ieee80211_aes_ccm_encrypt(key->u.ccmp.tfm, b_0, aad, pos, len, - skb_put(skb, mic_len), mic_len); - -@@ -534,7 +531,7 @@ ieee80211_crypto_ccmp_decrypt(struct iee - u8 aad[2 * AES_BLOCK_SIZE]; - u8 b_0[AES_BLOCK_SIZE]; - /* hardware didn't decrypt/verify MIC */ -- ccmp_special_blocks(skb, pn, b_0, aad); -+ ccmp_special_blocks(skb, pn, b_0, aad, data_len); - - if (ieee80211_aes_ccm_decrypt( - key->u.ccmp.tfm, b_0, aad, diff --git a/feeds/rtkmipsel/mac80211/patches/110-mac80211_keep_keys_on_stop_ap.patch b/feeds/rtkmipsel/mac80211/patches/110-mac80211_keep_keys_on_stop_ap.patch deleted file mode 100644 index d1d9fbd9b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/110-mac80211_keep_keys_on_stop_ap.patch +++ /dev/null @@ -1,12 +0,0 @@ -Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects - ---- a/net/mac80211/cfg.c -+++ b/net/mac80211/cfg.c -@@ -846,7 +846,6 @@ static int ieee80211_stop_ap(struct wiph - sdata->u.ap.driver_smps_mode = IEEE80211_SMPS_OFF; - - __sta_info_flush(sdata, true); -- ieee80211_free_keys(sdata, true); - - sdata->vif.bss_conf.enable_beacon = false; - sdata->vif.bss_conf.ssid_len = 0; diff --git a/feeds/rtkmipsel/mac80211/patches/120-cfg80211_allow_perm_addr_change.patch b/feeds/rtkmipsel/mac80211/patches/120-cfg80211_allow_perm_addr_change.patch deleted file mode 100644 index ffd8807cc..000000000 --- a/feeds/rtkmipsel/mac80211/patches/120-cfg80211_allow_perm_addr_change.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- a/net/wireless/sysfs.c -+++ b/net/wireless/sysfs.c -@@ -24,18 +24,35 @@ static inline struct cfg80211_registered - return container_of(dev, struct cfg80211_registered_device, wiphy.dev); - } - --#define SHOW_FMT(name, fmt, member) \ -+#define SHOW_FMT(name, fmt, member, mode) \ - static ssize_t name ## _show(struct device *dev, \ - struct device_attribute *attr, \ - char *buf) \ - { \ - return sprintf(buf, fmt "\n", dev_to_rdev(dev)->member); \ - } \ --static DEVICE_ATTR_RO(name) -+static DEVICE_ATTR_##mode(name) - --SHOW_FMT(index, "%d", wiphy_idx); --SHOW_FMT(macaddress, "%pM", wiphy.perm_addr); --SHOW_FMT(address_mask, "%pM", wiphy.addr_mask); -+static ssize_t macaddress_store(struct device *dev, -+ struct device_attribute *attr, -+ const char *buf, size_t len) -+{ -+ u8 mac[ETH_ALEN]; -+ -+ if (!mac_pton(buf, mac)) -+ return -EINVAL; -+ -+ if (buf[3 * ETH_ALEN - 1] && buf[3 * ETH_ALEN - 1] != '\n') -+ return -EINVAL; -+ -+ memcpy(dev_to_rdev(dev)->wiphy.perm_addr, mac, ETH_ALEN); -+ -+ return strnlen(buf, len); -+} -+ -+SHOW_FMT(index, "%d", wiphy_idx, RO); -+SHOW_FMT(macaddress, "%pM", wiphy.perm_addr, RW); -+SHOW_FMT(address_mask, "%pM", wiphy.addr_mask, RO); - - static ssize_t name_show(struct device *dev, - struct device_attribute *attr, diff --git a/feeds/rtkmipsel/mac80211/patches/150-disable_addr_notifier.patch b/feeds/rtkmipsel/mac80211/patches/150-disable_addr_notifier.patch deleted file mode 100644 index 2855a88af..000000000 --- a/feeds/rtkmipsel/mac80211/patches/150-disable_addr_notifier.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- a/net/mac80211/main.c -+++ b/net/mac80211/main.c -@@ -291,7 +291,7 @@ void ieee80211_restart_hw(struct ieee802 - } - EXPORT_SYMBOL(ieee80211_restart_hw); - --#ifdef CONFIG_INET -+#ifdef __disabled__CONFIG_INET - static int ieee80211_ifa_changed(struct notifier_block *nb, - unsigned long data, void *arg) - { -@@ -350,7 +350,7 @@ static int ieee80211_ifa_changed(struct - } - #endif - --#if IS_ENABLED(CONFIG_IPV6) -+#if IS_ENABLED(__disabled__CONFIG_IPV6) - static int ieee80211_ifa6_changed(struct notifier_block *nb, - unsigned long data, void *arg) - { -@@ -1087,14 +1087,14 @@ int ieee80211_register_hw(struct ieee802 - - rtnl_unlock(); - --#ifdef CONFIG_INET -+#ifdef __disabled__CONFIG_INET - local->ifa_notifier.notifier_call = ieee80211_ifa_changed; - result = register_inetaddr_notifier(&local->ifa_notifier); - if (result) - goto fail_ifa; - #endif - --#if IS_ENABLED(CONFIG_IPV6) -+#if IS_ENABLED(__disabled__CONFIG_IPV6) - local->ifa6_notifier.notifier_call = ieee80211_ifa6_changed; - result = register_inet6addr_notifier(&local->ifa6_notifier); - if (result) -@@ -1103,13 +1103,13 @@ int ieee80211_register_hw(struct ieee802 - - return 0; - --#if IS_ENABLED(CONFIG_IPV6) -+#if IS_ENABLED(__disabled__CONFIG_IPV6) - fail_ifa6: --#ifdef CONFIG_INET -+#ifdef __disabled__CONFIG_INET - unregister_inetaddr_notifier(&local->ifa_notifier); - #endif - #endif --#if defined(CONFIG_INET) || defined(CONFIG_IPV6) -+#if defined(__disabled__CONFIG_INET) || defined(__disabled__CONFIG_IPV6) - fail_ifa: - #endif - rtnl_lock(); -@@ -1137,10 +1137,10 @@ void ieee80211_unregister_hw(struct ieee - tasklet_kill(&local->tx_pending_tasklet); - tasklet_kill(&local->tasklet); - --#ifdef CONFIG_INET -+#ifdef __disabled__CONFIG_INET - unregister_inetaddr_notifier(&local->ifa_notifier); - #endif --#if IS_ENABLED(CONFIG_IPV6) -+#if IS_ENABLED(__disabled__CONFIG_IPV6) - unregister_inet6addr_notifier(&local->ifa6_notifier); - #endif - diff --git a/feeds/rtkmipsel/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch b/feeds/rtkmipsel/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch deleted file mode 100644 index 21516ffde..000000000 --- a/feeds/rtkmipsel/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/drivers/net/wireless/ath/ath5k/initvals.c -+++ b/drivers/net/wireless/ath/ath5k/initvals.c -@@ -62,8 +62,14 @@ static const struct ath5k_ini ar5210_ini - { AR5K_IMR, 0 }, - { AR5K_IER, AR5K_IER_DISABLE }, - { AR5K_BSR, 0, AR5K_INI_READ }, -+#if !defined(CONFIG_ATHEROS_AR71XX) && !defined(CONFIG_ATH79) - { AR5K_TXCFG, AR5K_DMASIZE_128B }, - { AR5K_RXCFG, AR5K_DMASIZE_128B }, -+#else -+ /* WAR for AR71xx PCI bug */ -+ { AR5K_TXCFG, AR5K_DMASIZE_128B }, -+ { AR5K_RXCFG, AR5K_DMASIZE_4B }, -+#endif - { AR5K_CFG, AR5K_INIT_CFG }, - { AR5K_TOPS, 8 }, - { AR5K_RXNOFRM, 8 }, ---- a/drivers/net/wireless/ath/ath5k/dma.c -+++ b/drivers/net/wireless/ath/ath5k/dma.c -@@ -869,10 +869,18 @@ ath5k_hw_dma_init(struct ath5k_hw *ah) - * guess we can tweak it and see how it goes ;-) - */ - if (ah->ah_version != AR5K_AR5210) { -+#if !defined(CONFIG_ATHEROS_AR71XX) && !defined(CONFIG_ATH79) - AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG, - AR5K_TXCFG_SDMAMR, AR5K_DMASIZE_128B); - AR5K_REG_WRITE_BITS(ah, AR5K_RXCFG, - AR5K_RXCFG_SDMAMW, AR5K_DMASIZE_128B); -+#else -+ /* WAR for AR71xx PCI bug */ -+ AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG, -+ AR5K_TXCFG_SDMAMR, AR5K_DMASIZE_128B); -+ AR5K_REG_WRITE_BITS(ah, AR5K_RXCFG, -+ AR5K_RXCFG_SDMAMW, AR5K_DMASIZE_4B); -+#endif - } - - /* Pre-enable interrupts on 5211/5212*/ diff --git a/feeds/rtkmipsel/mac80211/patches/210-ap_scan.patch b/feeds/rtkmipsel/mac80211/patches/210-ap_scan.patch deleted file mode 100644 index a99cbd2be..000000000 --- a/feeds/rtkmipsel/mac80211/patches/210-ap_scan.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/net/mac80211/cfg.c -+++ b/net/mac80211/cfg.c -@@ -1999,7 +1999,7 @@ static int ieee80211_scan(struct wiphy * - * the frames sent while scanning on other channel will be - * lost) - */ -- if (sdata->u.ap.beacon && -+ if (0 && sdata->u.ap.beacon && - (!(wiphy->features & NL80211_FEATURE_AP_SCAN) || - !(req->flags & NL80211_SCAN_FLAG_AP))) - return -EOPNOTSUPP; diff --git a/feeds/rtkmipsel/mac80211/patches/300-ath9k-force-rx_clear-when-disabling-rx.patch b/feeds/rtkmipsel/mac80211/patches/300-ath9k-force-rx_clear-when-disabling-rx.patch deleted file mode 100644 index bddb15ad1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/300-ath9k-force-rx_clear-when-disabling-rx.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Felix Fietkau -Date: Sun, 7 Jun 2015 13:53:35 +0200 -Subject: [PATCH] ath9k: force rx_clear when disabling rx - -This makes stopping Rx more reliable and should reduce the frequency of -Rx related DMA stop warnings - -Cc: stable@vger.kernel.org -Signed-off-by: Felix Fietkau ---- - ---- a/drivers/net/wireless/ath/ath9k/mac.c -+++ b/drivers/net/wireless/ath/ath9k/mac.c -@@ -677,13 +677,15 @@ void ath9k_hw_startpcureceive(struct ath - - ath9k_ani_reset(ah, is_scanning); - -- REG_CLR_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT)); -+ REG_CLR_BIT(ah, AR_DIAG_SW, -+ AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT | AR_DIAG_FORCE_RX_CLEAR); - } - EXPORT_SYMBOL(ath9k_hw_startpcureceive); - - void ath9k_hw_abortpcurecv(struct ath_hw *ah) - { -- REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_RX_ABORT | AR_DIAG_RX_DIS); -+ REG_SET_BIT(ah, AR_DIAG_SW, -+ AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT | AR_DIAG_FORCE_RX_CLEAR); - - ath9k_hw_disable_mib_counters(ah); - } diff --git a/feeds/rtkmipsel/mac80211/patches/301-ath9k-limit-retries-for-powersave-response-frames.patch b/feeds/rtkmipsel/mac80211/patches/301-ath9k-limit-retries-for-powersave-response-frames.patch deleted file mode 100644 index a160dc4f0..000000000 --- a/feeds/rtkmipsel/mac80211/patches/301-ath9k-limit-retries-for-powersave-response-frames.patch +++ /dev/null @@ -1,121 +0,0 @@ -From: Felix Fietkau -Date: Thu, 2 Jul 2015 15:20:56 +0200 -Subject: [PATCH] ath9k: limit retries for powersave response frames - -In some cases, the channel might be busy enough that an ath9k AP's -response to PS-Poll frames might be too slow and the station has already -gone to sleep. To avoid wasting too much airtime on this, limit the -number of retries on such frames and ensure that no sample rate gets -used. - -Signed-off-by: Felix Fietkau ---- - ---- a/drivers/net/wireless/ath/ath9k/xmit.c -+++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -136,10 +136,25 @@ static void ath_send_bar(struct ath_atx_ - } - - static void ath_set_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta, -- struct ath_buf *bf) -+ struct ath_buf *bf, bool ps) - { -+ struct ieee80211_tx_info *info = IEEE80211_SKB_CB(bf->bf_mpdu); -+ -+ if (ps) { -+ /* Clear the first rate to avoid using a sample rate for PS frames */ -+ info->control.rates[0].idx = -1; -+ info->control.rates[0].count = 0; -+ } -+ - ieee80211_get_tx_rates(vif, sta, bf->bf_mpdu, bf->rates, - ARRAY_SIZE(bf->rates)); -+ if (!ps) -+ return; -+ -+ if (bf->rates[0].count > 2) -+ bf->rates[0].count = 2; -+ -+ bf->rates[1].idx = -1; - } - - static void ath_txq_skb_done(struct ath_softc *sc, struct ath_txq *txq, -@@ -1419,7 +1434,7 @@ ath_tx_form_burst(struct ath_softc *sc, - if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) - break; - -- ath_set_rates(tid->an->vif, tid->an->sta, bf); -+ ath_set_rates(tid->an->vif, tid->an->sta, bf, false); - } while (1); - } - -@@ -1450,7 +1465,7 @@ static bool ath_tx_sched_aggr(struct ath - return false; - } - -- ath_set_rates(tid->an->vif, tid->an->sta, bf); -+ ath_set_rates(tid->an->vif, tid->an->sta, bf, false); - if (aggr) - last = ath_tx_form_aggr(sc, txq, tid, &bf_q, bf, - tid_q, &aggr_len); -@@ -1647,7 +1662,7 @@ void ath9k_release_buffered_frames(struc - - __skb_unlink(bf->bf_mpdu, tid_q); - list_add_tail(&bf->list, &bf_q); -- ath_set_rates(tid->an->vif, tid->an->sta, bf); -+ ath_set_rates(tid->an->vif, tid->an->sta, bf, true); - if (bf_isampdu(bf)) { - ath_tx_addto_baw(sc, tid, bf); - bf->bf_state.bf_type &= ~BUF_AGGR; -@@ -2293,7 +2308,7 @@ int ath_tx_start(struct ieee80211_hw *hw - struct ath_txq *txq = txctl->txq; - struct ath_atx_tid *tid = NULL; - struct ath_buf *bf; -- bool queue, skip_uapsd = false, ps_resp; -+ bool queue, ps_resp; - int q, ret; - - if (vif) -@@ -2346,13 +2361,13 @@ int ath_tx_start(struct ieee80211_hw *hw - if (!txctl->an) - txctl->an = &avp->mcast_node; - queue = true; -- skip_uapsd = true; -+ ps_resp = false; - } - - if (txctl->an && queue) - tid = ath_get_skb_tid(sc, txctl->an, skb); - -- if (!skip_uapsd && ps_resp) { -+ if (ps_resp) { - ath_txq_unlock(sc, txq); - txq = sc->tx.uapsdq; - ath_txq_lock(sc, txq); -@@ -2390,7 +2405,7 @@ int ath_tx_start(struct ieee80211_hw *hw - if (txctl->paprd) - bf->bf_state.bfs_paprd_timestamp = jiffies; - -- ath_set_rates(vif, sta, bf); -+ ath_set_rates(vif, sta, bf, ps_resp); - ath_tx_send_normal(sc, txq, tid, skb); - - out: -@@ -2429,7 +2444,7 @@ void ath_tx_cabq(struct ieee80211_hw *hw - break; - - bf->bf_lastbf = bf; -- ath_set_rates(vif, NULL, bf); -+ ath_set_rates(vif, NULL, bf, false); - ath_buf_set_rate(sc, bf, &info, fi->framelen, false); - duration += info.rates[0].PktDuration; - if (bf_tail) -@@ -2932,7 +2947,7 @@ int ath9k_tx99_send(struct ath_softc *sc - return -EINVAL; - } - -- ath_set_rates(sc->tx99_vif, NULL, bf); -+ ath_set_rates(sc->tx99_vif, NULL, bf, false); - - ath9k_hw_set_desc_link(sc->sc_ah, bf->bf_desc, bf->bf_daddr); - ath9k_hw_tx99_start(sc->sc_ah, txctl->txq->axq_qnum); diff --git a/feeds/rtkmipsel/mac80211/patches/302-ath9k_hw-add-low-power-tx-gain-table-for-AR953x.patch b/feeds/rtkmipsel/mac80211/patches/302-ath9k_hw-add-low-power-tx-gain-table-for-AR953x.patch deleted file mode 100644 index 22b987aa7..000000000 --- a/feeds/rtkmipsel/mac80211/patches/302-ath9k_hw-add-low-power-tx-gain-table-for-AR953x.patch +++ /dev/null @@ -1,95 +0,0 @@ -From: Felix Fietkau -Date: Thu, 14 Jan 2016 03:14:03 +0100 -Subject: [PATCH] ath9k_hw: add low power tx gain table for AR953x - -Used in some newer TP-Link AR9533 devices. - -Signed-off-by: Felix Fietkau ---- - ---- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c -+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c -@@ -698,6 +698,9 @@ static void ar9003_tx_gain_table_mode2(s - else if (AR_SREV_9340(ah)) - INIT_INI_ARRAY(&ah->iniModesTxGain, - ar9340Modes_low_ob_db_tx_gain_table_1p0); -+ else if (AR_SREV_9531_11(ah)) -+ INIT_INI_ARRAY(&ah->iniModesTxGain, -+ qca953x_1p1_modes_no_xpa_low_power_tx_gain_table); - else if (AR_SREV_9485_11_OR_LATER(ah)) - INIT_INI_ARRAY(&ah->iniModesTxGain, - ar9485Modes_low_ob_db_tx_gain_1_1); ---- a/drivers/net/wireless/ath/ath9k/ar953x_initvals.h -+++ b/drivers/net/wireless/ath/ath9k/ar953x_initvals.h -@@ -757,6 +757,71 @@ static const u32 qca953x_1p1_modes_xpa_t - {0x00016448, 0x6c927a70}, - }; - -+static const u32 qca953x_1p1_modes_no_xpa_low_power_tx_gain_table[][2] = { -+ /* Addr allmodes */ -+ {0x0000a2dc, 0xfff55592}, -+ {0x0000a2e0, 0xfff99924}, -+ {0x0000a2e4, 0xfffe1e00}, -+ {0x0000a2e8, 0xffffe000}, -+ {0x0000a410, 0x000050d6}, -+ {0x0000a500, 0x00000069}, -+ {0x0000a504, 0x0400006b}, -+ {0x0000a508, 0x0800006d}, -+ {0x0000a50c, 0x0c000269}, -+ {0x0000a510, 0x1000026b}, -+ {0x0000a514, 0x1400026d}, -+ {0x0000a518, 0x18000669}, -+ {0x0000a51c, 0x1c00066b}, -+ {0x0000a520, 0x1d000a68}, -+ {0x0000a524, 0x21000a6a}, -+ {0x0000a528, 0x25000a6c}, -+ {0x0000a52c, 0x29000a6e}, -+ {0x0000a530, 0x2d0012a9}, -+ {0x0000a534, 0x310012ab}, -+ {0x0000a538, 0x350012ad}, -+ {0x0000a53c, 0x39001b0a}, -+ {0x0000a540, 0x3d001b0c}, -+ {0x0000a544, 0x41001b0e}, -+ {0x0000a548, 0x43001bae}, -+ {0x0000a54c, 0x45001914}, -+ {0x0000a550, 0x47001916}, -+ {0x0000a554, 0x49001b96}, -+ {0x0000a558, 0x49001b96}, -+ {0x0000a55c, 0x49001b96}, -+ {0x0000a560, 0x49001b96}, -+ {0x0000a564, 0x49001b96}, -+ {0x0000a568, 0x49001b96}, -+ {0x0000a56c, 0x49001b96}, -+ {0x0000a570, 0x49001b96}, -+ {0x0000a574, 0x49001b96}, -+ {0x0000a578, 0x49001b96}, -+ {0x0000a57c, 0x49001b96}, -+ {0x0000a600, 0x00000000}, -+ {0x0000a604, 0x00000000}, -+ {0x0000a608, 0x00000000}, -+ {0x0000a60c, 0x00000000}, -+ {0x0000a610, 0x00000000}, -+ {0x0000a614, 0x00000000}, -+ {0x0000a618, 0x00804201}, -+ {0x0000a61c, 0x01408201}, -+ {0x0000a620, 0x01408502}, -+ {0x0000a624, 0x01408502}, -+ {0x0000a628, 0x01408502}, -+ {0x0000a62c, 0x01408502}, -+ {0x0000a630, 0x01408502}, -+ {0x0000a634, 0x01408502}, -+ {0x0000a638, 0x01408502}, -+ {0x0000a63c, 0x01408502}, -+ {0x0000b2dc, 0xfff55592}, -+ {0x0000b2e0, 0xfff99924}, -+ {0x0000b2e4, 0xfffe1e00}, -+ {0x0000b2e8, 0xffffe000}, -+ {0x00016044, 0x044922db}, -+ {0x00016048, 0x6c927a70}, -+ {0x00016444, 0x044922db}, -+ {0x00016448, 0x6c927a70}, -+}; -+ - static const u32 qca953x_2p0_baseband_core[][2] = { - /* Addr allmodes */ - {0x00009800, 0xafe68e30}, diff --git a/feeds/rtkmipsel/mac80211/patches/303-rt2x00-fix-monitor-mode-regression.patch b/feeds/rtkmipsel/mac80211/patches/303-rt2x00-fix-monitor-mode-regression.patch deleted file mode 100644 index 7bb74353e..000000000 --- a/feeds/rtkmipsel/mac80211/patches/303-rt2x00-fix-monitor-mode-regression.patch +++ /dev/null @@ -1,156 +0,0 @@ -From: Eli Cooper -Date: Thu, 14 Jan 2016 00:07:12 +0800 -Subject: [PATCH] rt2x00: fix monitor mode regression - -Since commit df1404650ccbfeb76a84f301f22316be0d00a864 monitor mode for rt2x00 -has been made effectively useless because the hardware filter is configured to -drop packets whose intended recipient is not the device, regardless of the -presence of monitor mode interfaces. - -This patch fixes this regression by adding explicit monitor mode support, and -configuring the hardware filter accordingly. - -Signed-off-by: Eli Cooper ---- - ---- a/drivers/net/wireless/ralink/rt2x00/rt2400pci.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2400pci.c -@@ -273,8 +273,10 @@ static void rt2400pci_config_filter(stru - !(filter_flags & FIF_PLCPFAIL)); - rt2x00_set_field32(®, RXCSR0_DROP_CONTROL, - !(filter_flags & FIF_CONTROL)); -- rt2x00_set_field32(®, RXCSR0_DROP_NOT_TO_ME, 1); -+ rt2x00_set_field32(®, RXCSR0_DROP_NOT_TO_ME, -+ !rt2x00dev->is_monitoring); - rt2x00_set_field32(®, RXCSR0_DROP_TODS, -+ !rt2x00dev->is_monitoring && - !rt2x00dev->intf_ap_count); - rt2x00_set_field32(®, RXCSR0_DROP_VERSION_ERROR, 1); - rt2x00mmio_register_write(rt2x00dev, RXCSR0, reg); ---- a/drivers/net/wireless/ralink/rt2x00/rt2500pci.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2500pci.c -@@ -274,8 +274,10 @@ static void rt2500pci_config_filter(stru - !(filter_flags & FIF_PLCPFAIL)); - rt2x00_set_field32(®, RXCSR0_DROP_CONTROL, - !(filter_flags & FIF_CONTROL)); -- rt2x00_set_field32(®, RXCSR0_DROP_NOT_TO_ME, 1); -+ rt2x00_set_field32(®, RXCSR0_DROP_NOT_TO_ME, -+ !rt2x00dev->is_monitoring); - rt2x00_set_field32(®, RXCSR0_DROP_TODS, -+ !rt2x00dev->is_monitoring && - !rt2x00dev->intf_ap_count); - rt2x00_set_field32(®, RXCSR0_DROP_VERSION_ERROR, 1); - rt2x00_set_field32(®, RXCSR0_DROP_MCAST, ---- a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c -@@ -437,8 +437,10 @@ static void rt2500usb_config_filter(stru - !(filter_flags & FIF_PLCPFAIL)); - rt2x00_set_field16(®, TXRX_CSR2_DROP_CONTROL, - !(filter_flags & FIF_CONTROL)); -- rt2x00_set_field16(®, TXRX_CSR2_DROP_NOT_TO_ME, 1); -+ rt2x00_set_field16(®, TXRX_CSR2_DROP_NOT_TO_ME, -+ !rt2x00dev->is_monitoring); - rt2x00_set_field16(®, TXRX_CSR2_DROP_TODS, -+ !rt2x00dev->is_monitoring && - !rt2x00dev->intf_ap_count); - rt2x00_set_field16(®, TXRX_CSR2_DROP_VERSION_ERROR, 1); - rt2x00_set_field16(®, TXRX_CSR2_DROP_MULTICAST, ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -1490,7 +1490,8 @@ void rt2800_config_filter(struct rt2x00_ - !(filter_flags & FIF_FCSFAIL)); - rt2x00_set_field32(®, RX_FILTER_CFG_DROP_PHY_ERROR, - !(filter_flags & FIF_PLCPFAIL)); -- rt2x00_set_field32(®, RX_FILTER_CFG_DROP_NOT_TO_ME, 1); -+ rt2x00_set_field32(®, RX_FILTER_CFG_DROP_NOT_TO_ME, -+ !rt2x00dev->is_monitoring); - rt2x00_set_field32(®, RX_FILTER_CFG_DROP_NOT_MY_BSSD, 0); - rt2x00_set_field32(®, RX_FILTER_CFG_DROP_VER_ERROR, 1); - rt2x00_set_field32(®, RX_FILTER_CFG_DROP_MULTICAST, ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -844,11 +844,13 @@ struct rt2x00_dev { - * - Open sta interface count. - * - Association count. - * - Beaconing enabled count. -+ * - Whether the device is monitoring. - */ - unsigned int intf_ap_count; - unsigned int intf_sta_count; - unsigned int intf_associated; - unsigned int intf_beaconing; -+ bool is_monitoring; - - /* - * Interface combinations ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00config.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00config.c -@@ -244,6 +244,16 @@ void rt2x00lib_config(struct rt2x00_dev - (ieee80211_flags & IEEE80211_CONF_CHANGE_PS)) - cancel_delayed_work_sync(&rt2x00dev->autowakeup_work); - -+ if (ieee80211_flags & IEEE80211_CONF_CHANGE_MONITOR) { -+ if (conf->flags & IEEE80211_CONF_MONITOR) { -+ rt2x00_dbg(rt2x00dev, "Monitor mode is enabled\n"); -+ rt2x00dev->is_monitoring = true; -+ } else { -+ rt2x00_dbg(rt2x00dev, "Monitor mode is disabled\n"); -+ rt2x00dev->is_monitoring = false; -+ } -+ } -+ - /* - * Start configuration. - */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1204,6 +1204,7 @@ int rt2x00lib_start(struct rt2x00_dev *r - rt2x00dev->intf_ap_count = 0; - rt2x00dev->intf_sta_count = 0; - rt2x00dev->intf_associated = 0; -+ rt2x00dev->is_monitoring = false; - - /* Enable the radio */ - retval = rt2x00lib_enable_radio(rt2x00dev); ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c -@@ -385,11 +385,6 @@ void rt2x00mac_configure_filter(struct i - *total_flags |= FIF_PSPOLL; - } - -- /* -- * Check if there is any work left for us. -- */ -- if (rt2x00dev->packet_filter == *total_flags) -- return; - rt2x00dev->packet_filter = *total_flags; - - rt2x00dev->ops->lib->config_filter(rt2x00dev, *total_flags); ---- a/drivers/net/wireless/ralink/rt2x00/rt61pci.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt61pci.c -@@ -530,8 +530,10 @@ static void rt61pci_config_filter(struct - !(filter_flags & FIF_PLCPFAIL)); - rt2x00_set_field32(®, TXRX_CSR0_DROP_CONTROL, - !(filter_flags & (FIF_CONTROL | FIF_PSPOLL))); -- rt2x00_set_field32(®, TXRX_CSR0_DROP_NOT_TO_ME, 1); -+ rt2x00_set_field32(®, TXRX_CSR0_DROP_NOT_TO_ME, -+ !rt2x00dev->is_monitoring); - rt2x00_set_field32(®, TXRX_CSR0_DROP_TO_DS, -+ !rt2x00dev->is_monitoring && - !rt2x00dev->intf_ap_count); - rt2x00_set_field32(®, TXRX_CSR0_DROP_VERSION_ERROR, 1); - rt2x00_set_field32(®, TXRX_CSR0_DROP_MULTICAST, ---- a/drivers/net/wireless/ralink/rt2x00/rt73usb.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt73usb.c -@@ -480,8 +480,10 @@ static void rt73usb_config_filter(struct - !(filter_flags & FIF_PLCPFAIL)); - rt2x00_set_field32(®, TXRX_CSR0_DROP_CONTROL, - !(filter_flags & (FIF_CONTROL | FIF_PSPOLL))); -- rt2x00_set_field32(®, TXRX_CSR0_DROP_NOT_TO_ME, 1); -+ rt2x00_set_field32(®, TXRX_CSR0_DROP_NOT_TO_ME, -+ !rt2x00dev->is_monitoring); - rt2x00_set_field32(®, TXRX_CSR0_DROP_TO_DS, -+ !rt2x00dev->is_monitoring && - !rt2x00dev->intf_ap_count); - rt2x00_set_field32(®, TXRX_CSR0_DROP_VERSION_ERROR, 1); - rt2x00_set_field32(®, TXRX_CSR0_DROP_MULTICAST, diff --git a/feeds/rtkmipsel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch b/feeds/rtkmipsel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch deleted file mode 100644 index 049059aa2..000000000 --- a/feeds/rtkmipsel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Miaoqing Pan -Date: Fri, 15 Jan 2016 18:17:17 +0800 -Subject: [PATCH] ath9k: avoid ANI restart if no trigger - -Fixes commit 54da20d83f0e ("ath9k_hw: improve ANI processing and rx desensitizing parameters") - -Call ath9k_ani_restart() only when the phy error rate reach the -ANI immunity threshold. Sync the logic with internal code base. - -Signed-off-by: Miaoqing Pan ---- - ---- a/drivers/net/wireless/ath/ath9k/ani.c -+++ b/drivers/net/wireless/ath/ath9k/ani.c -@@ -444,14 +444,16 @@ void ath9k_hw_ani_monitor(struct ath_hw - ofdmPhyErrRate < ah->config.ofdm_trig_low) { - ath9k_hw_ani_lower_immunity(ah); - aniState->ofdmsTurn = !aniState->ofdmsTurn; -+ ath9k_ani_restart(ah); - } else if (ofdmPhyErrRate > ah->config.ofdm_trig_high) { - ath9k_hw_ani_ofdm_err_trigger(ah); - aniState->ofdmsTurn = false; -+ ath9k_ani_restart(ah); - } else if (cckPhyErrRate > ah->config.cck_trig_high) { - ath9k_hw_ani_cck_err_trigger(ah); - aniState->ofdmsTurn = true; -+ ath9k_ani_restart(ah); - } -- ath9k_ani_restart(ah); - } - } - EXPORT_SYMBOL(ath9k_hw_ani_monitor); diff --git a/feeds/rtkmipsel/mac80211/patches/305-ath9k-clean-up-ANI-per-channel-pointer-checking.patch b/feeds/rtkmipsel/mac80211/patches/305-ath9k-clean-up-ANI-per-channel-pointer-checking.patch deleted file mode 100644 index a1ac67c82..000000000 --- a/feeds/rtkmipsel/mac80211/patches/305-ath9k-clean-up-ANI-per-channel-pointer-checking.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Miaoqing Pan -Date: Fri, 15 Jan 2016 18:17:18 +0800 -Subject: [PATCH] ath9k: clean up ANI per-channel pointer checking - -commit c24bd3620c50 ("ath9k: Do not maintain ANI state per-channel") -removed per-channel handling, the code to check 'curchan' also -should be removed as never used. - -Signed-off-by: Miaoqing Pan ---- - ---- a/drivers/net/wireless/ath/ath9k/ani.c -+++ b/drivers/net/wireless/ath/ath9k/ani.c -@@ -126,12 +126,8 @@ static void ath9k_hw_update_mibstats(str - - static void ath9k_ani_restart(struct ath_hw *ah) - { -- struct ar5416AniState *aniState; -- -- if (!ah->curchan) -- return; -+ struct ar5416AniState *aniState = &ah->ani; - -- aniState = &ah->ani; - aniState->listenTime = 0; - - ENABLE_REGWRITE_BUFFER(ah); -@@ -221,12 +217,7 @@ static void ath9k_hw_set_ofdm_nil(struct - - static void ath9k_hw_ani_ofdm_err_trigger(struct ath_hw *ah) - { -- struct ar5416AniState *aniState; -- -- if (!ah->curchan) -- return; -- -- aniState = &ah->ani; -+ struct ar5416AniState *aniState = &ah->ani; - - if (aniState->ofdmNoiseImmunityLevel < ATH9K_ANI_OFDM_MAX_LEVEL) - ath9k_hw_set_ofdm_nil(ah, aniState->ofdmNoiseImmunityLevel + 1, false); -@@ -281,12 +272,7 @@ static void ath9k_hw_set_cck_nil(struct - - static void ath9k_hw_ani_cck_err_trigger(struct ath_hw *ah) - { -- struct ar5416AniState *aniState; -- -- if (!ah->curchan) -- return; -- -- aniState = &ah->ani; -+ struct ar5416AniState *aniState = &ah->ani; - - if (aniState->cckNoiseImmunityLevel < ATH9K_ANI_CCK_MAX_LEVEL) - ath9k_hw_set_cck_nil(ah, aniState->cckNoiseImmunityLevel + 1, -@@ -299,9 +285,7 @@ static void ath9k_hw_ani_cck_err_trigger - */ - static void ath9k_hw_ani_lower_immunity(struct ath_hw *ah) - { -- struct ar5416AniState *aniState; -- -- aniState = &ah->ani; -+ struct ar5416AniState *aniState = &ah->ani; - - /* lower OFDM noise immunity */ - if (aniState->ofdmNoiseImmunityLevel > 0 && -@@ -329,7 +313,7 @@ void ath9k_ani_reset(struct ath_hw *ah, - struct ath_common *common = ath9k_hw_common(ah); - int ofdm_nil, cck_nil; - -- if (!ah->curchan) -+ if (!chan) - return; - - BUG_ON(aniState == NULL); -@@ -416,14 +400,10 @@ static bool ath9k_hw_ani_read_counters(s - - void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan) - { -- struct ar5416AniState *aniState; -+ struct ar5416AniState *aniState = &ah->ani; - struct ath_common *common = ath9k_hw_common(ah); - u32 ofdmPhyErrRate, cckPhyErrRate; - -- if (!ah->curchan) -- return; -- -- aniState = &ah->ani; - if (!ath9k_hw_ani_read_counters(ah)) - return; - diff --git a/feeds/rtkmipsel/mac80211/patches/306-ath9k-do-not-reset-while-BB-panic-0x4000409-on-ar956.patch b/feeds/rtkmipsel/mac80211/patches/306-ath9k-do-not-reset-while-BB-panic-0x4000409-on-ar956.patch deleted file mode 100644 index cf8194aa3..000000000 --- a/feeds/rtkmipsel/mac80211/patches/306-ath9k-do-not-reset-while-BB-panic-0x4000409-on-ar956.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Miaoqing Pan -Date: Fri, 15 Jan 2016 18:17:19 +0800 -Subject: [PATCH] ath9k: do not reset while BB panic(0x4000409) on ar9561 - -BB panic(0x4000409) observed while AP enabling/disabling -bursting. - -Signed-off-by: Miaoqing Pan ---- - ---- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c -+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c -@@ -2071,7 +2071,8 @@ void ar9003_hw_attach_phy_ops(struct ath - * to be disabled. - * - * 0x04000409: Packet stuck on receive. -- * Full chip reset is required for all chips except AR9340. -+ * Full chip reset is required for all chips except -+ * AR9340, AR9531 and AR9561. - */ - - /* -@@ -2100,7 +2101,7 @@ bool ar9003_hw_bb_watchdog_check(struct - case 0x04000b09: - return true; - case 0x04000409: -- if (AR_SREV_9340(ah) || AR_SREV_9531(ah)) -+ if (AR_SREV_9340(ah) || AR_SREV_9531(ah) || AR_SREV_9561(ah)) - return false; - else - return true; diff --git a/feeds/rtkmipsel/mac80211/patches/307-ath9k-fix-inconsistent-use-of-tab-and-space-in-inden.patch b/feeds/rtkmipsel/mac80211/patches/307-ath9k-fix-inconsistent-use-of-tab-and-space-in-inden.patch deleted file mode 100644 index 80b781ca5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/307-ath9k-fix-inconsistent-use-of-tab-and-space-in-inden.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Miaoqing Pan -Date: Fri, 15 Jan 2016 18:17:20 +0800 -Subject: [PATCH] ath9k: fix inconsistent use of tab and space in - indentation - -Minor changes for indenting. - -Signed-off-by: Miaoqing Pan ---- - ---- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c -+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c -@@ -5485,11 +5485,11 @@ unsigned int ar9003_get_paprd_scale_fact - AR9300_PAPRD_SCALE_1); - else { - if (chan->channel >= 5700) -- return MS(le32_to_cpu(eep->modalHeader5G.papdRateMaskHt20), -- AR9300_PAPRD_SCALE_1); -+ return MS(le32_to_cpu(eep->modalHeader5G.papdRateMaskHt20), -+ AR9300_PAPRD_SCALE_1); - else if (chan->channel >= 5400) - return MS(le32_to_cpu(eep->modalHeader5G.papdRateMaskHt40), -- AR9300_PAPRD_SCALE_2); -+ AR9300_PAPRD_SCALE_2); - else - return MS(le32_to_cpu(eep->modalHeader5G.papdRateMaskHt40), - AR9300_PAPRD_SCALE_1); diff --git a/feeds/rtkmipsel/mac80211/patches/308-ath9k-fix-data-bus-error-on-ar9300-and-ar9580.patch b/feeds/rtkmipsel/mac80211/patches/308-ath9k-fix-data-bus-error-on-ar9300-and-ar9580.patch deleted file mode 100644 index d4088664b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/308-ath9k-fix-data-bus-error-on-ar9300-and-ar9580.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: Miaoqing Pan -Date: Fri, 15 Jan 2016 18:17:21 +0800 -Subject: [PATCH] ath9k: fix data bus error on ar9300 and ar9580 - -One crash issue be found on ar9300: RTC_RC reg read leads crash, leading -the data bus error, due to RTC_RC reg write not happen properly. - -Warm Reset trigger in continuous beacon stuck for one of the customer for -other chip, noticed the MAC was stuck in RTC reset. After analysis noticed -DMA did not complete when RTC was put in reset. - -So, before resetting the MAC need to make sure there are no pending DMA -transactions because this reset does not reset all parts of the chip. - -The 12th and 11th bit of MAC _DMA_CFG register used to do that. - 12 cfg_halt_ack 0x0 - 0 DMA has not yet halted - 1 DMA has halted - 11 cfg_halt_req 0x0 - 0 DMA logic operates normally - 1 Request DMA logic to stop so software can reset the MAC - -The Bit [12] of this register indicates when the halt has taken effect or -not. the DMA halt IS NOT recoverable; once software sets bit [11] to -request a DMA halt, software must wait for bit [12] to be set and reset -the MAC. - -So, the same thing we implemented for ar9580 chip. - -Signed-off-by: Miaoqing Pan ---- - ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -1368,6 +1368,16 @@ static bool ath9k_hw_set_reset(struct at - if (ath9k_hw_mci_is_enabled(ah)) - ar9003_mci_check_gpm_offset(ah); - -+ /* DMA HALT added to resolve ar9300 and ar9580 bus error during -+ * RTC_RC reg read -+ */ -+ if (AR_SREV_9300(ah) || AR_SREV_9580(ah)) { -+ REG_SET_BIT(ah, AR_CFG, AR_CFG_HALT_REQ); -+ ath9k_hw_wait(ah, AR_CFG, AR_CFG_HALT_ACK, AR_CFG_HALT_ACK, -+ 20 * AH_WAIT_TIMEOUT); -+ REG_CLR_BIT(ah, AR_CFG, AR_CFG_HALT_REQ); -+ } -+ - REG_WRITE(ah, AR_RTC_RC, rst_flags); - - REGWRITE_BUFFER_FLUSH(ah); ---- a/drivers/net/wireless/ath/ath9k/reg.h -+++ b/drivers/net/wireless/ath/ath9k/reg.h -@@ -34,8 +34,10 @@ - #define AR_CFG_SWRG 0x00000010 - #define AR_CFG_AP_ADHOC_INDICATION 0x00000020 - #define AR_CFG_PHOK 0x00000100 --#define AR_CFG_CLK_GATE_DIS 0x00000400 - #define AR_CFG_EEBS 0x00000200 -+#define AR_CFG_CLK_GATE_DIS 0x00000400 -+#define AR_CFG_HALT_REQ 0x00000800 -+#define AR_CFG_HALT_ACK 0x00001000 - #define AR_CFG_PCI_MASTER_REQ_Q_THRESH 0x00060000 - #define AR_CFG_PCI_MASTER_REQ_Q_THRESH_S 17 - diff --git a/feeds/rtkmipsel/mac80211/patches/309-01-brcmfmac-add-missing-include.patch b/feeds/rtkmipsel/mac80211/patches/309-01-brcmfmac-add-missing-include.patch deleted file mode 100644 index d9511c8d5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/309-01-brcmfmac-add-missing-include.patch +++ /dev/null @@ -1,19 +0,0 @@ -From: Felix Fietkau -Date: Fri, 15 Jan 2016 15:59:45 +0100 -Subject: [PATCH] brcmfmac: add missing include - -linux/module.h is required for defining module parameters - -Signed-off-by: Felix Fietkau ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - #include "core.h" diff --git a/feeds/rtkmipsel/mac80211/patches/309-02-brcmfmac-fix-sdio-sg-table-alloc-crash.patch b/feeds/rtkmipsel/mac80211/patches/309-02-brcmfmac-fix-sdio-sg-table-alloc-crash.patch deleted file mode 100644 index 711e019e2..000000000 --- a/feeds/rtkmipsel/mac80211/patches/309-02-brcmfmac-fix-sdio-sg-table-alloc-crash.patch +++ /dev/null @@ -1,118 +0,0 @@ -From: Hante Meuleman -Date: Tue, 19 Jan 2016 12:39:24 +0100 -Subject: [PATCH] brcmfmac: fix sdio sg table alloc crash - -With commit 7d34b0560567 ("brcmfmac: Move all module parameters to -one place") a bug was introduced causing a null pointer exception. -This patch fixes the bug by initializing the sg table till after -the settings have been initialized. - -Fixes: 7d34b0560567 ("brcmfmac: Move all module parameters to one place") -Reported-by: Marc Zyngier -Tested-by: Marc Zyngier -Reviewed-by: Arend Van Spriel -Reviewed-by: Franky (Zhenhui) Lin -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c -@@ -879,11 +879,24 @@ int brcmf_sdiod_abort(struct brcmf_sdio_ - return 0; - } - --static void brcmf_sdiod_sgtable_alloc(struct brcmf_sdio_dev *sdiodev) -+void brcmf_sdiod_sgtable_alloc(struct brcmf_sdio_dev *sdiodev) - { -+ struct sdio_func *func; -+ struct mmc_host *host; -+ uint max_blocks; - uint nents; - int err; - -+ func = sdiodev->func[2]; -+ host = func->card->host; -+ sdiodev->sg_support = host->max_segs > 1; -+ max_blocks = min_t(uint, host->max_blk_count, 511u); -+ sdiodev->max_request_size = min_t(uint, host->max_req_size, -+ max_blocks * func->cur_blksize); -+ sdiodev->max_segment_count = min_t(uint, host->max_segs, -+ SG_MAX_SINGLE_ALLOC); -+ sdiodev->max_segment_size = host->max_seg_size; -+ - if (!sdiodev->sg_support) - return; - -@@ -1021,9 +1034,6 @@ static void brcmf_sdiod_host_fixup(struc - - static int brcmf_sdiod_probe(struct brcmf_sdio_dev *sdiodev) - { -- struct sdio_func *func; -- struct mmc_host *host; -- uint max_blocks; - int ret = 0; - - sdiodev->num_funcs = 2; -@@ -1054,26 +1064,6 @@ static int brcmf_sdiod_probe(struct brcm - goto out; - } - -- /* -- * determine host related variables after brcmf_sdiod_probe() -- * as func->cur_blksize is properly set and F2 init has been -- * completed successfully. -- */ -- func = sdiodev->func[2]; -- host = func->card->host; -- sdiodev->sg_support = host->max_segs > 1; -- max_blocks = min_t(uint, host->max_blk_count, 511u); -- sdiodev->max_request_size = min_t(uint, host->max_req_size, -- max_blocks * func->cur_blksize); -- sdiodev->max_segment_count = min_t(uint, host->max_segs, -- SG_MAX_SINGLE_ALLOC); -- sdiodev->max_segment_size = host->max_seg_size; -- -- /* allocate scatter-gather table. sg support -- * will be disabled upon allocation failure. -- */ -- brcmf_sdiod_sgtable_alloc(sdiodev); -- - ret = brcmf_sdiod_freezer_attach(sdiodev); - if (ret) - goto out; -@@ -1084,7 +1074,7 @@ static int brcmf_sdiod_probe(struct brcm - ret = -ENODEV; - goto out; - } -- brcmf_sdiod_host_fixup(host); -+ brcmf_sdiod_host_fixup(sdiodev->func[2]->card->host); - out: - if (ret) - brcmf_sdiod_remove(sdiodev); ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -4114,6 +4114,11 @@ struct brcmf_sdio *brcmf_sdio_probe(stru - goto fail; - } - -+ /* allocate scatter-gather table. sg support -+ * will be disabled upon allocation failure. -+ */ -+ brcmf_sdiod_sgtable_alloc(bus->sdiodev); -+ - /* Query the F2 block size, set roundup accordingly */ - bus->blocksize = bus->sdiodev->func[2]->cur_blksize; - bus->roundup = min(max_roundup, bus->blocksize); ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h -@@ -342,6 +342,7 @@ int brcmf_sdiod_ramrw(struct brcmf_sdio_ - - /* Issue an abort to the specified function */ - int brcmf_sdiod_abort(struct brcmf_sdio_dev *sdiodev, uint fn); -+void brcmf_sdiod_sgtable_alloc(struct brcmf_sdio_dev *sdiodev); - void brcmf_sdiod_change_state(struct brcmf_sdio_dev *sdiodev, - enum brcmf_sdiod_state state); - #ifdef CONFIG_PM_SLEEP diff --git a/feeds/rtkmipsel/mac80211/patches/310-ath9k_hw-ignore-eeprom-magic-mismatch-on-flash-based.patch b/feeds/rtkmipsel/mac80211/patches/310-ath9k_hw-ignore-eeprom-magic-mismatch-on-flash-based.patch deleted file mode 100644 index 287d6e13b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/310-ath9k_hw-ignore-eeprom-magic-mismatch-on-flash-based.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Felix Fietkau -Date: Thu, 21 Jan 2016 16:28:44 +0100 -Subject: [PATCH] ath9k_hw: ignore eeprom magic mismatch on flash based devices - -Many AR913x based devices (maybe others too) do not have a valid EEPROM -magic in their calibration data partition. - -Fixes: 6fa658fd5ab2 ("ath9k: Simplify and fix eeprom endianness swapping") -Signed-off-by: Felix Fietkau ---- - ---- a/drivers/net/wireless/ath/ath9k/eeprom.c -+++ b/drivers/net/wireless/ath/ath9k/eeprom.c -@@ -150,18 +150,18 @@ int ath9k_hw_nvram_swap_data(struct ath_ - return -EIO; - } - -- if (magic == AR5416_EEPROM_MAGIC) { -- *swap_needed = false; -- } else if (swab16(magic) == AR5416_EEPROM_MAGIC) { -+ *swap_needed = false; -+ if (swab16(magic) == AR5416_EEPROM_MAGIC) { - if (ah->ah_flags & AH_NO_EEP_SWAP) { - ath_info(common, - "Ignoring endianness difference in EEPROM magic bytes.\n"); -- -- *swap_needed = false; - } else { - *swap_needed = true; - } -- } else { -+ } else if (magic != AR5416_EEPROM_MAGIC) { -+ if (ath9k_hw_use_flash(ah)) -+ return 0; -+ - ath_err(common, - "Invalid EEPROM Magic (0x%04x).\n", magic); - return -EINVAL; diff --git a/feeds/rtkmipsel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch b/feeds/rtkmipsel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch deleted file mode 100644 index 070efa98e..000000000 --- a/feeds/rtkmipsel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Felix Fietkau -Date: Fri, 22 Jan 2016 01:05:56 +0100 -Subject: [PATCH] ath9k: do not limit the number of DFS interfaces to 1 - -Signed-off-by: Felix Fietkau ---- - ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -751,14 +751,6 @@ static const struct ieee80211_iface_comb - - #endif /* CPTCFG_ATH9K_CHANNEL_CONTEXT */ - --static const struct ieee80211_iface_limit if_dfs_limits[] = { -- { .max = 1, .types = BIT(NL80211_IFTYPE_AP) | --#ifdef CPTCFG_MAC80211_MESH -- BIT(NL80211_IFTYPE_MESH_POINT) | --#endif -- BIT(NL80211_IFTYPE_ADHOC) }, --}; -- - static const struct ieee80211_iface_combination if_comb[] = { - { - .limits = if_limits, -@@ -766,6 +758,11 @@ static const struct ieee80211_iface_comb - .max_interfaces = 2048, - .num_different_channels = 1, - .beacon_int_infra_match = true, -+#ifdef CPTCFG_ATH9K_DFS_CERTIFIED -+ .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) | -+ BIT(NL80211_CHAN_WIDTH_20) | -+ BIT(NL80211_CHAN_WIDTH_40), -+#endif - }, - { - .limits = wds_limits, -@@ -774,18 +771,6 @@ static const struct ieee80211_iface_comb - .num_different_channels = 1, - .beacon_int_infra_match = true, - }, --#ifdef CPTCFG_ATH9K_DFS_CERTIFIED -- { -- .limits = if_dfs_limits, -- .n_limits = ARRAY_SIZE(if_dfs_limits), -- .max_interfaces = 1, -- .num_different_channels = 1, -- .beacon_int_infra_match = true, -- .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) | -- BIT(NL80211_CHAN_WIDTH_20) | -- BIT(NL80211_CHAN_WIDTH_40), -- } --#endif - }; - - #ifdef CPTCFG_ATH9K_CHANNEL_CONTEXT diff --git a/feeds/rtkmipsel/mac80211/patches/312-mac80211-fix-txq-queue-related-crashes.patch b/feeds/rtkmipsel/mac80211/patches/312-mac80211-fix-txq-queue-related-crashes.patch deleted file mode 100644 index 61cafc762..000000000 --- a/feeds/rtkmipsel/mac80211/patches/312-mac80211-fix-txq-queue-related-crashes.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Michal Kazior -Date: Thu, 21 Jan 2016 14:23:07 +0100 -Subject: [PATCH] mac80211: fix txq queue related crashes - -The driver can access the queue simultanously -while mac80211 tears down the interface. Without -spinlock protection this could lead to corrupting -sk_buff_head and subsequently to an invalid -pointer dereference. - -Fixes: ba8c3d6f16a1 ("mac80211: add an intermediate software queue implementation") -Signed-off-by: Michal Kazior ---- - ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -977,7 +977,10 @@ static void ieee80211_do_stop(struct iee - if (sdata->vif.txq) { - struct txq_info *txqi = to_txq_info(sdata->vif.txq); - -+ spin_lock_bh(&txqi->queue.lock); - ieee80211_purge_tx_queue(&local->hw, &txqi->queue); -+ spin_unlock_bh(&txqi->queue.lock); -+ - atomic_set(&sdata->txqs_len[txqi->txq.ac], 0); - } - diff --git a/feeds/rtkmipsel/mac80211/patches/313-mac80211-fix-unnecessary-frame-drops-in-mesh-fwding.patch b/feeds/rtkmipsel/mac80211/patches/313-mac80211-fix-unnecessary-frame-drops-in-mesh-fwding.patch deleted file mode 100644 index 844d43bfc..000000000 --- a/feeds/rtkmipsel/mac80211/patches/313-mac80211-fix-unnecessary-frame-drops-in-mesh-fwding.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Michal Kazior -Date: Mon, 25 Jan 2016 14:43:24 +0100 -Subject: [PATCH] mac80211: fix unnecessary frame drops in mesh fwding - -The ieee80211_queue_stopped() expects hw queue -number but it was given raw WMM AC number instead. - -This could cause frame drops and problems with -traffic in some cases - most notably if driver -doesn't map AC numbers to queue numbers 1:1 and -uses ieee80211_stop_queues() and -ieee80211_wake_queue() only without ever calling -ieee80211_wake_queues(). - -On ath10k it was possible to hit this problem in -the following case: - - 1. wlan0 uses queue 0 - (ath10k maps queues per vif) - 2. offchannel uses queue 15 - 3. queues 1-14 are unused - 4. ieee80211_stop_queues() - 5. ieee80211_wake_queue(q=0) - 6. ieee80211_wake_queue(q=15) - (other queues are not woken up because both - driver and mac80211 know other queues are - unused) - 7. ieee80211_rx_h_mesh_fwding() - 8. ieee80211_select_queue_80211() returns 2 - 9. ieee80211_queue_stopped(q=2) returns true - 10. frame is dropped (oops!) - -Fixes: d3c1597b8d1b ("mac80211: fix forwarded mesh frame queue mapping") -Signed-off-by: Michal Kazior ---- - ---- a/net/mac80211/rx.c -+++ b/net/mac80211/rx.c -@@ -2235,7 +2235,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 - struct ieee80211_local *local = rx->local; - struct ieee80211_sub_if_data *sdata = rx->sdata; - struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; -- u16 q, hdrlen; -+ u16 ac, q, hdrlen; - - hdr = (struct ieee80211_hdr *) skb->data; - hdrlen = ieee80211_hdrlen(hdr->frame_control); -@@ -2304,7 +2304,8 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 - ether_addr_equal(sdata->vif.addr, hdr->addr3)) - return RX_CONTINUE; - -- q = ieee80211_select_queue_80211(sdata, skb, hdr); -+ ac = ieee80211_select_queue_80211(sdata, skb, hdr); -+ q = sdata->vif.hw_queue[ac]; - if (ieee80211_queue_stopped(&local->hw, q)) { - IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_congestion); - return RX_DROP_MONITOR; diff --git a/feeds/rtkmipsel/mac80211/patches/314-mac80211-Requeue-work-after-scan-complete-for-all-VI.patch b/feeds/rtkmipsel/mac80211/patches/314-mac80211-Requeue-work-after-scan-complete-for-all-VI.patch deleted file mode 100644 index 5b3efbdc5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/314-mac80211-Requeue-work-after-scan-complete-for-all-VI.patch +++ /dev/null @@ -1,103 +0,0 @@ -From: Sachin Kulkarni -Date: Tue, 12 Jan 2016 14:30:19 +0530 -Subject: [PATCH] mac80211: Requeue work after scan complete for all VIF - types. - -During a sw scan ieee80211_iface_work ignores work items for all vifs. -However after the scan complete work is requeued only for STA, ADHOC -and MESH iftypes. - -This occasionally results in event processing getting delayed/not -processed for iftype AP when it coexists with a STA. This can result -in data halt and eventually disconnection on the AP interface. - -Signed-off-by: Sachin Kulkarni -Cc: linux-wireless@vger.kernel.org -Cc: johannes@sipsolutions.net ---- - ---- a/net/mac80211/ibss.c -+++ b/net/mac80211/ibss.c -@@ -1731,7 +1731,6 @@ void ieee80211_ibss_notify_scan_complete - if (sdata->vif.type != NL80211_IFTYPE_ADHOC) - continue; - sdata->u.ibss.last_scan_completed = jiffies; -- ieee80211_queue_work(&local->hw, &sdata->work); - } - mutex_unlock(&local->iflist_mtx); - } ---- a/net/mac80211/mesh.c -+++ b/net/mac80211/mesh.c -@@ -1369,17 +1369,6 @@ out: - sdata_unlock(sdata); - } - --void ieee80211_mesh_notify_scan_completed(struct ieee80211_local *local) --{ -- struct ieee80211_sub_if_data *sdata; -- -- rcu_read_lock(); -- list_for_each_entry_rcu(sdata, &local->interfaces, list) -- if (ieee80211_vif_is_mesh(&sdata->vif) && -- ieee80211_sdata_running(sdata)) -- ieee80211_queue_work(&local->hw, &sdata->work); -- rcu_read_unlock(); --} - - void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata) - { ---- a/net/mac80211/mesh.h -+++ b/net/mac80211/mesh.h -@@ -362,14 +362,10 @@ static inline bool mesh_path_sel_is_hwmp - return sdata->u.mesh.mesh_pp_id == IEEE80211_PATH_PROTOCOL_HWMP; - } - --void ieee80211_mesh_notify_scan_completed(struct ieee80211_local *local); -- - void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata); - void mesh_sync_adjust_tbtt(struct ieee80211_sub_if_data *sdata); - void ieee80211s_stop(void); - #else --static inline void --ieee80211_mesh_notify_scan_completed(struct ieee80211_local *local) {} - static inline bool mesh_path_sel_is_hwmp(struct ieee80211_sub_if_data *sdata) - { return false; } - static inline void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata) ---- a/net/mac80211/mlme.c -+++ b/net/mac80211/mlme.c -@@ -3978,8 +3978,6 @@ static void ieee80211_restart_sta_timer( - if (!ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR)) - ieee80211_queue_work(&sdata->local->hw, - &sdata->u.mgd.monitor_work); -- /* and do all the other regular work too */ -- ieee80211_queue_work(&sdata->local->hw, &sdata->work); - } - } - ---- a/net/mac80211/scan.c -+++ b/net/mac80211/scan.c -@@ -314,6 +314,7 @@ static void __ieee80211_scan_completed(s - bool was_scanning = local->scanning; - struct cfg80211_scan_request *scan_req; - struct ieee80211_sub_if_data *scan_sdata; -+ struct ieee80211_sub_if_data *sdata; - - lockdep_assert_held(&local->mtx); - -@@ -373,7 +374,15 @@ static void __ieee80211_scan_completed(s - - ieee80211_mlme_notify_scan_completed(local); - ieee80211_ibss_notify_scan_completed(local); -- ieee80211_mesh_notify_scan_completed(local); -+ -+ /* Requeue all the work that might have been ignored while -+ * the scan was in progress -+ */ -+ list_for_each_entry_rcu(sdata, &local->interfaces, list) { -+ if (ieee80211_sdata_running(sdata)) -+ ieee80211_queue_work(&sdata->local->hw, &sdata->work); -+ } -+ - if (was_scanning) - ieee80211_start_next_roc(local); - } diff --git a/feeds/rtkmipsel/mac80211/patches/315-mac80211-fix-ibss-scan-parameters.patch b/feeds/rtkmipsel/mac80211/patches/315-mac80211-fix-ibss-scan-parameters.patch deleted file mode 100644 index 52fecb96b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/315-mac80211-fix-ibss-scan-parameters.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Sara Sharon -Date: Mon, 25 Jan 2016 15:46:35 +0200 -Subject: [PATCH] mac80211: fix ibss scan parameters - -When joining IBSS a full scan should be initiated in order to search -for existing cell, unless the fixed_channel parameter was set. -A default channel to create the IBSS on if no cell was found is -provided as well. -However - a scan is initiated only on the default channel provided -regardless of whether ifibss->fixed_channel is set or not, with the -obvious result of the cell not joining existing IBSS cell that is -on another channel. - -Fixes: 76bed0f43b27 ("mac80211: IBSS fix scan request") -Signed-off-by: Sara Sharon -Signed-off-by: Emmanuel Grumbach ---- - ---- a/net/mac80211/ibss.c -+++ b/net/mac80211/ibss.c -@@ -7,6 +7,7 @@ - * Copyright 2007, Michael Wu - * Copyright 2009, Johannes Berg - * Copyright 2013-2014 Intel Mobile Communications GmbH -+ * Copyright(c) 2016 Intel Deutschland GmbH - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as -@@ -1483,14 +1484,21 @@ static void ieee80211_sta_find_ibss(stru - - sdata_info(sdata, "Trigger new scan to find an IBSS to join\n"); - -- num = ieee80211_ibss_setup_scan_channels(local->hw.wiphy, -- &ifibss->chandef, -- channels, -- ARRAY_SIZE(channels)); - scan_width = cfg80211_chandef_to_scan_width(&ifibss->chandef); -- ieee80211_request_ibss_scan(sdata, ifibss->ssid, -- ifibss->ssid_len, channels, num, -- scan_width); -+ -+ if (ifibss->fixed_channel) { -+ num = ieee80211_ibss_setup_scan_channels(local->hw.wiphy, -+ &ifibss->chandef, -+ channels, -+ ARRAY_SIZE(channels)); -+ ieee80211_request_ibss_scan(sdata, ifibss->ssid, -+ ifibss->ssid_len, channels, -+ num, scan_width); -+ } else { -+ ieee80211_request_ibss_scan(sdata, ifibss->ssid, -+ ifibss->ssid_len, NULL, -+ 0, scan_width); -+ } - } else { - int interval = IEEE80211_SCAN_INTERVAL; - diff --git a/feeds/rtkmipsel/mac80211/patches/316-net-mac80211-agg-rx.c-fix-use-of-uninitialised-value.patch b/feeds/rtkmipsel/mac80211/patches/316-net-mac80211-agg-rx.c-fix-use-of-uninitialised-value.patch deleted file mode 100644 index e78df3660..000000000 --- a/feeds/rtkmipsel/mac80211/patches/316-net-mac80211-agg-rx.c-fix-use-of-uninitialised-value.patch +++ /dev/null @@ -1,50 +0,0 @@ -From: Chris Bainbridge -Date: Wed, 27 Jan 2016 15:46:18 +0000 -Subject: [PATCH] net/mac80211/agg-rx.c: fix use of uninitialised values - -Use kzalloc instead of kmalloc for struct tid_ampdu_rx. Fixes: - -[ 7.976605] UBSAN: Undefined behaviour in net/mac80211/rx.c:932:29 -[ 7.976608] load of value 2 is not a valid value for type '_Bool' -[ 7.976611] CPU: 3 PID: 1134 Comm: kworker/u16:7 Not tainted 4.5.0-rc1+ #265 -[ 7.976613] Hardware name: Apple Inc. MacBookPro10,2/Mac-AFD8A9D944EA4843, BIOS MBP102.88Z.0106.B0A.1509130955 09/13/2015 -[ 7.976616] Workqueue: phy0 rt2x00usb_work_rxdone -[ 7.976619] 0000000000000004 ffff880254a7ba50 ffffffff8181d866 0000000000000007 -[ 7.976622] ffff880254a7ba78 ffff880254a7ba68 ffffffff8188422d ffffffff8379b500 -[ 7.976626] ffff880254a7bab8 ffffffff81884747 0000000000000202 0000000348620032 -[ 7.976629] Call Trace: -[ 7.976633] [] dump_stack+0x45/0x5f -[ 7.976637] [] ubsan_epilogue+0xd/0x40 -[ 7.976642] [] __ubsan_handle_load_invalid_value+0x67/0x70 -[ 7.976646] [] ieee80211_sta_reorder_release.isra.16+0x5ed/0x730 -[ 7.976650] [] ieee80211_prepare_and_rx_handle+0xd04/0x1c00 -[ 7.976654] [] ? usb_hcd_map_urb_for_dma+0x65e/0x960 -[ 7.976659] [] __ieee80211_rx_handle_packet+0x1f3/0x750 -[ 7.976663] [] ieee80211_rx_napi+0x447/0x990 -[ 7.976667] [] rt2x00lib_rxdone+0x305/0xbd0 -[ 7.976670] [] ? dequeue_task_fair+0x64f/0x1de0 -[ 7.976674] [] ? sched_clock_cpu+0xe6/0x150 -[ 7.976678] [] rt2x00usb_work_rxdone+0x7c/0x140 -[ 7.976682] [] process_one_work+0x226/0x860 -[ 7.976686] [] worker_thread+0x5c/0x680 -[ 7.976690] [] ? process_one_work+0x860/0x860 -[ 7.976693] [] kthread+0xf6/0x150 -[ 7.976697] [] ? kthread_worker_fn+0x310/0x310 -[ 7.976700] [] ret_from_fork+0x3f/0x70 -[ 7.976703] [] ? kthread_worker_fn+0x310/0x310 - -Link: https://lkml.org/lkml/2016/1/26/230 -Signed-off-by: Chris Bainbridge ---- - ---- a/net/mac80211/agg-rx.c -+++ b/net/mac80211/agg-rx.c -@@ -327,7 +327,7 @@ void __ieee80211_start_rx_ba_session(str - } - - /* prepare A-MPDU MLME for Rx aggregation */ -- tid_agg_rx = kmalloc(sizeof(struct tid_ampdu_rx), GFP_KERNEL); -+ tid_agg_rx = kzalloc(sizeof(struct tid_ampdu_rx), GFP_KERNEL); - if (!tid_agg_rx) - goto end; - diff --git a/feeds/rtkmipsel/mac80211/patches/317-mac80211-minstrel_ht-fix-out-of-bound-in-minstrel_ht.patch b/feeds/rtkmipsel/mac80211/patches/317-mac80211-minstrel_ht-fix-out-of-bound-in-minstrel_ht.patch deleted file mode 100644 index 5bf53b918..000000000 --- a/feeds/rtkmipsel/mac80211/patches/317-mac80211-minstrel_ht-fix-out-of-bound-in-minstrel_ht.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Konstantin Khlebnikov -Date: Fri, 29 Jan 2016 11:35:12 +0300 -Subject: [PATCH] mac80211: minstrel_ht: fix out-of-bound in - minstrel_ht_set_best_prob_rate - -Patch fixes this splat - -BUG: KASAN: slab-out-of-bounds in minstrel_ht_update_stats.isra.7+0x6e1/0x9e0 -[mac80211] at addr ffff8800cee640f4 Read of size 4 by task swapper/3/0 - -Signed-off-by: Konstantin Khlebnikov -Link: http://lkml.kernel.org/r/CALYGNiNyJhSaVnE35qS6UCGaSb2Dx1_i5HcRavuOX14oTz2P+w@mail.gmail.com ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -414,15 +414,16 @@ minstrel_ht_set_best_prob_rate(struct mi - (max_tp_group != MINSTREL_CCK_GROUP)) - return; - -+ max_gpr_group = mg->max_group_prob_rate / MCS_GROUP_RATES; -+ max_gpr_idx = mg->max_group_prob_rate % MCS_GROUP_RATES; -+ max_gpr_prob = mi->groups[max_gpr_group].rates[max_gpr_idx].prob_ewma; -+ - if (mrs->prob_ewma > MINSTREL_FRAC(75, 100)) { - cur_tp_avg = minstrel_ht_get_tp_avg(mi, cur_group, cur_idx, - mrs->prob_ewma); - if (cur_tp_avg > tmp_tp_avg) - mi->max_prob_rate = index; - -- max_gpr_group = mg->max_group_prob_rate / MCS_GROUP_RATES; -- max_gpr_idx = mg->max_group_prob_rate % MCS_GROUP_RATES; -- max_gpr_prob = mi->groups[max_gpr_group].rates[max_gpr_idx].prob_ewma; - max_gpr_tp_avg = minstrel_ht_get_tp_avg(mi, max_gpr_group, - max_gpr_idx, - max_gpr_prob); -@@ -431,7 +432,7 @@ minstrel_ht_set_best_prob_rate(struct mi - } else { - if (mrs->prob_ewma > tmp_prob) - mi->max_prob_rate = index; -- if (mrs->prob_ewma > mg->rates[mg->max_group_prob_rate].prob_ewma) -+ if (mrs->prob_ewma > max_gpr_prob) - mg->max_group_prob_rate = index; - } - } diff --git a/feeds/rtkmipsel/mac80211/patches/318-mac80211-move-A-MSDU-skb_linearize-call-to-ieee80211.patch b/feeds/rtkmipsel/mac80211/patches/318-mac80211-move-A-MSDU-skb_linearize-call-to-ieee80211.patch deleted file mode 100644 index 655dc4bfa..000000000 --- a/feeds/rtkmipsel/mac80211/patches/318-mac80211-move-A-MSDU-skb_linearize-call-to-ieee80211.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Felix Fietkau -Date: Tue, 2 Feb 2016 14:39:08 +0100 -Subject: [PATCH] mac80211: move A-MSDU skb_linearize call to - ieee80211_amsdu_to_8023s - -Prepararation for zero-copy A-MSDU support with page fragment SKBs - -Signed-off-by: Felix Fietkau -Signed-off-by: Johannes Berg ---- - ---- a/net/mac80211/rx.c -+++ b/net/mac80211/rx.c -@@ -2203,9 +2203,6 @@ ieee80211_rx_h_amsdu(struct ieee80211_rx - skb->dev = dev; - __skb_queue_head_init(&frame_list); - -- if (skb_linearize(skb)) -- return RX_DROP_UNUSABLE; -- - ieee80211_amsdu_to_8023s(skb, &frame_list, dev->dev_addr, - rx->sdata->vif.type, - rx->local->hw.extra_tx_headroom, true); ---- a/net/wireless/util.c -+++ b/net/wireless/util.c -@@ -657,6 +657,9 @@ void ieee80211_amsdu_to_8023s(struct sk_ - int remaining, err; - u8 dst[ETH_ALEN], src[ETH_ALEN]; - -+ if (skb_linearize(skb)) -+ goto out; -+ - if (has_80211_header) { - err = ieee80211_data_to_8023(skb, addr, iftype); - if (err) diff --git a/feeds/rtkmipsel/mac80211/patches/319-cfg80211-add-function-for-802.3-conversion-with-sepa.patch b/feeds/rtkmipsel/mac80211/patches/319-cfg80211-add-function-for-802.3-conversion-with-sepa.patch deleted file mode 100644 index b646ab36d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/319-cfg80211-add-function-for-802.3-conversion-with-sepa.patch +++ /dev/null @@ -1,186 +0,0 @@ -From: Felix Fietkau -Date: Tue, 2 Feb 2016 14:39:09 +0100 -Subject: [PATCH] cfg80211: add function for 802.3 conversion with separate - output buffer - -Use skb_copy_bits in preparation for allowing fragmented skbs - -Signed-off-by: Felix Fietkau -Signed-off-by: Johannes Berg ---- - ---- a/net/wireless/util.c -+++ b/net/wireless/util.c -@@ -393,9 +393,9 @@ unsigned int ieee80211_get_hdrlen_from_s - } - EXPORT_SYMBOL(ieee80211_get_hdrlen_from_skb); - --unsigned int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr) -+static unsigned int __ieee80211_get_mesh_hdrlen(u8 flags) - { -- int ae = meshhdr->flags & MESH_FLAGS_AE; -+ int ae = flags & MESH_FLAGS_AE; - /* 802.11-2012, 8.2.4.7.3 */ - switch (ae) { - default: -@@ -407,21 +407,31 @@ unsigned int ieee80211_get_mesh_hdrlen(s - return 18; - } - } -+ -+unsigned int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr) -+{ -+ return __ieee80211_get_mesh_hdrlen(meshhdr->flags); -+} - EXPORT_SYMBOL(ieee80211_get_mesh_hdrlen); - --int ieee80211_data_to_8023(struct sk_buff *skb, const u8 *addr, -- enum nl80211_iftype iftype) -+static int __ieee80211_data_to_8023(struct sk_buff *skb, struct ethhdr *ehdr, -+ const u8 *addr, enum nl80211_iftype iftype) - { - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; -- u16 hdrlen, ethertype; -- u8 *payload; -- u8 dst[ETH_ALEN]; -- u8 src[ETH_ALEN] __aligned(2); -+ struct { -+ u8 hdr[ETH_ALEN] __aligned(2); -+ __be16 proto; -+ } payload; -+ struct ethhdr tmp; -+ u16 hdrlen; -+ u8 mesh_flags = 0; - - if (unlikely(!ieee80211_is_data_present(hdr->frame_control))) - return -1; - - hdrlen = ieee80211_hdrlen(hdr->frame_control); -+ if (skb->len < hdrlen + 8) -+ return -1; - - /* convert IEEE 802.11 header + possible LLC headers into Ethernet - * header -@@ -432,8 +442,11 @@ int ieee80211_data_to_8023(struct sk_buf - * 1 0 BSSID SA DA n/a - * 1 1 RA TA DA SA - */ -- memcpy(dst, ieee80211_get_DA(hdr), ETH_ALEN); -- memcpy(src, ieee80211_get_SA(hdr), ETH_ALEN); -+ memcpy(tmp.h_dest, ieee80211_get_DA(hdr), ETH_ALEN); -+ memcpy(tmp.h_source, ieee80211_get_SA(hdr), ETH_ALEN); -+ -+ if (iftype == NL80211_IFTYPE_MESH_POINT) -+ skb_copy_bits(skb, hdrlen, &mesh_flags, 1); - - switch (hdr->frame_control & - cpu_to_le16(IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) { -@@ -450,44 +463,31 @@ int ieee80211_data_to_8023(struct sk_buf - iftype != NL80211_IFTYPE_STATION)) - return -1; - if (iftype == NL80211_IFTYPE_MESH_POINT) { -- struct ieee80211s_hdr *meshdr = -- (struct ieee80211s_hdr *) (skb->data + hdrlen); -- /* make sure meshdr->flags is on the linear part */ -- if (!pskb_may_pull(skb, hdrlen + 1)) -- return -1; -- if (meshdr->flags & MESH_FLAGS_AE_A4) -+ if (mesh_flags & MESH_FLAGS_AE_A4) - return -1; -- if (meshdr->flags & MESH_FLAGS_AE_A5_A6) { -+ if (mesh_flags & MESH_FLAGS_AE_A5_A6) { - skb_copy_bits(skb, hdrlen + - offsetof(struct ieee80211s_hdr, eaddr1), -- dst, ETH_ALEN); -- skb_copy_bits(skb, hdrlen + -- offsetof(struct ieee80211s_hdr, eaddr2), -- src, ETH_ALEN); -+ tmp.h_dest, 2 * ETH_ALEN); - } -- hdrlen += ieee80211_get_mesh_hdrlen(meshdr); -+ hdrlen += __ieee80211_get_mesh_hdrlen(mesh_flags); - } - break; - case cpu_to_le16(IEEE80211_FCTL_FROMDS): - if ((iftype != NL80211_IFTYPE_STATION && - iftype != NL80211_IFTYPE_P2P_CLIENT && - iftype != NL80211_IFTYPE_MESH_POINT) || -- (is_multicast_ether_addr(dst) && -- ether_addr_equal(src, addr))) -+ (is_multicast_ether_addr(tmp.h_dest) && -+ ether_addr_equal(tmp.h_source, addr))) - return -1; - if (iftype == NL80211_IFTYPE_MESH_POINT) { -- struct ieee80211s_hdr *meshdr = -- (struct ieee80211s_hdr *) (skb->data + hdrlen); -- /* make sure meshdr->flags is on the linear part */ -- if (!pskb_may_pull(skb, hdrlen + 1)) -- return -1; -- if (meshdr->flags & MESH_FLAGS_AE_A5_A6) -+ if (mesh_flags & MESH_FLAGS_AE_A5_A6) - return -1; -- if (meshdr->flags & MESH_FLAGS_AE_A4) -+ if (mesh_flags & MESH_FLAGS_AE_A4) - skb_copy_bits(skb, hdrlen + - offsetof(struct ieee80211s_hdr, eaddr1), -- src, ETH_ALEN); -- hdrlen += ieee80211_get_mesh_hdrlen(meshdr); -+ tmp.h_source, ETH_ALEN); -+ hdrlen += __ieee80211_get_mesh_hdrlen(mesh_flags); - } - break; - case cpu_to_le16(0): -@@ -498,33 +498,33 @@ int ieee80211_data_to_8023(struct sk_buf - break; - } - -- if (!pskb_may_pull(skb, hdrlen + 8)) -- return -1; -- -- payload = skb->data + hdrlen; -- ethertype = (payload[6] << 8) | payload[7]; -+ skb_copy_bits(skb, hdrlen, &payload, sizeof(payload)); -+ tmp.h_proto = payload.proto; - -- if (likely((ether_addr_equal(payload, rfc1042_header) && -- ethertype != ETH_P_AARP && ethertype != ETH_P_IPX) || -- ether_addr_equal(payload, bridge_tunnel_header))) { -+ if (likely((ether_addr_equal(payload.hdr, rfc1042_header) && -+ tmp.h_proto != htons(ETH_P_AARP) && -+ tmp.h_proto != htons(ETH_P_IPX)) || -+ ether_addr_equal(payload.hdr, bridge_tunnel_header))) - /* remove RFC1042 or Bridge-Tunnel encapsulation and - * replace EtherType */ -- skb_pull(skb, hdrlen + 6); -- memcpy(skb_push(skb, ETH_ALEN), src, ETH_ALEN); -- memcpy(skb_push(skb, ETH_ALEN), dst, ETH_ALEN); -- } else { -- struct ethhdr *ehdr; -- __be16 len; -+ hdrlen += ETH_ALEN + 2; -+ else -+ tmp.h_proto = htons(skb->len); - -- skb_pull(skb, hdrlen); -- len = htons(skb->len); -+ pskb_pull(skb, hdrlen); -+ -+ if (!ehdr) - ehdr = (struct ethhdr *) skb_push(skb, sizeof(struct ethhdr)); -- memcpy(ehdr->h_dest, dst, ETH_ALEN); -- memcpy(ehdr->h_source, src, ETH_ALEN); -- ehdr->h_proto = len; -- } -+ memcpy(ehdr, &tmp, sizeof(tmp)); -+ - return 0; - } -+ -+int ieee80211_data_to_8023(struct sk_buff *skb, const u8 *addr, -+ enum nl80211_iftype iftype) -+{ -+ return __ieee80211_data_to_8023(skb, NULL, addr, iftype); -+} - EXPORT_SYMBOL(ieee80211_data_to_8023); - - int ieee80211_data_from_8023(struct sk_buff *skb, const u8 *addr, diff --git a/feeds/rtkmipsel/mac80211/patches/320-cfg80211-add-support-for-non-linear-skbs-in-ieee8021.patch b/feeds/rtkmipsel/mac80211/patches/320-cfg80211-add-support-for-non-linear-skbs-in-ieee8021.patch deleted file mode 100644 index 2eeed22af..000000000 --- a/feeds/rtkmipsel/mac80211/patches/320-cfg80211-add-support-for-non-linear-skbs-in-ieee8021.patch +++ /dev/null @@ -1,159 +0,0 @@ -From: Felix Fietkau -Date: Tue, 2 Feb 2016 14:39:10 +0100 -Subject: [PATCH] cfg80211: add support for non-linear skbs in - ieee80211_amsdu_to_8023s - -Signed-off-by: Felix Fietkau -Signed-off-by: Johannes Berg ---- - ---- a/net/wireless/util.c -+++ b/net/wireless/util.c -@@ -644,73 +644,75 @@ int ieee80211_data_from_8023(struct sk_b - } - EXPORT_SYMBOL(ieee80211_data_from_8023); - -+static struct sk_buff * -+__ieee80211_amsdu_copy(struct sk_buff *skb, unsigned int hlen, -+ int offset, int len) -+{ -+ struct sk_buff *frame; -+ -+ if (skb->len - offset < len) -+ return NULL; -+ -+ /* -+ * Allocate and reserve two bytes more for payload -+ * alignment since sizeof(struct ethhdr) is 14. -+ */ -+ frame = dev_alloc_skb(hlen + sizeof(struct ethhdr) + 2 + len); -+ -+ skb_reserve(frame, hlen + sizeof(struct ethhdr) + 2); -+ skb_copy_bits(skb, offset, skb_put(frame, len), len); -+ -+ return frame; -+} - - void ieee80211_amsdu_to_8023s(struct sk_buff *skb, struct sk_buff_head *list, - const u8 *addr, enum nl80211_iftype iftype, - const unsigned int extra_headroom, - bool has_80211_header) - { -+ unsigned int hlen = ALIGN(extra_headroom, 4); - struct sk_buff *frame = NULL; - u16 ethertype; - u8 *payload; -- const struct ethhdr *eth; -- int remaining, err; -- u8 dst[ETH_ALEN], src[ETH_ALEN]; -- -- if (skb_linearize(skb)) -- goto out; -+ int offset = 0, remaining, err; -+ struct ethhdr eth; -+ bool reuse_skb = true; -+ bool last = false; - - if (has_80211_header) { -- err = ieee80211_data_to_8023(skb, addr, iftype); -+ err = __ieee80211_data_to_8023(skb, ð, addr, iftype); - if (err) - goto out; -- -- /* skip the wrapping header */ -- eth = (struct ethhdr *) skb_pull(skb, sizeof(struct ethhdr)); -- if (!eth) -- goto out; -- } else { -- eth = (struct ethhdr *) skb->data; - } - -- while (skb != frame) { -+ while (!last) { -+ unsigned int subframe_len; -+ int len; - u8 padding; -- __be16 len = eth->h_proto; -- unsigned int subframe_len = sizeof(struct ethhdr) + ntohs(len); -- -- remaining = skb->len; -- memcpy(dst, eth->h_dest, ETH_ALEN); -- memcpy(src, eth->h_source, ETH_ALEN); - -+ skb_copy_bits(skb, offset, ð, sizeof(eth)); -+ len = ntohs(eth.h_proto); -+ subframe_len = sizeof(struct ethhdr) + len; - padding = (4 - subframe_len) & 0x3; -+ - /* the last MSDU has no padding */ -+ remaining = skb->len - offset; - if (subframe_len > remaining) - goto purge; - -- skb_pull(skb, sizeof(struct ethhdr)); -+ offset += sizeof(struct ethhdr); - /* reuse skb for the last subframe */ -- if (remaining <= subframe_len + padding) -+ last = remaining <= subframe_len + padding; -+ if (!skb_is_nonlinear(skb) && last) { -+ skb_pull(skb, offset); - frame = skb; -- else { -- unsigned int hlen = ALIGN(extra_headroom, 4); -- /* -- * Allocate and reserve two bytes more for payload -- * alignment since sizeof(struct ethhdr) is 14. -- */ -- frame = dev_alloc_skb(hlen + subframe_len + 2); -+ reuse_skb = true; -+ } else { -+ frame = __ieee80211_amsdu_copy(skb, hlen, offset, len); - if (!frame) - goto purge; - -- skb_reserve(frame, hlen + sizeof(struct ethhdr) + 2); -- memcpy(skb_put(frame, ntohs(len)), skb->data, -- ntohs(len)); -- -- eth = (struct ethhdr *)skb_pull(skb, ntohs(len) + -- padding); -- if (!eth) { -- dev_kfree_skb(frame); -- goto purge; -- } -+ offset += len + padding; - } - - skb_reset_network_header(frame); -@@ -719,24 +721,20 @@ void ieee80211_amsdu_to_8023s(struct sk_ - - payload = frame->data; - ethertype = (payload[6] << 8) | payload[7]; -- - if (likely((ether_addr_equal(payload, rfc1042_header) && - ethertype != ETH_P_AARP && ethertype != ETH_P_IPX) || - ether_addr_equal(payload, bridge_tunnel_header))) { -- /* remove RFC1042 or Bridge-Tunnel -- * encapsulation and replace EtherType */ -- skb_pull(frame, 6); -- memcpy(skb_push(frame, ETH_ALEN), src, ETH_ALEN); -- memcpy(skb_push(frame, ETH_ALEN), dst, ETH_ALEN); -- } else { -- memcpy(skb_push(frame, sizeof(__be16)), &len, -- sizeof(__be16)); -- memcpy(skb_push(frame, ETH_ALEN), src, ETH_ALEN); -- memcpy(skb_push(frame, ETH_ALEN), dst, ETH_ALEN); -+ eth.h_proto = htons(ethertype); -+ skb_pull(frame, ETH_ALEN + 2); - } -+ -+ memcpy(skb_push(frame, sizeof(eth)), ð, sizeof(eth)); - __skb_queue_tail(list, frame); - } - -+ if (!reuse_skb) -+ dev_kfree_skb(skb); -+ - return; - - purge: diff --git a/feeds/rtkmipsel/mac80211/patches/321-mac80211-Parse-legacy-and-HT-rate-in-injected-frames.patch b/feeds/rtkmipsel/mac80211/patches/321-mac80211-Parse-legacy-and-HT-rate-in-injected-frames.patch deleted file mode 100644 index c4155a118..000000000 --- a/feeds/rtkmipsel/mac80211/patches/321-mac80211-Parse-legacy-and-HT-rate-in-injected-frames.patch +++ /dev/null @@ -1,155 +0,0 @@ -From: Sven Eckelmann -Date: Tue, 26 Jan 2016 17:11:13 +0100 -Subject: [PATCH] mac80211: Parse legacy and HT rate in injected frames - -Drivers/devices without their own rate control algorithm can get the -information what rates they should use from either the radiotap header of -injected frames or from the rate control algorithm. But the parsing of the -legacy rate information from the radiotap header was removed in commit -e6a9854b05c1 ("mac80211/drivers: rewrite the rate control API"). - -The removal of this feature heavily reduced the usefulness of frame -injection when wanting to simulate specific transmission behavior. Having -rate parsing together with MCS rates and retry support allows a fine -grained selection of the tx behavior of injected frames for these kind of -tests. - -Signed-off-by: Sven Eckelmann -Cc: Simon Wunderlich -Signed-off-by: Johannes Berg ---- - ---- a/include/net/mac80211.h -+++ b/include/net/mac80211.h -@@ -708,12 +708,14 @@ enum mac80211_tx_info_flags { - * protocol frame (e.g. EAP) - * @IEEE80211_TX_CTRL_PS_RESPONSE: This frame is a response to a poll - * frame (PS-Poll or uAPSD). -+ * @IEEE80211_TX_CTRL_RATE_INJECT: This frame is injected with rate information - * - * These flags are used in tx_info->control.flags. - */ - enum mac80211_tx_control_flags { - IEEE80211_TX_CTRL_PORT_CTRL_PROTO = BIT(0), - IEEE80211_TX_CTRL_PS_RESPONSE = BIT(1), -+ IEEE80211_TX_CTRL_RATE_INJECT = BIT(2), - }; - - /* ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -710,6 +710,10 @@ ieee80211_tx_h_rate_ctrl(struct ieee8021 - - info->control.short_preamble = txrc.short_preamble; - -+ /* don't ask rate control when rate already injected via radiotap */ -+ if (info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT) -+ return TX_CONTINUE; -+ - if (tx->sta) - assoc = test_sta_flag(tx->sta, WLAN_STA_ASSOC); - -@@ -1665,15 +1669,24 @@ void ieee80211_xmit(struct ieee80211_sub - ieee80211_tx(sdata, sta, skb, false); - } - --static bool ieee80211_parse_tx_radiotap(struct sk_buff *skb) -+static bool ieee80211_parse_tx_radiotap(struct ieee80211_local *local, -+ struct sk_buff *skb) - { - struct ieee80211_radiotap_iterator iterator; - struct ieee80211_radiotap_header *rthdr = - (struct ieee80211_radiotap_header *) skb->data; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); -+ struct ieee80211_supported_band *sband = -+ local->hw.wiphy->bands[info->band]; - int ret = ieee80211_radiotap_iterator_init(&iterator, rthdr, skb->len, - NULL); - u16 txflags; -+ u16 rate = 0; -+ bool rate_found = false; -+ u8 rate_retries = 0; -+ u16 rate_flags = 0; -+ u8 mcs_known, mcs_flags; -+ int i; - - info->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT | - IEEE80211_TX_CTL_DONTFRAG; -@@ -1724,6 +1737,35 @@ static bool ieee80211_parse_tx_radiotap( - info->flags |= IEEE80211_TX_CTL_NO_ACK; - break; - -+ case IEEE80211_RADIOTAP_RATE: -+ rate = *iterator.this_arg; -+ rate_flags = 0; -+ rate_found = true; -+ break; -+ -+ case IEEE80211_RADIOTAP_DATA_RETRIES: -+ rate_retries = *iterator.this_arg; -+ break; -+ -+ case IEEE80211_RADIOTAP_MCS: -+ mcs_known = iterator.this_arg[0]; -+ mcs_flags = iterator.this_arg[1]; -+ if (!(mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_MCS)) -+ break; -+ -+ rate_found = true; -+ rate = iterator.this_arg[2]; -+ rate_flags = IEEE80211_TX_RC_MCS; -+ -+ if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_GI && -+ mcs_flags & IEEE80211_RADIOTAP_MCS_SGI) -+ rate_flags |= IEEE80211_TX_RC_SHORT_GI; -+ -+ if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_BW && -+ mcs_flags & IEEE80211_RADIOTAP_MCS_BW_40) -+ rate_flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; -+ break; -+ - /* - * Please update the file - * Documentation/networking/mac80211-injection.txt -@@ -1738,6 +1780,32 @@ static bool ieee80211_parse_tx_radiotap( - if (ret != -ENOENT) /* ie, if we didn't simply run out of fields */ - return false; - -+ if (rate_found) { -+ info->control.flags |= IEEE80211_TX_CTRL_RATE_INJECT; -+ -+ for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { -+ info->control.rates[i].idx = -1; -+ info->control.rates[i].flags = 0; -+ info->control.rates[i].count = 0; -+ } -+ -+ if (rate_flags & IEEE80211_TX_RC_MCS) { -+ info->control.rates[0].idx = rate; -+ } else { -+ for (i = 0; i < sband->n_bitrates; i++) { -+ if (rate * 5 != sband->bitrates[i].bitrate) -+ continue; -+ -+ info->control.rates[0].idx = i; -+ break; -+ } -+ } -+ -+ info->control.rates[0].flags = rate_flags; -+ info->control.rates[0].count = min_t(u8, rate_retries + 1, -+ local->hw.max_rate_tries); -+ } -+ - /* - * remove the radiotap header - * iterator->_max_length was sanity-checked against -@@ -1819,7 +1887,7 @@ netdev_tx_t ieee80211_monitor_start_xmit - IEEE80211_TX_CTL_INJECTED; - - /* process and remove the injection radiotap header */ -- if (!ieee80211_parse_tx_radiotap(skb)) -+ if (!ieee80211_parse_tx_radiotap(local, skb)) - goto fail; - - rcu_read_lock(); diff --git a/feeds/rtkmipsel/mac80211/patches/322-mac80211-add-A-MSDU-tx-support.patch b/feeds/rtkmipsel/mac80211/patches/322-mac80211-add-A-MSDU-tx-support.patch deleted file mode 100644 index e7bfb9c83..000000000 --- a/feeds/rtkmipsel/mac80211/patches/322-mac80211-add-A-MSDU-tx-support.patch +++ /dev/null @@ -1,317 +0,0 @@ -From: Felix Fietkau -Date: Fri, 5 Feb 2016 01:38:51 +0100 -Subject: [PATCH] mac80211: add A-MSDU tx support - -Requires software tx queueing support. frag_list support (for zero-copy) -is optional. - -Signed-off-by: Felix Fietkau ---- - ---- a/include/net/mac80211.h -+++ b/include/net/mac80211.h -@@ -709,6 +709,7 @@ enum mac80211_tx_info_flags { - * @IEEE80211_TX_CTRL_PS_RESPONSE: This frame is a response to a poll - * frame (PS-Poll or uAPSD). - * @IEEE80211_TX_CTRL_RATE_INJECT: This frame is injected with rate information -+ * @IEEE80211_TX_CTRL_AMSDU: This frame is an A-MSDU frame - * - * These flags are used in tx_info->control.flags. - */ -@@ -716,6 +717,7 @@ enum mac80211_tx_control_flags { - IEEE80211_TX_CTRL_PORT_CTRL_PROTO = BIT(0), - IEEE80211_TX_CTRL_PS_RESPONSE = BIT(1), - IEEE80211_TX_CTRL_RATE_INJECT = BIT(2), -+ IEEE80211_TX_CTRL_AMSDU = BIT(3), - }; - - /* -@@ -1728,6 +1730,7 @@ struct ieee80211_sta_rates { - * size is min(max_amsdu_len, 7935) bytes. - * Both additional HT limits must be enforced by the low level driver. - * This is defined by the spec (IEEE 802.11-2012 section 8.3.2.2 NOTE 2). -+ * @max_rc_amsdu_len: Maximum A-MSDU size in bytes recommended by rate control. - * @txq: per-TID data TX queues (if driver uses the TXQ abstraction) - */ - struct ieee80211_sta { -@@ -1748,6 +1751,7 @@ struct ieee80211_sta { - bool mfp; - u8 max_amsdu_subframes; - u16 max_amsdu_len; -+ u16 max_rc_amsdu_len; - - struct ieee80211_txq *txq[IEEE80211_NUM_TIDS]; - -@@ -1961,6 +1965,15 @@ struct ieee80211_txq { - * order and does not need to manage its own reorder buffer or BA session - * timeout. - * -+ * @IEEE80211_HW_TX_AMSDU: Hardware (or driver) supports software aggregated -+ * A-MSDU frames. Requires software tx queueing and fast-xmit support. -+ * When not using minstrel/minstrel_ht rate control, the driver should -+ * limit the maximum A-MSDU size based on the current tx rate by setting -+ * max_rc_amsdu_len in struct ieee80211_sta. -+ * -+ * @IEEE80211_HW_TX_FRAG_LIST: Hardware (or driver) supports sending frag_list -+ * skbs, needed for zero-copy software A-MSDU. -+ * - * @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays - */ - enum ieee80211_hw_flags { -@@ -1998,6 +2011,8 @@ enum ieee80211_hw_flags { - IEEE80211_HW_BEACON_TX_STATUS, - IEEE80211_HW_NEEDS_UNIQUE_STA_ADDR, - IEEE80211_HW_SUPPORTS_REORDERING_BUFFER, -+ IEEE80211_HW_TX_AMSDU, -+ IEEE80211_HW_TX_FRAG_LIST, - - /* keep last, obviously */ - NUM_IEEE80211_HW_FLAGS -@@ -2070,6 +2085,9 @@ enum ieee80211_hw_flags { - * size is smaller (an example is LinkSys WRT120N with FW v1.0.07 - * build 002 Jun 18 2012). - * -+ * @max_tx_fragments: maximum number of tx buffers per (A)-MSDU, sum -+ * of 1 + skb_shinfo(skb)->nr_frags for each skb in the frag_list. -+ * - * @offchannel_tx_hw_queue: HW queue ID to use for offchannel TX - * (if %IEEE80211_HW_QUEUE_CONTROL is set) - * -@@ -2124,6 +2142,7 @@ struct ieee80211_hw { - u8 max_rate_tries; - u8 max_rx_aggregation_subframes; - u8 max_tx_aggregation_subframes; -+ u8 max_tx_fragments; - u8 offchannel_tx_hw_queue; - u8 radiotap_mcs_details; - u16 radiotap_vht_details; ---- a/net/mac80211/agg-tx.c -+++ b/net/mac80211/agg-tx.c -@@ -935,6 +935,7 @@ void ieee80211_process_addba_resp(struct - size_t len) - { - struct tid_ampdu_tx *tid_tx; -+ struct ieee80211_txq *txq; - u16 capab, tid; - u8 buf_size; - bool amsdu; -@@ -945,6 +946,10 @@ void ieee80211_process_addba_resp(struct - buf_size = (capab & IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK) >> 6; - buf_size = min(buf_size, local->hw.max_tx_aggregation_subframes); - -+ txq = sta->sta.txq[tid]; -+ if (!amsdu && txq) -+ set_bit(IEEE80211_TXQ_NO_AMSDU, &to_txq_info(txq)->flags); -+ - mutex_lock(&sta->ampdu_mlme.mtx); - - tid_tx = rcu_dereference_protected_tid_tx(sta, tid); ---- a/net/mac80211/debugfs.c -+++ b/net/mac80211/debugfs.c -@@ -127,6 +127,8 @@ static const char *hw_flag_names[NUM_IEE - FLAG(BEACON_TX_STATUS), - FLAG(NEEDS_UNIQUE_STA_ADDR), - FLAG(SUPPORTS_REORDERING_BUFFER), -+ FLAG(TX_AMSDU), -+ FLAG(TX_FRAG_LIST), - - /* keep last for the build bug below */ - (void *)0x1 ---- a/net/mac80211/ieee80211_i.h -+++ b/net/mac80211/ieee80211_i.h -@@ -799,6 +799,7 @@ struct mac80211_qos_map { - enum txq_info_flags { - IEEE80211_TXQ_STOP, - IEEE80211_TXQ_AMPDU, -+ IEEE80211_TXQ_NO_AMSDU, - }; - - struct txq_info { ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -1318,6 +1318,10 @@ struct sk_buff *ieee80211_tx_dequeue(str - out: - spin_unlock_bh(&txqi->queue.lock); - -+ if (skb && skb_has_frag_list(skb) && -+ !ieee80211_hw_check(&local->hw, TX_FRAG_LIST)) -+ skb_linearize(skb); -+ - return skb; - } - EXPORT_SYMBOL(ieee80211_tx_dequeue); -@@ -2757,6 +2761,163 @@ void ieee80211_clear_fast_xmit(struct st - kfree_rcu(fast_tx, rcu_head); - } - -+static bool ieee80211_amsdu_realloc_pad(struct ieee80211_local *local, -+ struct sk_buff *skb, int headroom, -+ int *subframe_len) -+{ -+ int amsdu_len = *subframe_len + sizeof(struct ethhdr); -+ int padding = (4 - amsdu_len) & 3; -+ -+ if (skb_headroom(skb) < headroom || skb_tailroom(skb) < padding) { -+ I802_DEBUG_INC(local->tx_expand_skb_head); -+ -+ if (pskb_expand_head(skb, headroom, padding, GFP_ATOMIC)) { -+ wiphy_debug(local->hw.wiphy, -+ "failed to reallocate TX buffer\n"); -+ return false; -+ } -+ } -+ -+ if (padding) { -+ *subframe_len += padding; -+ memset(skb_put(skb, padding), 0, padding); -+ } -+ -+ return true; -+} -+ -+static bool ieee80211_amsdu_prepare_head(struct ieee80211_sub_if_data *sdata, -+ struct ieee80211_fast_tx *fast_tx, -+ struct sk_buff *skb) -+{ -+ struct ieee80211_local *local = sdata->local; -+ struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); -+ struct ieee80211_hdr *hdr; -+ struct ethhdr amsdu_hdr; -+ int hdr_len = fast_tx->hdr_len - sizeof(rfc1042_header); -+ int subframe_len = skb->len - hdr_len; -+ void *data; -+ u8 *qc; -+ -+ if (info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) -+ return false; -+ -+ if (info->control.flags & IEEE80211_TX_CTRL_AMSDU) -+ return true; -+ -+ if (!ieee80211_amsdu_realloc_pad(local, skb, sizeof(amsdu_hdr), -+ &subframe_len)) -+ return false; -+ -+ amsdu_hdr.h_proto = cpu_to_be16(subframe_len); -+ memcpy(amsdu_hdr.h_source, skb->data + fast_tx->sa_offs, ETH_ALEN); -+ memcpy(amsdu_hdr.h_dest, skb->data + fast_tx->da_offs, ETH_ALEN); -+ -+ data = skb_push(skb, sizeof(amsdu_hdr)); -+ memmove(data, data + sizeof(amsdu_hdr), hdr_len); -+ memcpy(data + hdr_len, &amsdu_hdr, sizeof(amsdu_hdr)); -+ -+ hdr = data; -+ qc = ieee80211_get_qos_ctl(hdr); -+ *qc |= IEEE80211_QOS_CTL_A_MSDU_PRESENT; -+ -+ info->control.flags |= IEEE80211_TX_CTRL_AMSDU; -+ -+ return true; -+} -+ -+static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata, -+ struct sta_info *sta, -+ struct ieee80211_fast_tx *fast_tx, -+ struct sk_buff *skb) -+{ -+ struct ieee80211_local *local = sdata->local; -+ u8 tid = skb->priority & IEEE80211_QOS_CTL_TAG1D_MASK; -+ struct ieee80211_txq *txq = sta->sta.txq[tid]; -+ struct txq_info *txqi; -+ struct sk_buff **frag_tail, *head; -+ int subframe_len = skb->len - ETH_ALEN; -+ u8 max_subframes = sta->sta.max_amsdu_subframes; -+ int max_frags = local->hw.max_tx_fragments; -+ int max_amsdu_len = sta->sta.max_amsdu_len; -+ __be16 len; -+ void *data; -+ bool ret = false; -+ int n = 1, nfrags; -+ -+ if (!ieee80211_hw_check(&local->hw, TX_AMSDU)) -+ return false; -+ -+ if (!txq) -+ return false; -+ -+ txqi = to_txq_info(txq); -+ if (test_bit(IEEE80211_TXQ_NO_AMSDU, &txqi->flags)) -+ return false; -+ -+ if (sta->sta.max_rc_amsdu_len) -+ max_amsdu_len = min_t(int, max_amsdu_len, -+ sta->sta.max_rc_amsdu_len); -+ -+ spin_lock_bh(&txqi->queue.lock); -+ -+ head = skb_peek_tail(&txqi->queue); -+ if (!head) -+ goto out; -+ -+ if (skb->len + head->len > max_amsdu_len) -+ goto out; -+ -+ /* -+ * HT A-MPDU limits maximum MPDU size to 4095 bytes. Since aggregation -+ * sessions are started/stopped without txq flush, use the limit here -+ * to avoid having to de-aggregate later. -+ */ -+ if (skb->len + head->len > 4095 && -+ !sta->sta.vht_cap.vht_supported) -+ goto out; -+ -+ if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head)) -+ goto out; -+ -+ nfrags = 1 + skb_shinfo(skb)->nr_frags; -+ nfrags += 1 + skb_shinfo(head)->nr_frags; -+ frag_tail = &skb_shinfo(head)->frag_list; -+ while (*frag_tail) { -+ nfrags += 1 + skb_shinfo(*frag_tail)->nr_frags; -+ frag_tail = &(*frag_tail)->next; -+ n++; -+ } -+ -+ if (max_subframes && n > max_subframes) -+ goto out; -+ -+ if (max_frags && nfrags > max_frags) -+ goto out; -+ -+ if (!ieee80211_amsdu_realloc_pad(local, skb, sizeof(rfc1042_header) + 2, -+ &subframe_len)) -+ return false; -+ -+ ret = true; -+ data = skb_push(skb, ETH_ALEN + 2); -+ memmove(data, data + ETH_ALEN + 2, 2 * ETH_ALEN); -+ -+ data += 2 * ETH_ALEN; -+ len = cpu_to_be16(subframe_len); -+ memcpy(data, &len, 2); -+ memcpy(data + 2, rfc1042_header, sizeof(rfc1042_header)); -+ -+ head->len += skb->len; -+ head->data_len += skb->len; -+ *frag_tail = skb; -+ -+out: -+ spin_unlock_bh(&txqi->queue.lock); -+ -+ return ret; -+} -+ - static bool ieee80211_xmit_fast(struct ieee80211_sub_if_data *sdata, - struct net_device *dev, struct sta_info *sta, - struct ieee80211_fast_tx *fast_tx, -@@ -2811,6 +2972,10 @@ static bool ieee80211_xmit_fast(struct i - - ieee80211_tx_stats(dev, skb->len + extra_head); - -+ if ((hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_QOS_DATA)) && -+ ieee80211_amsdu_aggregate(sdata, sta, fast_tx, skb)) -+ return true; -+ - /* will not be crypto-handled beyond what we do here, so use false - * as the may-encrypt argument for the resize to not account for - * more room than we already have in 'extra_head' diff --git a/feeds/rtkmipsel/mac80211/patches/323-0000-brcmfmac-fix-setting-primary-channel-for-80-MHz-widt.patch b/feeds/rtkmipsel/mac80211/patches/323-0000-brcmfmac-fix-setting-primary-channel-for-80-MHz-widt.patch deleted file mode 100644 index 9277b2cab..000000000 --- a/feeds/rtkmipsel/mac80211/patches/323-0000-brcmfmac-fix-setting-primary-channel-for-80-MHz-widt.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Wed, 20 Jan 2016 16:46:04 +0100 -Subject: [PATCH] brcmfmac: fix setting primary channel for 80 MHz width -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -First of all it changes the way we calculate primary channel offset. If -we use e.g. 80 MHz channel with primary frequency 5180 MHz (which means -center frequency is 5210 MHz) it makes sense to calculate primary offset -as -30 MHz. -Then it fixes values we compare primary_offset with. We were comparing -offset in MHz against -2 or 2 which was resulting in picking a wrong -primary channel. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -247,7 +247,7 @@ static u16 chandef_to_chanspec(struct br - brcmf_dbg(TRACE, "chandef: control %d center %d width %d\n", - ch->chan->center_freq, ch->center_freq1, ch->width); - ch_inf.chnum = ieee80211_frequency_to_channel(ch->center_freq1); -- primary_offset = ch->center_freq1 - ch->chan->center_freq; -+ primary_offset = ch->chan->center_freq - ch->center_freq1; - switch (ch->width) { - case NL80211_CHAN_WIDTH_20: - case NL80211_CHAN_WIDTH_20_NOHT: -@@ -256,24 +256,21 @@ static u16 chandef_to_chanspec(struct br - break; - case NL80211_CHAN_WIDTH_40: - ch_inf.bw = BRCMU_CHAN_BW_40; -- if (primary_offset < 0) -+ if (primary_offset > 0) - ch_inf.sb = BRCMU_CHAN_SB_U; - else - ch_inf.sb = BRCMU_CHAN_SB_L; - break; - case NL80211_CHAN_WIDTH_80: - ch_inf.bw = BRCMU_CHAN_BW_80; -- if (primary_offset < 0) { -- if (primary_offset < -CH_10MHZ_APART) -- ch_inf.sb = BRCMU_CHAN_SB_UU; -- else -- ch_inf.sb = BRCMU_CHAN_SB_UL; -- } else { -- if (primary_offset > CH_10MHZ_APART) -- ch_inf.sb = BRCMU_CHAN_SB_LL; -- else -- ch_inf.sb = BRCMU_CHAN_SB_LU; -- } -+ if (primary_offset == -30) -+ ch_inf.sb = BRCMU_CHAN_SB_LL; -+ else if (primary_offset == -10) -+ ch_inf.sb = BRCMU_CHAN_SB_LU; -+ else if (primary_offset == 10) -+ ch_inf.sb = BRCMU_CHAN_SB_UL; -+ else -+ ch_inf.sb = BRCMU_CHAN_SB_UU; - break; - case NL80211_CHAN_WIDTH_80P80: - case NL80211_CHAN_WIDTH_160: diff --git a/feeds/rtkmipsel/mac80211/patches/323-0001-brcmfmac-analyze-descriptors-of-current-component-on.patch b/feeds/rtkmipsel/mac80211/patches/323-0001-brcmfmac-analyze-descriptors-of-current-component-on.patch deleted file mode 100644 index d7018dab3..000000000 --- a/feeds/rtkmipsel/mac80211/patches/323-0001-brcmfmac-analyze-descriptors-of-current-component-on.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 26 Jan 2016 17:57:01 +0100 -Subject: [PATCH] brcmfmac: analyze descriptors of current component only -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -So far we were looking for address descriptors without a check for -crossing current component border. In case of dealing with unsupported -descriptor or descriptor missing at all the code would incorrectly get -data from another component. - -Consider this binary-described component from BCM4366 EROM: -4bf83b01 TAG==CI CID==0x83b -20080201 TAG==CI PORTS==0+1 WRAPPERS==0+1 -18400035 TAG==ADDR SZ_SZD TYPE_SLAVE -00050000 -18107085 TAG==ADDR SZ_4K TYPE_SWRAP - -Driver was assigning invalid base address to this core: -brcmfmac: [6 ] core 0x83b:32 base 0x18109000 wrap 0x18107000 -which came from totally different component defined in EROM: -43b36701 TAG==CI CID==0x367 -00000201 TAG==CI PORTS==0+1 WRAPPERS==0+0 -18109005 TAG==ADDR SZ_4K TYPE_SLAVE - -This change will also allow us to support components without wrapper -address in the future. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -@@ -803,7 +803,14 @@ static int brcmf_chip_dmp_get_regaddr(st - *eromaddr -= 4; - return -EFAULT; - } -- } while (desc != DMP_DESC_ADDRESS); -+ } while (desc != DMP_DESC_ADDRESS && -+ desc != DMP_DESC_COMPONENT); -+ -+ /* stop if we crossed current component border */ -+ if (desc == DMP_DESC_COMPONENT) { -+ *eromaddr -= 4; -+ return 0; -+ } - - /* skip upper 32-bit address descriptor */ - if (val & DMP_DESC_ADDRSIZE_GT32) diff --git a/feeds/rtkmipsel/mac80211/patches/323-0002-brcmfmac-allow-storing-PMU-core-without-wrapper-addr.patch b/feeds/rtkmipsel/mac80211/patches/323-0002-brcmfmac-allow-storing-PMU-core-without-wrapper-addr.patch deleted file mode 100644 index 045ab4953..000000000 --- a/feeds/rtkmipsel/mac80211/patches/323-0002-brcmfmac-allow-storing-PMU-core-without-wrapper-addr.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 26 Jan 2016 17:57:02 +0100 -Subject: [PATCH] brcmfmac: allow storing PMU core without wrapper address -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Separated PMU core can be found in new devices and should be used for -accessing PMU registers (which were routed through ChipCommon so far). -This core is one of exceptions that doesn't have or need wrapper address -to be still safely accessible. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -@@ -883,7 +883,8 @@ int brcmf_chip_dmp_erom_scan(struct brcm - rev = (val & DMP_COMP_REVISION) >> DMP_COMP_REVISION_S; - - /* need core with ports */ -- if (nmw + nsw == 0) -+ if (nmw + nsw == 0 && -+ id != BCMA_CORE_PMU) - continue; - - /* try to obtain register address info */ diff --git a/feeds/rtkmipsel/mac80211/patches/323-0003-brcmfmac-read-extended-capabilities-of-ChipCommon-co.patch b/feeds/rtkmipsel/mac80211/patches/323-0003-brcmfmac-read-extended-capabilities-of-ChipCommon-co.patch deleted file mode 100644 index 7b7ba4f74..000000000 --- a/feeds/rtkmipsel/mac80211/patches/323-0003-brcmfmac-read-extended-capabilities-of-ChipCommon-co.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 26 Jan 2016 17:57:03 +0100 -Subject: [PATCH] brcmfmac: read extended capabilities of ChipCommon core -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is an extra bitfield with info about some present hardware. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -@@ -1025,6 +1025,9 @@ static int brcmf_chip_setup(struct brcmf - /* get chipcommon capabilites */ - pub->cc_caps = chip->ops->read32(chip->ctx, - CORE_CC_REG(base, capabilities)); -+ pub->cc_caps_ext = chip->ops->read32(chip->ctx, -+ CORE_CC_REG(base, -+ capabilities_ext)); - - /* get pmu caps & rev */ - if (pub->cc_caps & CC_CAP_PMU) { ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h -@@ -27,6 +27,7 @@ - * @chip: chip identifier. - * @chiprev: chip revision. - * @cc_caps: chipcommon core capabilities. -+ * @cc_caps_ext: chipcommon core extended capabilities. - * @pmucaps: PMU capabilities. - * @pmurev: PMU revision. - * @rambase: RAM base address (only applicable for ARM CR4 chips). -@@ -38,6 +39,7 @@ struct brcmf_chip { - u32 chip; - u32 chiprev; - u32 cc_caps; -+ u32 cc_caps_ext; - u32 pmucaps; - u32 pmurev; - u32 rambase; diff --git a/feeds/rtkmipsel/mac80211/patches/323-0004-brcmfmac-access-PMU-registers-using-standalone-PMU-c.patch b/feeds/rtkmipsel/mac80211/patches/323-0004-brcmfmac-access-PMU-registers-using-standalone-PMU-c.patch deleted file mode 100644 index 2af6fd93b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/323-0004-brcmfmac-access-PMU-registers-using-standalone-PMU-c.patch +++ /dev/null @@ -1,148 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 26 Jan 2016 17:57:04 +0100 -Subject: [PATCH] brcmfmac: access PMU registers using standalone PMU core if - available -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On recent Broadcom chipsets PMU is present as separated core and it -can't be accessed using ChipCommon anymore as it fails with e.g.: -[ 18.198412] Unhandled fault: imprecise external abort (0x1406) at 0xb6da200f - -Add a new helper function that will return a proper core that should be -used for accessing PMU registers. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c -@@ -1014,6 +1014,7 @@ static int brcmf_chip_setup(struct brcmf - { - struct brcmf_chip *pub; - struct brcmf_core_priv *cc; -+ struct brcmf_core *pmu; - u32 base; - u32 val; - int ret = 0; -@@ -1030,9 +1031,10 @@ static int brcmf_chip_setup(struct brcmf - capabilities_ext)); - - /* get pmu caps & rev */ -+ pmu = brcmf_chip_get_pmu(pub); /* after reading cc_caps_ext */ - if (pub->cc_caps & CC_CAP_PMU) { - val = chip->ops->read32(chip->ctx, -- CORE_CC_REG(base, pmucapabilities)); -+ CORE_CC_REG(pmu->base, pmucapabilities)); - pub->pmurev = val & PCAP_REV_MASK; - pub->pmucaps = val; - } -@@ -1131,6 +1133,23 @@ struct brcmf_core *brcmf_chip_get_chipco - return &cc->pub; - } - -+struct brcmf_core *brcmf_chip_get_pmu(struct brcmf_chip *pub) -+{ -+ struct brcmf_core *cc = brcmf_chip_get_chipcommon(pub); -+ struct brcmf_core *pmu; -+ -+ /* See if there is separated PMU core available */ -+ if (cc->rev >= 35 && -+ pub->cc_caps_ext & BCMA_CC_CAP_EXT_AOB_PRESENT) { -+ pmu = brcmf_chip_get_core(pub, BCMA_CORE_PMU); -+ if (pmu) -+ return pmu; -+ } -+ -+ /* Fallback to ChipCommon core for older hardware */ -+ return cc; -+} -+ - bool brcmf_chip_iscoreup(struct brcmf_core *pub) - { - struct brcmf_core_priv *core; -@@ -1301,6 +1320,7 @@ bool brcmf_chip_sr_capable(struct brcmf_ - { - u32 base, addr, reg, pmu_cc3_mask = ~0; - struct brcmf_chip_priv *chip; -+ struct brcmf_core *pmu = brcmf_chip_get_pmu(pub); - - brcmf_dbg(TRACE, "Enter\n"); - -@@ -1320,9 +1340,9 @@ bool brcmf_chip_sr_capable(struct brcmf_ - case BRCM_CC_4335_CHIP_ID: - case BRCM_CC_4339_CHIP_ID: - /* read PMU chipcontrol register 3 */ -- addr = CORE_CC_REG(base, chipcontrol_addr); -+ addr = CORE_CC_REG(pmu->base, chipcontrol_addr); - chip->ops->write32(chip->ctx, addr, 3); -- addr = CORE_CC_REG(base, chipcontrol_data); -+ addr = CORE_CC_REG(pmu->base, chipcontrol_data); - reg = chip->ops->read32(chip->ctx, addr); - return (reg & pmu_cc3_mask) != 0; - case BRCM_CC_43430_CHIP_ID: -@@ -1330,12 +1350,12 @@ bool brcmf_chip_sr_capable(struct brcmf_ - reg = chip->ops->read32(chip->ctx, addr); - return reg != 0; - default: -- addr = CORE_CC_REG(base, pmucapabilities_ext); -+ addr = CORE_CC_REG(pmu->base, pmucapabilities_ext); - reg = chip->ops->read32(chip->ctx, addr); - if ((reg & PCAPEXT_SR_SUPPORTED_MASK) == 0) - return false; - -- addr = CORE_CC_REG(base, retention_ctl); -+ addr = CORE_CC_REG(pmu->base, retention_ctl); - reg = chip->ops->read32(chip->ctx, addr); - return (reg & (PMU_RCTL_MACPHY_DISABLE_MASK | - PMU_RCTL_LOGIC_DISABLE_MASK)) == 0; ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h -@@ -85,6 +85,7 @@ struct brcmf_chip *brcmf_chip_attach(voi - void brcmf_chip_detach(struct brcmf_chip *chip); - struct brcmf_core *brcmf_chip_get_core(struct brcmf_chip *chip, u16 coreid); - struct brcmf_core *brcmf_chip_get_chipcommon(struct brcmf_chip *chip); -+struct brcmf_core *brcmf_chip_get_pmu(struct brcmf_chip *pub); - bool brcmf_chip_iscoreup(struct brcmf_core *core); - void brcmf_chip_coredisable(struct brcmf_core *core, u32 prereset, u32 reset); - void brcmf_chip_resetcore(struct brcmf_core *core, u32 prereset, u32 reset, ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -3615,7 +3615,6 @@ brcmf_sdio_drivestrengthinit(struct brcm - const struct sdiod_drive_str *str_tab = NULL; - u32 str_mask; - u32 str_shift; -- u32 base; - u32 i; - u32 drivestrength_sel = 0; - u32 cc_data_temp; -@@ -3658,14 +3657,15 @@ brcmf_sdio_drivestrengthinit(struct brcm - } - - if (str_tab != NULL) { -+ struct brcmf_core *pmu = brcmf_chip_get_pmu(ci); -+ - for (i = 0; str_tab[i].strength != 0; i++) { - if (drivestrength >= str_tab[i].strength) { - drivestrength_sel = str_tab[i].sel; - break; - } - } -- base = brcmf_chip_get_chipcommon(ci)->base; -- addr = CORE_CC_REG(base, chipcontrol_addr); -+ addr = CORE_CC_REG(pmu->base, chipcontrol_addr); - brcmf_sdiod_regwl(sdiodev, addr, 1, NULL); - cc_data_temp = brcmf_sdiod_regrl(sdiodev, addr, NULL); - cc_data_temp &= ~str_mask; -@@ -3835,8 +3835,7 @@ brcmf_sdio_probe_attach(struct brcmf_sdi - goto fail; - - /* set PMUControl so a backplane reset does PMU state reload */ -- reg_addr = CORE_CC_REG(brcmf_chip_get_chipcommon(bus->ci)->base, -- pmucontrol); -+ reg_addr = CORE_CC_REG(brcmf_chip_get_pmu(bus->ci)->base, pmucontrol); - reg_val = brcmf_sdiod_regrl(bus->sdiodev, reg_addr, &err); - if (err) - goto fail; diff --git a/feeds/rtkmipsel/mac80211/patches/323-0005-brcmfmac-add-support-for-14e4-4365-PCI-ID-with-BCM43.patch b/feeds/rtkmipsel/mac80211/patches/323-0005-brcmfmac-add-support-for-14e4-4365-PCI-ID-with-BCM43.patch deleted file mode 100644 index 35887fcb5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/323-0005-brcmfmac-add-support-for-14e4-4365-PCI-ID-with-BCM43.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 26 Jan 2016 17:57:05 +0100 -Subject: [PATCH] brcmfmac: add support for 14e4:4365 PCI ID with BCM4366 - chipset -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On Broadcom ARM routers BCM4366 cards are available with 14e4:4365 ID. -Unfortunately this ID was already used by Broadcom for cards with -BCM43142, a totally different chipset requiring SoftMAC driver. To avoid -a conflict between brcmfmac and bcma use more specific ID entry with -subvendor and subdevice specified. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -@@ -1951,6 +1951,9 @@ static const struct dev_pm_ops brcmf_pci - - #define BRCMF_PCIE_DEVICE(dev_id) { BRCM_PCIE_VENDOR_ID_BROADCOM, dev_id,\ - PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_NETWORK_OTHER << 8, 0xffff00, 0 } -+#define BRCMF_PCIE_DEVICE_SUB(dev_id, subvend, subdev) { \ -+ BRCM_PCIE_VENDOR_ID_BROADCOM, dev_id,\ -+ subvend, subdev, PCI_CLASS_NETWORK_OTHER << 8, 0xffff00, 0 } - - static struct pci_device_id brcmf_pcie_devid_table[] = { - BRCMF_PCIE_DEVICE(BRCM_PCIE_4350_DEVICE_ID), -@@ -1966,6 +1969,7 @@ static struct pci_device_id brcmf_pcie_d - BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_DEVICE_ID), - BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_2G_DEVICE_ID), - BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_5G_DEVICE_ID), -+ BRCMF_PCIE_DEVICE_SUB(0x4365, BRCM_PCIE_VENDOR_ID_BROADCOM, 0x4365), - BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_DEVICE_ID), - BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_2G_DEVICE_ID), - BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID), diff --git a/feeds/rtkmipsel/mac80211/patches/324-brcmfmac-treat-NULL-character-in-NVRAM-as-separator.patch b/feeds/rtkmipsel/mac80211/patches/324-brcmfmac-treat-NULL-character-in-NVRAM-as-separator.patch deleted file mode 100644 index 6ce60f196..000000000 --- a/feeds/rtkmipsel/mac80211/patches/324-brcmfmac-treat-NULL-character-in-NVRAM-as-separator.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Sun, 31 Jan 2016 12:14:34 +0100 -Subject: [PATCH] brcmfmac: treat NULL character in NVRAM as separator -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Platform NVRAM (stored on a flash partition) has entries separated by a -NULL (\0) char. Our parsing code switches from VALUE state to IDLE -whenever it meets a NULL (\0). When that happens our IDLE handler should -simply consume it and analyze whatever is placed ahead. - -This fixes harmless warnings spamming debugging output: -[ 155.165624] brcmfmac: brcmf_nvram_handle_idle warning: ln=1:col=20: ignoring invalid character -[ 155.180806] brcmfmac: brcmf_nvram_handle_idle warning: ln=1:col=44: ignoring invalid character -[ 155.195971] brcmfmac: brcmf_nvram_handle_idle warning: ln=1:col=63: ignoring invalid character - -Signed-off-by: Rafał Miłecki -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -@@ -93,7 +93,7 @@ static enum nvram_parser_state brcmf_nvr - c = nvp->data[nvp->pos]; - if (c == '\n') - return COMMENT; -- if (is_whitespace(c)) -+ if (is_whitespace(c) || c == '\0') - goto proceed; - if (c == '#') - return COMMENT; diff --git a/feeds/rtkmipsel/mac80211/patches/325-brcmfmac-sdio-Increase-the-default-timeouts-a-bit.patch b/feeds/rtkmipsel/mac80211/patches/325-brcmfmac-sdio-Increase-the-default-timeouts-a-bit.patch deleted file mode 100644 index 012dea1e3..000000000 --- a/feeds/rtkmipsel/mac80211/patches/325-brcmfmac-sdio-Increase-the-default-timeouts-a-bit.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Sjoerd Simons -Date: Mon, 25 Jan 2016 11:47:29 +0100 -Subject: [PATCH] brcmfmac: sdio: Increase the default timeouts a bit - -On a Radxa Rock2 board with a Ampak AP6335 (Broadcom 4339 core) it seems -the card responds very quickly most of the time, unfortunately during -initialisation it sometimes seems to take just a bit over 2 seconds to -respond. - -This results intialization failing with message like: - brcmf_c_preinit_dcmds: Retreiving cur_etheraddr failed, -52 - brcmf_bus_start: failed: -52 - brcmf_sdio_firmware_callback: dongle is not responding - -Increasing the timeout to allow for a bit more headroom allows the -card to initialize reliably. - -A quick search online after diagnosing/fixing this showed that Google -has a similar patch in their ChromeOS tree, so this doesn't seem -specific to the board I'm using. - -Signed-off-by: Sjoerd Simons -Reviewed-by: Julian Calaby -Acked-by: Arend van Spriel -Reviewed-by: Douglas Anderson -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -45,8 +45,8 @@ - #include "chip.h" - #include "firmware.h" - --#define DCMD_RESP_TIMEOUT msecs_to_jiffies(2000) --#define CTL_DONE_TIMEOUT msecs_to_jiffies(2000) -+#define DCMD_RESP_TIMEOUT msecs_to_jiffies(2500) -+#define CTL_DONE_TIMEOUT msecs_to_jiffies(2500) - - #ifdef DEBUG - diff --git a/feeds/rtkmipsel/mac80211/patches/326-ath9k-make-NF-load-complete-quickly-and-reliably.patch b/feeds/rtkmipsel/mac80211/patches/326-ath9k-make-NF-load-complete-quickly-and-reliably.patch deleted file mode 100644 index 71f7a4043..000000000 --- a/feeds/rtkmipsel/mac80211/patches/326-ath9k-make-NF-load-complete-quickly-and-reliably.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Miaoqing Pan -Date: Fri, 5 Feb 2016 09:45:50 +0800 -Subject: [PATCH] ath9k: make NF load complete quickly and reliably - -Make NF load complete quickly and reliably. NF load execution -is delayed by HW to end of frame if frame Rx or Tx is ongoing. -Increasing timeout to max frame duration. If NF cal is ongoing -before NF load, stop it before load, and restart it afterwards. - -Signed-off-by: Miaoqing Pan ---- - ---- a/drivers/net/wireless/ath/ath9k/calib.c -+++ b/drivers/net/wireless/ath/ath9k/calib.c -@@ -241,6 +241,7 @@ int ath9k_hw_loadnf(struct ath_hw *ah, s - u8 chainmask = (ah->rxchainmask << 3) | ah->rxchainmask; - struct ath_common *common = ath9k_hw_common(ah); - s16 default_nf = ath9k_hw_get_default_nf(ah, chan); -+ u32 bb_agc_ctl = REG_READ(ah, AR_PHY_AGC_CONTROL); - - if (ah->caldata) - h = ah->caldata->nfCalHist; -@@ -264,6 +265,16 @@ int ath9k_hw_loadnf(struct ath_hw *ah, s - } - - /* -+ * stop NF cal if ongoing to ensure NF load completes immediately -+ * (or after end rx/tx frame if ongoing) -+ */ -+ if (bb_agc_ctl & AR_PHY_AGC_CONTROL_NF) { -+ REG_CLR_BIT(ah, AR_PHY_AGC_CONTROL, AR_PHY_AGC_CONTROL_NF); -+ REG_RMW_BUFFER_FLUSH(ah); -+ ENABLE_REG_RMW_BUFFER(ah); -+ } -+ -+ /* - * Load software filtered NF value into baseband internal minCCApwr - * variable. - */ -@@ -276,18 +287,33 @@ int ath9k_hw_loadnf(struct ath_hw *ah, s - - /* - * Wait for load to complete, should be fast, a few 10s of us. -- * The max delay was changed from an original 250us to 10000us -- * since 250us often results in NF load timeout and causes deaf -- * condition during stress testing 12/12/2009 -+ * The max delay was changed from an original 250us to 22.2 msec. -+ * This would increase timeout to the longest possible frame -+ * (11n max length 22.1 msec) - */ -- for (j = 0; j < 10000; j++) { -+ for (j = 0; j < 22200; j++) { - if ((REG_READ(ah, AR_PHY_AGC_CONTROL) & -- AR_PHY_AGC_CONTROL_NF) == 0) -+ AR_PHY_AGC_CONTROL_NF) == 0) - break; - udelay(10); - } - - /* -+ * Restart NF so it can continue. -+ */ -+ if (bb_agc_ctl & AR_PHY_AGC_CONTROL_NF) { -+ ENABLE_REG_RMW_BUFFER(ah); -+ if (bb_agc_ctl & AR_PHY_AGC_CONTROL_ENABLE_NF) -+ REG_SET_BIT(ah, AR_PHY_AGC_CONTROL, -+ AR_PHY_AGC_CONTROL_ENABLE_NF); -+ if (bb_agc_ctl & AR_PHY_AGC_CONTROL_NO_UPDATE_NF) -+ REG_SET_BIT(ah, AR_PHY_AGC_CONTROL, -+ AR_PHY_AGC_CONTROL_NO_UPDATE_NF); -+ REG_SET_BIT(ah, AR_PHY_AGC_CONTROL, AR_PHY_AGC_CONTROL_NF); -+ REG_RMW_BUFFER_FLUSH(ah); -+ } -+ -+ /* - * We timed out waiting for the noisefloor to load, probably due to an - * in-progress rx. Simply return here and allow the load plenty of time - * to complete before the next calibration interval. We need to avoid -@@ -296,7 +322,7 @@ int ath9k_hw_loadnf(struct ath_hw *ah, s - * here, the baseband nf cal will just be capped by our present - * noisefloor until the next calibration timer. - */ -- if (j == 10000) { -+ if (j == 22200) { - ath_dbg(common, ANY, - "Timeout while waiting for nf to load: AR_PHY_AGC_CONTROL=0x%x\n", - REG_READ(ah, AR_PHY_AGC_CONTROL)); diff --git a/feeds/rtkmipsel/mac80211/patches/327-mac80211-Remove-MPP-table-entries-with-MPath.patch b/feeds/rtkmipsel/mac80211/patches/327-mac80211-Remove-MPP-table-entries-with-MPath.patch deleted file mode 100644 index f7f9df946..000000000 --- a/feeds/rtkmipsel/mac80211/patches/327-mac80211-Remove-MPP-table-entries-with-MPath.patch +++ /dev/null @@ -1,54 +0,0 @@ -From: Henning Rogge -Date: Wed, 3 Feb 2016 13:58:36 +0100 -Subject: [PATCH] mac80211: Remove MPP table entries with MPath - -Make the mesh_path_del() function remove all mpp table entries -that are proxied by the removed mesh path. - -Acked-by: Bob Copeland -Signed-off-by: Henning Rogge -Signed-off-by: Johannes Berg ---- - ---- a/net/mac80211/mesh_pathtbl.c -+++ b/net/mac80211/mesh_pathtbl.c -@@ -835,6 +835,29 @@ void mesh_path_flush_by_nexthop(struct s - rcu_read_unlock(); - } - -+static void mpp_flush_by_proxy(struct ieee80211_sub_if_data *sdata, -+ const u8 *proxy) -+{ -+ struct mesh_table *tbl; -+ struct mesh_path *mpp; -+ struct mpath_node *node; -+ int i; -+ -+ rcu_read_lock(); -+ read_lock_bh(&pathtbl_resize_lock); -+ tbl = resize_dereference_mpp_paths(); -+ for_each_mesh_entry(tbl, node, i) { -+ mpp = node->mpath; -+ if (ether_addr_equal(mpp->mpp, proxy)) { -+ spin_lock(&tbl->hashwlock[i]); -+ __mesh_path_del(tbl, node); -+ spin_unlock(&tbl->hashwlock[i]); -+ } -+ } -+ read_unlock_bh(&pathtbl_resize_lock); -+ rcu_read_unlock(); -+} -+ - static void table_flush_by_iface(struct mesh_table *tbl, - struct ieee80211_sub_if_data *sdata) - { -@@ -892,6 +915,9 @@ int mesh_path_del(struct ieee80211_sub_i - int hash_idx; - int err = 0; - -+ /* flush relevant mpp entries first */ -+ mpp_flush_by_proxy(sdata, addr); -+ - read_lock_bh(&pathtbl_resize_lock); - tbl = resize_dereference_mesh_paths(); - hash_idx = mesh_table_hash(addr, sdata, tbl); diff --git a/feeds/rtkmipsel/mac80211/patches/328-mac80211-let-unused-MPP-table-entries-timeout.patch b/feeds/rtkmipsel/mac80211/patches/328-mac80211-let-unused-MPP-table-entries-timeout.patch deleted file mode 100644 index 740993c9e..000000000 --- a/feeds/rtkmipsel/mac80211/patches/328-mac80211-let-unused-MPP-table-entries-timeout.patch +++ /dev/null @@ -1,104 +0,0 @@ -From: Henning Rogge -Date: Wed, 3 Feb 2016 13:58:37 +0100 -Subject: [PATCH] mac80211: let unused MPP table entries timeout - -Remember the last time when a mpp table entry is used for -rx or tx and remove them after MESH_PATH_EXPIRE time. - -Acked-by: Bob Copeland -Signed-off-by: Henning Rogge -Signed-off-by: Johannes Berg ---- - ---- a/net/mac80211/mesh_pathtbl.c -+++ b/net/mac80211/mesh_pathtbl.c -@@ -942,6 +942,46 @@ enddel: - } - - /** -+ * mpp_path_del - delete a mesh proxy path from the table -+ * -+ * @addr: addr address (ETH_ALEN length) -+ * @sdata: local subif -+ * -+ * Returns: 0 if successful -+ */ -+static int mpp_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr) -+{ -+ struct mesh_table *tbl; -+ struct mesh_path *mpath; -+ struct mpath_node *node; -+ struct hlist_head *bucket; -+ int hash_idx; -+ int err = 0; -+ -+ read_lock_bh(&pathtbl_resize_lock); -+ tbl = resize_dereference_mpp_paths(); -+ hash_idx = mesh_table_hash(addr, sdata, tbl); -+ bucket = &tbl->hash_buckets[hash_idx]; -+ -+ spin_lock(&tbl->hashwlock[hash_idx]); -+ hlist_for_each_entry(node, bucket, list) { -+ mpath = node->mpath; -+ if (mpath->sdata == sdata && -+ ether_addr_equal(addr, mpath->dst)) { -+ __mesh_path_del(tbl, node); -+ goto enddel; -+ } -+ } -+ -+ err = -ENXIO; -+enddel: -+ mesh_paths_generation++; -+ spin_unlock(&tbl->hashwlock[hash_idx]); -+ read_unlock_bh(&pathtbl_resize_lock); -+ return err; -+} -+ -+/** - * mesh_path_tx_pending - sends pending frames in a mesh path queue - * - * @mpath: mesh path to activate -@@ -1157,6 +1197,17 @@ void mesh_path_expire(struct ieee80211_s - time_after(jiffies, mpath->exp_time + MESH_PATH_EXPIRE)) - mesh_path_del(mpath->sdata, mpath->dst); - } -+ -+ tbl = rcu_dereference(mpp_paths); -+ for_each_mesh_entry(tbl, node, i) { -+ if (node->mpath->sdata != sdata) -+ continue; -+ mpath = node->mpath; -+ if ((!(mpath->flags & MESH_PATH_FIXED)) && -+ time_after(jiffies, mpath->exp_time + MESH_PATH_EXPIRE)) -+ mpp_path_del(mpath->sdata, mpath->dst); -+ } -+ - rcu_read_unlock(); - } - ---- a/net/mac80211/rx.c -+++ b/net/mac80211/rx.c -@@ -2291,6 +2291,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 - spin_lock_bh(&mppath->state_lock); - if (!ether_addr_equal(mppath->mpp, mpp_addr)) - memcpy(mppath->mpp, mpp_addr, ETH_ALEN); -+ mppath->exp_time = jiffies; - spin_unlock_bh(&mppath->state_lock); - } - rcu_read_unlock(); ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -2171,8 +2171,11 @@ static struct sk_buff *ieee80211_build_h - mpp_lookup = true; - } - -- if (mpp_lookup) -+ if (mpp_lookup) { - mppath = mpp_path_lookup(sdata, skb->data); -+ if (mppath) -+ mppath->exp_time = jiffies; -+ } - - if (mppath && mpath) - mesh_path_del(mpath->sdata, mpath->dst); diff --git a/feeds/rtkmipsel/mac80211/patches/329-mac80211-Unify-mesh-and-mpp-path-removal-function.patch b/feeds/rtkmipsel/mac80211/patches/329-mac80211-Unify-mesh-and-mpp-path-removal-function.patch deleted file mode 100644 index 0c36b1d56..000000000 --- a/feeds/rtkmipsel/mac80211/patches/329-mac80211-Unify-mesh-and-mpp-path-removal-function.patch +++ /dev/null @@ -1,143 +0,0 @@ -From: Henning Rogge -Date: Wed, 3 Feb 2016 13:58:38 +0100 -Subject: [PATCH] mac80211: Unify mesh and mpp path removal function - -mpp_path_del() and mesh_path_del() are mostly the same function. -Move common code into a new static function. - -Acked-by: Bob Copeland -Signed-off-by: Henning Rogge -Signed-off-by: Johannes Berg ---- - ---- a/net/mac80211/mesh_pathtbl.c -+++ b/net/mac80211/mesh_pathtbl.c -@@ -55,16 +55,21 @@ int mpp_paths_generation; - static DEFINE_RWLOCK(pathtbl_resize_lock); - - -+static inline struct mesh_table *resize_dereference_paths( -+ struct mesh_table __rcu *table) -+{ -+ return rcu_dereference_protected(table, -+ lockdep_is_held(&pathtbl_resize_lock)); -+} -+ - static inline struct mesh_table *resize_dereference_mesh_paths(void) - { -- return rcu_dereference_protected(mesh_paths, -- lockdep_is_held(&pathtbl_resize_lock)); -+ return resize_dereference_paths(mesh_paths); - } - - static inline struct mesh_table *resize_dereference_mpp_paths(void) - { -- return rcu_dereference_protected(mpp_paths, -- lockdep_is_held(&pathtbl_resize_lock)); -+ return resize_dereference_paths(mpp_paths); - } - - /* -@@ -899,14 +904,17 @@ void mesh_path_flush_by_iface(struct iee - } - - /** -- * mesh_path_del - delete a mesh path from the table -+ * table_path_del - delete a path from the mesh or mpp table - * -- * @addr: dst address (ETH_ALEN length) -+ * @tbl: mesh or mpp path table - * @sdata: local subif -+ * @addr: dst address (ETH_ALEN length) - * - * Returns: 0 if successful - */ --int mesh_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr) -+static int table_path_del(struct mesh_table __rcu *rcu_tbl, -+ struct ieee80211_sub_if_data *sdata, -+ const u8 *addr) - { - struct mesh_table *tbl; - struct mesh_path *mpath; -@@ -915,11 +923,7 @@ int mesh_path_del(struct ieee80211_sub_i - int hash_idx; - int err = 0; - -- /* flush relevant mpp entries first */ -- mpp_flush_by_proxy(sdata, addr); -- -- read_lock_bh(&pathtbl_resize_lock); -- tbl = resize_dereference_mesh_paths(); -+ tbl = resize_dereference_paths(rcu_tbl); - hash_idx = mesh_table_hash(addr, sdata, tbl); - bucket = &tbl->hash_buckets[hash_idx]; - -@@ -935,9 +939,30 @@ int mesh_path_del(struct ieee80211_sub_i - - err = -ENXIO; - enddel: -- mesh_paths_generation++; - spin_unlock(&tbl->hashwlock[hash_idx]); -+ return err; -+} -+ -+/** -+ * mesh_path_del - delete a mesh path from the table -+ * -+ * @addr: dst address (ETH_ALEN length) -+ * @sdata: local subif -+ * -+ * Returns: 0 if successful -+ */ -+int mesh_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr) -+{ -+ int err = 0; -+ -+ /* flush relevant mpp entries first */ -+ mpp_flush_by_proxy(sdata, addr); -+ -+ read_lock_bh(&pathtbl_resize_lock); -+ err = table_path_del(mesh_paths, sdata, addr); -+ mesh_paths_generation++; - read_unlock_bh(&pathtbl_resize_lock); -+ - return err; - } - -@@ -951,33 +976,13 @@ enddel: - */ - static int mpp_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr) - { -- struct mesh_table *tbl; -- struct mesh_path *mpath; -- struct mpath_node *node; -- struct hlist_head *bucket; -- int hash_idx; - int err = 0; - - read_lock_bh(&pathtbl_resize_lock); -- tbl = resize_dereference_mpp_paths(); -- hash_idx = mesh_table_hash(addr, sdata, tbl); -- bucket = &tbl->hash_buckets[hash_idx]; -- -- spin_lock(&tbl->hashwlock[hash_idx]); -- hlist_for_each_entry(node, bucket, list) { -- mpath = node->mpath; -- if (mpath->sdata == sdata && -- ether_addr_equal(addr, mpath->dst)) { -- __mesh_path_del(tbl, node); -- goto enddel; -- } -- } -- -- err = -ENXIO; --enddel: -- mesh_paths_generation++; -- spin_unlock(&tbl->hashwlock[hash_idx]); -+ err = table_path_del(mpp_paths, sdata, addr); -+ mpp_paths_generation++; - read_unlock_bh(&pathtbl_resize_lock); -+ - return err; - } - diff --git a/feeds/rtkmipsel/mac80211/patches/330-mac80211-minstrel-Change-expected-throughput-unit-ba.patch b/feeds/rtkmipsel/mac80211/patches/330-mac80211-minstrel-Change-expected-throughput-unit-ba.patch deleted file mode 100644 index 4dc6d663e..000000000 --- a/feeds/rtkmipsel/mac80211/patches/330-mac80211-minstrel-Change-expected-throughput-unit-ba.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Sven Eckelmann -Date: Tue, 2 Feb 2016 08:12:26 +0100 -Subject: [PATCH] mac80211: minstrel: Change expected throughput unit back to - Kbps - -The change from cur_tp to the function -minstrel_get_tp_avg/minstrel_ht_get_tp_avg changed the unit used for the -current throughput. For example in minstrel_ht the correct -conversion between them would be: - - mrs->cur_tp / 10 == minstrel_ht_get_tp_avg(..). - -This factor 10 must also be included in the calculation of -minstrel_get_expected_throughput and minstrel_ht_get_expected_throughput to -return values with the unit [Kbps] instead of [10Kbps]. Otherwise routing -algorithms like B.A.T.M.A.N. V will make incorrect decision based on these -values. Its kernel based implementation expects expected_throughput always -to have the unit [Kbps] and not sometimes [10Kbps] and sometimes [Kbps]. - -The same requirement has iw or olsrdv2's nl80211 based statistics module -which retrieve the same data via NL80211_STA_INFO_TX_BITRATE. - -Cc: stable@vger.kernel.org -Fixes: 6a27b2c40b48 ("mac80211: restructure per-rate throughput calculation into function") -Signed-off-by: Sven Eckelmann -Signed-off-by: Johannes Berg ---- - ---- a/net/mac80211/rc80211_minstrel.c -+++ b/net/mac80211/rc80211_minstrel.c -@@ -711,7 +711,7 @@ static u32 minstrel_get_expected_through - * computing cur_tp - */ - tmp_mrs = &mi->r[idx].stats; -- tmp_cur_tp = minstrel_get_tp_avg(&mi->r[idx], tmp_mrs->prob_ewma); -+ tmp_cur_tp = minstrel_get_tp_avg(&mi->r[idx], tmp_mrs->prob_ewma) * 10; - tmp_cur_tp = tmp_cur_tp * 1200 * 8 / 1024; - - return tmp_cur_tp; ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -1335,7 +1335,8 @@ static u32 minstrel_ht_get_expected_thro - prob = mi->groups[i].rates[j].prob_ewma; - - /* convert tp_avg from pkt per second in kbps */ -- tp_avg = minstrel_ht_get_tp_avg(mi, i, j, prob) * AVG_PKT_SIZE * 8 / 1024; -+ tp_avg = minstrel_ht_get_tp_avg(mi, i, j, prob) * 10; -+ tp_avg = tp_avg * AVG_PKT_SIZE * 8 / 1024; - - return tp_avg; - } diff --git a/feeds/rtkmipsel/mac80211/patches/331-brcmfmac-Increase-nr-of-supported-flowrings.patch b/feeds/rtkmipsel/mac80211/patches/331-brcmfmac-Increase-nr-of-supported-flowrings.patch deleted file mode 100644 index 1fd016f7f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/331-brcmfmac-Increase-nr-of-supported-flowrings.patch +++ /dev/null @@ -1,307 +0,0 @@ -From: Hante Meuleman -Date: Sun, 7 Feb 2016 18:08:24 +0100 -Subject: [PATCH] brcmfmac: Increase nr of supported flowrings. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -New generation devices have firmware which has more than 256 flowrings. -E.g. following debugging message comes from 14e4:4365 BCM4366: -[ 194.606245] brcmfmac: brcmf_pcie_init_ringbuffers Nr of flowrings is 264 - -At various code places (related to flowrings) we were using u8 which -could lead to storing wrong number or infinite loops when indexing with -this type. This issue was quite easy to spot in brcmf_flowring_detach -where it led to infinite loop e.g. on failed initialization. - -This patch switches code to proper types and increases the maximum -number of supported flowrings to 512. - -Originally this change was sent in September 2015, but back it was -causing a regression on BCM43602 resulting in: -Unable to handle kernel NULL pointer dereference at virtual address ... - -The reason for this regression was missing update (s/u8/u16) of struct -brcmf_flowring_ring. This problem was handled in 9f64df9 ("brcmfmac: Fix -bug in flowring management."). Starting with that it's safe to apply -this original patch as it doesn't cause a regression anymore. - -This patch fixes an infinite loop on BCM4366 which is supported since -4.4 so it makes sense to apply it to stable 4.4+. - -Cc: # 4.4+ -Reviewed-by: Arend Van Spriel -Reviewed-by: Franky (Zhenhui) Lin -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Rafał Miłecki ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c -@@ -32,7 +32,7 @@ - #define BRCMF_FLOWRING_LOW (BRCMF_FLOWRING_HIGH - 256) - #define BRCMF_FLOWRING_INVALID_IFIDX 0xff - --#define BRCMF_FLOWRING_HASH_AP(da, fifo, ifidx) (da[5] + fifo + ifidx * 16) -+#define BRCMF_FLOWRING_HASH_AP(da, fifo, ifidx) (da[5] * 2 + fifo + ifidx * 16) - #define BRCMF_FLOWRING_HASH_STA(fifo, ifidx) (fifo + ifidx * 16) - - static const u8 brcmf_flowring_prio2fifo[] = { -@@ -68,7 +68,7 @@ u32 brcmf_flowring_lookup(struct brcmf_f - u8 prio, u8 ifidx) - { - struct brcmf_flowring_hash *hash; -- u8 hash_idx; -+ u16 hash_idx; - u32 i; - bool found; - bool sta; -@@ -88,6 +88,7 @@ u32 brcmf_flowring_lookup(struct brcmf_f - } - hash_idx = sta ? BRCMF_FLOWRING_HASH_STA(fifo, ifidx) : - BRCMF_FLOWRING_HASH_AP(mac, fifo, ifidx); -+ hash_idx &= (BRCMF_FLOWRING_HASHSIZE - 1); - found = false; - hash = flow->hash; - for (i = 0; i < BRCMF_FLOWRING_HASHSIZE; i++) { -@@ -98,6 +99,7 @@ u32 brcmf_flowring_lookup(struct brcmf_f - break; - } - hash_idx++; -+ hash_idx &= (BRCMF_FLOWRING_HASHSIZE - 1); - } - if (found) - return hash[hash_idx].flowid; -@@ -111,7 +113,7 @@ u32 brcmf_flowring_create(struct brcmf_f - { - struct brcmf_flowring_ring *ring; - struct brcmf_flowring_hash *hash; -- u8 hash_idx; -+ u16 hash_idx; - u32 i; - bool found; - u8 fifo; -@@ -131,6 +133,7 @@ u32 brcmf_flowring_create(struct brcmf_f - } - hash_idx = sta ? BRCMF_FLOWRING_HASH_STA(fifo, ifidx) : - BRCMF_FLOWRING_HASH_AP(mac, fifo, ifidx); -+ hash_idx &= (BRCMF_FLOWRING_HASHSIZE - 1); - found = false; - hash = flow->hash; - for (i = 0; i < BRCMF_FLOWRING_HASHSIZE; i++) { -@@ -140,6 +143,7 @@ u32 brcmf_flowring_create(struct brcmf_f - break; - } - hash_idx++; -+ hash_idx &= (BRCMF_FLOWRING_HASHSIZE - 1); - } - if (found) { - for (i = 0; i < flow->nrofrings; i++) { -@@ -169,7 +173,7 @@ u32 brcmf_flowring_create(struct brcmf_f - } - - --u8 brcmf_flowring_tid(struct brcmf_flowring *flow, u8 flowid) -+u8 brcmf_flowring_tid(struct brcmf_flowring *flow, u16 flowid) - { - struct brcmf_flowring_ring *ring; - -@@ -179,7 +183,7 @@ u8 brcmf_flowring_tid(struct brcmf_flowr - } - - --static void brcmf_flowring_block(struct brcmf_flowring *flow, u8 flowid, -+static void brcmf_flowring_block(struct brcmf_flowring *flow, u16 flowid, - bool blocked) - { - struct brcmf_flowring_ring *ring; -@@ -228,10 +232,10 @@ static void brcmf_flowring_block(struct - } - - --void brcmf_flowring_delete(struct brcmf_flowring *flow, u8 flowid) -+void brcmf_flowring_delete(struct brcmf_flowring *flow, u16 flowid) - { - struct brcmf_flowring_ring *ring; -- u8 hash_idx; -+ u16 hash_idx; - struct sk_buff *skb; - - ring = flow->rings[flowid]; -@@ -253,7 +257,7 @@ void brcmf_flowring_delete(struct brcmf_ - } - - --u32 brcmf_flowring_enqueue(struct brcmf_flowring *flow, u8 flowid, -+u32 brcmf_flowring_enqueue(struct brcmf_flowring *flow, u16 flowid, - struct sk_buff *skb) - { - struct brcmf_flowring_ring *ring; -@@ -279,7 +283,7 @@ u32 brcmf_flowring_enqueue(struct brcmf_ - } - - --struct sk_buff *brcmf_flowring_dequeue(struct brcmf_flowring *flow, u8 flowid) -+struct sk_buff *brcmf_flowring_dequeue(struct brcmf_flowring *flow, u16 flowid) - { - struct brcmf_flowring_ring *ring; - struct sk_buff *skb; -@@ -300,7 +304,7 @@ struct sk_buff *brcmf_flowring_dequeue(s - } - - --void brcmf_flowring_reinsert(struct brcmf_flowring *flow, u8 flowid, -+void brcmf_flowring_reinsert(struct brcmf_flowring *flow, u16 flowid, - struct sk_buff *skb) - { - struct brcmf_flowring_ring *ring; -@@ -311,7 +315,7 @@ void brcmf_flowring_reinsert(struct brcm - } - - --u32 brcmf_flowring_qlen(struct brcmf_flowring *flow, u8 flowid) -+u32 brcmf_flowring_qlen(struct brcmf_flowring *flow, u16 flowid) - { - struct brcmf_flowring_ring *ring; - -@@ -326,7 +330,7 @@ u32 brcmf_flowring_qlen(struct brcmf_flo - } - - --void brcmf_flowring_open(struct brcmf_flowring *flow, u8 flowid) -+void brcmf_flowring_open(struct brcmf_flowring *flow, u16 flowid) - { - struct brcmf_flowring_ring *ring; - -@@ -340,10 +344,10 @@ void brcmf_flowring_open(struct brcmf_fl - } - - --u8 brcmf_flowring_ifidx_get(struct brcmf_flowring *flow, u8 flowid) -+u8 brcmf_flowring_ifidx_get(struct brcmf_flowring *flow, u16 flowid) - { - struct brcmf_flowring_ring *ring; -- u8 hash_idx; -+ u16 hash_idx; - - ring = flow->rings[flowid]; - hash_idx = ring->hash_id; -@@ -384,7 +388,7 @@ void brcmf_flowring_detach(struct brcmf_ - struct brcmf_pub *drvr = bus_if->drvr; - struct brcmf_flowring_tdls_entry *search; - struct brcmf_flowring_tdls_entry *remove; -- u8 flowid; -+ u16 flowid; - - for (flowid = 0; flowid < flow->nrofrings; flowid++) { - if (flow->rings[flowid]) -@@ -408,7 +412,7 @@ void brcmf_flowring_configure_addr_mode( - struct brcmf_bus *bus_if = dev_get_drvdata(flow->dev); - struct brcmf_pub *drvr = bus_if->drvr; - u32 i; -- u8 flowid; -+ u16 flowid; - - if (flow->addr_mode[ifidx] != addr_mode) { - for (i = 0; i < ARRAY_SIZE(flow->hash); i++) { -@@ -434,7 +438,7 @@ void brcmf_flowring_delete_peer(struct b - struct brcmf_flowring_tdls_entry *prev; - struct brcmf_flowring_tdls_entry *search; - u32 i; -- u8 flowid; -+ u16 flowid; - bool sta; - - sta = (flow->addr_mode[ifidx] == ADDR_INDIRECT); ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.h -@@ -16,7 +16,7 @@ - #define BRCMFMAC_FLOWRING_H - - --#define BRCMF_FLOWRING_HASHSIZE 256 -+#define BRCMF_FLOWRING_HASHSIZE 512 /* has to be 2^x */ - #define BRCMF_FLOWRING_INVALID_ID 0xFFFFFFFF - - -@@ -24,7 +24,7 @@ struct brcmf_flowring_hash { - u8 mac[ETH_ALEN]; - u8 fifo; - u8 ifidx; -- u8 flowid; -+ u16 flowid; - }; - - enum ring_status { -@@ -61,16 +61,16 @@ u32 brcmf_flowring_lookup(struct brcmf_f - u8 prio, u8 ifidx); - u32 brcmf_flowring_create(struct brcmf_flowring *flow, u8 da[ETH_ALEN], - u8 prio, u8 ifidx); --void brcmf_flowring_delete(struct brcmf_flowring *flow, u8 flowid); --void brcmf_flowring_open(struct brcmf_flowring *flow, u8 flowid); --u8 brcmf_flowring_tid(struct brcmf_flowring *flow, u8 flowid); --u32 brcmf_flowring_enqueue(struct brcmf_flowring *flow, u8 flowid, -+void brcmf_flowring_delete(struct brcmf_flowring *flow, u16 flowid); -+void brcmf_flowring_open(struct brcmf_flowring *flow, u16 flowid); -+u8 brcmf_flowring_tid(struct brcmf_flowring *flow, u16 flowid); -+u32 brcmf_flowring_enqueue(struct brcmf_flowring *flow, u16 flowid, - struct sk_buff *skb); --struct sk_buff *brcmf_flowring_dequeue(struct brcmf_flowring *flow, u8 flowid); --void brcmf_flowring_reinsert(struct brcmf_flowring *flow, u8 flowid, -+struct sk_buff *brcmf_flowring_dequeue(struct brcmf_flowring *flow, u16 flowid); -+void brcmf_flowring_reinsert(struct brcmf_flowring *flow, u16 flowid, - struct sk_buff *skb); --u32 brcmf_flowring_qlen(struct brcmf_flowring *flow, u8 flowid); --u8 brcmf_flowring_ifidx_get(struct brcmf_flowring *flow, u8 flowid); -+u32 brcmf_flowring_qlen(struct brcmf_flowring *flow, u16 flowid); -+u8 brcmf_flowring_ifidx_get(struct brcmf_flowring *flow, u16 flowid); - struct brcmf_flowring *brcmf_flowring_attach(struct device *dev, u16 nrofrings); - void brcmf_flowring_detach(struct brcmf_flowring *flow); - void brcmf_flowring_configure_addr_mode(struct brcmf_flowring *flow, int ifidx, ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c -@@ -677,7 +677,7 @@ static u32 brcmf_msgbuf_flowring_create( - } - - --static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u8 flowid) -+static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u16 flowid) - { - struct brcmf_flowring *flow = msgbuf->flow; - struct brcmf_commonring *commonring; -@@ -1310,7 +1310,7 @@ int brcmf_proto_msgbuf_rx_trigger(struct - } - - --void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u8 flowid) -+void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u16 flowid) - { - struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd; - struct msgbuf_tx_flowring_delete_req *delete; -@@ -1415,6 +1415,13 @@ int brcmf_proto_msgbuf_attach(struct brc - u32 count; - - if_msgbuf = drvr->bus_if->msgbuf; -+ -+ if (if_msgbuf->nrof_flowrings >= BRCMF_FLOWRING_HASHSIZE) { -+ brcmf_err("driver not configured for this many flowrings %d\n", -+ if_msgbuf->nrof_flowrings); -+ if_msgbuf->nrof_flowrings = BRCMF_FLOWRING_HASHSIZE - 1; -+ } -+ - msgbuf = kzalloc(sizeof(*msgbuf), GFP_KERNEL); - if (!msgbuf) - goto fail; ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.h -@@ -33,7 +33,7 @@ - - - int brcmf_proto_msgbuf_rx_trigger(struct device *dev); --void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u8 flowid); -+void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u16 flowid); - int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr); - void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr); - #else diff --git a/feeds/rtkmipsel/mac80211/patches/332-cfg80211-fix-faulty-variable-initialization-in-ieee8.patch b/feeds/rtkmipsel/mac80211/patches/332-cfg80211-fix-faulty-variable-initialization-in-ieee8.patch deleted file mode 100644 index e414f2378..000000000 --- a/feeds/rtkmipsel/mac80211/patches/332-cfg80211-fix-faulty-variable-initialization-in-ieee8.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Felix Fietkau -Date: Mon, 8 Feb 2016 14:24:36 +0100 -Subject: [PATCH] cfg80211: fix faulty variable initialization in - ieee80211_amsdu_to_8023s - -reuse_skb is set to true if the code decides to use the last segment. -Fixes a memory leak - -Signed-off-by: Felix Fietkau ---- - ---- a/net/wireless/util.c -+++ b/net/wireless/util.c -@@ -676,7 +676,7 @@ void ieee80211_amsdu_to_8023s(struct sk_ - u8 *payload; - int offset = 0, remaining, err; - struct ethhdr eth; -- bool reuse_skb = true; -+ bool reuse_skb = false; - bool last = false; - - if (has_80211_header) { diff --git a/feeds/rtkmipsel/mac80211/patches/333-cfg80211-reuse-existing-page-fragments-in-A-MSDU-rx.patch b/feeds/rtkmipsel/mac80211/patches/333-cfg80211-reuse-existing-page-fragments-in-A-MSDU-rx.patch deleted file mode 100644 index 6e2d0cf5b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/333-cfg80211-reuse-existing-page-fragments-in-A-MSDU-rx.patch +++ /dev/null @@ -1,132 +0,0 @@ -From: Felix Fietkau -Date: Mon, 8 Feb 2016 14:33:19 +0100 -Subject: [PATCH] cfg80211: reuse existing page fragments in A-MSDU rx - -This massively reduces data copying and thus improves rx performance - -Signed-off-by: Felix Fietkau ---- - ---- a/net/wireless/util.c -+++ b/net/wireless/util.c -@@ -644,23 +644,93 @@ int ieee80211_data_from_8023(struct sk_b - } - EXPORT_SYMBOL(ieee80211_data_from_8023); - -+static void -+__frame_add_frag(struct sk_buff *skb, struct page *page, -+ void *ptr, int len, int size) -+{ -+ struct skb_shared_info *sh = skb_shinfo(skb); -+ int page_offset; -+ -+ atomic_inc(&page->_count); -+ page_offset = ptr - page_address(page); -+ skb_add_rx_frag(skb, sh->nr_frags, page, page_offset, len, size); -+} -+ -+static void -+__ieee80211_amsdu_copy_frag(struct sk_buff *skb, struct sk_buff *frame, -+ int offset, int len) -+{ -+ struct skb_shared_info *sh = skb_shinfo(skb); -+ const skb_frag_t *frag = &sh->frags[-1]; -+ struct page *frag_page; -+ void *frag_ptr; -+ int frag_len, frag_size; -+ int head_size = skb->len - skb->data_len; -+ int cur_len; -+ -+ frag_page = virt_to_head_page(skb->head); -+ frag_ptr = skb->data; -+ frag_size = head_size; -+ -+ while (offset >= frag_size) { -+ offset -= frag_size; -+ frag++; -+ frag_page = skb_frag_page(frag); -+ frag_ptr = skb_frag_address(frag); -+ frag_size = skb_frag_size(frag); -+ } -+ -+ frag_ptr += offset; -+ frag_len = frag_size - offset; -+ -+ cur_len = min(len, frag_len); -+ -+ __frame_add_frag(frame, frag_page, frag_ptr, cur_len, frag_size); -+ len -= cur_len; -+ -+ while (len > 0) { -+ frag++; -+ frag_len = skb_frag_size(frag); -+ cur_len = min(len, frag_len); -+ __frame_add_frag(frame, skb_frag_page(frag), -+ skb_frag_address(frag), cur_len, frag_len); -+ len -= cur_len; -+ } -+} -+ - static struct sk_buff * - __ieee80211_amsdu_copy(struct sk_buff *skb, unsigned int hlen, -- int offset, int len) -+ int offset, int len, bool reuse_frag) - { - struct sk_buff *frame; -+ int cur_len = len; - - if (skb->len - offset < len) - return NULL; - - /* -+ * When reusing framents, copy some data to the head to simplify -+ * ethernet header handling and speed up protocol header processing -+ * in the stack later. -+ */ -+ if (reuse_frag) -+ cur_len = min_t(int, len, 32); -+ -+ /* - * Allocate and reserve two bytes more for payload - * alignment since sizeof(struct ethhdr) is 14. - */ -- frame = dev_alloc_skb(hlen + sizeof(struct ethhdr) + 2 + len); -+ frame = dev_alloc_skb(hlen + sizeof(struct ethhdr) + 2 + cur_len); - - skb_reserve(frame, hlen + sizeof(struct ethhdr) + 2); -- skb_copy_bits(skb, offset, skb_put(frame, len), len); -+ skb_copy_bits(skb, offset, skb_put(frame, cur_len), cur_len); -+ -+ len -= cur_len; -+ if (!len) -+ return frame; -+ -+ offset += cur_len; -+ __ieee80211_amsdu_copy_frag(skb, frame, offset, len); - - return frame; - } -@@ -676,6 +746,7 @@ void ieee80211_amsdu_to_8023s(struct sk_ - u8 *payload; - int offset = 0, remaining, err; - struct ethhdr eth; -+ bool reuse_frag = skb->head_frag && !skb_has_frag_list(skb); - bool reuse_skb = false; - bool last = false; - -@@ -703,12 +774,13 @@ void ieee80211_amsdu_to_8023s(struct sk_ - offset += sizeof(struct ethhdr); - /* reuse skb for the last subframe */ - last = remaining <= subframe_len + padding; -- if (!skb_is_nonlinear(skb) && last) { -+ if (!skb_is_nonlinear(skb) && !reuse_frag && last) { - skb_pull(skb, offset); - frame = skb; - reuse_skb = true; - } else { -- frame = __ieee80211_amsdu_copy(skb, hlen, offset, len); -+ frame = __ieee80211_amsdu_copy(skb, hlen, offset, len, -+ reuse_frag); - if (!frame) - goto purge; - diff --git a/feeds/rtkmipsel/mac80211/patches/334-mac80211-fix-wiphy-supported_band-access.patch b/feeds/rtkmipsel/mac80211/patches/334-mac80211-fix-wiphy-supported_band-access.patch deleted file mode 100644 index f8f4f0999..000000000 --- a/feeds/rtkmipsel/mac80211/patches/334-mac80211-fix-wiphy-supported_band-access.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Lorenzo Bianconi -Date: Wed, 10 Feb 2016 16:08:17 +0100 -Subject: [PATCH] mac80211: fix wiphy supported_band access - -Fix wiphy supported_band access in tx radiotap parsing. In particular, -info->band is always set to 0 (IEEE80211_BAND_2GHZ) since it has not -assigned yet. This cause a kernel crash on 5GHz only devices. -Move ieee80211_parse_tx_radiotap() after info->band assignment - -Signed-off-by: Lorenzo Bianconi ---- - ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -1890,10 +1890,6 @@ netdev_tx_t ieee80211_monitor_start_xmit - info->flags = IEEE80211_TX_CTL_REQ_TX_STATUS | - IEEE80211_TX_CTL_INJECTED; - -- /* process and remove the injection radiotap header */ -- if (!ieee80211_parse_tx_radiotap(local, skb)) -- goto fail; -- - rcu_read_lock(); - - /* -@@ -1955,6 +1951,10 @@ netdev_tx_t ieee80211_monitor_start_xmit - goto fail_rcu; - - info->band = chandef->chan->band; -+ /* process and remove the injection radiotap header */ -+ if (!ieee80211_parse_tx_radiotap(local, skb)) -+ goto fail_rcu; -+ - ieee80211_xmit(sdata, NULL, skb); - rcu_read_unlock(); - diff --git a/feeds/rtkmipsel/mac80211/patches/335-mac80211-minstrel_ht-set-A-MSDU-tx-limits-based-on-s.patch b/feeds/rtkmipsel/mac80211/patches/335-mac80211-minstrel_ht-set-A-MSDU-tx-limits-based-on-s.patch deleted file mode 100644 index acaacf7ca..000000000 --- a/feeds/rtkmipsel/mac80211/patches/335-mac80211-minstrel_ht-set-A-MSDU-tx-limits-based-on-s.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: Felix Fietkau -Date: Thu, 18 Feb 2016 19:30:05 +0100 -Subject: [PATCH] mac80211: minstrel_ht: set A-MSDU tx limits based on selected - max_prob_rate - -Prevents excessive A-MSDU aggregation at low data rates or bad -conditions. - -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -883,6 +883,39 @@ minstrel_ht_set_rate(struct minstrel_pri - ratetbl->rate[offset].flags = flags; - } - -+static int -+minstrel_ht_get_max_amsdu_len(struct minstrel_ht_sta *mi) -+{ -+ int group = mi->max_prob_rate / MCS_GROUP_RATES; -+ const struct mcs_group *g = &minstrel_mcs_groups[group]; -+ int rate = mi->max_prob_rate % MCS_GROUP_RATES; -+ -+ /* Disable A-MSDU if max_prob_rate is bad */ -+ if (mi->groups[group].rates[rate].prob_ewma < MINSTREL_FRAC(50, 100)) -+ return 1; -+ -+ /* If the rate is slower than single-stream MCS1, make A-MSDU limit small */ -+ if (g->duration[rate] > MCS_DURATION(1, 0, 52)) -+ return 500; -+ -+ /* -+ * If the rate is slower than single-stream MCS4, limit A-MSDU to usual -+ * data packet size -+ */ -+ if (g->duration[rate] > MCS_DURATION(1, 0, 104)) -+ return 1500; -+ -+ /* -+ * If the rate is slower than single-stream MCS7, limit A-MSDU to twice -+ * the usual data packet size -+ */ -+ if (g->duration[rate] > MCS_DURATION(1, 0, 260)) -+ return 3000; -+ -+ /* unlimited */ -+ return 0; -+} -+ - static void - minstrel_ht_update_rates(struct minstrel_priv *mp, struct minstrel_ht_sta *mi) - { -@@ -907,6 +940,7 @@ minstrel_ht_update_rates(struct minstrel - minstrel_ht_set_rate(mp, mi, rates, i++, mi->max_prob_rate); - } - -+ mi->sta->max_rc_amsdu_len = minstrel_ht_get_max_amsdu_len(mi); - rates->rate[i].idx = -1; - rate_control_set_rates(mp->hw, mi->sta, rates); - } diff --git a/feeds/rtkmipsel/mac80211/patches/336-mac80211-minstrel_ht-set-default-tx-aggregation-time.patch b/feeds/rtkmipsel/mac80211/patches/336-mac80211-minstrel_ht-set-default-tx-aggregation-time.patch deleted file mode 100644 index 32a2ad6f0..000000000 --- a/feeds/rtkmipsel/mac80211/patches/336-mac80211-minstrel_ht-set-default-tx-aggregation-time.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Felix Fietkau -Date: Thu, 18 Feb 2016 19:45:33 +0100 -Subject: [PATCH] mac80211: minstrel_ht: set default tx aggregation timeout to - 0 - -The value 5000 was put here with the addition of the timeout field to -ieee80211_start_tx_ba_session. It was originally added in mac80211 to -save resources for drivers like iwlwifi, which only supports a limited -number of concurrent aggregation sessions. - -Since iwlwifi does not use minstrel_ht and other drivers don't need -this, 0 is a better default - especially since there have been -recent reports of aggregation setup related issues reproduced with -ath9k. This should improve stability without causing any adverse -effects. - -Cc: stable@vger.kernel.org -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -692,7 +692,7 @@ minstrel_aggr_check(struct ieee80211_sta - if (likely(sta->ampdu_mlme.tid_tx[tid])) - return; - -- ieee80211_start_tx_ba_session(pubsta, tid, 5000); -+ ieee80211_start_tx_ba_session(pubsta, tid, 0); - } - - static void diff --git a/feeds/rtkmipsel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch b/feeds/rtkmipsel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch deleted file mode 100644 index 229351ba5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Felix Fietkau -Date: Wed, 24 Feb 2016 12:03:13 +0100 -Subject: [PATCH] mac80211: minstrel_ht: fix a logic error in RTS/CTS handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RTS/CTS needs to be enabled if the rate is a fallback rate *or* if it's -a dual-stream rate and the sta is in dynamic SMPS mode. - -Fixes: a3ebb4e1b763 ("mac80211: minstrel_ht: handle peers in dynamic SMPS") -Reported-by: Matías Richart -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -872,7 +872,7 @@ minstrel_ht_set_rate(struct minstrel_pri - * - if station is in dynamic SMPS (and streams > 1) - * - for fallback rates, to increase chances of getting through - */ -- if (offset > 0 && -+ if (offset > 0 || - (mi->sta->smps_mode == IEEE80211_SMPS_DYNAMIC && - group->streams > 1)) { - ratetbl->rate[offset].count = ratetbl->rate[offset].count_rts; diff --git a/feeds/rtkmipsel/mac80211/patches/338-mac80211-Fix-Public-Action-frame-RX-in-AP-mode.patch b/feeds/rtkmipsel/mac80211/patches/338-mac80211-Fix-Public-Action-frame-RX-in-AP-mode.patch deleted file mode 100644 index 56cd94aa1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/338-mac80211-Fix-Public-Action-frame-RX-in-AP-mode.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Jouni Malinen -Date: Tue, 1 Mar 2016 00:29:00 +0200 -Subject: [PATCH] mac80211: Fix Public Action frame RX in AP mode - -Public Action frames use special rules for how the BSSID field (Address -3) is set. A wildcard BSSID is used in cases where the transmitter and -recipient are not members of the same BSS. As such, we need to accept -Public Action frames with wildcard BSSID. - -Commit db8e17324553 ("mac80211: ignore frames between TDLS peers when -operating as AP") added a rule that drops Action frames to TDLS-peers -based on an Action frame having different DA (Address 1) and BSSID -(Address 3) values. This is not correct since it misses the possibility -of BSSID being a wildcard BSSID in which case the Address 1 would not -necessarily match. - -Fix this by allowing mac80211 to accept wildcard BSSID in an Action -frame when in AP mode. - -Fixes: db8e17324553 ("mac80211: ignore frames between TDLS peers when operating as AP") -Cc: stable@vger.kernel.org -Signed-off-by: Jouni Malinen -Signed-off-by: Johannes Berg ---- - ---- a/net/mac80211/rx.c -+++ b/net/mac80211/rx.c -@@ -3374,6 +3374,7 @@ static bool ieee80211_accept_frame(struc - return false; - /* ignore action frames to TDLS-peers */ - if (ieee80211_is_action(hdr->frame_control) && -+ !is_broadcast_ether_addr(bssid) && - !ether_addr_equal(bssid, hdr->addr1)) - return false; - } diff --git a/feeds/rtkmipsel/mac80211/patches/339-cfg80211-add-radiotap-VHT-info-to-rtap_namespace_siz.patch b/feeds/rtkmipsel/mac80211/patches/339-cfg80211-add-radiotap-VHT-info-to-rtap_namespace_siz.patch deleted file mode 100644 index 15d6cd03e..000000000 --- a/feeds/rtkmipsel/mac80211/patches/339-cfg80211-add-radiotap-VHT-info-to-rtap_namespace_siz.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Lorenzo Bianconi -Date: Fri, 19 Feb 2016 11:43:04 +0100 -Subject: [PATCH] cfg80211: add radiotap VHT info to rtap_namespace_sizes - -Add IEEE80211_RADIOTAP_VHT entry to rtap_namespace_sizes array in order to -define alignment and size of VHT info in tx radiotap - -Signed-off-by: Lorenzo Bianconi -Signed-off-by: Johannes Berg ---- - ---- a/net/wireless/radiotap.c -+++ b/net/wireless/radiotap.c -@@ -43,6 +43,7 @@ static const struct radiotap_align_size - [IEEE80211_RADIOTAP_DATA_RETRIES] = { .align = 1, .size = 1, }, - [IEEE80211_RADIOTAP_MCS] = { .align = 1, .size = 3, }, - [IEEE80211_RADIOTAP_AMPDU_STATUS] = { .align = 4, .size = 8, }, -+ [IEEE80211_RADIOTAP_VHT] = { .align = 2, .size = 12, }, - /* - * add more here as they are defined in radiotap.h - */ diff --git a/feeds/rtkmipsel/mac80211/patches/340-mac80211-fix-parsing-of-40Mhz-in-injected-radiotap-h.patch b/feeds/rtkmipsel/mac80211/patches/340-mac80211-fix-parsing-of-40Mhz-in-injected-radiotap-h.patch deleted file mode 100644 index de1b38625..000000000 --- a/feeds/rtkmipsel/mac80211/patches/340-mac80211-fix-parsing-of-40Mhz-in-injected-radiotap-h.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Sven Eckelmann -Date: Wed, 24 Feb 2016 16:25:49 +0100 -Subject: [PATCH] mac80211: fix parsing of 40Mhz in injected radiotap - header - -The MCS bandwidth part of the radiotap header is 2 bits wide. The full 2 -bit have to compared against IEEE80211_RADIOTAP_MCS_BW_40 and not only if -the first bit is set. Otherwise IEEE80211_RADIOTAP_MCS_BW_40 can be -confused with IEEE80211_RADIOTAP_MCS_BW_20U. - -Fixes: 5ec3aed9ba4c ("mac80211: Parse legacy and HT rate in injected frames") -Signed-off-by: Sven Eckelmann ---- - ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -1689,7 +1689,7 @@ static bool ieee80211_parse_tx_radiotap( - bool rate_found = false; - u8 rate_retries = 0; - u16 rate_flags = 0; -- u8 mcs_known, mcs_flags; -+ u8 mcs_known, mcs_flags, mcs_bw; - int i; - - info->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT | -@@ -1765,8 +1765,9 @@ static bool ieee80211_parse_tx_radiotap( - mcs_flags & IEEE80211_RADIOTAP_MCS_SGI) - rate_flags |= IEEE80211_TX_RC_SHORT_GI; - -+ mcs_bw = mcs_flags & IEEE80211_RADIOTAP_MCS_BW_MASK; - if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_BW && -- mcs_flags & IEEE80211_RADIOTAP_MCS_BW_40) -+ mcs_bw == IEEE80211_RADIOTAP_MCS_BW_40) - rate_flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; - break; - diff --git a/feeds/rtkmipsel/mac80211/patches/341-mac80211-parse-VHT-info-in-injected-frames.patch b/feeds/rtkmipsel/mac80211/patches/341-mac80211-parse-VHT-info-in-injected-frames.patch deleted file mode 100644 index ac1f2517f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/341-mac80211-parse-VHT-info-in-injected-frames.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: Lorenzo Bianconi -Date: Tue, 23 Feb 2016 15:43:35 +0100 -Subject: [PATCH] mac80211: parse VHT info in injected frames - -Add VHT radiotap parsing support to ieee80211_parse_tx_radiotap(). -That capability has been tested using a d-link dir-860l rev b1 running -OpenWrt trunk and mt76 driver - -Signed-off-by: Lorenzo Bianconi ---- - ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -1690,6 +1690,8 @@ static bool ieee80211_parse_tx_radiotap( - u8 rate_retries = 0; - u16 rate_flags = 0; - u8 mcs_known, mcs_flags, mcs_bw; -+ u16 vht_known; -+ u8 vht_mcs = 0, vht_nss = 0; - int i; - - info->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT | -@@ -1771,6 +1773,32 @@ static bool ieee80211_parse_tx_radiotap( - rate_flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; - break; - -+ case IEEE80211_RADIOTAP_VHT: -+ vht_known = get_unaligned_le16(iterator.this_arg); -+ rate_found = true; -+ -+ rate_flags = IEEE80211_TX_RC_VHT_MCS; -+ if ((vht_known & IEEE80211_RADIOTAP_VHT_KNOWN_GI) && -+ (iterator.this_arg[2] & -+ IEEE80211_RADIOTAP_VHT_FLAG_SGI)) -+ rate_flags |= IEEE80211_TX_RC_SHORT_GI; -+ if (vht_known & -+ IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH) { -+ if (iterator.this_arg[3] == 1) -+ rate_flags |= -+ IEEE80211_TX_RC_40_MHZ_WIDTH; -+ else if (iterator.this_arg[3] == 4) -+ rate_flags |= -+ IEEE80211_TX_RC_80_MHZ_WIDTH; -+ else if (iterator.this_arg[3] == 11) -+ rate_flags |= -+ IEEE80211_TX_RC_160_MHZ_WIDTH; -+ } -+ -+ vht_mcs = iterator.this_arg[4] >> 4; -+ vht_nss = iterator.this_arg[4] & 0xF; -+ break; -+ - /* - * Please update the file - * Documentation/networking/mac80211-injection.txt -@@ -1796,6 +1824,9 @@ static bool ieee80211_parse_tx_radiotap( - - if (rate_flags & IEEE80211_TX_RC_MCS) { - info->control.rates[0].idx = rate; -+ } else if (rate_flags & IEEE80211_TX_RC_VHT_MCS) { -+ ieee80211_rate_set_vht(info->control.rates, vht_mcs, -+ vht_nss); - } else { - for (i = 0; i < sband->n_bitrates; i++) { - if (rate * 5 != sband->bitrates[i].bitrate) diff --git a/feeds/rtkmipsel/mac80211/patches/342-mac80211-do-not-pass-injected-frames-without-a-valid.patch b/feeds/rtkmipsel/mac80211/patches/342-mac80211-do-not-pass-injected-frames-without-a-valid.patch deleted file mode 100644 index d7452c29c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/342-mac80211-do-not-pass-injected-frames-without-a-valid.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Felix Fietkau -Date: Wed, 2 Mar 2016 15:51:40 +0100 -Subject: [PATCH] mac80211: do not pass injected frames without a valid rate to - the driver - -Fall back to rate control if the requested bitrate was not found. - -Fixes: dfdfc2beb0dd ("mac80211: Parse legacy and HT rate in injected frames") -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -1837,6 +1837,9 @@ static bool ieee80211_parse_tx_radiotap( - } - } - -+ if (info->control.rates[0].idx < 0) -+ info->control.flags &= ~IEEE80211_TX_CTRL_RATE_INJECT; -+ - info->control.rates[0].flags = rate_flags; - info->control.rates[0].count = min_t(u8, rate_retries + 1, - local->hw.max_rate_tries); diff --git a/feeds/rtkmipsel/mac80211/patches/343-mac80211-minstrel_ht-improve-sample-rate-skip-logic.patch b/feeds/rtkmipsel/mac80211/patches/343-mac80211-minstrel_ht-improve-sample-rate-skip-logic.patch deleted file mode 100644 index 55ff81700..000000000 --- a/feeds/rtkmipsel/mac80211/patches/343-mac80211-minstrel_ht-improve-sample-rate-skip-logic.patch +++ /dev/null @@ -1,77 +0,0 @@ -From: Felix Fietkau -Date: Thu, 3 Mar 2016 23:20:06 +0100 -Subject: [PATCH] mac80211: minstrel_ht: improve sample rate skip logic - -There were a few issues that were slowing down the process of finding -the optimal rate, especially on devices with multi-rate retry -limitations: - -When max_tp_rate[0] was slower than max_tp_rate[1], the code did not -sample max_tp_rate[1], which would often allow it to switch places with -max_tp_rate[0] (e.g. if only the first sampling attempts were bad, but the -rate is otherwise good). - -Also, sample attempts of rates between max_tp_rate[0] and [1] were being -ignored in this case, because the code only checked if the rate was -slower than [1]. - -Fix this by checking against the fastest / second fastest max_tp_rate -instead of assuming a specific order between the two. - -In my tests this patch significantly reduces the time until minstrel_ht -finds the optimal rate right after assoc - -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -958,6 +958,7 @@ minstrel_get_sample_rate(struct minstrel - struct minstrel_rate_stats *mrs; - struct minstrel_mcs_group_data *mg; - unsigned int sample_dur, sample_group, cur_max_tp_streams; -+ int tp_rate1, tp_rate2; - int sample_idx = 0; - - if (mi->sample_wait > 0) { -@@ -979,14 +980,22 @@ minstrel_get_sample_rate(struct minstrel - mrs = &mg->rates[sample_idx]; - sample_idx += sample_group * MCS_GROUP_RATES; - -+ /* Set tp_rate1, tp_rate2 to the highest / second highest max_tp_rate */ -+ if (minstrel_get_duration(mi->max_tp_rate[0]) > -+ minstrel_get_duration(mi->max_tp_rate[1])) { -+ tp_rate1 = mi->max_tp_rate[1]; -+ tp_rate2 = mi->max_tp_rate[0]; -+ } else { -+ tp_rate1 = mi->max_tp_rate[0]; -+ tp_rate2 = mi->max_tp_rate[1]; -+ } -+ - /* - * Sampling might add some overhead (RTS, no aggregation) -- * to the frame. Hence, don't use sampling for the currently -- * used rates. -+ * to the frame. Hence, don't use sampling for the highest currently -+ * used highest throughput or probability rate. - */ -- if (sample_idx == mi->max_tp_rate[0] || -- sample_idx == mi->max_tp_rate[1] || -- sample_idx == mi->max_prob_rate) -+ if (sample_idx == mi->max_tp_rate[0] || sample_idx == mi->max_prob_rate) - return -1; - - /* -@@ -1001,10 +1010,10 @@ minstrel_get_sample_rate(struct minstrel - * if the link is working perfectly. - */ - -- cur_max_tp_streams = minstrel_mcs_groups[mi->max_tp_rate[0] / -+ cur_max_tp_streams = minstrel_mcs_groups[tp_rate1 / - MCS_GROUP_RATES].streams; - sample_dur = minstrel_get_duration(sample_idx); -- if (sample_dur >= minstrel_get_duration(mi->max_tp_rate[1]) && -+ if (sample_dur >= minstrel_get_duration(tp_rate2) && - (cur_max_tp_streams - 1 < - minstrel_mcs_groups[sample_group].streams || - sample_dur >= minstrel_get_duration(mi->max_prob_rate))) { diff --git a/feeds/rtkmipsel/mac80211/patches/344-0008-brcmfmac-use-device-memsize-config-from-fw-if-define.patch b/feeds/rtkmipsel/mac80211/patches/344-0008-brcmfmac-use-device-memsize-config-from-fw-if-define.patch deleted file mode 100644 index 3de0f64d5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/344-0008-brcmfmac-use-device-memsize-config-from-fw-if-define.patch +++ /dev/null @@ -1,73 +0,0 @@ -From: Hante Meuleman -Date: Wed, 17 Feb 2016 11:26:57 +0100 -Subject: [PATCH] brcmfmac: use device memsize config from fw if defined - -Newer type pcie devices have memory which get shared between fw and -hw. The division of this memory is done firmware compile time. As a -result the ramsize as used by driver needs to be adjusted for this. -This is done by reading the memory size from the firmware. - -Reviewed-by: Arend Van Spriel -Reviewed-by: Franky (Zhenhui) Lin -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -@@ -207,6 +207,10 @@ static struct brcmf_firmware_mapping brc - #define BRCMF_PCIE_CFGREG_REG_BAR3_CONFIG 0x4F4 - #define BRCMF_PCIE_LINK_STATUS_CTRL_ASPM_ENAB 3 - -+/* Magic number at a magic location to find RAM size */ -+#define BRCMF_RAMSIZE_MAGIC 0x534d4152 /* SMAR */ -+#define BRCMF_RAMSIZE_OFFSET 0x6c -+ - - struct brcmf_pcie_console { - u32 base_addr; -@@ -1412,6 +1416,28 @@ static const struct brcmf_bus_ops brcmf_ - }; - - -+static void -+brcmf_pcie_adjust_ramsize(struct brcmf_pciedev_info *devinfo, u8 *data, -+ u32 data_len) -+{ -+ __le32 *field; -+ u32 newsize; -+ -+ if (data_len < BRCMF_RAMSIZE_OFFSET + 8) -+ return; -+ -+ field = (__le32 *)&data[BRCMF_RAMSIZE_OFFSET]; -+ if (le32_to_cpup(field) != BRCMF_RAMSIZE_MAGIC) -+ return; -+ field++; -+ newsize = le32_to_cpup(field); -+ -+ brcmf_dbg(PCIE, "Found ramsize info in FW, adjusting to 0x%x\n", -+ newsize); -+ devinfo->ci->ramsize = newsize; -+} -+ -+ - static int - brcmf_pcie_init_share_ram_info(struct brcmf_pciedev_info *devinfo, - u32 sharedram_addr) -@@ -1694,6 +1720,13 @@ static void brcmf_pcie_setup(struct devi - - brcmf_pcie_attach(devinfo); - -+ /* Some of the firmwares have the size of the memory of the device -+ * defined inside the firmware. This is because part of the memory in -+ * the device is shared and the devision is determined by FW. Parse -+ * the firmware and adjust the chip memory size now. -+ */ -+ brcmf_pcie_adjust_ramsize(devinfo, (u8 *)fw->data, fw->size); -+ - ret = brcmf_pcie_download_fw_nvram(devinfo, fw, nvram, nvram_len); - if (ret) - goto fail; diff --git a/feeds/rtkmipsel/mac80211/patches/344-0009-brcmfmac-use-bar1-window-size-as-provided-by-pci-sub.patch b/feeds/rtkmipsel/mac80211/patches/344-0009-brcmfmac-use-bar1-window-size-as-provided-by-pci-sub.patch deleted file mode 100644 index ca03ffe4b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/344-0009-brcmfmac-use-bar1-window-size-as-provided-by-pci-sub.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Hante Meuleman -Date: Wed, 17 Feb 2016 11:26:58 +0100 -Subject: [PATCH] brcmfmac: use bar1 window size as provided by pci subsystem - -The PCIE bar1 window size is specified by chip. Currently the -ioremap of bar1 was using a define which always matched the size -of bar1, but newer chips can have a different bar1 sizes. With -this patch the ioremap will be called with the by chip provided -window size. - -Reviewed-by: Arend Van Spriel -Reviewed-by: Franky (Zhenhui) Lin -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -@@ -72,7 +72,6 @@ static struct brcmf_firmware_mapping brc - - #define BRCMF_PCIE_FW_UP_TIMEOUT 2000 /* msec */ - --#define BRCMF_PCIE_TCM_MAP_SIZE (4096 * 1024) - #define BRCMF_PCIE_REG_MAP_SIZE (32 * 1024) - - /* backplane addres space accessed by BAR0 */ -@@ -252,7 +251,6 @@ struct brcmf_pciedev_info { - char nvram_name[BRCMF_FW_NAME_LEN]; - void __iomem *regs; - void __iomem *tcm; -- u32 tcm_size; - u32 ram_base; - u32 ram_size; - struct brcmf_chip *ci; -@@ -1592,8 +1590,7 @@ static int brcmf_pcie_get_resource(struc - } - - devinfo->regs = ioremap_nocache(bar0_addr, BRCMF_PCIE_REG_MAP_SIZE); -- devinfo->tcm = ioremap_nocache(bar1_addr, BRCMF_PCIE_TCM_MAP_SIZE); -- devinfo->tcm_size = BRCMF_PCIE_TCM_MAP_SIZE; -+ devinfo->tcm = ioremap_nocache(bar1_addr, bar1_size); - - if (!devinfo->regs || !devinfo->tcm) { - brcmf_err("ioremap() failed (%p,%p)\n", devinfo->regs, -@@ -1602,8 +1599,9 @@ static int brcmf_pcie_get_resource(struc - } - brcmf_dbg(PCIE, "Phys addr : reg space = %p base addr %#016llx\n", - devinfo->regs, (unsigned long long)bar0_addr); -- brcmf_dbg(PCIE, "Phys addr : mem space = %p base addr %#016llx\n", -- devinfo->tcm, (unsigned long long)bar1_addr); -+ brcmf_dbg(PCIE, "Phys addr : mem space = %p base addr %#016llx size 0x%x\n", -+ devinfo->tcm, (unsigned long long)bar1_addr, -+ (unsigned int)bar1_size); - - return 0; - } diff --git a/feeds/rtkmipsel/mac80211/patches/344-0010-brcmfmac-add-support-for-the-PCIE-4366c0-chip.patch b/feeds/rtkmipsel/mac80211/patches/344-0010-brcmfmac-add-support-for-the-PCIE-4366c0-chip.patch deleted file mode 100644 index e4a8f305c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/344-0010-brcmfmac-add-support-for-the-PCIE-4366c0-chip.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Hante Meuleman -Date: Wed, 17 Feb 2016 11:26:59 +0100 -Subject: [PATCH] brcmfmac: add support for the PCIE 4366c0 chip - -A newer version of the 4366 PCIE chip has been released. Add -support for this version of the chip. - -Reviewed-by: Arend Van Spriel -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -@@ -53,6 +53,7 @@ BRCMF_FW_NVRAM_DEF(4358, "brcmfmac4358-p - BRCMF_FW_NVRAM_DEF(4359, "brcmfmac4359-pcie.bin", "brcmfmac4359-pcie.txt"); - BRCMF_FW_NVRAM_DEF(4365B, "brcmfmac4365b-pcie.bin", "brcmfmac4365b-pcie.txt"); - BRCMF_FW_NVRAM_DEF(4366B, "brcmfmac4366b-pcie.bin", "brcmfmac4366b-pcie.txt"); -+BRCMF_FW_NVRAM_DEF(4366C, "brcmfmac4366c-pcie.bin", "brcmfmac4366c-pcie.txt"); - BRCMF_FW_NVRAM_DEF(4371, "brcmfmac4371-pcie.bin", "brcmfmac4371-pcie.txt"); - - static struct brcmf_firmware_mapping brcmf_pcie_fwnames[] = { -@@ -66,7 +67,8 @@ static struct brcmf_firmware_mapping brc - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4358_CHIP_ID, 0xFFFFFFFF, 4358), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4365_CHIP_ID, 0xFFFFFFFF, 4365B), -- BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4366_CHIP_ID, 0xFFFFFFFF, 4366B), -+ BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4366_CHIP_ID, 0x0000000F, 4366B), -+ BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4366_CHIP_ID, 0xFFFFFFF0, 4366C), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4371_CHIP_ID, 0xFFFFFFFF, 4371), - }; - diff --git a/feeds/rtkmipsel/mac80211/patches/344-0012-brcmfmac-increase-timeout-for-tx-eapol.patch b/feeds/rtkmipsel/mac80211/patches/344-0012-brcmfmac-increase-timeout-for-tx-eapol.patch deleted file mode 100644 index c529ff2c0..000000000 --- a/feeds/rtkmipsel/mac80211/patches/344-0012-brcmfmac-increase-timeout-for-tx-eapol.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Hante Meuleman -Date: Wed, 17 Feb 2016 11:27:01 +0100 -Subject: [PATCH] brcmfmac: increase timeout for tx eapol - -When keys get set and updated this has to happen after eapol got -transmitted (without key or old key) before the key can be updated. -To make sure the order of sending eapol and configuring key is done -correctly a timeout for tx of eapol is applied. This timeout is set -to 50 msec, which is not always enough. Especially in AP mode and -key updates the timeout may need to be much longer because client(s) -can be in powersave. Increase the timeout from 50 to 950 msec. - -Reviewed-by: Arend Van Spriel -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -40,7 +40,7 @@ MODULE_AUTHOR("Broadcom Corporation"); - MODULE_DESCRIPTION("Broadcom 802.11 wireless LAN fullmac driver."); - MODULE_LICENSE("Dual BSD/GPL"); - --#define MAX_WAIT_FOR_8021X_TX msecs_to_jiffies(50) -+#define MAX_WAIT_FOR_8021X_TX msecs_to_jiffies(950) - - /* AMPDU rx reordering definitions */ - #define BRCMF_RXREORDER_FLOWID_OFFSET 0 diff --git a/feeds/rtkmipsel/mac80211/patches/345-brcmfmac-insert-default-boardrev-in-nvram-data-if-mi.patch b/feeds/rtkmipsel/mac80211/patches/345-brcmfmac-insert-default-boardrev-in-nvram-data-if-mi.patch deleted file mode 100644 index f293401ca..000000000 --- a/feeds/rtkmipsel/mac80211/patches/345-brcmfmac-insert-default-boardrev-in-nvram-data-if-mi.patch +++ /dev/null @@ -1,114 +0,0 @@ -From: Hante Meuleman -Date: Mon, 11 Apr 2016 11:35:23 +0200 -Subject: [PATCH] brcmfmac: insert default boardrev in nvram data if - missing - -Some nvram files/stores come without the boardrev information, -but firmware requires this to be set. When not found in nvram then -add a default boardrev string to the nvram data. - -Reported-by: Rafal Milecki -Reviewed-by: Arend Van Spriel -Reviewed-by: Franky (Zhenhui) Lin -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -@@ -29,6 +29,7 @@ - #define BRCMF_FW_MAX_NVRAM_SIZE 64000 - #define BRCMF_FW_NVRAM_DEVPATH_LEN 19 /* devpath0=pcie/1/4/ */ - #define BRCMF_FW_NVRAM_PCIEDEV_LEN 10 /* pcie/1/4/ + \0 */ -+#define BRCMF_FW_DEFAULT_BOARDREV "boardrev=0xff" - - enum nvram_parser_state { - IDLE, -@@ -51,6 +52,7 @@ enum nvram_parser_state { - * @entry: start position of key,value entry. - * @multi_dev_v1: detect pcie multi device v1 (compressed). - * @multi_dev_v2: detect pcie multi device v2. -+ * @boardrev_found: nvram contains boardrev information. - */ - struct nvram_parser { - enum nvram_parser_state state; -@@ -63,6 +65,7 @@ struct nvram_parser { - u32 entry; - bool multi_dev_v1; - bool multi_dev_v2; -+ bool boardrev_found; - }; - - /** -@@ -125,6 +128,8 @@ static enum nvram_parser_state brcmf_nvr - nvp->multi_dev_v1 = true; - if (strncmp(&nvp->data[nvp->entry], "pcie/", 5) == 0) - nvp->multi_dev_v2 = true; -+ if (strncmp(&nvp->data[nvp->entry], "boardrev", 8) == 0) -+ nvp->boardrev_found = true; - } else if (!is_nvram_char(c) || c == ' ') { - brcmf_dbg(INFO, "warning: ln=%d:col=%d: '=' expected, skip invalid key entry\n", - nvp->line, nvp->column); -@@ -284,6 +289,8 @@ static void brcmf_fw_strip_multi_v1(stru - while (i < nvp->nvram_len) { - if ((nvp->nvram[i] - '0' == id) && (nvp->nvram[i + 1] == ':')) { - i += 2; -+ if (strncmp(&nvp->nvram[i], "boardrev", 8) == 0) -+ nvp->boardrev_found = true; - while (nvp->nvram[i] != 0) { - nvram[j] = nvp->nvram[i]; - i++; -@@ -335,6 +342,8 @@ static void brcmf_fw_strip_multi_v2(stru - while (i < nvp->nvram_len - len) { - if (strncmp(&nvp->nvram[i], prefix, len) == 0) { - i += len; -+ if (strncmp(&nvp->nvram[i], "boardrev", 8) == 0) -+ nvp->boardrev_found = true; - while (nvp->nvram[i] != 0) { - nvram[j] = nvp->nvram[i]; - i++; -@@ -356,6 +365,18 @@ fail: - nvp->nvram_len = 0; - } - -+static void brcmf_fw_add_defaults(struct nvram_parser *nvp) -+{ -+ if (nvp->boardrev_found) -+ return; -+ -+ memcpy(&nvp->nvram[nvp->nvram_len], &BRCMF_FW_DEFAULT_BOARDREV, -+ strlen(BRCMF_FW_DEFAULT_BOARDREV)); -+ nvp->nvram_len += strlen(BRCMF_FW_DEFAULT_BOARDREV); -+ nvp->nvram[nvp->nvram_len] = '\0'; -+ nvp->nvram_len++; -+} -+ - /* brcmf_nvram_strip :Takes a buffer of "=\n" lines read from a fil - * and ending in a NUL. Removes carriage returns, empty lines, comment lines, - * and converts newlines to NULs. Shortens buffer as needed and pads with NULs. -@@ -377,16 +398,21 @@ static void *brcmf_fw_nvram_strip(const - if (nvp.state == END) - break; - } -- if (nvp.multi_dev_v1) -+ if (nvp.multi_dev_v1) { -+ nvp.boardrev_found = false; - brcmf_fw_strip_multi_v1(&nvp, domain_nr, bus_nr); -- else if (nvp.multi_dev_v2) -+ } else if (nvp.multi_dev_v2) { -+ nvp.boardrev_found = false; - brcmf_fw_strip_multi_v2(&nvp, domain_nr, bus_nr); -+ } - - if (nvp.nvram_len == 0) { - kfree(nvp.nvram); - return NULL; - } - -+ brcmf_fw_add_defaults(&nvp); -+ - pad = nvp.nvram_len; - *new_length = roundup(nvp.nvram_len + 1, 4); - while (pad != *new_length) { diff --git a/feeds/rtkmipsel/mac80211/patches/400-ath_move_debug_code.patch b/feeds/rtkmipsel/mac80211/patches/400-ath_move_debug_code.patch deleted file mode 100644 index 72e9a4122..000000000 --- a/feeds/rtkmipsel/mac80211/patches/400-ath_move_debug_code.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/drivers/net/wireless/ath/Makefile -+++ b/drivers/net/wireless/ath/Makefile -@@ -13,10 +13,10 @@ ath-objs := main.o \ - regd.o \ - hw.o \ - key.o \ -+ debug.o \ - dfs_pattern_detector.o \ - dfs_pri_detector.o - --ath-$(CPTCFG_ATH_DEBUG) += debug.o - ath-$(CPTCFG_ATH_TRACEPOINTS) += trace.o - - ccflags-y += -D__CHECK_ENDIAN__ ---- a/drivers/net/wireless/ath/ath.h -+++ b/drivers/net/wireless/ath/ath.h -@@ -318,13 +318,6 @@ void _ath_dbg(struct ath_common *common, - #endif /* CPTCFG_ATH_DEBUG */ - - /** Returns string describing opmode, or NULL if unknown mode. */ --#ifdef CPTCFG_ATH_DEBUG - const char *ath_opmode_to_string(enum nl80211_iftype opmode); --#else --static inline const char *ath_opmode_to_string(enum nl80211_iftype opmode) --{ -- return "UNKNOWN"; --} --#endif - - #endif /* ATH_H */ diff --git a/feeds/rtkmipsel/mac80211/patches/401-ath9k_blink_default.patch b/feeds/rtkmipsel/mac80211/patches/401-ath9k_blink_default.patch deleted file mode 100644 index 4a997f1e0..000000000 --- a/feeds/rtkmipsel/mac80211/patches/401-ath9k_blink_default.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -45,7 +45,7 @@ int ath9k_modparam_nohwcrypt; - module_param_named(nohwcrypt, ath9k_modparam_nohwcrypt, int, 0444); - MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption"); - --int ath9k_led_blink; -+int ath9k_led_blink = 1; - module_param_named(blink, ath9k_led_blink, int, 0444); - MODULE_PARM_DESC(blink, "Enable LED blink on activity"); - diff --git a/feeds/rtkmipsel/mac80211/patches/402-ath_regd_optional.patch b/feeds/rtkmipsel/mac80211/patches/402-ath_regd_optional.patch deleted file mode 100644 index 735135307..000000000 --- a/feeds/rtkmipsel/mac80211/patches/402-ath_regd_optional.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- a/drivers/net/wireless/ath/regd.c -+++ b/drivers/net/wireless/ath/regd.c -@@ -341,6 +341,10 @@ ath_reg_apply_beaconing_flags(struct wip - struct ieee80211_channel *ch; - unsigned int i; - -+#ifdef CPTCFG_ATH_USER_REGD -+ return; -+#endif -+ - for (band = 0; band < IEEE80211_NUM_BANDS; band++) { - if (!wiphy->bands[band]) - continue; -@@ -374,6 +378,10 @@ ath_reg_apply_ir_flags(struct wiphy *wip - { - struct ieee80211_supported_band *sband; - -+#ifdef CPTCFG_ATH_USER_REGD -+ return; -+#endif -+ - sband = wiphy->bands[IEEE80211_BAND_2GHZ]; - if (!sband) - return; -@@ -402,6 +410,10 @@ static void ath_reg_apply_radar_flags(st - struct ieee80211_channel *ch; - unsigned int i; - -+#ifdef CPTCFG_ATH_USER_REGD -+ return; -+#endif -+ - if (!wiphy->bands[IEEE80211_BAND_5GHZ]) - return; - -@@ -633,6 +645,11 @@ ath_regd_init_wiphy(struct ath_regulator - const struct ieee80211_regdomain *regd; - - wiphy->reg_notifier = reg_notifier; -+ -+#ifdef CPTCFG_ATH_USER_REGD -+ return 0; -+#endif -+ - wiphy->regulatory_flags |= REGULATORY_STRICT_REG | - REGULATORY_CUSTOM_REG; - ---- a/drivers/net/wireless/ath/Kconfig -+++ b/drivers/net/wireless/ath/Kconfig -@@ -23,6 +23,9 @@ config WLAN_VENDOR_ATH - - if WLAN_VENDOR_ATH - -+config ATH_USER_REGD -+ bool "Do not enforce EEPROM regulatory restrictions" -+ - config ATH_DEBUG - bool "Atheros wireless debugging" - ---help--- ---- a/.local-symbols -+++ b/.local-symbols -@@ -125,6 +125,7 @@ ADM8211= - ATH_COMMON= - WLAN_VENDOR_ATH= - ATH_DEBUG= -+ATH_USER_REGD= - ATH_TRACEPOINTS= - ATH_REG_DYNAMIC_USER_REG_HINTS= - ATH_REG_DYNAMIC_USER_CERT_TESTING= diff --git a/feeds/rtkmipsel/mac80211/patches/403-world_regd_fixup.patch b/feeds/rtkmipsel/mac80211/patches/403-world_regd_fixup.patch deleted file mode 100644 index 2b04309ce..000000000 --- a/feeds/rtkmipsel/mac80211/patches/403-world_regd_fixup.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- a/drivers/net/wireless/ath/regd.c -+++ b/drivers/net/wireless/ath/regd.c -@@ -43,7 +43,8 @@ static int __ath_regd_init(struct ath_re - NL80211_RRF_NO_OFDM) - - /* We allow IBSS on these on a case by case basis by regulatory domain */ --#define ATH9K_5GHZ_5150_5350 REG_RULE(5150-10, 5350+10, 80, 0, 30,\ -+#define ATH9K_5GHZ_5150_5350 REG_RULE(5150-10, 5240+10, 80, 0, 30, 0),\ -+ REG_RULE(5260-10, 5350+10, 80, 0, 30,\ - NL80211_RRF_NO_IR) - #define ATH9K_5GHZ_5470_5850 REG_RULE(5470-10, 5850+10, 80, 0, 30,\ - NL80211_RRF_NO_IR) -@@ -61,57 +62,56 @@ static int __ath_regd_init(struct ath_re - #define ATH9K_5GHZ_NO_MIDBAND ATH9K_5GHZ_5150_5350, \ - ATH9K_5GHZ_5725_5850 - -+#define REGD_RULES(...) \ -+ .reg_rules = { __VA_ARGS__ }, \ -+ .n_reg_rules = ARRAY_SIZE(((struct ieee80211_reg_rule[]) { __VA_ARGS__ })) -+ - /* Can be used for: - * 0x60, 0x61, 0x62 */ - static const struct ieee80211_regdomain ath_world_regdom_60_61_62 = { -- .n_reg_rules = 5, - .alpha2 = "99", -- .reg_rules = { -+ REGD_RULES( - ATH9K_2GHZ_ALL, - ATH9K_5GHZ_ALL, -- } -+ ) - }; - - /* Can be used by 0x63 and 0x65 */ - static const struct ieee80211_regdomain ath_world_regdom_63_65 = { -- .n_reg_rules = 4, - .alpha2 = "99", -- .reg_rules = { -+ REGD_RULES( - ATH9K_2GHZ_CH01_11, - ATH9K_2GHZ_CH12_13, - ATH9K_5GHZ_NO_MIDBAND, -- } -+ ) - }; - - /* Can be used by 0x64 only */ - static const struct ieee80211_regdomain ath_world_regdom_64 = { -- .n_reg_rules = 3, - .alpha2 = "99", -- .reg_rules = { -+ REGD_RULES( - ATH9K_2GHZ_CH01_11, - ATH9K_5GHZ_NO_MIDBAND, -- } -+ ) - }; - - /* Can be used by 0x66 and 0x69 */ - static const struct ieee80211_regdomain ath_world_regdom_66_69 = { -- .n_reg_rules = 3, - .alpha2 = "99", -- .reg_rules = { -+ REGD_RULES( - ATH9K_2GHZ_CH01_11, - ATH9K_5GHZ_ALL, -- } -+ ) - }; - - /* Can be used by 0x67, 0x68, 0x6A and 0x6C */ - static const struct ieee80211_regdomain ath_world_regdom_67_68_6A_6C = { -- .n_reg_rules = 4, - .alpha2 = "99", -- .reg_rules = { -+ REGD_RULES( - ATH9K_2GHZ_CH01_11, - ATH9K_2GHZ_CH12_13, - ATH9K_5GHZ_ALL, -- } -+ ) - }; - - static bool dynamic_country_user_possible(struct ath_regulatory *reg) diff --git a/feeds/rtkmipsel/mac80211/patches/404-regd_no_assoc_hints.patch b/feeds/rtkmipsel/mac80211/patches/404-regd_no_assoc_hints.patch deleted file mode 100644 index 1ef55456c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/404-regd_no_assoc_hints.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/net/wireless/reg.c -+++ b/net/wireless/reg.c -@@ -2411,6 +2411,8 @@ void regulatory_hint_country_ie(struct w - enum environment_cap env = ENVIRON_ANY; - struct regulatory_request *request = NULL, *lr; - -+ return; -+ - /* IE len must be evenly divisible by 2 */ - if (country_ie_len & 0x01) - return; -@@ -2617,6 +2619,7 @@ static void restore_regulatory_settings( - - void regulatory_hint_disconnect(void) - { -+ return; - pr_debug("All devices are disconnected, going to restore regulatory settings\n"); - restore_regulatory_settings(false); - } diff --git a/feeds/rtkmipsel/mac80211/patches/405-ath_regd_us.patch b/feeds/rtkmipsel/mac80211/patches/405-ath_regd_us.patch deleted file mode 100644 index cc5587780..000000000 --- a/feeds/rtkmipsel/mac80211/patches/405-ath_regd_us.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/net/wireless/ath/regd_common.h -+++ b/drivers/net/wireless/ath/regd_common.h -@@ -32,6 +32,7 @@ enum EnumRd { - FCC2_WORLD = 0x21, - FCC2_ETSIC = 0x22, - FCC6_WORLD = 0x23, -+ FCC3_FCCA_2 = 0x2A, - FRANCE_RES = 0x31, - FCC3_FCCA = 0x3A, - FCC3_WORLD = 0x3B, -@@ -167,6 +168,7 @@ static struct reg_dmn_pair_mapping regDo - {FCC2_WORLD, CTL_FCC, CTL_ETSI}, - {FCC2_ETSIC, CTL_FCC, CTL_ETSI}, - {FCC3_FCCA, CTL_FCC, CTL_FCC}, -+ {FCC3_FCCA_2, CTL_FCC, CTL_FCC}, - {FCC3_WORLD, CTL_FCC, CTL_ETSI}, - {FCC4_FCCA, CTL_FCC, CTL_FCC}, - {FCC5_FCCA, CTL_FCC, CTL_FCC}, -@@ -463,6 +465,7 @@ static struct country_code_to_enum_rd al - {CTRY_UAE, NULL1_WORLD, "AE"}, - {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"}, - {CTRY_UNITED_STATES, FCC3_FCCA, "US"}, -+ {CTRY_UNITED_STATES, FCC3_FCCA_2, "US"}, - /* This "PS" is for US public safety actually... to support this we - * would need to assign new special alpha2 to CRDA db as with the world - * regdomain and use another alpha2 */ diff --git a/feeds/rtkmipsel/mac80211/patches/406-ath_relax_default_regd.patch b/feeds/rtkmipsel/mac80211/patches/406-ath_relax_default_regd.patch deleted file mode 100644 index 6336f1f37..000000000 --- a/feeds/rtkmipsel/mac80211/patches/406-ath_relax_default_regd.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/drivers/net/wireless/ath/regd.c -+++ b/drivers/net/wireless/ath/regd.c -@@ -114,10 +114,22 @@ static const struct ieee80211_regdomain - ) - }; - -+static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg) -+{ -+ return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG; -+} -+ -+static bool is_default_regd(struct ath_regulatory *reg) -+{ -+ return ath_regd_get_eepromRD(reg) == CTRY_DEFAULT; -+} -+ - static bool dynamic_country_user_possible(struct ath_regulatory *reg) - { - if (config_enabled(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING)) - return true; -+ if (is_default_regd(reg)) -+ return true; - - switch (reg->country_code) { - case CTRY_UNITED_STATES: -@@ -202,11 +214,6 @@ static inline bool is_wwr_sku(u16 regd) - (regd == WORLD)); - } - --static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg) --{ -- return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG; --} -- - bool ath_is_world_regd(struct ath_regulatory *reg) - { - return is_wwr_sku(ath_regd_get_eepromRD(reg)); -@@ -650,6 +657,9 @@ ath_regd_init_wiphy(struct ath_regulator - return 0; - #endif - -+ if (is_default_regd(reg)) -+ return 0; -+ - wiphy->regulatory_flags |= REGULATORY_STRICT_REG | - REGULATORY_CUSTOM_REG; - diff --git a/feeds/rtkmipsel/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch b/feeds/rtkmipsel/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch deleted file mode 100644 index 1a6248495..000000000 --- a/feeds/rtkmipsel/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -722,6 +722,7 @@ static const struct ieee80211_iface_limi - BIT(NL80211_IFTYPE_AP) }, - { .max = 1, .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | - BIT(NL80211_IFTYPE_P2P_GO) }, -+ { .max = 1, .types = BIT(NL80211_IFTYPE_ADHOC) }, - }; - - static const struct ieee80211_iface_limit wds_limits[] = { diff --git a/feeds/rtkmipsel/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch b/feeds/rtkmipsel/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch deleted file mode 100644 index 2a5ab3d42..000000000 --- a/feeds/rtkmipsel/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c -+++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c -@@ -86,13 +86,8 @@ ath5k_add_interface(struct ieee80211_hw - goto end; - } - -- /* Don't allow other interfaces if one ad-hoc is configured. -- * TODO: Fix the problems with ad-hoc and multiple other interfaces. -- * We would need to operate the HW in ad-hoc mode to allow TSF updates -- * for the IBSS, but this breaks with additional AP or STA interfaces -- * at the moment. */ -- if (ah->num_adhoc_vifs || -- (ah->nvifs && vif->type == NL80211_IFTYPE_ADHOC)) { -+ /* Don't allow more than one ad-hoc interface */ -+ if (ah->num_adhoc_vifs && vif->type == NL80211_IFTYPE_ADHOC) { - ATH5K_ERR(ah, "Only one single ad-hoc interface is allowed.\n"); - ret = -ELNRNG; - goto end; ---- a/drivers/net/wireless/ath/ath5k/base.c -+++ b/drivers/net/wireless/ath/ath5k/base.c -@@ -1965,7 +1965,7 @@ ath5k_beacon_send(struct ath5k_hw *ah) - } - - if ((ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs + -- ah->num_mesh_vifs > 1) || -+ ah->num_adhoc_vifs + ah->num_mesh_vifs > 1) || - ah->opmode == NL80211_IFTYPE_MESH_POINT) { - u64 tsf = ath5k_hw_get_tsf64(ah); - u32 tsftu = TSF_TO_TU(tsf); -@@ -2051,7 +2051,7 @@ ath5k_beacon_update_timers(struct ath5k_ - - intval = ah->bintval & AR5K_BEACON_PERIOD; - if (ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs -- + ah->num_mesh_vifs > 1) { -+ + ah->num_adhoc_vifs + ah->num_mesh_vifs > 1) { - intval /= ATH_BCBUF; /* staggered multi-bss beacons */ - if (intval < 15) - ATH5K_WARN(ah, "intval %u is too low, min 15\n", -@@ -2518,6 +2518,7 @@ static const struct ieee80211_iface_limi - BIT(NL80211_IFTYPE_MESH_POINT) | - #endif - BIT(NL80211_IFTYPE_AP) }, -+ { .max = 1, .types = BIT(NL80211_IFTYPE_ADHOC) }, - }; - - static const struct ieee80211_iface_combination if_comb = { diff --git a/feeds/rtkmipsel/mac80211/patches/420-ath5k_disable_fast_cc.patch b/feeds/rtkmipsel/mac80211/patches/420-ath5k_disable_fast_cc.patch deleted file mode 100644 index 414f49508..000000000 --- a/feeds/rtkmipsel/mac80211/patches/420-ath5k_disable_fast_cc.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/drivers/net/wireless/ath/ath5k/reset.c -+++ b/drivers/net/wireless/ath/ath5k/reset.c -@@ -1154,6 +1154,7 @@ ath5k_hw_reset(struct ath5k_hw *ah, enum - tsf_lo = 0; - mode = 0; - -+#if 0 - /* - * Sanity check for fast flag - * Fast channel change only available -@@ -1161,6 +1162,7 @@ ath5k_hw_reset(struct ath5k_hw *ah, enum - */ - if (fast && (ah->ah_radio != AR5K_RF2413) && - (ah->ah_radio != AR5K_RF5413)) -+#endif - fast = false; - - /* Disable sleep clock operation diff --git a/feeds/rtkmipsel/mac80211/patches/430-add_ath5k_platform.patch b/feeds/rtkmipsel/mac80211/patches/430-add_ath5k_platform.patch deleted file mode 100644 index b213e2a81..000000000 --- a/feeds/rtkmipsel/mac80211/patches/430-add_ath5k_platform.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- /dev/null -+++ b/include/linux/ath5k_platform.h -@@ -0,0 +1,30 @@ -+/* -+ * Copyright (c) 2008 Atheros Communications Inc. -+ * Copyright (c) 2009 Gabor Juhos -+ * Copyright (c) 2009 Imre Kaloz -+ * Copyright (c) 2010 Daniel Golle -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#ifndef _LINUX_ATH5K_PLATFORM_H -+#define _LINUX_ATH5K_PLATFORM_H -+ -+#define ATH5K_PLAT_EEP_MAX_WORDS 2048 -+ -+struct ath5k_platform_data { -+ u16 *eeprom_data; -+ u8 *macaddr; -+}; -+ -+#endif /* _LINUX_ATH5K_PLATFORM_H */ diff --git a/feeds/rtkmipsel/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch b/feeds/rtkmipsel/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch deleted file mode 100644 index cdc9315cd..000000000 --- a/feeds/rtkmipsel/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- a/drivers/net/wireless/ath/ath5k/pci.c -+++ b/drivers/net/wireless/ath/ath5k/pci.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include "../ath.h" - #include "ath5k.h" - #include "debug.h" -@@ -72,7 +73,7 @@ static void ath5k_pci_read_cachesize(str - } - - /* -- * Read from eeprom -+ * Read from eeprom or platform_data - */ - static bool - ath5k_pci_eeprom_read(struct ath_common *common, u32 offset, u16 *data) -@@ -80,6 +81,19 @@ ath5k_pci_eeprom_read(struct ath_common - struct ath5k_hw *ah = (struct ath5k_hw *) common->ah; - u32 status, timeout; - -+ struct ath5k_platform_data *pdata = NULL; -+ -+ if (ah->pdev) -+ pdata = ah->pdev->dev.platform_data; -+ -+ if (pdata && pdata->eeprom_data && pdata->eeprom_data[61] == AR5K_EEPROM_MAGIC_VALUE) { -+ if (offset >= ATH5K_PLAT_EEP_MAX_WORDS) -+ return false; -+ -+ *data = pdata->eeprom_data[offset]; -+ return true; -+ } -+ - /* - * Initialize EEPROM access - */ -@@ -123,6 +137,16 @@ static int ath5k_pci_eeprom_read_mac(str - u16 data; - int octet; - -+ struct ath5k_platform_data *pdata = NULL; -+ -+ if (ah->pdev) -+ pdata = ah->pdev->dev.platform_data; -+ -+ if (pdata && pdata->macaddr) { -+ memcpy(mac, pdata->macaddr, ETH_ALEN); -+ return 0; -+ } -+ - AR5K_EEPROM_READ(0x20, data); - - for (offset = 0x1f, octet = 0, total = 0; offset >= 0x1d; offset--) { diff --git a/feeds/rtkmipsel/mac80211/patches/432-ath5k_add_pciids.patch b/feeds/rtkmipsel/mac80211/patches/432-ath5k_add_pciids.patch deleted file mode 100644 index d82f8001d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/432-ath5k_add_pciids.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/ath/ath5k/pci.c -+++ b/drivers/net/wireless/ath/ath5k/pci.c -@@ -48,6 +48,8 @@ static const struct pci_device_id ath5k_ - { PCI_VDEVICE(ATHEROS, 0x001b) }, /* 5413 Eagle */ - { PCI_VDEVICE(ATHEROS, 0x001c) }, /* PCI-E cards */ - { PCI_VDEVICE(ATHEROS, 0x001d) }, /* 2417 Nala */ -+ { PCI_VDEVICE(ATHEROS, 0xff16) }, /* 2413,2414 sx76x on lantiq_danube */ -+ { PCI_VDEVICE(ATHEROS, 0xff1a) }, /* 2417 arv45xx on lantiq_danube */ - { PCI_VDEVICE(ATHEROS, 0xff1b) }, /* AR5BXB63 */ - { 0 } - }; diff --git a/feeds/rtkmipsel/mac80211/patches/440-ath5k_channel_bw_debugfs.patch b/feeds/rtkmipsel/mac80211/patches/440-ath5k_channel_bw_debugfs.patch deleted file mode 100644 index 924b62e0d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/440-ath5k_channel_bw_debugfs.patch +++ /dev/null @@ -1,143 +0,0 @@ -This adds a bwmode debugfs file which can be used to set alternate -channel operating bandwidths. Only tested with AR5413 and only at -5 and 20 mhz channels. - -Signed-off-by: Pat Erley ---- -Other devices will need to be added to the switch in write_file_bwmode - -drivers/net/wireless/ath/ath5k/debug.c | 86 ++++++++++++++++++++++++++++++++ - 1 files changed, 86 insertions(+), 0 deletions(-) - ---- a/drivers/net/wireless/ath/ath5k/debug.c -+++ b/drivers/net/wireless/ath/ath5k/debug.c -@@ -823,6 +823,97 @@ static const struct file_operations fops - .llseek = default_llseek, - }; - -+/* debugfs: bwmode */ -+ -+static ssize_t read_file_bwmode(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath5k_hw *ah = file->private_data; -+ char buf[15]; -+ unsigned int len = 0; -+ -+ int cur_ah_bwmode = ah->ah_bwmode_debug; -+ -+#define print_selected(MODE, LABEL) \ -+ if (cur_ah_bwmode == MODE) \ -+ len += snprintf(buf+len, sizeof(buf)-len, "[%s]", LABEL); \ -+ else \ -+ len += snprintf(buf+len, sizeof(buf)-len, "%s", LABEL); \ -+ len += snprintf(buf+len, sizeof(buf)-len, " "); -+ -+ print_selected(AR5K_BWMODE_5MHZ, "5"); -+ print_selected(AR5K_BWMODE_10MHZ, "10"); -+ print_selected(AR5K_BWMODE_DEFAULT, "20"); -+ print_selected(AR5K_BWMODE_40MHZ, "40"); -+#undef print_selected -+ -+ len += snprintf(buf+len, sizeof(buf)-len, "\n"); -+ -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_bwmode(struct file *file, -+ const char __user *userbuf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath5k_hw *ah = file->private_data; -+ char buf[3]; -+ int bw = 20; -+ int tobwmode = AR5K_BWMODE_DEFAULT; -+ -+ if (copy_from_user(buf, userbuf, min(count, sizeof(buf)))) -+ return -EFAULT; -+ -+ /* TODO: Add check for active interface */ -+ -+ if(strncmp(buf, "5", 1) == 0 ) { -+ tobwmode = AR5K_BWMODE_5MHZ; -+ bw = 5; -+ } else if ( strncmp(buf, "10", 2) == 0 ) { -+ tobwmode = AR5K_BWMODE_10MHZ; -+ bw = 10; -+ } else if ( strncmp(buf, "20", 2) == 0 ) { -+ tobwmode = AR5K_BWMODE_DEFAULT; -+ bw = 20; -+ } else if ( strncmp(buf, "40", 2) == 0 ) { -+ tobwmode = AR5K_BWMODE_40MHZ; -+ bw = 40; -+ } else -+ return -EINVAL; -+ -+ ATH5K_INFO(ah, "Changing to %imhz channel width[%i]\n", -+ bw, tobwmode); -+ -+ switch (ah->ah_radio) { -+ /* TODO: only define radios that actually support 5/10mhz channels */ -+ case AR5K_RF5413: -+ case AR5K_RF5110: -+ case AR5K_RF5111: -+ case AR5K_RF5112: -+ case AR5K_RF2413: -+ case AR5K_RF2316: -+ case AR5K_RF2317: -+ case AR5K_RF2425: -+ if(ah->ah_bwmode_debug != tobwmode) { -+ mutex_lock(&ah->lock); -+ ah->ah_bwmode = tobwmode; -+ ah->ah_bwmode_debug = tobwmode; -+ mutex_unlock(&ah->lock); -+ } -+ break; -+ default: -+ return -EOPNOTSUPP; -+ } -+ return count; -+} -+ -+static const struct file_operations fops_bwmode = { -+ .read = read_file_bwmode, -+ .write = write_file_bwmode, -+ .open = simple_open, -+ .owner = THIS_MODULE, -+ .llseek = default_llseek, -+}; - - /* debugfs: queues etc */ - -@@ -1010,6 +1101,9 @@ ath5k_debug_init_device(struct ath5k_hw - debugfs_create_file("beacon", S_IWUSR | S_IRUSR, phydir, ah, - &fops_beacon); - -+ debugfs_create_file("bwmode", S_IWUSR | S_IRUSR, phydir, ah, -+ &fops_bwmode); -+ - debugfs_create_file("reset", S_IWUSR, phydir, ah, &fops_reset); - - debugfs_create_file("antenna", S_IWUSR | S_IRUSR, phydir, ah, ---- a/drivers/net/wireless/ath/ath5k/ath5k.h -+++ b/drivers/net/wireless/ath/ath5k/ath5k.h -@@ -1372,6 +1372,7 @@ struct ath5k_hw { - u8 ah_coverage_class; - bool ah_ack_bitrate_high; - u8 ah_bwmode; -+ u8 ah_bwmode_debug; - bool ah_short_slot; - - /* Antenna Control */ ---- a/drivers/net/wireless/ath/ath5k/base.c -+++ b/drivers/net/wireless/ath/ath5k/base.c -@@ -466,6 +466,9 @@ ath5k_chan_set(struct ath5k_hw *ah, stru - return -EINVAL; - } - -+ if (ah->ah_bwmode_debug != AR5K_BWMODE_DEFAULT) -+ ah->ah_bwmode = ah->ah_bwmode_debug; -+ - /* - * To switch channels clear any pending DMA operations; - * wait long enough for the RX fifo to drain, reset the diff --git a/feeds/rtkmipsel/mac80211/patches/500-ath9k_eeprom_debugfs.patch b/feeds/rtkmipsel/mac80211/patches/500-ath9k_eeprom_debugfs.patch deleted file mode 100644 index a7f9d9f8b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/500-ath9k_eeprom_debugfs.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/debug.c -+++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1301,6 +1301,53 @@ void ath9k_deinit_debug(struct ath_softc - ath9k_cmn_spectral_deinit_debug(&sc->spec_priv); - } - -+static ssize_t read_file_eeprom(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_hw *ah = sc->sc_ah; -+ struct ath_common *common = ath9k_hw_common(ah); -+ int bytes = 0; -+ int pos = *ppos; -+ int size = 4096; -+ u16 val; -+ int i; -+ -+ if (AR_SREV_9300_20_OR_LATER(ah)) -+ size = 16384; -+ -+ if (*ppos < 0) -+ return -EINVAL; -+ -+ if (count > size - *ppos) -+ count = size - *ppos; -+ -+ for (i = *ppos / 2; count > 0; count -= bytes, *ppos += bytes, i++) { -+ void *from = &val; -+ -+ if (!common->bus_ops->eeprom_read(common, i, &val)) -+ val = 0xffff; -+ -+ if (*ppos % 2) { -+ from++; -+ bytes = 1; -+ } else if (count == 1) { -+ bytes = 1; -+ } else { -+ bytes = 2; -+ } -+ copy_to_user(user_buf, from, bytes); -+ user_buf += bytes; -+ } -+ return *ppos - pos; -+} -+ -+static const struct file_operations fops_eeprom = { -+ .read = read_file_eeprom, -+ .open = simple_open, -+ .owner = THIS_MODULE -+}; -+ - int ath9k_init_debug(struct ath_hw *ah) - { - struct ath_common *common = ath9k_hw_common(ah); -@@ -1320,6 +1367,8 @@ int ath9k_init_debug(struct ath_hw *ah) - ath9k_tx99_init_debug(sc); - ath9k_cmn_spectral_init_debug(&sc->spec_priv, sc->debug.debugfs_phy); - -+ debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, -+ &fops_eeprom); - debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, - read_file_dma); - debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, diff --git a/feeds/rtkmipsel/mac80211/patches/501-ath9k_ahb_init.patch b/feeds/rtkmipsel/mac80211/patches/501-ath9k_ahb_init.patch deleted file mode 100644 index 5892c3e17..000000000 --- a/feeds/rtkmipsel/mac80211/patches/501-ath9k_ahb_init.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -1024,23 +1024,23 @@ static int __init ath9k_init(void) - { - int error; - -- error = ath_pci_init(); -+ error = ath_ahb_init(); - if (error < 0) { -- pr_err("No PCI devices found, driver not installed\n"); - error = -ENODEV; - goto err_out; - } - -- error = ath_ahb_init(); -+ error = ath_pci_init(); - if (error < 0) { -+ pr_err("No PCI devices found, driver not installed\n"); - error = -ENODEV; -- goto err_pci_exit; -+ goto err_ahb_exit; - } - - return 0; - -- err_pci_exit: -- ath_pci_exit(); -+ err_ahb_exit: -+ ath_ahb_exit(); - err_out: - return error; - } diff --git a/feeds/rtkmipsel/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch b/feeds/rtkmipsel/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch deleted file mode 100644 index d2a3b9657..000000000 --- a/feeds/rtkmipsel/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -390,13 +390,8 @@ static void ath9k_hw_init_config(struct - - ah->config.rx_intr_mitigation = true; - -- if (AR_SREV_9300_20_OR_LATER(ah)) { -- ah->config.rimt_last = 500; -- ah->config.rimt_first = 2000; -- } else { -- ah->config.rimt_last = 250; -- ah->config.rimt_first = 700; -- } -+ ah->config.rimt_last = 250; -+ ah->config.rimt_first = 500; - - if (AR_SREV_9462(ah) || AR_SREV_9565(ah)) - ah->config.pll_pwrsave = 7; diff --git a/feeds/rtkmipsel/mac80211/patches/511-ath9k_reduce_rxbuf.patch b/feeds/rtkmipsel/mac80211/patches/511-ath9k_reduce_rxbuf.patch deleted file mode 100644 index 6766111df..000000000 --- a/feeds/rtkmipsel/mac80211/patches/511-ath9k_reduce_rxbuf.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/ath9k.h -+++ b/drivers/net/wireless/ath/ath9k/ath9k.h -@@ -88,7 +88,7 @@ int ath_descdma_setup(struct ath_softc * - (_l) &= ((_sz) - 1); \ - } while (0) - --#define ATH_RXBUF 512 -+#define ATH_RXBUF 256 - #define ATH_TXBUF 512 - #define ATH_TXBUF_RESERVE 5 - #define ATH_MAX_QDEPTH (ATH_TXBUF / 4 - ATH_TXBUF_RESERVE) diff --git a/feeds/rtkmipsel/mac80211/patches/512-ath9k_channelbw_debugfs.patch b/feeds/rtkmipsel/mac80211/patches/512-ath9k_channelbw_debugfs.patch deleted file mode 100644 index 5ecf528e5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/512-ath9k_channelbw_debugfs.patch +++ /dev/null @@ -1,125 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/debug.c -+++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1348,6 +1348,52 @@ static const struct file_operations fops - .owner = THIS_MODULE - }; - -+ -+static ssize_t read_file_chan_bw(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_common *common = ath9k_hw_common(sc->sc_ah); -+ char buf[32]; -+ unsigned int len; -+ -+ len = sprintf(buf, "0x%08x\n", common->chan_bw); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_chan_bw(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_common *common = ath9k_hw_common(sc->sc_ah); -+ unsigned long chan_bw; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EFAULT; -+ -+ buf[len] = '\0'; -+ if (kstrtoul(buf, 0, &chan_bw)) -+ return -EINVAL; -+ -+ common->chan_bw = chan_bw; -+ if (!test_bit(ATH_OP_INVALID, &common->op_flags)) -+ ath9k_ops.config(sc->hw, IEEE80211_CONF_CHANGE_CHANNEL); -+ -+ return count; -+} -+ -+static const struct file_operations fops_chanbw = { -+ .read = read_file_chan_bw, -+ .write = write_file_chan_bw, -+ .open = simple_open, -+ .owner = THIS_MODULE, -+ .llseek = default_llseek, -+}; -+ -+ - int ath9k_init_debug(struct ath_hw *ah) - { - struct ath_common *common = ath9k_hw_common(ah); -@@ -1369,6 +1415,8 @@ int ath9k_init_debug(struct ath_hw *ah) - - debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, - &fops_eeprom); -+ debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, -+ sc, &fops_chanbw); - debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, - read_file_dma); - debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, ---- a/drivers/net/wireless/ath/ath.h -+++ b/drivers/net/wireless/ath/ath.h -@@ -151,6 +151,7 @@ struct ath_common { - int debug_mask; - enum ath_device_state state; - unsigned long op_flags; -+ u32 chan_bw; - - struct ath_ani ani; - ---- a/drivers/net/wireless/ath/ath9k/common.c -+++ b/drivers/net/wireless/ath/ath9k/common.c -@@ -296,11 +296,13 @@ EXPORT_SYMBOL(ath9k_cmn_get_hw_crypto_ke - /* - * Update internal channel flags. - */ --static void ath9k_cmn_update_ichannel(struct ath9k_channel *ichan, -+static void ath9k_cmn_update_ichannel(struct ath_common *common, -+ struct ath9k_channel *ichan, - struct cfg80211_chan_def *chandef) - { - struct ieee80211_channel *chan = chandef->chan; - u16 flags = 0; -+ int width; - - ichan->channel = chan->center_freq; - ichan->chan = chan; -@@ -308,7 +310,19 @@ static void ath9k_cmn_update_ichannel(st - if (chan->band == IEEE80211_BAND_5GHZ) - flags |= CHANNEL_5GHZ; - -- switch (chandef->width) { -+ switch (common->chan_bw) { -+ case 5: -+ width = NL80211_CHAN_WIDTH_5; -+ break; -+ case 10: -+ width = NL80211_CHAN_WIDTH_10; -+ break; -+ default: -+ width = chandef->width; -+ break; -+ } -+ -+ switch (width) { - case NL80211_CHAN_WIDTH_5: - flags |= CHANNEL_QUARTER; - break; -@@ -341,10 +355,11 @@ struct ath9k_channel *ath9k_cmn_get_chan - struct cfg80211_chan_def *chandef) - { - struct ieee80211_channel *curchan = chandef->chan; -+ struct ath_common *common = ath9k_hw_common(ah); - struct ath9k_channel *channel; - - channel = &ah->channels[curchan->hw_value]; -- ath9k_cmn_update_ichannel(channel, chandef); -+ ath9k_cmn_update_ichannel(common, channel, chandef); - - return channel; - } diff --git a/feeds/rtkmipsel/mac80211/patches/513-ath9k_add_pci_ids.patch b/feeds/rtkmipsel/mac80211/patches/513-ath9k_add_pci_ids.patch deleted file mode 100644 index c84d1bc82..000000000 --- a/feeds/rtkmipsel/mac80211/patches/513-ath9k_add_pci_ids.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -651,6 +651,7 @@ int ath9k_hw_init(struct ath_hw *ah) - - /* These are all the AR5008/AR9001/AR9002/AR9003 hardware family of chipsets */ - switch (ah->hw_version.devid) { -+ case AR9300_DEVID_INVALID: - case AR5416_DEVID_PCI: - case AR5416_DEVID_PCIE: - case AR5416_AR9100_DEVID: ---- a/drivers/net/wireless/ath/ath9k/hw.h -+++ b/drivers/net/wireless/ath/ath9k/hw.h -@@ -36,6 +36,7 @@ - - #define ATHEROS_VENDOR_ID 0x168c - -+#define AR9300_DEVID_INVALID 0xabcd - #define AR5416_DEVID_PCI 0x0023 - #define AR5416_DEVID_PCIE 0x0024 - #define AR9160_DEVID_PCI 0x0027 ---- a/drivers/net/wireless/ath/ath9k/pci.c -+++ b/drivers/net/wireless/ath/ath9k/pci.c -@@ -751,6 +751,7 @@ static const struct pci_device_id ath_pc - .driver_data = ATH9K_PCI_BT_ANT_DIV }, - #endif - -+ { PCI_VDEVICE(ATHEROS, 0xabcd) }, /* PCI-E internal chip default ID */ - { 0 } - }; - diff --git a/feeds/rtkmipsel/mac80211/patches/522-mac80211_configure_antenna_gain.patch b/feeds/rtkmipsel/mac80211/patches/522-mac80211_configure_antenna_gain.patch deleted file mode 100644 index e151a1296..000000000 --- a/feeds/rtkmipsel/mac80211/patches/522-mac80211_configure_antenna_gain.patch +++ /dev/null @@ -1,160 +0,0 @@ ---- a/include/net/cfg80211.h -+++ b/include/net/cfg80211.h -@@ -2363,6 +2363,7 @@ struct cfg80211_qos_map { - * (as advertised by the nl80211 feature flag.) - * @get_tx_power: store the current TX power into the dbm variable; - * return 0 if successful -+ * @set_antenna_gain: set antenna gain to reduce maximum tx power if necessary - * - * @set_wds_peer: set the WDS peer for a WDS interface - * -@@ -2624,6 +2625,7 @@ struct cfg80211_ops { - enum nl80211_tx_power_setting type, int mbm); - int (*get_tx_power)(struct wiphy *wiphy, struct wireless_dev *wdev, - int *dbm); -+ int (*set_antenna_gain)(struct wiphy *wiphy, int dbi); - - int (*set_wds_peer)(struct wiphy *wiphy, struct net_device *dev, - const u8 *addr); ---- a/include/net/mac80211.h -+++ b/include/net/mac80211.h -@@ -1286,6 +1286,7 @@ enum ieee80211_smps_mode { - * - * @power_level: requested transmit power (in dBm), backward compatibility - * value only that is set to the minimum of all interfaces -+ * @max_antenna_gain: maximum antenna gain adjusted by user config (in dBi) - * - * @chandef: the channel definition to tune to - * @radar_enabled: whether radar detection is enabled -@@ -1306,6 +1307,7 @@ enum ieee80211_smps_mode { - struct ieee80211_conf { - u32 flags; - int power_level, dynamic_ps_timeout; -+ int max_antenna_gain; - - u16 listen_interval; - u8 ps_dtim_period; ---- a/include/uapi/linux/nl80211.h -+++ b/include/uapi/linux/nl80211.h -@@ -1790,6 +1790,9 @@ enum nl80211_commands { - * between scans. The scan plans are executed sequentially. - * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan. - * -+ * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce -+ * transmit power to stay within regulatory limits. u32, dBi. -+ * - * @NUM_NL80211_ATTR: total number of nl80211_attrs available - * @NL80211_ATTR_MAX: highest attribute number currently defined - * @__NL80211_ATTR_AFTER_LAST: internal use -@@ -2164,6 +2167,8 @@ enum nl80211_attrs { - NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS, - NL80211_ATTR_SCHED_SCAN_PLANS, - -+ NL80211_ATTR_WIPHY_ANTENNA_GAIN, -+ - /* add attributes here, update the policy in nl80211.c */ - - __NL80211_ATTR_AFTER_LAST, ---- a/net/mac80211/cfg.c -+++ b/net/mac80211/cfg.c -@@ -2229,6 +2229,19 @@ static int ieee80211_get_tx_power(struct - return 0; - } - -+static int ieee80211_set_antenna_gain(struct wiphy *wiphy, int dbi) -+{ -+ struct ieee80211_local *local = wiphy_priv(wiphy); -+ -+ if (dbi < 0) -+ return -EINVAL; -+ -+ local->user_antenna_gain = dbi; -+ ieee80211_hw_config(local, 0); -+ -+ return 0; -+} -+ - static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev, - const u8 *addr) - { -@@ -3403,6 +3416,7 @@ const struct cfg80211_ops mac80211_confi - .set_wiphy_params = ieee80211_set_wiphy_params, - .set_tx_power = ieee80211_set_tx_power, - .get_tx_power = ieee80211_get_tx_power, -+ .set_antenna_gain = ieee80211_set_antenna_gain, - .set_wds_peer = ieee80211_set_wds_peer, - .rfkill_poll = ieee80211_rfkill_poll, - CFG80211_TESTMODE_CMD(ieee80211_testmode_cmd) ---- a/net/mac80211/ieee80211_i.h -+++ b/net/mac80211/ieee80211_i.h -@@ -1318,6 +1318,7 @@ struct ieee80211_local { - int dynamic_ps_forced_timeout; - - int user_power_level; /* in dBm, for all interfaces */ -+ int user_antenna_gain; /* in dBi */ - - enum ieee80211_smps_mode smps_mode; - ---- a/net/mac80211/main.c -+++ b/net/mac80211/main.c -@@ -93,7 +93,7 @@ static u32 ieee80211_hw_conf_chan(struct - struct ieee80211_sub_if_data *sdata; - struct cfg80211_chan_def chandef = {}; - u32 changed = 0; -- int power; -+ int power, max_power; - u32 offchannel_flag; - - offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL; -@@ -150,6 +150,12 @@ static u32 ieee80211_hw_conf_chan(struct - } - rcu_read_unlock(); - -+ max_power = chandef.chan->max_reg_power; -+ if (local->user_antenna_gain > 0) { -+ max_power -= local->user_antenna_gain; -+ power = min(power, max_power); -+ } -+ - if (local->hw.conf.power_level != power) { - changed |= IEEE80211_CONF_CHANGE_POWER; - local->hw.conf.power_level = power; -@@ -586,6 +592,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_ - IEEE80211_RADIOTAP_MCS_HAVE_BW; - local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI | - IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH; -+ local->user_antenna_gain = 0; - local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES; - local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN; - local->user_power_level = IEEE80211_UNSET_POWER_LEVEL; ---- a/net/wireless/nl80211.c -+++ b/net/wireless/nl80211.c -@@ -403,6 +403,7 @@ static const struct nla_policy nl80211_p - [NL80211_ATTR_NETNS_FD] = { .type = NLA_U32 }, - [NL80211_ATTR_SCHED_SCAN_DELAY] = { .type = NLA_U32 }, - [NL80211_ATTR_REG_INDOOR] = { .type = NLA_FLAG }, -+ [NL80211_ATTR_WIPHY_ANTENNA_GAIN] = { .type = NLA_U32 }, - }; - - /* policy for the key attributes */ -@@ -2220,6 +2221,20 @@ static int nl80211_set_wiphy(struct sk_b - if (result) - return result; - } -+ -+ if (info->attrs[NL80211_ATTR_WIPHY_ANTENNA_GAIN]) { -+ int idx, dbi = 0; -+ -+ if (!rdev->ops->set_antenna_gain) -+ return -EOPNOTSUPP; -+ -+ idx = NL80211_ATTR_WIPHY_ANTENNA_GAIN; -+ dbi = nla_get_u32(info->attrs[idx]); -+ -+ result = rdev->ops->set_antenna_gain(&rdev->wiphy, dbi); -+ if (result) -+ return result; -+ } - - if (info->attrs[NL80211_ATTR_WIPHY_ANTENNA_TX] && - info->attrs[NL80211_ATTR_WIPHY_ANTENNA_RX]) { diff --git a/feeds/rtkmipsel/mac80211/patches/530-ath9k_extra_leds.patch b/feeds/rtkmipsel/mac80211/patches/530-ath9k_extra_leds.patch deleted file mode 100644 index 5a5e4643f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/530-ath9k_extra_leds.patch +++ /dev/null @@ -1,251 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/ath9k.h -+++ b/drivers/net/wireless/ath/ath9k/ath9k.h -@@ -814,6 +814,9 @@ static inline int ath9k_dump_btcoex(stru - void ath_init_leds(struct ath_softc *sc); - void ath_deinit_leds(struct ath_softc *sc); - void ath_fill_led_pin(struct ath_softc *sc); -+int ath_create_gpio_led(struct ath_softc *sc, int gpio, const char *name, -+ const char *trigger, bool active_low); -+ - #else - static inline void ath_init_leds(struct ath_softc *sc) - { -@@ -953,6 +956,13 @@ void ath_ant_comb_scan(struct ath_softc - - #define ATH9K_NUM_CHANCTX 2 /* supports 2 operating channels */ - -+struct ath_led { -+ struct list_head list; -+ struct ath_softc *sc; -+ const struct gpio_led *gpio; -+ struct led_classdev cdev; -+}; -+ - struct ath_softc { - struct ieee80211_hw *hw; - struct device *dev; -@@ -1005,9 +1015,8 @@ struct ath_softc { - spinlock_t chan_lock; - - #ifdef CPTCFG_MAC80211_LEDS -- bool led_registered; -- char led_name[32]; -- struct led_classdev led_cdev; -+ const char *led_default_trigger; -+ struct list_head leds; - #endif - - #ifdef CPTCFG_ATH9K_DEBUGFS ---- a/drivers/net/wireless/ath/ath9k/gpio.c -+++ b/drivers/net/wireless/ath/ath9k/gpio.c -@@ -24,45 +24,102 @@ - static void ath_led_brightness(struct led_classdev *led_cdev, - enum led_brightness brightness) - { -- struct ath_softc *sc = container_of(led_cdev, struct ath_softc, led_cdev); -- u32 val = (brightness == LED_OFF); -+ struct ath_led *led = container_of(led_cdev, struct ath_led, cdev); -+ struct ath_softc *sc = led->sc; - -- if (sc->sc_ah->config.led_active_high) -- val = !val; -+ ath9k_ps_wakeup(sc); -+ ath9k_hw_set_gpio(sc->sc_ah, led->gpio->gpio, -+ (brightness != LED_OFF) ^ led->gpio->active_low); -+ ath9k_ps_restore(sc); -+} - -- ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, val); -+static int ath_add_led(struct ath_softc *sc, struct ath_led *led) -+{ -+ const struct gpio_led *gpio = led->gpio; -+ int ret; -+ -+ led->cdev.name = gpio->name; -+ led->cdev.default_trigger = gpio->default_trigger; -+ led->cdev.brightness_set = ath_led_brightness; -+ -+ ret = led_classdev_register(wiphy_dev(sc->hw->wiphy), &led->cdev); -+ if (ret < 0) -+ return ret; -+ -+ led->sc = sc; -+ list_add(&led->list, &sc->leds); -+ -+ /* Configure gpio for output */ -+ ath9k_hw_cfg_output(sc->sc_ah, gpio->gpio, -+ AR_GPIO_OUTPUT_MUX_AS_OUTPUT); -+ -+ /* LED off */ -+ ath9k_hw_set_gpio(sc->sc_ah, gpio->gpio, gpio->active_low); -+ -+ return 0; -+} -+ -+int ath_create_gpio_led(struct ath_softc *sc, int gpio_num, const char *name, -+ const char *trigger, bool active_low) -+{ -+ struct ath_led *led; -+ struct gpio_led *gpio; -+ char *_name; -+ int ret; -+ -+ led = kzalloc(sizeof(*led) + sizeof(*gpio) + strlen(name) + 1, -+ GFP_KERNEL); -+ if (!led) -+ return -ENOMEM; -+ -+ led->gpio = gpio = (struct gpio_led *) (led + 1); -+ _name = (char *) (led->gpio + 1); -+ -+ strcpy(_name, name); -+ gpio->name = _name; -+ gpio->gpio = gpio_num; -+ gpio->active_low = active_low; -+ gpio->default_trigger = trigger; -+ -+ ret = ath_add_led(sc, led); -+ if (unlikely(ret < 0)) -+ kfree(led); -+ -+ return ret; - } - - void ath_deinit_leds(struct ath_softc *sc) - { -- if (!sc->led_registered) -- return; -+ struct ath_led *led; - -- ath_led_brightness(&sc->led_cdev, LED_OFF); -- led_classdev_unregister(&sc->led_cdev); -+ while (!list_empty(&sc->leds)) { -+ led = list_first_entry(&sc->leds, struct ath_led, list); -+ list_del(&led->list); -+ ath_led_brightness(&led->cdev, LED_OFF); -+ led_classdev_unregister(&led->cdev); -+ kfree(led); -+ } - } - - void ath_init_leds(struct ath_softc *sc) - { -- int ret; -+ char led_name[32]; -+ const char *trigger; -+ -+ INIT_LIST_HEAD(&sc->leds); - - if (AR_SREV_9100(sc->sc_ah)) - return; - -- if (!ath9k_led_blink) -- sc->led_cdev.default_trigger = -- ieee80211_get_radio_led_name(sc->hw); -- -- snprintf(sc->led_name, sizeof(sc->led_name), -- "ath9k-%s", wiphy_name(sc->hw->wiphy)); -- sc->led_cdev.name = sc->led_name; -- sc->led_cdev.brightness_set = ath_led_brightness; -+ snprintf(led_name, sizeof(led_name), "ath9k-%s", -+ wiphy_name(sc->hw->wiphy)); - -- ret = led_classdev_register(wiphy_dev(sc->hw->wiphy), &sc->led_cdev); -- if (ret < 0) -- return; -+ if (ath9k_led_blink) -+ trigger = sc->led_default_trigger; -+ else -+ trigger = ieee80211_get_radio_led_name(sc->hw); - -- sc->led_registered = true; -+ ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger, !sc->sc_ah->config.led_active_high); - } - - void ath_fill_led_pin(struct ath_softc *sc) ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -936,7 +936,7 @@ int ath9k_init_device(u16 devid, struct - - #ifdef CPTCFG_MAC80211_LEDS - /* must be initialized before ieee80211_register_hw */ -- sc->led_cdev.default_trigger = ieee80211_create_tpt_led_trigger(sc->hw, -+ sc->led_default_trigger = ieee80211_create_tpt_led_trigger(sc->hw, - IEEE80211_TPT_LEDTRIG_FL_RADIO, ath9k_tpt_blink, - ARRAY_SIZE(ath9k_tpt_blink)); - #endif ---- a/drivers/net/wireless/ath/ath9k/debug.c -+++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1393,6 +1393,61 @@ static const struct file_operations fops - .llseek = default_llseek, - }; - -+#ifdef CONFIG_MAC80211_LEDS -+ -+static ssize_t write_file_gpio_led(struct file *file, const char __user *ubuf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ char buf[32], *str, *name, *c; -+ ssize_t len; -+ unsigned int gpio; -+ bool active_low = false; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, ubuf, len)) -+ return -EFAULT; -+ -+ buf[len] = '\0'; -+ name = strchr(buf, ','); -+ if (!name) -+ return -EINVAL; -+ -+ *(name++) = 0; -+ if (!*name) -+ return -EINVAL; -+ -+ c = strchr(name, '\n'); -+ if (c) -+ *c = 0; -+ -+ str = buf; -+ if (*str == '!') { -+ str++; -+ active_low = true; -+ } -+ -+ if (kstrtouint(str, 0, &gpio) < 0) -+ return -EINVAL; -+ -+ if (gpio >= sc->sc_ah->caps.num_gpio_pins) -+ return -EINVAL; -+ -+ if (ath_create_gpio_led(sc, gpio, name, NULL, active_low) < 0) -+ return -EINVAL; -+ -+ return count; -+} -+ -+static const struct file_operations fops_gpio_led = { -+ .write = write_file_gpio_led, -+ .open = simple_open, -+ .owner = THIS_MODULE, -+ .llseek = default_llseek, -+}; -+ -+#endif -+ - - int ath9k_init_debug(struct ath_hw *ah) - { -@@ -1417,6 +1472,10 @@ int ath9k_init_debug(struct ath_hw *ah) - &fops_eeprom); - debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, - sc, &fops_chanbw); -+#ifdef CONFIG_MAC80211_LEDS -+ debugfs_create_file("gpio_led", S_IWUSR, -+ sc->debug.debugfs_phy, sc, &fops_gpio_led); -+#endif - debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, - read_file_dma); - debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, diff --git a/feeds/rtkmipsel/mac80211/patches/531-ath9k_extra_platform_leds.patch b/feeds/rtkmipsel/mac80211/patches/531-ath9k_extra_platform_leds.patch deleted file mode 100644 index 7c10ea6b0..000000000 --- a/feeds/rtkmipsel/mac80211/patches/531-ath9k_extra_platform_leds.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- a/include/linux/ath9k_platform.h -+++ b/include/linux/ath9k_platform.h -@@ -41,6 +41,9 @@ struct ath9k_platform_data { - int (*external_reset)(void); - - bool use_eeprom; -+ -+ int num_leds; -+ const struct gpio_led *leds; - }; - - #endif /* _LINUX_ATH9K_PLATFORM_H */ ---- a/drivers/net/wireless/ath/ath9k/gpio.c -+++ b/drivers/net/wireless/ath/ath9k/gpio.c -@@ -15,6 +15,7 @@ - */ - - #include "ath9k.h" -+#include - - /********************************/ - /* LED functions */ -@@ -88,6 +89,24 @@ int ath_create_gpio_led(struct ath_softc - return ret; - } - -+static int ath_create_platform_led(struct ath_softc *sc, -+ const struct gpio_led *gpio) -+{ -+ struct ath_led *led; -+ int ret; -+ -+ led = kzalloc(sizeof(*led), GFP_KERNEL); -+ if (!led) -+ return -ENOMEM; -+ -+ led->gpio = gpio; -+ ret = ath_add_led(sc, led); -+ if (ret < 0) -+ kfree(led); -+ -+ return ret; -+} -+ - void ath_deinit_leds(struct ath_softc *sc) - { - struct ath_led *led; -@@ -103,8 +122,10 @@ void ath_deinit_leds(struct ath_softc *s - - void ath_init_leds(struct ath_softc *sc) - { -+ struct ath9k_platform_data *pdata = sc->dev->platform_data; - char led_name[32]; - const char *trigger; -+ int i; - - INIT_LIST_HEAD(&sc->leds); - -@@ -120,6 +141,12 @@ void ath_init_leds(struct ath_softc *sc) - trigger = ieee80211_get_radio_led_name(sc->hw); - - ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger, !sc->sc_ah->config.led_active_high); -+ -+ if (!pdata) -+ return; -+ -+ for (i = 0; i < pdata->num_leds; i++) -+ ath_create_platform_led(sc, &pdata->leds[i]); - } - - void ath_fill_led_pin(struct ath_softc *sc) diff --git a/feeds/rtkmipsel/mac80211/patches/532-ath9k_get_led_polarity_from_platform_data.patch b/feeds/rtkmipsel/mac80211/patches/532-ath9k_get_led_polarity_from_platform_data.patch deleted file mode 100644 index 6d62a2b1c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/532-ath9k_get_led_polarity_from_platform_data.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/include/linux/ath9k_platform.h -+++ b/include/linux/ath9k_platform.h -@@ -36,6 +36,7 @@ struct ath9k_platform_data { - bool tx_gain_buffalo; - bool disable_2ghz; - bool disable_5ghz; -+ bool led_active_high; - - int (*get_mac_revision)(void); - int (*external_reset)(void); ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -577,6 +577,7 @@ static int ath9k_init_softc(u16 devid, s - ah->external_reset = pdata->external_reset; - ah->disable_2ghz = pdata->disable_2ghz; - ah->disable_5ghz = pdata->disable_5ghz; -+ ah->config.led_active_high = pdata->led_active_high; - if (!pdata->endian_check) - ah->ah_flags |= AH_NO_EEP_SWAP; - } diff --git a/feeds/rtkmipsel/mac80211/patches/540-ath9k_reduce_ani_interval.patch b/feeds/rtkmipsel/mac80211/patches/540-ath9k_reduce_ani_interval.patch deleted file mode 100644 index e89990347..000000000 --- a/feeds/rtkmipsel/mac80211/patches/540-ath9k_reduce_ani_interval.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/ani.h -+++ b/drivers/net/wireless/ath/ath9k/ani.h -@@ -42,7 +42,7 @@ - #define ATH9K_ANI_PERIOD 300 - - /* in ms */ --#define ATH9K_ANI_POLLINTERVAL 1000 -+#define ATH9K_ANI_POLLINTERVAL 300 - - #define ATH9K_SIG_FIRSTEP_SETTING_MIN 0 - #define ATH9K_SIG_FIRSTEP_SETTING_MAX 20 diff --git a/feeds/rtkmipsel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch b/feeds/rtkmipsel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch deleted file mode 100644 index 3c5e9f5fc..000000000 --- a/feeds/rtkmipsel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/mac.c -+++ b/drivers/net/wireless/ath/ath9k/mac.c -@@ -695,7 +695,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw - { - #define AH_RX_STOP_DMA_TIMEOUT 10000 /* usec */ - struct ath_common *common = ath9k_hw_common(ah); -- u32 mac_status, last_mac_status = 0; -+ u32 mac_status = 0, last_mac_status = 0; - int i; - - /* Enable access to the DMA observation bus */ -@@ -725,6 +725,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw - } - - if (i == 0) { -+ if (!AR_SREV_9300_20_OR_LATER(ah) && -+ (mac_status & 0x700) == 0) { -+ /* -+ * DMA is idle but the MAC is still stuck -+ * processing events -+ */ -+ *reset = true; -+ return true; -+ } -+ - ath_err(common, - "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n", - AH_RX_STOP_DMA_TIMEOUT / 1000, diff --git a/feeds/rtkmipsel/mac80211/patches/542-ath9k_debugfs_diag.patch b/feeds/rtkmipsel/mac80211/patches/542-ath9k_debugfs_diag.patch deleted file mode 100644 index e83c6bfbf..000000000 --- a/feeds/rtkmipsel/mac80211/patches/542-ath9k_debugfs_diag.patch +++ /dev/null @@ -1,139 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/debug.c -+++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1449,6 +1449,50 @@ static const struct file_operations fops - #endif - - -+static ssize_t read_file_diag(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_hw *ah = sc->sc_ah; -+ char buf[32]; -+ unsigned int len; -+ -+ len = sprintf(buf, "0x%08lx\n", ah->diag); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_diag(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_hw *ah = sc->sc_ah; -+ unsigned long diag; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EFAULT; -+ -+ buf[len] = '\0'; -+ if (kstrtoul(buf, 0, &diag)) -+ return -EINVAL; -+ -+ ah->diag = diag; -+ ath9k_hw_update_diag(ah); -+ -+ return count; -+} -+ -+static const struct file_operations fops_diag = { -+ .read = read_file_diag, -+ .write = write_file_diag, -+ .open = simple_open, -+ .owner = THIS_MODULE, -+ .llseek = default_llseek, -+}; -+ -+ - int ath9k_init_debug(struct ath_hw *ah) - { - struct ath_common *common = ath9k_hw_common(ah); -@@ -1476,6 +1520,8 @@ int ath9k_init_debug(struct ath_hw *ah) - debugfs_create_file("gpio_led", S_IWUSR, - sc->debug.debugfs_phy, sc, &fops_gpio_led); - #endif -+ debugfs_create_file("diag", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, -+ sc, &fops_diag); - debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, - read_file_dma); - debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, ---- a/drivers/net/wireless/ath/ath9k/hw.h -+++ b/drivers/net/wireless/ath/ath9k/hw.h -@@ -519,6 +519,12 @@ enum { - ATH9K_RESET_COLD, - }; - -+enum { -+ ATH_DIAG_DISABLE_RX, -+ ATH_DIAG_DISABLE_TX, -+ ATH_DIAG_TRIGGER_ERROR, -+}; -+ - struct ath9k_hw_version { - u32 magic; - u16 devid; -@@ -804,6 +810,8 @@ struct ath_hw { - u32 rfkill_polarity; - u32 ah_flags; - -+ unsigned long diag; -+ - bool reset_power_on; - bool htc_reset_init; - -@@ -1066,6 +1074,7 @@ void ath9k_hw_check_nav(struct ath_hw *a - bool ath9k_hw_check_alive(struct ath_hw *ah); - - bool ath9k_hw_setpower(struct ath_hw *ah, enum ath9k_power_mode mode); -+void ath9k_hw_update_diag(struct ath_hw *ah); - - /* Generic hw timer primitives */ - struct ath_gen_timer *ath_gen_timer_alloc(struct ath_hw *ah, ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -1819,6 +1819,20 @@ u32 ath9k_hw_get_tsf_offset(struct times - } - EXPORT_SYMBOL(ath9k_hw_get_tsf_offset); - -+void ath9k_hw_update_diag(struct ath_hw *ah) -+{ -+ if (test_bit(ATH_DIAG_DISABLE_RX, &ah->diag)) -+ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_RX_DIS); -+ else -+ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_RX_DIS); -+ -+ if (test_bit(ATH_DIAG_DISABLE_TX, &ah->diag)) -+ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_LOOP_BACK); -+ else -+ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_LOOP_BACK); -+} -+EXPORT_SYMBOL(ath9k_hw_update_diag); -+ - int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, - struct ath9k_hw_cal_data *caldata, bool fastcc) - { -@@ -2027,6 +2041,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st - ar9003_hw_disable_phy_restart(ah); - - ath9k_hw_apply_gpio_override(ah); -+ ath9k_hw_update_diag(ah); - - if (AR_SREV_9565(ah) && common->bt_ant_diversity) - REG_SET_BIT(ah, AR_BTCOEX_WL_LNADIV, AR_BTCOEX_WL_LNADIV_FORCE_ON); ---- a/drivers/net/wireless/ath/ath9k/main.c -+++ b/drivers/net/wireless/ath/ath9k/main.c -@@ -533,6 +533,11 @@ irqreturn_t ath_isr(int irq, void *dev) - if (test_bit(ATH_OP_HW_RESET, &common->op_flags)) - return IRQ_HANDLED; - -+ if (test_bit(ATH_DIAG_TRIGGER_ERROR, &ah->diag)) { -+ status |= ATH9K_INT_FATAL; -+ clear_bit(ATH_DIAG_TRIGGER_ERROR, &ah->diag); -+ } -+ - /* - * If there are no status bits set, then this interrupt was not - * for me (should have been caught above). diff --git a/feeds/rtkmipsel/mac80211/patches/543-ath9k_entropy_from_adc.patch b/feeds/rtkmipsel/mac80211/patches/543-ath9k_entropy_from_adc.patch deleted file mode 100644 index d7bb5a12c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/543-ath9k_entropy_from_adc.patch +++ /dev/null @@ -1,186 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/hw.h -+++ b/drivers/net/wireless/ath/ath9k/hw.h -@@ -720,6 +720,7 @@ struct ath_spec_scan { - * @config_pci_powersave: - * @calibrate: periodic calibration for NF, ANI, IQ, ADC gain, ADC-DC - * -+ * @get_adc_entropy: get entropy from the raw ADC I/Q output - * @spectral_scan_config: set parameters for spectral scan and enable/disable it - * @spectral_scan_trigger: trigger a spectral scan run - * @spectral_scan_wait: wait for a spectral scan run to finish -@@ -742,6 +743,7 @@ struct ath_hw_ops { - struct ath_hw_antcomb_conf *antconf); - void (*antdiv_comb_conf_set)(struct ath_hw *ah, - struct ath_hw_antcomb_conf *antconf); -+ void (*get_adc_entropy)(struct ath_hw *ah, u8 *buf, size_t len); - void (*spectral_scan_config)(struct ath_hw *ah, - struct ath_spec_scan *param); - void (*spectral_scan_trigger)(struct ath_hw *ah); ---- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c -+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c -@@ -1998,6 +1998,26 @@ void ar9003_hw_init_rate_txpower(struct - } - } - -+static void ar9003_hw_get_adc_entropy(struct ath_hw *ah, u8 *buf, size_t len) -+{ -+ int i, j; -+ -+ REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1); -+ REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5); -+ REG_RMW_FIELD(ah, AR_PHY_TEST_CTL_STATUS, AR_PHY_TEST_CTL_RX_OBS_SEL, 0); -+ -+ memset(buf, 0, len); -+ for (i = 0; i < len; i++) { -+ for (j = 0; j < 4; j++) { -+ u32 regval = REG_READ(ah, AR_PHY_TST_ADC); -+ -+ buf[i] <<= 2; -+ buf[i] |= (regval & 1) | ((regval & BIT(10)) >> 9); -+ udelay(1); -+ } -+ } -+} -+ - void ar9003_hw_attach_phy_ops(struct ath_hw *ah) - { - struct ath_hw_private_ops *priv_ops = ath9k_hw_private_ops(ah); -@@ -2034,6 +2054,7 @@ void ar9003_hw_attach_phy_ops(struct ath - priv_ops->set_radar_params = ar9003_hw_set_radar_params; - priv_ops->fast_chan_change = ar9003_hw_fast_chan_change; - -+ ops->get_adc_entropy = ar9003_hw_get_adc_entropy; - ops->antdiv_comb_conf_get = ar9003_hw_antdiv_comb_conf_get; - ops->antdiv_comb_conf_set = ar9003_hw_antdiv_comb_conf_set; - ops->spectral_scan_config = ar9003_hw_spectral_scan_config; ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -711,7 +711,8 @@ static void ath9k_init_txpower_limits(st - if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ) - ath9k_init_band_txpower(sc, IEEE80211_BAND_5GHZ); - -- ah->curchan = curchan; -+ if (curchan) -+ ah->curchan = curchan; - } - - static const struct ieee80211_iface_limit if_limits[] = { -@@ -897,6 +898,18 @@ static void ath9k_set_hw_capab(struct at - SET_IEEE80211_PERM_ADDR(hw, common->macaddr); - } - -+static void ath_get_initial_entropy(struct ath_softc *sc) -+{ -+ struct ath_hw *ah = sc->sc_ah; -+ char buf[256]; -+ -+ /* reuse last channel initialized by the tx power test */ -+ ath9k_hw_reset(ah, ah->curchan, NULL, false); -+ -+ ath9k_hw_get_adc_entropy(ah, buf, sizeof(buf)); -+ add_device_randomness(buf, sizeof(buf)); -+} -+ - int ath9k_init_device(u16 devid, struct ath_softc *sc, - const struct ath_bus_ops *bus_ops) - { -@@ -942,6 +955,8 @@ int ath9k_init_device(u16 devid, struct - ARRAY_SIZE(ath9k_tpt_blink)); - #endif - -+ ath_get_initial_entropy(sc); -+ - /* Register with mac80211 */ - error = ieee80211_register_hw(hw); - if (error) ---- a/drivers/net/wireless/ath/ath9k/hw-ops.h -+++ b/drivers/net/wireless/ath/ath9k/hw-ops.h -@@ -100,6 +100,12 @@ static inline void ath9k_hw_tx99_set_txp - ath9k_hw_ops(ah)->tx99_set_txpower(ah, power); - } - -+static inline void ath9k_hw_get_adc_entropy(struct ath_hw *ah, -+ u8 *buf, size_t len) -+{ -+ ath9k_hw_ops(ah)->get_adc_entropy(ah, buf, len); -+} -+ - #ifdef CPTCFG_ATH9K_BTCOEX_SUPPORT - - static inline void ath9k_hw_set_bt_ant_diversity(struct ath_hw *ah, bool enable) ---- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c -+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c -@@ -1327,9 +1327,30 @@ void ar5008_hw_init_rate_txpower(struct - } - } - -+static void ar5008_hw_get_adc_entropy(struct ath_hw *ah, u8 *buf, size_t len) -+{ -+ int i, j; -+ -+ REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1); -+ REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5); -+ REG_RMW_FIELD(ah, AR_PHY_TEST2, AR_PHY_TEST2_RX_OBS_SEL, 0); -+ -+ memset(buf, 0, len); -+ for (i = 0; i < len; i++) { -+ for (j = 0; j < 4; j++) { -+ u32 regval = REG_READ(ah, AR_PHY_TST_ADC); -+ -+ buf[i] <<= 2; -+ buf[i] |= (regval & 1) | ((regval & BIT(9)) >> 8); -+ udelay(1); -+ } -+ } -+} -+ - int ar5008_hw_attach_phy_ops(struct ath_hw *ah) - { - struct ath_hw_private_ops *priv_ops = ath9k_hw_private_ops(ah); -+ struct ath_hw_ops *ops = ath9k_hw_ops(ah); - static const u32 ar5416_cca_regs[6] = { - AR_PHY_CCA, - AR_PHY_CH1_CCA, -@@ -1344,6 +1365,8 @@ int ar5008_hw_attach_phy_ops(struct ath_ - if (ret) - return ret; - -+ ops->get_adc_entropy = ar5008_hw_get_adc_entropy; -+ - priv_ops->rf_set_freq = ar5008_hw_set_channel; - priv_ops->spur_mitigate_freq = ar5008_hw_spur_mitigate; - ---- a/drivers/net/wireless/ath/ath9k/ar9002_phy.h -+++ b/drivers/net/wireless/ath/ath9k/ar9002_phy.h -@@ -20,6 +20,12 @@ - #define PHY_AGC_CLR 0x10000000 - #define RFSILENT_BB 0x00002000 - -+#define AR_PHY_TEST_BBB_OBS_SEL 0x780000 -+#define AR_PHY_TEST_BBB_OBS_SEL_S 19 -+ -+#define AR_PHY_TEST_RX_OBS_SEL_BIT5_S 23 -+#define AR_PHY_TEST_RX_OBS_SEL_BIT5 (1 << AR_PHY_TEST_RX_OBS_SEL_BIT5_S) -+ - #define AR_PHY_TURBO 0x9804 - #define AR_PHY_FC_TURBO_MODE 0x00000001 - #define AR_PHY_FC_TURBO_SHORT 0x00000002 -@@ -36,6 +42,9 @@ - - #define AR_PHY_TEST2 0x9808 - -+#define AR_PHY_TEST2_RX_OBS_SEL 0x3C00 -+#define AR_PHY_TEST2_RX_OBS_SEL_S 10 -+ - #define AR_PHY_TIMING2 0x9810 - #define AR_PHY_TIMING3 0x9814 - #define AR_PHY_TIMING3_DSC_MAN 0xFFFE0000 -@@ -390,6 +399,8 @@ - #define AR_PHY_RFBUS_GRANT 0x9C20 - #define AR_PHY_RFBUS_GRANT_EN 0x00000001 - -+#define AR_PHY_TST_ADC 0x9C24 -+ - #define AR_PHY_CHAN_INFO_GAIN_DIFF 0x9CF4 - #define AR_PHY_CHAN_INFO_GAIN_DIFF_UPPER_LIMIT 320 - diff --git a/feeds/rtkmipsel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch b/feeds/rtkmipsel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch deleted file mode 100644 index 8768c5d89..000000000 --- a/feeds/rtkmipsel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -246,6 +246,19 @@ void ath9k_hw_get_channel_centers(struct - centers->synth_center + (extoff * HT40_CHANNEL_CENTER_SHIFT); - } - -+static inline void ath9k_hw_disable_pll_lock_detect(struct ath_hw *ah) -+{ -+ /* On AR9330 and AR9340 devices, some PHY registers must be -+ * tuned to gain better stability/performance. These registers -+ * might be changed while doing wlan reset so the registers must -+ * be reprogrammed after each reset. -+ */ -+ REG_CLR_BIT(ah, AR_PHY_USB_CTRL1, BIT(20)); -+ REG_RMW(ah, AR_PHY_USB_CTRL2, -+ (1 << 21) | (0xf << 22), -+ (1 << 21) | (0x3 << 22)); -+} -+ - /******************/ - /* Chip Revisions */ - /******************/ -@@ -1397,6 +1410,9 @@ static bool ath9k_hw_set_reset(struct at - if (AR_SREV_9100(ah)) - udelay(50); - -+ if (AR_SREV_9330(ah) || AR_SREV_9340(ah)) -+ ath9k_hw_disable_pll_lock_detect(ah); -+ - return true; - } - -@@ -1496,6 +1512,9 @@ static bool ath9k_hw_chip_reset(struct a - ar9003_hw_internal_regulator_apply(ah); - ath9k_hw_init_pll(ah, chan); - -+ if (AR_SREV_9330(ah) || AR_SREV_9340(ah)) -+ ath9k_hw_disable_pll_lock_detect(ah); -+ - return true; - } - -@@ -1797,8 +1816,14 @@ static int ath9k_hw_do_fastcc(struct ath - if (AR_SREV_9271(ah)) - ar9002_hw_load_ani_reg(ah, chan); - -+ if (AR_SREV_9330(ah) || AR_SREV_9340(ah)) -+ ath9k_hw_disable_pll_lock_detect(ah); -+ - return 0; - fail: -+ if (AR_SREV_9330(ah) || AR_SREV_9340(ah)) -+ ath9k_hw_disable_pll_lock_detect(ah); -+ - return -EINVAL; - } - -@@ -2052,6 +2077,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st - ath9k_hw_set_radar_params(ah); - } - -+ if (AR_SREV_9330(ah) || AR_SREV_9340(ah)) -+ ath9k_hw_disable_pll_lock_detect(ah); -+ - return 0; - } - EXPORT_SYMBOL(ath9k_hw_reset); ---- a/drivers/net/wireless/ath/ath9k/phy.h -+++ b/drivers/net/wireless/ath/ath9k/phy.h -@@ -48,6 +48,9 @@ - #define AR_PHY_PLL_CONTROL 0x16180 - #define AR_PHY_PLL_MODE 0x16184 - -+#define AR_PHY_USB_CTRL1 0x16c84 -+#define AR_PHY_USB_CTRL2 0x16c88 -+ - enum ath9k_ant_div_comb_lna_conf { - ATH_ANT_DIV_COMB_LNA1_MINUS_LNA2, - ATH_ANT_DIV_COMB_LNA2, diff --git a/feeds/rtkmipsel/mac80211/patches/545-ath9k_ani_ws_detect.patch b/feeds/rtkmipsel/mac80211/patches/545-ath9k_ani_ws_detect.patch deleted file mode 100644 index 3d24ccda1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/545-ath9k_ani_ws_detect.patch +++ /dev/null @@ -1,155 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c -+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c -@@ -956,55 +956,6 @@ static bool ar5008_hw_ani_control_new(st - * on == 0 means more noise imm - */ - u32 on = param ? 1 : 0; -- /* -- * make register setting for default -- * (weak sig detect ON) come from INI file -- */ -- int m1ThreshLow = on ? -- aniState->iniDef.m1ThreshLow : m1ThreshLow_off; -- int m2ThreshLow = on ? -- aniState->iniDef.m2ThreshLow : m2ThreshLow_off; -- int m1Thresh = on ? -- aniState->iniDef.m1Thresh : m1Thresh_off; -- int m2Thresh = on ? -- aniState->iniDef.m2Thresh : m2Thresh_off; -- int m2CountThr = on ? -- aniState->iniDef.m2CountThr : m2CountThr_off; -- int m2CountThrLow = on ? -- aniState->iniDef.m2CountThrLow : m2CountThrLow_off; -- int m1ThreshLowExt = on ? -- aniState->iniDef.m1ThreshLowExt : m1ThreshLowExt_off; -- int m2ThreshLowExt = on ? -- aniState->iniDef.m2ThreshLowExt : m2ThreshLowExt_off; -- int m1ThreshExt = on ? -- aniState->iniDef.m1ThreshExt : m1ThreshExt_off; -- int m2ThreshExt = on ? -- aniState->iniDef.m2ThreshExt : m2ThreshExt_off; -- -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, -- AR_PHY_SFCORR_LOW_M1_THRESH_LOW, -- m1ThreshLow); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, -- AR_PHY_SFCORR_LOW_M2_THRESH_LOW, -- m2ThreshLow); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR, -- AR_PHY_SFCORR_M1_THRESH, m1Thresh); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR, -- AR_PHY_SFCORR_M2_THRESH, m2Thresh); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR, -- AR_PHY_SFCORR_M2COUNT_THR, m2CountThr); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, -- AR_PHY_SFCORR_LOW_M2COUNT_THR_LOW, -- m2CountThrLow); -- -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M1_THRESH_LOW, m1ThreshLowExt); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M2_THRESH_LOW, m2ThreshLowExt); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M1_THRESH, m1ThreshExt); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M2_THRESH, m2ThreshExt); - - if (on) - REG_SET_BIT(ah, AR_PHY_SFCORR_LOW, ---- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c -+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c -@@ -41,20 +41,6 @@ static const int cycpwrThr1_table[] = - /* level: 0 1 2 3 4 5 6 7 8 */ - { -6, -4, -2, 0, 2, 4, 6, 8 }; /* lvl 0-7, default 3 */ - --/* -- * register values to turn OFDM weak signal detection OFF -- */ --static const int m1ThreshLow_off = 127; --static const int m2ThreshLow_off = 127; --static const int m1Thresh_off = 127; --static const int m2Thresh_off = 127; --static const int m2CountThr_off = 31; --static const int m2CountThrLow_off = 63; --static const int m1ThreshLowExt_off = 127; --static const int m2ThreshLowExt_off = 127; --static const int m1ThreshExt_off = 127; --static const int m2ThreshExt_off = 127; -- - static const u8 ofdm2pwr[] = { - ALL_TARGET_LEGACY_6_24, - ALL_TARGET_LEGACY_6_24, -@@ -1089,11 +1075,6 @@ static bool ar9003_hw_ani_control(struct - struct ath_common *common = ath9k_hw_common(ah); - struct ath9k_channel *chan = ah->curchan; - struct ar5416AniState *aniState = &ah->ani; -- int m1ThreshLow, m2ThreshLow; -- int m1Thresh, m2Thresh; -- int m2CountThr, m2CountThrLow; -- int m1ThreshLowExt, m2ThreshLowExt; -- int m1ThreshExt, m2ThreshExt; - s32 value, value2; - - switch (cmd & ah->ani_function) { -@@ -1107,61 +1088,6 @@ static bool ar9003_hw_ani_control(struct - */ - u32 on = param ? 1 : 0; - -- if (AR_SREV_9462(ah) || AR_SREV_9565(ah)) -- goto skip_ws_det; -- -- m1ThreshLow = on ? -- aniState->iniDef.m1ThreshLow : m1ThreshLow_off; -- m2ThreshLow = on ? -- aniState->iniDef.m2ThreshLow : m2ThreshLow_off; -- m1Thresh = on ? -- aniState->iniDef.m1Thresh : m1Thresh_off; -- m2Thresh = on ? -- aniState->iniDef.m2Thresh : m2Thresh_off; -- m2CountThr = on ? -- aniState->iniDef.m2CountThr : m2CountThr_off; -- m2CountThrLow = on ? -- aniState->iniDef.m2CountThrLow : m2CountThrLow_off; -- m1ThreshLowExt = on ? -- aniState->iniDef.m1ThreshLowExt : m1ThreshLowExt_off; -- m2ThreshLowExt = on ? -- aniState->iniDef.m2ThreshLowExt : m2ThreshLowExt_off; -- m1ThreshExt = on ? -- aniState->iniDef.m1ThreshExt : m1ThreshExt_off; -- m2ThreshExt = on ? -- aniState->iniDef.m2ThreshExt : m2ThreshExt_off; -- -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, -- AR_PHY_SFCORR_LOW_M1_THRESH_LOW, -- m1ThreshLow); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, -- AR_PHY_SFCORR_LOW_M2_THRESH_LOW, -- m2ThreshLow); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR, -- AR_PHY_SFCORR_M1_THRESH, -- m1Thresh); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR, -- AR_PHY_SFCORR_M2_THRESH, -- m2Thresh); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR, -- AR_PHY_SFCORR_M2COUNT_THR, -- m2CountThr); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, -- AR_PHY_SFCORR_LOW_M2COUNT_THR_LOW, -- m2CountThrLow); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M1_THRESH_LOW, -- m1ThreshLowExt); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M2_THRESH_LOW, -- m2ThreshLowExt); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M1_THRESH, -- m1ThreshExt); -- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT, -- AR_PHY_SFCORR_EXT_M2_THRESH, -- m2ThreshExt); --skip_ws_det: - if (on) - REG_SET_BIT(ah, AR_PHY_SFCORR_LOW, - AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW); diff --git a/feeds/rtkmipsel/mac80211/patches/600-0001-rt2x00-rt2800lib-move-rt2800_drv_data-declaration-in.patch b/feeds/rtkmipsel/mac80211/patches/600-0001-rt2x00-rt2800lib-move-rt2800_drv_data-declaration-in.patch deleted file mode 100644 index bd81555ac..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0001-rt2x00-rt2800lib-move-rt2800_drv_data-declaration-in.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 7a69da907de668fb22a30ae218062d6f081864ea Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sat, 17 Aug 2013 19:31:41 +0200 -Subject: [PATCH] rt2x00: rt2800lib: move rt2800_drv_data declaration into - rt2800lib.h - -The rt2800_drv_data structure contains driver specific -information. Move the declaration into the rt2800lib.h -header which is a more logical place for it. Also fix -the comment style to avoid checkpatch warning. - -The patch contains no functional changes, it is in -preparation for the next patch. - -Signed-off-by: Gabor Juhos ---- -Changes since v1: --- ---- - drivers/net/wireless/ralink/rt2x00/rt2800.h | 13 ------------- - drivers/net/wireless/ralink/rt2x00/rt2800lib.h | 11 +++++++++++ - 2 files changed, 11 insertions(+), 13 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -@@ -20,6 +20,20 @@ - #ifndef RT2800LIB_H - #define RT2800LIB_H - -+#include "rt2800.h" -+ -+/* RT2800 driver data structure */ -+struct rt2800_drv_data { -+ u8 calibration_bw20; -+ u8 calibration_bw40; -+ u8 bbp25; -+ u8 bbp26; -+ u8 txmixer_gain_24g; -+ u8 txmixer_gain_5g; -+ unsigned int tbtt_tick; -+ DECLARE_BITMAP(sta_ids, STA_IDS_SIZE); -+}; -+ - struct rt2800_ops { - void (*register_read)(struct rt2x00_dev *rt2x00dev, - const unsigned int offset, u32 *value); ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -2969,18 +2969,4 @@ enum rt2800_eeprom_word { - #define WCID_END 222 - #define STA_IDS_SIZE (WCID_END - WCID_START + 2) - --/* -- * RT2800 driver data structure -- */ --struct rt2800_drv_data { -- u8 calibration_bw20; -- u8 calibration_bw40; -- u8 bbp25; -- u8 bbp26; -- u8 txmixer_gain_24g; -- u8 txmixer_gain_5g; -- unsigned int tbtt_tick; -- DECLARE_BITMAP(sta_ids, STA_IDS_SIZE); --}; -- - #endif /* RT2800_H */ diff --git a/feeds/rtkmipsel/mac80211/patches/600-0002-rt2x00-rt2800lib-introduce-RT2800_HAS_HIGH_SHARED_ME.patch b/feeds/rtkmipsel/mac80211/patches/600-0002-rt2x00-rt2800lib-introduce-RT2800_HAS_HIGH_SHARED_ME.patch deleted file mode 100644 index 82459091f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0002-rt2x00-rt2800lib-introduce-RT2800_HAS_HIGH_SHARED_ME.patch +++ /dev/null @@ -1,80 +0,0 @@ -From a7f268af31dddf763fe3dbe9cbf96ea77e0540e0 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sat, 17 Aug 2013 19:31:41 +0200 -Subject: [PATCH] rt2x00: rt2800lib: introduce RT2800_HAS_HIGH_SHARED_MEM flag - -Some chipsets have more than 16KB of shared memory. -Introduce a new rt2800 specific flag to indicate that -and add a helper function which helps to check the -presence of the new flag. - -Also enable the new flag for the RT3593 chipset which -has 24KB of shared memory. The flag can also be used -for other chipsets, but none of those has been tested -yet. - -Signed-off-by: Gabor Juhos ---- -Changes since v1: - - don't enable the new flag for RT3071 and RT5592 ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 4 ++++ - drivers/net/wireless/ralink/rt2x00/rt2800lib.h | 13 +++++++++++++ - 2 files changed, 17 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7722,6 +7722,7 @@ static int rt2800_probe_rt(struct rt2x00 - - int rt2800_probe_hw(struct rt2x00_dev *rt2x00dev) - { -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; - int retval; - u32 reg; - -@@ -7729,6 +7730,9 @@ int rt2800_probe_hw(struct rt2x00_dev *r - if (retval) - return retval; - -+ if (rt2x00_rt(rt2x00dev, RT3593)) -+ __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); -+ - /* - * Allocate eeprom data. - */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -@@ -22,6 +22,10 @@ - - #include "rt2800.h" - -+enum rt2800_flag { -+ RT2800_HAS_HIGH_SHARED_MEM, -+}; -+ - /* RT2800 driver data structure */ - struct rt2800_drv_data { - u8 calibration_bw20; -@@ -32,6 +36,8 @@ struct rt2800_drv_data { - u8 txmixer_gain_5g; - unsigned int tbtt_tick; - DECLARE_BITMAP(sta_ids, STA_IDS_SIZE); -+ -+ unsigned long rt2800_flags; - }; - - struct rt2800_ops { -@@ -64,6 +70,13 @@ struct rt2800_ops { - __le32 *(*drv_get_txwi)(struct queue_entry *entry); - }; - -+static inline bool rt2800_has_high_shared_mem(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ return test_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); -+} -+ - static inline void rt2800_register_read(struct rt2x00_dev *rt2x00dev, - const unsigned int offset, - u32 *value) diff --git a/feeds/rtkmipsel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch b/feeds/rtkmipsel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch deleted file mode 100644 index 7abfcd16f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch +++ /dev/null @@ -1,531 +0,0 @@ -From 250a1b520cd7fdc0df4fc3fedea9066913f49ecf Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sat, 17 Aug 2013 19:31:42 +0200 -Subject: [PATCH] rt2x00: rt2800: serialize shared memory access - -The shared memory of the rt2800 devices is accessible -through the register offset range between 0x4000 and -0x8000. The size of this range is 16KB only and on -devices which have more than 16KB of shared memory either -the low or the high part of the memory is accessible at a -time. - -Serialize all accesses to the shared memory by a mutex, -in order to avoid concurrent use of that. - -Signed-off-by: Gabor Juhos ---- -Changes since v1: --- ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 55 +++++++++++++++++++++++++++++- - drivers/net/wireless/ralink/rt2x00/rt2800lib.h | 32 +++++++++++++++++ - drivers/net/wireless/ralink/rt2x00/rt2800mmio.c | 26 ++++++++++++++ - drivers/net/wireless/ralink/rt2x00/rt2800mmio.h | 4 +++ - drivers/net/wireless/ralink/rt2x00/rt2800pci.c | 14 ++++++++ - drivers/net/wireless/ralink/rt2x00/rt2800soc.c | 3 ++ - drivers/net/wireless/ralink/rt2x00/rt2800usb.c | 31 +++++++++++++++++ - 7 files changed, 164 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -451,11 +451,13 @@ void rt2800_mcu_request(struct rt2x00_de - rt2x00_set_field32(®, H2M_MAILBOX_CSR_CMD_TOKEN, token); - rt2x00_set_field32(®, H2M_MAILBOX_CSR_ARG0, arg0); - rt2x00_set_field32(®, H2M_MAILBOX_CSR_ARG1, arg1); -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write_lock(rt2x00dev, H2M_MAILBOX_CSR, reg); - - reg = 0; - rt2x00_set_field32(®, HOST_CMD_CSR_HOST_COMMAND, command); - rt2800_register_write_lock(rt2x00dev, HOST_CMD_CSR, reg); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - mutex_unlock(&rt2x00dev->csr_mutex); -@@ -674,7 +676,9 @@ int rt2800_load_firmware(struct rt2x00_d - * Wait for device to stabilize. - */ - for (i = 0; i < REGISTER_BUSY_COUNT; i++) { -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_read(rt2x00dev, PBF_SYS_CTRL, ®); -+ rt2800_shared_mem_unlock(rt2x00dev); - if (rt2x00_get_field32(reg, PBF_SYS_CTRL_READY)) - break; - msleep(1); -@@ -694,10 +698,16 @@ int rt2800_load_firmware(struct rt2x00_d - /* - * Initialize firmware. - */ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, H2M_BBP_AGENT, 0); - rt2800_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); -+ - if (rt2x00_is_usb(rt2x00dev)) { -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, H2M_INT_SRC, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); -+ - rt2800_mcu_request(rt2x00dev, MCU_BOOT_SIGNAL, 0, 0, 0); - } - msleep(1); -@@ -1035,8 +1045,10 @@ void rt2800_write_beacon(struct queue_en - - beacon_base = rt2800_hw_beacon_base(rt2x00dev, entry->entry_idx); - -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_multiwrite(rt2x00dev, beacon_base, entry->skb->data, - entry->skb->len + padding_len); -+ rt2800_shared_mem_unlock(rt2x00dev); - __set_bit(ENTRY_BCN_ENABLED, &entry->flags); - - /* -@@ -1066,6 +1078,8 @@ static inline void rt2800_clear_beacon_r - - beacon_base = rt2800_hw_beacon_base(rt2x00dev, index); - -+ rt2800_shared_mem_lock(rt2x00dev); -+ - /* - * For the Beacon base registers we only need to clear - * the whole TXWI which (when set to 0) will invalidate -@@ -1073,6 +1087,8 @@ static inline void rt2800_clear_beacon_r - */ - for (i = 0; i < txwi_desc_size; i += sizeof(__le32)) - rt2800_register_write(rt2x00dev, beacon_base + i, 0); -+ -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - void rt2800_clear_beacon(struct queue_entry *entry) -@@ -1261,7 +1277,9 @@ static void rt2800_delete_wcid_attr(stru - { - u32 offset; - offset = MAC_WCID_ATTR_ENTRY(wcid); -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, offset, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - static void rt2800_config_wcid_attr_bssidx(struct rt2x00_dev *rt2x00dev, -@@ -1274,11 +1292,13 @@ static void rt2800_config_wcid_attr_bssi - * The BSS Idx numbers is split in a main value of 3 bits, - * and a extended field for adding one additional bit to the value. - */ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_read(rt2x00dev, offset, ®); - rt2x00_set_field32(®, MAC_WCID_ATTRIBUTE_BSS_IDX, (bssidx & 0x7)); - rt2x00_set_field32(®, MAC_WCID_ATTRIBUTE_BSS_IDX_EXT, - (bssidx & 0x8) >> 3); - rt2800_register_write(rt2x00dev, offset, reg); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - static void rt2800_config_wcid_attr_cipher(struct rt2x00_dev *rt2x00dev, -@@ -1291,6 +1311,7 @@ static void rt2800_config_wcid_attr_ciph - - offset = MAC_WCID_ATTR_ENTRY(key->hw_key_idx); - -+ rt2800_shared_mem_lock(rt2x00dev); - if (crypto->cmd == SET_KEY) { - rt2800_register_read(rt2x00dev, offset, ®); - rt2x00_set_field32(®, MAC_WCID_ATTRIBUTE_KEYTAB, -@@ -1315,6 +1336,7 @@ static void rt2800_config_wcid_attr_ciph - rt2x00_set_field32(®, MAC_WCID_ATTRIBUTE_RX_WIUDF, 0); - rt2800_register_write(rt2x00dev, offset, reg); - } -+ rt2800_shared_mem_unlock(rt2x00dev); - - offset = MAC_IVEIV_ENTRY(key->hw_key_idx); - -@@ -1324,8 +1346,11 @@ static void rt2800_config_wcid_attr_ciph - (crypto->cipher == CIPHER_AES)) - iveiv_entry.iv[3] |= 0x20; - iveiv_entry.iv[3] |= key->keyidx << 6; -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_multiwrite(rt2x00dev, offset, - &iveiv_entry, sizeof(iveiv_entry)); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - int rt2800_config_shared_key(struct rt2x00_dev *rt2x00dev, -@@ -1348,8 +1373,11 @@ int rt2800_config_shared_key(struct rt2x - sizeof(key_entry.rx_mic)); - - offset = SHARED_KEY_ENTRY(key->hw_key_idx); -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_multiwrite(rt2x00dev, offset, - &key_entry, sizeof(key_entry)); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - /* -@@ -1364,10 +1392,12 @@ int rt2800_config_shared_key(struct rt2x - - offset = SHARED_KEY_MODE_ENTRY(key->hw_key_idx / 8); - -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_read(rt2x00dev, offset, ®); - rt2x00_set_field32(®, field, - (crypto->cmd == SET_KEY) * crypto->cipher); - rt2800_register_write(rt2x00dev, offset, reg); -+ rt2800_shared_mem_unlock(rt2x00dev); - - /* - * Update WCID information -@@ -1405,8 +1435,11 @@ int rt2800_config_pairwise_key(struct rt - sizeof(key_entry.rx_mic)); - - offset = PAIRWISE_KEY_ENTRY(key->hw_key_idx); -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_multiwrite(rt2x00dev, offset, - &key_entry, sizeof(key_entry)); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - /* -@@ -4885,14 +4918,19 @@ static int rt2800_init_registers(struct - /* - * ASIC will keep garbage value after boot, clear encryption keys. - */ -+ rt2800_shared_mem_lock(rt2x00dev); - for (i = 0; i < 4; i++) - rt2800_register_write(rt2x00dev, - SHARED_KEY_MODE_ENTRY(i), 0); -+ rt2800_shared_mem_unlock(rt2x00dev); - - for (i = 0; i < 256; i++) { - rt2800_config_wcid(rt2x00dev, NULL, i); - rt2800_delete_wcid_attr(rt2x00dev, i); -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, MAC_IVEIV_ENTRY(i), 0); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - /* -@@ -5018,8 +5056,10 @@ static int rt2800_wait_bbp_ready(struct - * BBP was enabled after firmware was loaded, - * but we need to reactivate it now. - */ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, H2M_BBP_AGENT, 0); - rt2800_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); - msleep(1); - - for (i = 0; i < REGISTER_BUSY_COUNT; i++) { -@@ -6715,11 +6755,19 @@ int rt2800_enable_radio(struct rt2x00_de - /* - * Send signal during boot time to initialize firmware. - */ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, H2M_BBP_AGENT, 0); - rt2800_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0); -- if (rt2x00_is_usb(rt2x00dev)) -+ rt2800_shared_mem_unlock(rt2x00dev); -+ -+ if (rt2x00_is_usb(rt2x00dev)) { -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_write(rt2x00dev, H2M_INT_SRC, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); -+ } -+ - rt2800_mcu_request(rt2x00dev, MCU_BOOT_SIGNAL, 0, 0, 0); -+ - msleep(1); - - /* -@@ -7726,6 +7774,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r - int retval; - u32 reg; - -+ rt2800_shared_mem_init_lock(rt2x00dev); -+ - retval = rt2800_probe_rt(rt2x00dev); - if (retval) - return retval; -@@ -7809,8 +7859,11 @@ void rt2800_get_key_seq(struct ieee80211 - return; - - offset = MAC_IVEIV_ENTRY(key->hw_key_idx); -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2800_register_multiread(rt2x00dev, offset, - &iveiv_entry, sizeof(iveiv_entry)); -+ rt2800_shared_mem_unlock(rt2x00dev); - - memcpy(&seq->tkip.iv16, &iveiv_entry.iv[0], 2); - memcpy(&seq->tkip.iv32, &iveiv_entry.iv[4], 4); ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -@@ -38,6 +38,11 @@ struct rt2800_drv_data { - DECLARE_BITMAP(sta_ids, STA_IDS_SIZE); - - unsigned long rt2800_flags; -+ -+ union { -+ spinlock_t spin; -+ struct mutex mutex; -+ } shmem_lock; - }; - - struct rt2800_ops { -@@ -68,6 +73,10 @@ struct rt2800_ops { - const u8 *data, const size_t len); - int (*drv_init_registers)(struct rt2x00_dev *rt2x00dev); - __le32 *(*drv_get_txwi)(struct queue_entry *entry); -+ -+ void (*shmem_init_lock)(struct rt2x00_dev *rt2x00dev); -+ void (*shmem_lock)(struct rt2x00_dev *rt2x00dev); -+ void (*shmem_unlock)(struct rt2x00_dev *rt2x00dev); - }; - - static inline bool rt2800_has_high_shared_mem(struct rt2x00_dev *rt2x00dev) -@@ -77,6 +86,29 @@ static inline bool rt2800_has_high_share - return test_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); - } - -+static inline void rt2800_shared_mem_init_lock(struct rt2x00_dev *rt2x00dev) -+{ -+ const struct rt2800_ops *rt2800ops = rt2x00dev->ops->drv; -+ -+ rt2800ops->shmem_init_lock(rt2x00dev); -+} -+ -+static inline void rt2800_shared_mem_lock(struct rt2x00_dev *rt2x00dev) -+{ -+ const struct rt2800_ops *rt2800ops = rt2x00dev->ops->drv; -+ -+ if (rt2800_has_high_shared_mem(rt2x00dev)) -+ rt2800ops->shmem_lock(rt2x00dev); -+} -+ -+static inline void rt2800_shared_mem_unlock(struct rt2x00_dev *rt2x00dev) -+{ -+ const struct rt2800_ops *rt2800ops = rt2x00dev->ops->drv; -+ -+ if (rt2800_has_high_shared_mem(rt2x00dev)) -+ rt2800ops->shmem_unlock(rt2x00dev); -+} -+ - static inline void rt2800_register_read(struct rt2x00_dev *rt2x00dev, - const unsigned int offset, - u32 *value) ---- a/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c -@@ -820,8 +820,10 @@ int rt2800mmio_init_registers(struct rt2 - rt2x00_set_field32(®, WPDMA_RST_IDX_DRX_IDX0, 1); - rt2x00mmio_register_write(rt2x00dev, WPDMA_RST_IDX, reg); - -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00mmio_register_write(rt2x00dev, PBF_SYS_CTRL, 0x00000e1f); - rt2x00mmio_register_write(rt2x00dev, PBF_SYS_CTRL, 0x00000e00); -+ rt2800_shared_mem_unlock(rt2x00dev); - - if (rt2x00_is_pcie(rt2x00dev) && - (rt2x00_rt(rt2x00dev, RT3090) || -@@ -865,6 +867,30 @@ int rt2800mmio_enable_radio(struct rt2x0 - } - EXPORT_SYMBOL_GPL(rt2800mmio_enable_radio); - -+void rt2800mmio_shmem_init_lock(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ spin_lock_init(&drv_data->shmem_lock.spin); -+} -+EXPORT_SYMBOL_GPL(rt2800mmio_shmem_init_lock); -+ -+void rt2800mmio_shmem_lock(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ spin_lock_bh(&drv_data->shmem_lock.spin); -+} -+EXPORT_SYMBOL_GPL(rt2800mmio_shmem_lock); -+ -+void rt2800mmio_shmem_unlock(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ spin_unlock_bh(&drv_data->shmem_lock.spin); -+} -+EXPORT_SYMBOL_GPL(rt2800mmio_shmem_unlock); -+ - MODULE_AUTHOR(DRV_PROJECT); - MODULE_VERSION(DRV_VERSION); - MODULE_DESCRIPTION("rt2800 MMIO library"); ---- a/drivers/net/wireless/ralink/rt2x00/rt2800mmio.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800mmio.h -@@ -160,4 +160,8 @@ int rt2800mmio_init_registers(struct rt2 - /* Device state switch handlers. */ - int rt2800mmio_enable_radio(struct rt2x00_dev *rt2x00dev); - -+void rt2800mmio_shmem_init_lock(struct rt2x00_dev *rt2x00dev); -+void rt2800mmio_shmem_lock(struct rt2x00_dev *rt2x00dev); -+void rt2800mmio_shmem_unlock(struct rt2x00_dev *rt2x00dev); -+ - #endif /* RT2800MMIO_H */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800pci.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800pci.c -@@ -69,7 +69,9 @@ static void rt2800pci_mcu_status(struct - return; - - for (i = 0; i < 200; i++) { -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00mmio_register_read(rt2x00dev, H2M_MAILBOX_CID, ®); -+ rt2800_shared_mem_unlock(rt2x00dev); - - if ((rt2x00_get_field32(reg, H2M_MAILBOX_CID_CMD0) == token) || - (rt2x00_get_field32(reg, H2M_MAILBOX_CID_CMD1) == token) || -@@ -83,8 +85,10 @@ static void rt2800pci_mcu_status(struct - if (i == 200) - rt2x00_err(rt2x00dev, "MCU request failed, no response from hardware\n"); - -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_STATUS, ~0); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); -+ rt2800_shared_mem_unlock(rt2x00dev); - } - - static void rt2800pci_eepromregister_read(struct eeprom_93cx6 *eeprom) -@@ -184,6 +188,8 @@ static int rt2800pci_write_firmware(stru - */ - reg = 0; - rt2x00_set_field32(®, PBF_SYS_CTRL_HOST_RAM_WRITE, 1); -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00mmio_register_write(rt2x00dev, PBF_SYS_CTRL, reg); - - /* -@@ -197,6 +203,7 @@ static int rt2800pci_write_firmware(stru - - rt2x00mmio_register_write(rt2x00dev, H2M_BBP_AGENT, 0); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); - - return 0; - } -@@ -213,8 +220,10 @@ static int rt2800pci_enable_radio(struct - return retval; - - /* After resume MCU_BOOT_SIGNAL will trash these. */ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_STATUS, ~0); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); -+ rt2800_shared_mem_unlock(rt2x00dev); - - rt2800_mcu_request(rt2x00dev, MCU_SLEEP, TOKEN_RADIO_OFF, 0xff, 0x02); - rt2800pci_mcu_status(rt2x00dev, TOKEN_RADIO_OFF); -@@ -233,10 +242,12 @@ static int rt2800pci_set_state(struct rt - 0, 0x02); - rt2800pci_mcu_status(rt2x00dev, TOKEN_WAKEUP); - } else if (state == STATE_SLEEP) { -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_STATUS, - 0xffffffff); - rt2x00mmio_register_write(rt2x00dev, H2M_MAILBOX_CID, - 0xffffffff); -+ rt2800_shared_mem_unlock(rt2x00dev); - rt2800_mcu_request(rt2x00dev, MCU_SLEEP, TOKEN_SLEEP, - 0xff, 0x01); - } -@@ -337,6 +348,9 @@ static const struct rt2800_ops rt2800pci - .drv_write_firmware = rt2800pci_write_firmware, - .drv_init_registers = rt2800mmio_init_registers, - .drv_get_txwi = rt2800mmio_get_txwi, -+ .shmem_init_lock = rt2800mmio_shmem_init_lock, -+ .shmem_lock = rt2800mmio_shmem_lock, -+ .shmem_unlock = rt2800mmio_shmem_unlock, - }; - - static const struct rt2x00lib_ops rt2800pci_rt2x00_ops = { ---- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -@@ -176,6 +176,9 @@ static const struct rt2800_ops rt2800soc - .drv_write_firmware = rt2800soc_write_firmware, - .drv_init_registers = rt2800mmio_init_registers, - .drv_get_txwi = rt2800mmio_get_txwi, -+ .shmem_init_lock = rt2800mmio_shmem_init_lock, -+ .shmem_lock = rt2800mmio_shmem_lock, -+ .shmem_unlock = rt2800mmio_shmem_unlock, - }; - - static const struct rt2x00lib_ops rt2800soc_rt2x00_ops = { ---- a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c -@@ -51,6 +51,27 @@ static bool rt2800usb_hwcrypt_disabled(s - return modparam_nohwcrypt; - } - -+static void rt2800usb_shmem_init_lock(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ mutex_init(&drv_data->shmem_lock.mutex); -+} -+ -+static void rt2800usb_shmem_lock(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ mutex_lock(&drv_data->shmem_lock.mutex); -+} -+ -+static void rt2800usb_shmem_unlock(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ mutex_unlock(&drv_data->shmem_lock.mutex); -+} -+ - /* - * Queue handlers. - */ -@@ -299,8 +320,10 @@ static int rt2800usb_write_firmware(stru - data + offset, length); - } - -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00usb_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); - rt2x00usb_register_write(rt2x00dev, H2M_MAILBOX_STATUS, ~0); -+ rt2800_shared_mem_unlock(rt2x00dev); - - /* - * Send firmware request to device to load firmware, -@@ -315,7 +338,10 @@ static int rt2800usb_write_firmware(stru - } - - msleep(10); -+ -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00usb_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0); -+ rt2800_shared_mem_unlock(rt2x00dev); - - return 0; - } -@@ -333,8 +359,10 @@ static int rt2800usb_init_registers(stru - if (rt2800_wait_csr_ready(rt2x00dev)) - return -EBUSY; - -+ rt2800_shared_mem_lock(rt2x00dev); - rt2x00usb_register_read(rt2x00dev, PBF_SYS_CTRL, ®); - rt2x00usb_register_write(rt2x00dev, PBF_SYS_CTRL, reg & ~0x00002000); -+ rt2800_shared_mem_unlock(rt2x00dev); - - reg = 0; - rt2x00_set_field32(®, MAC_SYS_CTRL_RESET_CSR, 1); -@@ -863,6 +891,9 @@ static const struct rt2800_ops rt2800usb - .drv_write_firmware = rt2800usb_write_firmware, - .drv_init_registers = rt2800usb_init_registers, - .drv_get_txwi = rt2800usb_get_txwi, -+ .shmem_init_lock = rt2800usb_shmem_init_lock, -+ .shmem_lock = rt2800usb_shmem_lock, -+ .shmem_unlock = rt2800usb_shmem_unlock, - }; - - static const struct rt2x00lib_ops rt2800usb_rt2x00_ops = { diff --git a/feeds/rtkmipsel/mac80211/patches/600-0004-rt2x00-rt2800lib-fix-beacon-generation-on-RT3593.patch b/feeds/rtkmipsel/mac80211/patches/600-0004-rt2x00-rt2800lib-fix-beacon-generation-on-RT3593.patch deleted file mode 100644 index 985a3b91f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0004-rt2x00-rt2800lib-fix-beacon-generation-on-RT3593.patch +++ /dev/null @@ -1,131 +0,0 @@ -From dcfe3dd46242050f100162dce2bcad24d2c942c6 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sat, 17 Aug 2013 19:31:42 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix beacon generation on RT3593 - -On the RT3593 chipset, the beacon registers are located -in the high 8KB part of the shared memory. - -The high part of the shared memory is only accessible -if it is explicitly selected. Add a helper function -in order to be able to control the SHR_MSEL bit in -the PBF_SYS_CTRL register. Also add a few more helper -functions and use those to select the correct part of -the shared memory before and after accessing the beacon -registers. - -The base addresses of the beacon registers are also -different from the actually used values, so fix the -'rt2800_hw_beacon_base' function to return the correct -values. - -Signed-off-by: Gabor Juhos ---- -Changes since v1: --- ---- - drivers/net/wireless/ralink/rt2x00/rt2800.h | 3 +++ - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 44 +++++++++++++++++++++++++++++++ - 2 files changed, 47 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -574,6 +574,7 @@ - #define PBF_SYS_CTRL 0x0400 - #define PBF_SYS_CTRL_READY FIELD32(0x00000080) - #define PBF_SYS_CTRL_HOST_RAM_WRITE FIELD32(0x00010000) -+#define PBF_SYS_CTRL_SHR_MSEL FIELD32(0x00080000) - - /* - * HOST-MCU shared memory -@@ -2026,6 +2027,8 @@ struct mac_iveiv_entry { - (((__index) < 6) ? (HW_BEACON_BASE4 + ((__index - 4) * 0x0200)) : \ - (HW_BEACON_BASE6 - ((__index - 6) * 0x0200)))) - -+#define HW_BEACON_BASE_HIGH(__index) (0x4000 + (__index) * 512) -+ - #define BEACON_BASE_TO_OFFSET(_base) (((_base) - 0x4000) / 64) - - /* ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -82,6 +82,39 @@ static inline bool rt2800_is_305x_soc(st - return false; - } - -+static inline void rt2800_shared_mem_select(struct rt2x00_dev *rt2x00dev, -+ bool high) -+{ -+ u32 reg; -+ -+ if (WARN_ON_ONCE(!rt2800_has_high_shared_mem(rt2x00dev))) -+ return; -+ -+ rt2800_register_read(rt2x00dev, PBF_SYS_CTRL, ®); -+ rt2x00_set_field32(®, PBF_SYS_CTRL_SHR_MSEL, high); -+ rt2800_register_write(rt2x00dev, PBF_SYS_CTRL, reg); -+} -+ -+static inline bool rt2800_beacon_uses_high_mem(struct rt2x00_dev *rt2x00dev) -+{ -+ if (rt2x00_rt(rt2x00dev, RT3593)) -+ return true; -+ -+ return false; -+} -+ -+static inline void rt2800_select_beacon_mem(struct rt2x00_dev *rt2x00dev) -+{ -+ if (rt2800_beacon_uses_high_mem(rt2x00dev)) -+ rt2800_shared_mem_select(rt2x00dev, true); -+} -+ -+static inline void rt2800_deselect_beacon_mem(struct rt2x00_dev *rt2x00dev) -+{ -+ if (rt2800_beacon_uses_high_mem(rt2x00dev)) -+ rt2800_shared_mem_select(rt2x00dev, false); -+} -+ - static void rt2800_bbp_write(struct rt2x00_dev *rt2x00dev, - const unsigned int word, const u8 value) - { -@@ -948,6 +981,9 @@ EXPORT_SYMBOL_GPL(rt2800_txdone_entry); - static unsigned int rt2800_hw_beacon_base(struct rt2x00_dev *rt2x00dev, - unsigned int index) - { -+ if (rt2x00_rt(rt2x00dev, RT3593)) -+ return HW_BEACON_BASE_HIGH(index); -+ - return HW_BEACON_BASE(index); - } - -@@ -1046,8 +1082,12 @@ void rt2800_write_beacon(struct queue_en - beacon_base = rt2800_hw_beacon_base(rt2x00dev, entry->entry_idx); - - rt2800_shared_mem_lock(rt2x00dev); -+ -+ rt2800_select_beacon_mem(rt2x00dev); - rt2800_register_multiwrite(rt2x00dev, beacon_base, entry->skb->data, - entry->skb->len + padding_len); -+ rt2800_deselect_beacon_mem(rt2x00dev); -+ - rt2800_shared_mem_unlock(rt2x00dev); - __set_bit(ENTRY_BCN_ENABLED, &entry->flags); - -@@ -1080,6 +1120,8 @@ static inline void rt2800_clear_beacon_r - - rt2800_shared_mem_lock(rt2x00dev); - -+ rt2800_select_beacon_mem(rt2x00dev); -+ - /* - * For the Beacon base registers we only need to clear - * the whole TXWI which (when set to 0) will invalidate -@@ -1088,6 +1130,8 @@ static inline void rt2800_clear_beacon_r - for (i = 0; i < txwi_desc_size; i += sizeof(__le32)) - rt2800_register_write(rt2x00dev, beacon_base + i, 0); - -+ rt2800_deselect_beacon_mem(rt2x00dev); -+ - rt2800_shared_mem_unlock(rt2x00dev); - } - diff --git a/feeds/rtkmipsel/mac80211/patches/600-0005-rt2x00-rt2800lib-add-hw_beacon_count-field-to-struct.patch b/feeds/rtkmipsel/mac80211/patches/600-0005-rt2x00-rt2800lib-add-hw_beacon_count-field-to-struct.patch deleted file mode 100644 index 02b2acfee..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0005-rt2x00-rt2800lib-add-hw_beacon_count-field-to-struct.patch +++ /dev/null @@ -1,62 +0,0 @@ -From a058825fa7b53fab3b003d8928b60e5b686b3421 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 4 Aug 2013 14:36:11 +0200 -Subject: [PATCH] rt2x00: rt2800lib: add hw_beacon_count field to struct - rt2800_drv_data - -Some chipsets can handle more than 8 beacons at once. -Add a new field to the rt2800_drv_data structure which -will hold the number of supported beacons of the given -chipset. - -Update the rt2x00_init_registers function to get the -beacon count from the new field instead of using a -hardcoded value. - -In order to keep the current behaviour, initialize the -new field with the actually used value. - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 5 ++++- - drivers/net/wireless/ralink/rt2x00/rt2800lib.h | 1 + - 2 files changed, 5 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4615,6 +4615,7 @@ EXPORT_SYMBOL_GPL(rt2800_link_tuner); - */ - static int rt2800_init_registers(struct rt2x00_dev *rt2x00dev) - { -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; - u32 reg; - u16 eeprom; - unsigned int i; -@@ -4980,7 +4981,7 @@ static int rt2800_init_registers(struct - /* - * Clear all beacons - */ -- for (i = 0; i < 8; i++) -+ for (i = 0; i < drv_data->hw_beacon_count; i++) - rt2800_clear_beacon_register(rt2x00dev, i); - - if (rt2x00_is_usb(rt2x00dev)) { -@@ -7827,6 +7828,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r - if (rt2x00_rt(rt2x00dev, RT3593)) - __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); - -+ drv_data->hw_beacon_count = 8; -+ - /* - * Allocate eeprom data. - */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -@@ -35,6 +35,7 @@ struct rt2800_drv_data { - u8 txmixer_gain_24g; - u8 txmixer_gain_5g; - unsigned int tbtt_tick; -+ unsigned int hw_beacon_count; - DECLARE_BITMAP(sta_ids, STA_IDS_SIZE); - - unsigned long rt2800_flags; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0006-rt2x00-rt2800lib-init-additional-beacon-offset-regis.patch b/feeds/rtkmipsel/mac80211/patches/600-0006-rt2x00-rt2800lib-init-additional-beacon-offset-regis.patch deleted file mode 100644 index 4e735d348..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0006-rt2x00-rt2800lib-init-additional-beacon-offset-regis.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 1bfa43ca8f30be53ce4fa79cfc3e219642a812b6 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Mon, 2 Sep 2013 10:58:32 +0200 -Subject: [PATCH] rt2x00: rt2800lib: init additional beacon offset registers - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800.h | 14 ++++++++++++++ - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 24 ++++++++++++++++++++++++ - 2 files changed, 38 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -629,6 +629,20 @@ - */ - #define PBF_DBG 0x043c - -+/* BCN_OFFSET2 */ -+#define BCN_OFFSET2 0x0444 -+#define BCN_OFFSET2_BCN8 FIELD32(0x000000ff) -+#define BCN_OFFSET2_BCN9 FIELD32(0x0000ff00) -+#define BCN_OFFSET2_BCN10 FIELD32(0x00ff0000) -+#define BCN_OFFSET2_BCN11 FIELD32(0xff000000) -+ -+/* BCN_OFFSET3 */ -+#define BCN_OFFSET3 0x0448 -+#define BCN_OFFSET3_BCN12 FIELD32(0x000000ff) -+#define BCN_OFFSET3_BCN13 FIELD32(0x0000ff00) -+#define BCN_OFFSET3_BCN14 FIELD32(0x00ff0000) -+#define BCN_OFFSET3_BCN15 FIELD32(0xff000000) -+ - /* - * RF registers - */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4627,6 +4627,30 @@ static int rt2800_init_registers(struct - if (ret) - return ret; - -+ if (drv_data->hw_beacon_count == 16) { -+ rt2800_register_read(rt2x00dev, BCN_OFFSET2, ®); -+ rt2x00_set_field32(®, BCN_OFFSET2_BCN8, -+ rt2800_get_beacon_offset(rt2x00dev, 8)); -+ rt2x00_set_field32(®, BCN_OFFSET2_BCN9, -+ rt2800_get_beacon_offset(rt2x00dev, 9)); -+ rt2x00_set_field32(®, BCN_OFFSET2_BCN10, -+ rt2800_get_beacon_offset(rt2x00dev, 10)); -+ rt2x00_set_field32(®, BCN_OFFSET2_BCN11, -+ rt2800_get_beacon_offset(rt2x00dev, 11)); -+ rt2800_register_write(rt2x00dev, BCN_OFFSET2, reg); -+ -+ rt2800_register_read(rt2x00dev, BCN_OFFSET3, ®); -+ rt2x00_set_field32(®, BCN_OFFSET3_BCN12, -+ rt2800_get_beacon_offset(rt2x00dev, 12)); -+ rt2x00_set_field32(®, BCN_OFFSET3_BCN13, -+ rt2800_get_beacon_offset(rt2x00dev, 13)); -+ rt2x00_set_field32(®, BCN_OFFSET3_BCN14, -+ rt2800_get_beacon_offset(rt2x00dev, 14)); -+ rt2x00_set_field32(®, BCN_OFFSET3_BCN15, -+ rt2800_get_beacon_offset(rt2x00dev, 15)); -+ rt2800_register_write(rt2x00dev, BCN_OFFSET3, reg); -+ } -+ - rt2800_register_write(rt2x00dev, LEGACY_BASIC_RATE, 0x0000013f); - rt2800_register_write(rt2x00dev, HT_BASIC_RATE, 0x00008003); - diff --git a/feeds/rtkmipsel/mac80211/patches/600-0007-rt2x00-rt2800lib-fix-max-supported-beacon-count-for-.patch b/feeds/rtkmipsel/mac80211/patches/600-0007-rt2x00-rt2800lib-fix-max-supported-beacon-count-for-.patch deleted file mode 100644 index e90927271..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0007-rt2x00-rt2800lib-fix-max-supported-beacon-count-for-.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9bea8b61f6025cd633bd5ac71be258620b49bcb3 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Mon, 2 Sep 2013 11:00:06 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix max supported beacon count for RT3593 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7852,7 +7852,10 @@ int rt2800_probe_hw(struct rt2x00_dev *r - if (rt2x00_rt(rt2x00dev, RT3593)) - __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); - -- drv_data->hw_beacon_count = 8; -+ if (rt2x00_rt(rt2x00dev, RT3593)) -+ drv_data->hw_beacon_count = 16; -+ else -+ drv_data->hw_beacon_count = 8; - - /* - * Allocate eeprom data. diff --git a/feeds/rtkmipsel/mac80211/patches/600-0008-rt2x00-allow-to-build-rt2800soc-module-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0008-rt2x00-allow-to-build-rt2800soc-module-for-RT3883.patch deleted file mode 100644 index 565e39de5..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0008-rt2x00-allow-to-build-rt2800soc-module-for-RT3883.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 91094ed065f7794886b4a5490fd6de942f036bb4 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:26 +0100 -Subject: [PATCH] rt2x00: allow to build rt2800soc module for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/Kconfig -+++ b/drivers/net/wireless/ralink/rt2x00/Kconfig -@@ -210,7 +210,7 @@ endif - config RT2800SOC - tristate "Ralink WiSoC support" - depends on m -- depends on SOC_RT288X || SOC_RT305X -+ depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 - select RT2X00_LIB_SOC - select RT2X00_LIB_MMIO - select RT2X00_LIB_CRYPTO -@@ -245,7 +245,7 @@ config RT2X00_LIB_PCI - - config RT2X00_LIB_SOC - tristate "RT2x00 SoC support" -- depends on SOC_RT288X || SOC_RT305X -+ depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 - depends on m - select RT2X00_LIB - diff --git a/feeds/rtkmipsel/mac80211/patches/600-0009-rt2x00-rt2800lib-enable-support-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0009-rt2x00-rt2800lib-enable-support-for-RT3883.patch deleted file mode 100644 index 7fe38e095..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0009-rt2x00-rt2800lib-enable-support-for-RT3883.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 4f16582c93a71eba9d389e0f0a8aa9099a9587cd Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:26 +0100 -Subject: [PATCH] rt2x00: rt2800lib: enable support for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7822,6 +7822,7 @@ static int rt2800_probe_rt(struct rt2x00 - case RT3390: - case RT3572: - case RT3593: -+ case RT3883: - case RT5390: - case RT5392: - case RT5592: diff --git a/feeds/rtkmipsel/mac80211/patches/600-0010-rt2x00-rt2800lib-add-rf_vals-for-RF3853.patch b/feeds/rtkmipsel/mac80211/patches/600-0010-rt2x00-rt2800lib-add-rf_vals-for-RF3853.patch deleted file mode 100644 index 253a0c0c1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0010-rt2x00-rt2800lib-add-rf_vals-for-RF3853.patch +++ /dev/null @@ -1,112 +0,0 @@ -From ecb394ccf248d8652c463133c4f404458a57a9c1 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:26 +0100 -Subject: [PATCH] rt2x00: rt2800lib: add rf_vals for RF3853 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800.h | 4 +- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 65 +++++++++++++++++++++++++++++++ - 2 files changed, 68 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -48,7 +48,8 @@ - * RF2853 2.4G/5G 3T3R - * RF3320 2.4G 1T1R(RT3350/RT3370/RT3390) - * RF3322 2.4G 2T2R(RT3352/RT3371/RT3372/RT3391/RT3392) -- * RF3053 2.4G/5G 3T3R(RT3883/RT3563/RT3573/RT3593/RT3662) -+ * RF3053 2.4G/5G 3T3R(RT3563/RT3573/RT3593) -+ * RF3853 2.4G/5G 3T3R(RT3883/RT3662) - * RF5592 2.4G/5G 2T2R - * RF3070 2.4G 1T1R - * RF5360 2.4G 1T1R -@@ -72,6 +73,7 @@ - #define RF5592 0x000f - #define RF3070 0x3070 - #define RF3290 0x3290 -+#define RF3853 0x3853 - #define RF5360 0x5360 - #define RF5362 0x5362 - #define RF5370 0x5370 ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7442,6 +7442,66 @@ static const struct rf_channel rf_vals_3 - {173, 0x61, 0, 9}, - }; - -+static const struct rf_channel rf_vals_3853[] = { -+ {1, 241, 6, 2}, -+ {2, 241, 6, 7}, -+ {3, 242, 6, 2}, -+ {4, 242, 6, 7}, -+ {5, 243, 6, 2}, -+ {6, 243, 6, 7}, -+ {7, 244, 6, 2}, -+ {8, 244, 6, 7}, -+ {9, 245, 6, 2}, -+ {10, 245, 6, 7}, -+ {11, 246, 6, 2}, -+ {12, 246, 6, 7}, -+ {13, 247, 6, 2}, -+ {14, 248, 6, 4}, -+ -+ {36, 0x56, 8, 4}, -+ {38, 0x56, 8, 6}, -+ {40, 0x56, 8, 8}, -+ {44, 0x57, 8, 0}, -+ {46, 0x57, 8, 2}, -+ {48, 0x57, 8, 4}, -+ {52, 0x57, 8, 8}, -+ {54, 0x57, 8, 10}, -+ {56, 0x58, 8, 0}, -+ {60, 0x58, 8, 4}, -+ {62, 0x58, 8, 6}, -+ {64, 0x58, 8, 8}, -+ -+ {100, 0x5b, 8, 8}, -+ {102, 0x5b, 8, 10}, -+ {104, 0x5c, 8, 0}, -+ {108, 0x5c, 8, 4}, -+ {110, 0x5c, 8, 6}, -+ {112, 0x5c, 8, 8}, -+ {114, 0x5c, 8, 10}, -+ {116, 0x5d, 8, 0}, -+ {118, 0x5d, 8, 2}, -+ {120, 0x5d, 8, 4}, -+ {124, 0x5d, 8, 8}, -+ {126, 0x5d, 8, 10}, -+ {128, 0x5e, 8, 0}, -+ {132, 0x5e, 8, 4}, -+ {134, 0x5e, 8, 6}, -+ {136, 0x5e, 8, 8}, -+ {140, 0x5f, 8, 0}, -+ -+ {149, 0x5f, 8, 9}, -+ {151, 0x5f, 8, 11}, -+ {153, 0x60, 8, 1}, -+ {157, 0x60, 8, 5}, -+ {159, 0x60, 8, 7}, -+ {161, 0x60, 8, 9}, -+ {165, 0x61, 8, 1}, -+ {167, 0x61, 8, 3}, -+ {169, 0x61, 8, 5}, -+ {171, 0x61, 8, 7}, -+ {173, 0x61, 8, 9}, -+}; -+ - static const struct rf_channel rf_vals_5592_xtal20[] = { - /* Channel, N, K, mod, R */ - {1, 482, 4, 10, 3}, -@@ -7669,6 +7729,11 @@ static int rt2800_probe_hw_mode(struct r - spec->channels = rf_vals_3x; - break; - -+ case RF3853: -+ spec->num_channels = ARRAY_SIZE(rf_vals_3853); -+ spec->channels = rf_vals_3853; -+ break; -+ - case RF5592: - rt2800_register_read(rt2x00dev, MAC_DEBUG_INDEX, ®); - if (rt2x00_get_field32(reg, MAC_DEBUG_INDEX_XTAL)) { diff --git a/feeds/rtkmipsel/mac80211/patches/600-0011-rt2x00-rt2800lib-enable-VCO-calibration-for-RF3853.patch b/feeds/rtkmipsel/mac80211/patches/600-0011-rt2x00-rt2800lib-enable-VCO-calibration-for-RF3853.patch deleted file mode 100644 index f15c22b30..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0011-rt2x00-rt2800lib-enable-VCO-calibration-for-RF3853.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f8e3fcf18e1f2d7f9e6a9680c5452da090f33d88 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Thu, 1 Aug 2013 14:40:44 +0200 -Subject: [PATCH] rt2x00: rt2800lib: enable VCO calibration for RF3853 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4379,6 +4379,7 @@ void rt2800_vco_calibration(struct rt2x0 - case RF3053: - case RF3070: - case RF3290: -+ case RF3853: - case RF5360: - case RF5362: - case RF5370: -@@ -7848,6 +7849,7 @@ static int rt2800_probe_hw_mode(struct r - case RF3053: - case RF3070: - case RF3290: -+ case RF3853: - case RF5360: - case RF5362: - case RF5370: diff --git a/feeds/rtkmipsel/mac80211/patches/600-0012-rt2x00-rt2800lib-add-channel-configuration-function-.patch b/feeds/rtkmipsel/mac80211/patches/600-0012-rt2x00-rt2800lib-add-channel-configuration-function-.patch deleted file mode 100644 index c120f2c1d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0012-rt2x00-rt2800lib-add-channel-configuration-function-.patch +++ /dev/null @@ -1,235 +0,0 @@ -From 6e3a17190815c6aa4dc53c2cfe9125fb1154f187 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:27 +0100 -Subject: [PATCH] rt2x00: rt2800lib: add channel configuration function for - RF3853 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 208 +++++++++++++++++++++++++++++++ - 1 file changed, 208 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -2626,6 +2626,211 @@ static void rt2800_config_channel_rf3053 - } - } - -+static void rt2800_config_channel_rf3853(struct rt2x00_dev *rt2x00dev, -+ struct ieee80211_conf *conf, -+ struct rf_channel *rf, -+ struct channel_info *info) -+{ -+ u8 rfcsr; -+ u8 bbp; -+ u8 pwr1, pwr2, pwr3; -+ -+ const bool txbf_enabled = false; /* TODO */ -+ -+ /* TODO: add band selection */ -+ -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 6, 0x40); -+ else if (rf->channel < 132) -+ rt2800_rfcsr_write(rt2x00dev, 6, 0x80); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 6, 0x40); -+ -+ rt2800_rfcsr_write(rt2x00dev, 8, rf->rf1); -+ rt2800_rfcsr_write(rt2x00dev, 9, rf->rf3); -+ -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 11, 0x46); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 11, 0x48); -+ -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 12, 0x1a); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 12, 0x52); -+ -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x12); -+ -+ rt2800_rfcsr_read(rt2x00dev, 1, &rfcsr); -+ rt2x00_set_field8(&rfcsr, RFCSR1_RX0_PD, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR1_TX0_PD, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR1_RX1_PD, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR1_TX1_PD, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR1_RX2_PD, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR1_TX2_PD, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR1_RF_BLOCK_EN, 1); -+ rt2x00_set_field8(&rfcsr, RFCSR1_PLL_PD, 1); -+ -+ switch (rt2x00dev->default_ant.tx_chain_num) { -+ case 3: -+ rt2x00_set_field8(&rfcsr, RFCSR1_TX2_PD, 1); -+ /* fallthrough */ -+ case 2: -+ rt2x00_set_field8(&rfcsr, RFCSR1_TX1_PD, 1); -+ /* fallthrough */ -+ case 1: -+ rt2x00_set_field8(&rfcsr, RFCSR1_TX0_PD, 1); -+ break; -+ } -+ -+ switch (rt2x00dev->default_ant.rx_chain_num) { -+ case 3: -+ rt2x00_set_field8(&rfcsr, RFCSR1_RX2_PD, 1); -+ /* fallthrough */ -+ case 2: -+ rt2x00_set_field8(&rfcsr, RFCSR1_RX1_PD, 1); -+ /* fallthrough */ -+ case 1: -+ rt2x00_set_field8(&rfcsr, RFCSR1_RX0_PD, 1); -+ break; -+ } -+ rt2800_rfcsr_write(rt2x00dev, 1, rfcsr); -+ -+ rt2800_adjust_freq_offset(rt2x00dev); -+ -+ rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr); -+ if (!conf_is_ht40(conf)) -+ rfcsr &= ~(0x06); -+ else -+ rfcsr |= 0x06; -+ rt2800_rfcsr_write(rt2x00dev, 30, rfcsr); -+ -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 31, 0xa0); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 31, 0x80); -+ -+ if (conf_is_ht40(conf)) -+ rt2800_rfcsr_write(rt2x00dev, 32, 0x80); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 32, 0xd8); -+ -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 34, 0x3c); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 34, 0x20); -+ -+ /* loopback RF_BS */ -+ rt2800_rfcsr_read(rt2x00dev, 36, &rfcsr); -+ if (rf->channel <= 14) -+ rt2x00_set_field8(&rfcsr, RFCSR36_RF_BS, 1); -+ else -+ rt2x00_set_field8(&rfcsr, RFCSR36_RF_BS, 0); -+ rt2800_rfcsr_write(rt2x00dev, 36, rfcsr); -+ -+ if (rf->channel <= 14) -+ rfcsr = 0x23; -+ else if (rf->channel < 100) -+ rfcsr = 0x36; -+ else if (rf->channel < 132) -+ rfcsr = 0x32; -+ else -+ rfcsr = 0x30; -+ -+ if (txbf_enabled) -+ rfcsr |= 0x40; -+ -+ rt2800_rfcsr_write(rt2x00dev, 39, rfcsr); -+ -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 44, 0x93); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 44, 0x9b); -+ -+ if (rf->channel <= 14) -+ rfcsr = 0xbb; -+ else if (rf->channel < 100) -+ rfcsr = 0xeb; -+ else if (rf->channel < 132) -+ rfcsr = 0xb3; -+ else -+ rfcsr = 0x9b; -+ rt2800_rfcsr_write(rt2x00dev, 45, rfcsr); -+ -+ if (rf->channel <= 14) -+ rfcsr = 0x8e; -+ else -+ rfcsr = 0x8a; -+ -+ if (txbf_enabled) -+ rfcsr |= 0x20; -+ -+ rt2800_rfcsr_write(rt2x00dev, 49, rfcsr); -+ -+ rt2800_rfcsr_write(rt2x00dev, 50, 0x86); -+ -+ rt2800_rfcsr_read(rt2x00dev, 51, &rfcsr); -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 51, 0x75); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 51, 0x51); -+ -+ rt2800_rfcsr_read(rt2x00dev, 52, &rfcsr); -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 52, 0x45); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 52, 0x05); -+ -+ if (rf->channel <= 14) { -+ pwr1 = info->default_power1 & 0x1f; -+ pwr2 = info->default_power2 & 0x1f; -+ pwr3 = info->default_power3 & 0x1f; -+ } else { -+ pwr1 = 0x48 | ((info->default_power1 & 0x18) << 1) | -+ (info->default_power1 & 0x7); -+ pwr2 = 0x48 | ((info->default_power2 & 0x18) << 1) | -+ (info->default_power2 & 0x7); -+ pwr3 = 0x48 | ((info->default_power3 & 0x18) << 1) | -+ (info->default_power3 & 0x7); -+ } -+ -+ rt2800_rfcsr_write(rt2x00dev, 53, pwr1); -+ rt2800_rfcsr_write(rt2x00dev, 54, pwr2); -+ rt2800_rfcsr_write(rt2x00dev, 55, pwr3); -+ -+ rt2x00_dbg(rt2x00dev, "Channel:%d, pwr1:%02x, pwr2:%02x, pwr3:%02x\n", -+ rf->channel, pwr1, pwr2, pwr3); -+ -+ bbp = (info->default_power1 >> 5) | -+ ((info->default_power2 & 0xe0) >> 1); -+ rt2800_bbp_write(rt2x00dev, 109, bbp); -+ -+ rt2800_bbp_read(rt2x00dev, 110, &bbp); -+ bbp &= 0x0f; -+ bbp |= (info->default_power3 & 0xe0) >> 1; -+ rt2800_bbp_write(rt2x00dev, 110, bbp); -+ -+ rt2800_rfcsr_read(rt2x00dev, 57, &rfcsr); -+ if (rf->channel <= 14) -+ rt2800_rfcsr_write(rt2x00dev, 57, 0x6e); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 57, 0x3e); -+ -+ /* Enable RF tuning */ -+ rt2800_rfcsr_read(rt2x00dev, 3, &rfcsr); -+ rt2x00_set_field8(&rfcsr, RFCSR3_VCOCAL_EN, 1); -+ rt2800_rfcsr_write(rt2x00dev, 3, rfcsr); -+ -+ udelay(2000); -+ -+ rt2800_bbp_read(rt2x00dev, 49, &bbp); -+ /* clear update flag */ -+ rt2800_bbp_write(rt2x00dev, 49, bbp & 0xfe); -+ rt2800_bbp_write(rt2x00dev, 49, bbp); -+ -+ /* TODO: add calibration for TxBF */ -+} -+ - #define POWER_BOUND 0x27 - #define POWER_BOUND_5G 0x2b - -@@ -3238,6 +3443,9 @@ static void rt2800_config_channel(struct - case RF3322: - rt2800_config_channel_rf3322(rt2x00dev, conf, rf, info); - break; -+ case RF3853: -+ rt2800_config_channel_rf3853(rt2x00dev, conf, rf, info); -+ break; - case RF3070: - case RF5360: - case RF5362: diff --git a/feeds/rtkmipsel/mac80211/patches/600-0013-rt2x00-rt2800lib-enable-RF3853-support.patch b/feeds/rtkmipsel/mac80211/patches/600-0013-rt2x00-rt2800lib-enable-RF3853-support.patch deleted file mode 100644 index f006304e7..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0013-rt2x00-rt2800lib-enable-RF3853-support.patch +++ /dev/null @@ -1,20 +0,0 @@ -From afd38ae82226551bf879b6c7c4b620c271fee9d2 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Thu, 1 Aug 2013 14:42:05 +0200 -Subject: [PATCH] rt2x00: rt2800lib: enable RF3853 support - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7407,6 +7407,7 @@ static int rt2800_init_eeprom(struct rt2 - case RF3290: - case RF3320: - case RF3322: -+ case RF3853: - case RF5360: - case RF5362: - case RF5370: diff --git a/feeds/rtkmipsel/mac80211/patches/600-0014-rt2x00-rt2800lib-add-MAC-register-initialization-for.patch b/feeds/rtkmipsel/mac80211/patches/600-0014-rt2x00-rt2800lib-add-MAC-register-initialization-for.patch deleted file mode 100644 index a56bfa865..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0014-rt2x00-rt2800lib-add-MAC-register-initialization-for.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 0094872a5e8e4664c6ea1b2dfa487063d39ae363 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:26 +0100 -Subject: [PATCH] rt2x00: rt2800lib: add MAC register initialization for - RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800.h | 14 ++++++++++++++ - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 19 ++++++++++++++++--- - 2 files changed, 30 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -1588,6 +1588,20 @@ - #define TX_PWR_CFG_9_STBC7_CH2 FIELD32(0x00000f00) - - /* -+ * TX_TXBF_CFG: -+ */ -+#define TX_TXBF_CFG_0 0x138c -+#define TX_TXBF_CFG_1 0x13a4 -+#define TX_TXBF_CFG_2 0x13a8 -+#define TX_TXBF_CFG_3 0x13ac -+ -+/* -+ * TX_FBK_CFG_3S: -+ */ -+#define TX_FBK_CFG_3S_0 0x13c4 -+#define TX_FBK_CFG_3S_1 0x13c8 -+ -+/* - * RX_FILTER_CFG: RX configuration register. - */ - #define RX_FILTER_CFG 0x1400 ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4982,6 +4982,12 @@ static int rt2800_init_registers(struct - rt2800_register_write(rt2x00dev, TX_SW_CFG2, - 0x00000000); - } -+ } else if (rt2x00_rt(rt2x00dev, RT3883)) { -+ rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000402); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00000000); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG2, 0x00040000); -+ rt2800_register_write(rt2x00dev, TX_TXBF_CFG_0, 0x8000fc21); -+ rt2800_register_write(rt2x00dev, TX_TXBF_CFG_3, 0x00009c40); - } else if (rt2x00_rt(rt2x00dev, RT5390) || - rt2x00_rt(rt2x00dev, RT5392) || - rt2x00_rt(rt2x00dev, RT5592)) { -@@ -5012,9 +5018,11 @@ static int rt2800_init_registers(struct - - rt2800_register_read(rt2x00dev, MAX_LEN_CFG, ®); - rt2x00_set_field32(®, MAX_LEN_CFG_MAX_MPDU, AGGREGATION_SIZE); -- if (rt2x00_rt_rev_gte(rt2x00dev, RT2872, REV_RT2872E) || -- rt2x00_rt(rt2x00dev, RT2883) || -- rt2x00_rt_rev_lt(rt2x00dev, RT3070, REV_RT3070E)) -+ if (rt2x00_rt(rt2x00dev, RT3883)) -+ rt2x00_set_field32(®, MAX_LEN_CFG_MAX_PSDU, 3); -+ else if (rt2x00_rt_rev_gte(rt2x00dev, RT2872, REV_RT2872E) || -+ rt2x00_rt(rt2x00dev, RT2883) || -+ rt2x00_rt_rev_lt(rt2x00dev, RT3070, REV_RT3070E)) - rt2x00_set_field32(®, MAX_LEN_CFG_MAX_PSDU, 2); - else - rt2x00_set_field32(®, MAX_LEN_CFG_MAX_PSDU, 1); -@@ -5167,6 +5175,11 @@ static int rt2800_init_registers(struct - reg = rt2x00_rt(rt2x00dev, RT5592) ? 0x00000082 : 0x00000002; - rt2800_register_write(rt2x00dev, TXOP_HLDR_ET, reg); - -+ if (rt2x00_rt(rt2x00dev, RT3883)) { -+ rt2800_register_write(rt2x00dev, TX_FBK_CFG_3S_0, 0x12111008); -+ rt2800_register_write(rt2x00dev, TX_FBK_CFG_3S_1, 0x16151413); -+ } -+ - rt2800_register_read(rt2x00dev, TX_RTS_CFG, ®); - rt2x00_set_field32(®, TX_RTS_CFG_AUTO_RTS_RETRY_LIMIT, 32); - rt2x00_set_field32(®, TX_RTS_CFG_RTS_THRES, diff --git a/feeds/rtkmipsel/mac80211/patches/600-0015-rt2x00-rt2800soc-fix-rt2800soc_disable_radio-for-RT3.patch b/feeds/rtkmipsel/mac80211/patches/600-0015-rt2x00-rt2800soc-fix-rt2800soc_disable_radio-for-RT3.patch deleted file mode 100644 index d68ad5044..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0015-rt2x00-rt2800soc-fix-rt2800soc_disable_radio-for-RT3.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6c2d32478159fffff0b85abb6817a21bb2338231 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:27 +0100 -Subject: [PATCH] rt2x00: rt2800soc: fix rt2800soc_disable_radio for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800soc.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -@@ -51,9 +51,16 @@ static bool rt2800soc_hwcrypt_disabled(s - - static void rt2800soc_disable_radio(struct rt2x00_dev *rt2x00dev) - { -+ u32 reg; -+ - rt2800_disable_radio(rt2x00dev); - rt2x00mmio_register_write(rt2x00dev, PWR_PIN_CFG, 0); -- rt2x00mmio_register_write(rt2x00dev, TX_PIN_CFG, 0); -+ -+ reg = 0; -+ if (rt2x00_rt(rt2x00dev, RT3883)) -+ rt2x00_set_field32(®, TX_PIN_CFG_RFTR_EN, 1); -+ -+ rt2x00mmio_register_write(rt2x00dev, TX_PIN_CFG, reg); - } - - static int rt2800soc_set_device_state(struct rt2x00_dev *rt2x00dev, diff --git a/feeds/rtkmipsel/mac80211/patches/600-0016-rt2x00-rt2800lib-add-BBP-register-initialization-for.patch b/feeds/rtkmipsel/mac80211/patches/600-0016-rt2x00-rt2800lib-add-BBP-register-initialization-for.patch deleted file mode 100644 index 953263226..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0016-rt2x00-rt2800lib-add-BBP-register-initialization-for.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 84833056aa7dd25f5b097e31c78f2a0914c5160c Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:26 +0100 -Subject: [PATCH] rt2x00: rt2800lib: add BBP register initialization for - RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 44 +++++++++++++++++++++++++++++++ - 1 file changed, 44 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -5785,6 +5785,47 @@ static void rt2800_init_bbp_3593(struct - rt2800_bbp_write(rt2x00dev, 103, 0xc0); - } - -+static void rt2800_init_bbp_3883(struct rt2x00_dev *rt2x00dev) -+{ -+ rt2800_init_bbp_early(rt2x00dev); -+ -+ rt2800_bbp_write(rt2x00dev, 4, 0x50); -+ rt2800_bbp_write(rt2x00dev, 47, 0x48); -+ -+ rt2800_bbp_write(rt2x00dev, 86, 0x46); -+ rt2800_bbp_write(rt2x00dev, 88, 0x90); -+ -+ rt2800_bbp_write(rt2x00dev, 92, 0x02); -+ -+ rt2800_bbp_write(rt2x00dev, 103, 0xc0); -+ rt2800_bbp_write(rt2x00dev, 104, 0x92); -+ rt2800_bbp_write(rt2x00dev, 105, 0x34); -+ rt2800_bbp_write(rt2x00dev, 106, 0x12); -+ rt2800_bbp_write(rt2x00dev, 120, 0x50); -+ rt2800_bbp_write(rt2x00dev, 137, 0x0f); -+ rt2800_bbp_write(rt2x00dev, 163, 0x9d); -+ -+ /* Set ITxBF timeout to 0x9C40=1000msec */ -+ rt2800_bbp_write(rt2x00dev, 179, 0x02); -+ rt2800_bbp_write(rt2x00dev, 180, 0x00); -+ rt2800_bbp_write(rt2x00dev, 182, 0x40); -+ rt2800_bbp_write(rt2x00dev, 180, 0x01); -+ rt2800_bbp_write(rt2x00dev, 182, 0x9c); -+ -+ rt2800_bbp_write(rt2x00dev, 179, 0x00); -+ -+ /* Reprogram the inband interface to put right values in RXWI */ -+ rt2800_bbp_write(rt2x00dev, 142, 0x04); -+ rt2800_bbp_write(rt2x00dev, 143, 0x3b); -+ rt2800_bbp_write(rt2x00dev, 142, 0x06); -+ rt2800_bbp_write(rt2x00dev, 143, 0xa0); -+ rt2800_bbp_write(rt2x00dev, 142, 0x07); -+ rt2800_bbp_write(rt2x00dev, 143, 0xa1); -+ rt2800_bbp_write(rt2x00dev, 142, 0x08); -+ rt2800_bbp_write(rt2x00dev, 143, 0xa2); -+ rt2800_bbp_write(rt2x00dev, 148, 0xc8); -+} -+ - static void rt2800_init_bbp_53xx(struct rt2x00_dev *rt2x00dev) - { - int ant, div_mode; -@@ -6003,6 +6044,9 @@ static void rt2800_init_bbp(struct rt2x0 - case RT3593: - rt2800_init_bbp_3593(rt2x00dev); - return; -+ case RT3883: -+ rt2800_init_bbp_3883(rt2x00dev); -+ return; - case RT5390: - case RT5392: - rt2800_init_bbp_53xx(rt2x00dev); diff --git a/feeds/rtkmipsel/mac80211/patches/600-0017-rt2x00-rt2800lib-add-RFCSR-initialization-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0017-rt2x00-rt2800lib-add-RFCSR-initialization-for-RT3883.patch deleted file mode 100644 index 936fa35a0..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0017-rt2x00-rt2800lib-add-RFCSR-initialization-for-RT3883.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 99c659cf345640fd0f733cbcaf4583cc2c868ec0 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Mon, 29 Apr 2013 13:21:48 +0200 -Subject: [PATCH] rt2x00: rt2800lib: add RFCSR initialization for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800.h | 1 + - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 141 +++++++++++++++++++++++++++++++ - 2 files changed, 142 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -2171,6 +2171,7 @@ struct mac_iveiv_entry { - /* - * RFCSR 2: - */ -+#define RFCSR2_RESCAL_BP FIELD8(0x40) - #define RFCSR2_RESCAL_EN FIELD8(0x80) - - /* ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -6820,6 +6820,144 @@ static void rt2800_init_rfcsr_3593(struc - /* TODO: enable stream mode support */ - } - -+static void rt2800_init_rfcsr_3883(struct rt2x00_dev *rt2x00dev) -+{ -+ u8 rfcsr; -+ -+ /* TODO: get the actual ECO value from the SoC */ -+ const unsigned int eco = 5; -+ -+ rt2800_rf_init_calibration(rt2x00dev, 2); -+ -+ rt2800_rfcsr_write(rt2x00dev, 0, 0xe0); -+ rt2800_rfcsr_write(rt2x00dev, 1, 0x03); -+ rt2800_rfcsr_write(rt2x00dev, 2, 0x50); -+ rt2800_rfcsr_write(rt2x00dev, 3, 0x20); -+ rt2800_rfcsr_write(rt2x00dev, 4, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 5, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 6, 0x40); -+ rt2800_rfcsr_write(rt2x00dev, 7, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 8, 0x5b); -+ rt2800_rfcsr_write(rt2x00dev, 9, 0x08); -+ rt2800_rfcsr_write(rt2x00dev, 10, 0xd3); -+ rt2800_rfcsr_write(rt2x00dev, 11, 0x48); -+ rt2800_rfcsr_write(rt2x00dev, 12, 0x1a); -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x12); -+ rt2800_rfcsr_write(rt2x00dev, 14, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 15, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 16, 0x00); -+ -+ /* RFCSR 17 will be initialized later based on the -+ * frequency offset stored in the EEPROM -+ */ -+ -+ rt2800_rfcsr_write(rt2x00dev, 18, 0x40); -+ rt2800_rfcsr_write(rt2x00dev, 19, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 20, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 21, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 22, 0x20); -+ rt2800_rfcsr_write(rt2x00dev, 23, 0xc0); -+ rt2800_rfcsr_write(rt2x00dev, 24, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 25, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 26, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 27, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 28, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 29, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 30, 0x10); -+ rt2800_rfcsr_write(rt2x00dev, 31, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 32, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 33, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 34, 0x20); -+ rt2800_rfcsr_write(rt2x00dev, 35, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 36, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 37, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 38, 0x86); -+ rt2800_rfcsr_write(rt2x00dev, 39, 0x23); -+ rt2800_rfcsr_write(rt2x00dev, 40, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 41, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 42, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 43, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 44, 0x93); -+ rt2800_rfcsr_write(rt2x00dev, 45, 0xbb); -+ rt2800_rfcsr_write(rt2x00dev, 46, 0x60); -+ rt2800_rfcsr_write(rt2x00dev, 47, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 48, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 49, 0x8e); -+ rt2800_rfcsr_write(rt2x00dev, 50, 0x86); -+ rt2800_rfcsr_write(rt2x00dev, 51, 0x51); -+ rt2800_rfcsr_write(rt2x00dev, 52, 0x05); -+ rt2800_rfcsr_write(rt2x00dev, 53, 0x76); -+ rt2800_rfcsr_write(rt2x00dev, 54, 0x76); -+ rt2800_rfcsr_write(rt2x00dev, 55, 0x76); -+ rt2800_rfcsr_write(rt2x00dev, 56, 0xdb); -+ rt2800_rfcsr_write(rt2x00dev, 57, 0x3e); -+ rt2800_rfcsr_write(rt2x00dev, 58, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 59, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 60, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 61, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 62, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 63, 0x00); -+ -+ /* TODO: rx filter calibration? */ -+ -+ rt2800_bbp_write(rt2x00dev, 137, 0x0f); -+ -+ rt2800_bbp_write(rt2x00dev, 163, 0x9d); -+ -+ rt2800_bbp_write(rt2x00dev, 105, 0x05); -+ -+ rt2800_bbp_write(rt2x00dev, 179, 0x02); -+ rt2800_bbp_write(rt2x00dev, 180, 0x00); -+ rt2800_bbp_write(rt2x00dev, 182, 0x40); -+ rt2800_bbp_write(rt2x00dev, 180, 0x01); -+ rt2800_bbp_write(rt2x00dev, 182, 0x9c); -+ -+ rt2800_bbp_write(rt2x00dev, 179, 0x00); -+ -+ rt2800_bbp_write(rt2x00dev, 142, 0x04); -+ rt2800_bbp_write(rt2x00dev, 143, 0x3b); -+ rt2800_bbp_write(rt2x00dev, 142, 0x06); -+ rt2800_bbp_write(rt2x00dev, 143, 0xa0); -+ rt2800_bbp_write(rt2x00dev, 142, 0x07); -+ rt2800_bbp_write(rt2x00dev, 143, 0xa1); -+ rt2800_bbp_write(rt2x00dev, 142, 0x08); -+ rt2800_bbp_write(rt2x00dev, 143, 0xa2); -+ rt2800_bbp_write(rt2x00dev, 148, 0xc8); -+ -+ if (eco == 5) { -+ rt2800_rfcsr_write(rt2x00dev, 32, 0xd8); -+ rt2800_rfcsr_write(rt2x00dev, 33, 0x32); -+ } -+ -+ rt2800_rfcsr_read(rt2x00dev, 2, &rfcsr); -+ rt2x00_set_field8(&rfcsr, RFCSR2_RESCAL_BP, 0); -+ rt2x00_set_field8(&rfcsr, RFCSR2_RESCAL_EN, 1); -+ rt2800_rfcsr_write(rt2x00dev, 2, rfcsr); -+ msleep(1); -+ rt2x00_set_field8(&rfcsr, RFCSR2_RESCAL_EN, 0); -+ rt2800_rfcsr_write(rt2x00dev, 2, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 1, &rfcsr); -+ rt2x00_set_field8(&rfcsr, RFCSR1_RF_BLOCK_EN, 1); -+ rt2800_rfcsr_write(rt2x00dev, 1, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 6, &rfcsr); -+ rfcsr |= 0xc0; -+ rt2800_rfcsr_write(rt2x00dev, 6, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 22, &rfcsr); -+ rfcsr |= 0x20; -+ rt2800_rfcsr_write(rt2x00dev, 22, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 46, &rfcsr); -+ rfcsr |= 0x20; -+ rt2800_rfcsr_write(rt2x00dev, 46, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 20, &rfcsr); -+ rfcsr &= ~0xee; -+ rt2800_rfcsr_write(rt2x00dev, 20, rfcsr); -+} -+ - static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) - { - rt2800_rf_init_calibration(rt2x00dev, 2); -@@ -7051,6 +7189,9 @@ static void rt2800_init_rfcsr(struct rt2 - case RT3390: - rt2800_init_rfcsr_3390(rt2x00dev); - break; -+ case RT3883: -+ rt2800_init_rfcsr_3883(rt2x00dev); -+ break; - case RT3572: - rt2800_init_rfcsr_3572(rt2x00dev); - break; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0018-rt2x00-rt2800lib-use-the-extended-EEPROM-map-for-RT3.patch b/feeds/rtkmipsel/mac80211/patches/600-0018-rt2x00-rt2800lib-use-the-extended-EEPROM-map-for-RT3.patch deleted file mode 100644 index ae899f73b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0018-rt2x00-rt2800lib-use-the-extended-EEPROM-map-for-RT3.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 86022438ffeb1b87dfcd018bf477fdbb43076691 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Wed, 8 May 2013 19:35:33 +0200 -Subject: [PATCH] rt2x00: rt2800lib: use the extended EEPROM map for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -342,7 +342,8 @@ static unsigned int rt2800_eeprom_word_i - wiphy_name(rt2x00dev->hw->wiphy), word)) - return 0; - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - map = rt2800_eeprom_map_ext; - else - map = rt2800_eeprom_map; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0019-rt2x00-rt2800lib-force-rf-type-to-RF3853-on-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0019-rt2x00-rt2800lib-force-rf-type-to-RF3853-on-RT3883.patch deleted file mode 100644 index bcaf67677..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0019-rt2x00-rt2800lib-force-rf-type-to-RF3853-on-RT3883.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 4cf5403f02fa65dc2207f61d223cffa9ae50e907 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Thu, 1 Aug 2013 14:48:21 +0200 -Subject: [PATCH] rt2x00: rt2800lib: force rf type to RF3853 on RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7588,6 +7588,8 @@ static int rt2800_init_eeprom(struct rt2 - rt2x00_rt(rt2x00dev, RT5390) || - rt2x00_rt(rt2x00dev, RT5392)) - rt2800_eeprom_read(rt2x00dev, EEPROM_CHIP_ID, &rf); -+ else if (rt2x00_rt(rt2x00dev, RT3883)) -+ rf = RF3853; - else - rf = rt2x00_get_field16(eeprom, EEPROM_NIC_CONF0_RF_TYPE); - diff --git a/feeds/rtkmipsel/mac80211/patches/600-0020-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch b/feeds/rtkmipsel/mac80211/patches/600-0020-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch deleted file mode 100644 index 3169c1048..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0020-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 269f19c848a2380db03a3f207cafb88e28d71c53 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:28 +0100 -Subject: [PATCH] rt2x00: rt2800lib: add channel configuration code for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 72 +++++++++++++++++++++++++++++-- - 1 file changed, 69 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3406,6 +3406,36 @@ static char rt2800_txpower_to_dev(struct - return clamp_t(char, txpower, MIN_A_TXPOWER, MAX_A_TXPOWER); - } - -+static void rt3883_bbp_adjust(struct rt2x00_dev *rt2x00dev, -+ struct rf_channel *rf) -+{ -+ u8 bbp; -+ -+ bbp = (rf->channel > 14) ? 0x48 : 0x38; -+ rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, bbp); -+ -+ rt2800_bbp_write(rt2x00dev, 69, 0x12); -+ -+ if (rf->channel <= 14) { -+ rt2800_bbp_write(rt2x00dev, 70, 0x0a); -+ } else { -+ /* Disable CCK packet detection */ -+ rt2800_bbp_write(rt2x00dev, 70, 0x00); -+ } -+ -+ rt2800_bbp_write(rt2x00dev, 73, 0x10); -+ -+ if (rf->channel > 14) { -+ rt2800_bbp_write(rt2x00dev, 62, 0x1d); -+ rt2800_bbp_write(rt2x00dev, 63, 0x1d); -+ rt2800_bbp_write(rt2x00dev, 64, 0x1d); -+ } else { -+ rt2800_bbp_write(rt2x00dev, 62, 0x2d); -+ rt2800_bbp_write(rt2x00dev, 63, 0x2d); -+ rt2800_bbp_write(rt2x00dev, 64, 0x2d); -+ } -+} -+ - static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev, - struct ieee80211_conf *conf, - struct rf_channel *rf, -@@ -3424,6 +3454,12 @@ static void rt2800_config_channel(struct - rt2800_txpower_to_dev(rt2x00dev, rf->channel, - info->default_power3); - -+ switch (rt2x00dev->chip.rt) { -+ case RT3883: -+ rt3883_bbp_adjust(rt2x00dev, rf); -+ break; -+ } -+ - switch (rt2x00dev->chip.rf) { - case RF2020: - case RF3020: -@@ -3507,6 +3543,15 @@ static void rt2800_config_channel(struct - rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 77, 0x98); -+ } else if (rt2x00_rt(rt2x00dev, RT3883)) { -+ rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain); -+ rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain); -+ rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain); -+ -+ if (rt2x00dev->default_ant.rx_chain_num > 1) -+ rt2800_bbp_write(rt2x00dev, 86, 0x46); -+ else -+ rt2800_bbp_write(rt2x00dev, 86, 0); - } else { - rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain); -@@ -3519,6 +3564,7 @@ static void rt2800_config_channel(struct - !rt2x00_rt(rt2x00dev, RT5392)) { - if (rt2x00_has_cap_external_lna_bg(rt2x00dev)) { - rt2800_bbp_write(rt2x00dev, 82, 0x62); -+ rt2800_bbp_write(rt2x00dev, 82, 0x62); - rt2800_bbp_write(rt2x00dev, 75, 0x46); - } else { - if (rt2x00_rt(rt2x00dev, RT3593)) -@@ -3527,19 +3573,22 @@ static void rt2800_config_channel(struct - rt2800_bbp_write(rt2x00dev, 82, 0x84); - rt2800_bbp_write(rt2x00dev, 75, 0x50); - } -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - rt2800_bbp_write(rt2x00dev, 83, 0x8a); - } - - } else { - if (rt2x00_rt(rt2x00dev, RT3572)) - rt2800_bbp_write(rt2x00dev, 82, 0x94); -- else if (rt2x00_rt(rt2x00dev, RT3593)) -+ else if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - rt2800_bbp_write(rt2x00dev, 82, 0x82); - else - rt2800_bbp_write(rt2x00dev, 82, 0xf2); - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - rt2800_bbp_write(rt2x00dev, 83, 0x9a); - - if (rt2x00_has_cap_external_lna_a(rt2x00dev)) -@@ -3661,6 +3710,23 @@ static void rt2800_config_channel(struct - - rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg); - -+ usleep_range(1000, 1500); -+ } -+ -+ if (rt2x00_rt(rt2x00dev, RT3883)) { -+ if (!conf_is_ht40(conf)) -+ rt2800_bbp_write(rt2x00dev, 105, 0x34); -+ else -+ rt2800_bbp_write(rt2x00dev, 105, 0x04); -+ -+ /* AGC init */ -+ if (rf->channel <= 14) -+ reg = 0x2e + rt2x00dev->lna_gain; -+ else -+ reg = 0x20 + ((rt2x00dev->lna_gain * 5) / 3); -+ -+ rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg); -+ - usleep_range(1000, 1500); - } - diff --git a/feeds/rtkmipsel/mac80211/patches/600-0021-rt2x00-rt2800lib-fix-txpower_to_dev-function-for-RT3.patch b/feeds/rtkmipsel/mac80211/patches/600-0021-rt2x00-rt2800lib-fix-txpower_to_dev-function-for-RT3.patch deleted file mode 100644 index fa646d2fa..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0021-rt2x00-rt2800lib-fix-txpower_to_dev-function-for-RT3.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e37d93abaabe3ab72b0332a18092acc162307274 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Mon, 30 Sep 2013 13:57:26 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix txpower_to_dev function for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3393,13 +3393,15 @@ static char rt2800_txpower_to_dev(struct - unsigned int channel, - char txpower) - { -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - txpower = rt2x00_get_field8(txpower, EEPROM_TXPOWER_ALC); - - if (channel <= 14) - return clamp_t(char, txpower, MIN_G_TXPOWER, MAX_G_TXPOWER); - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - return clamp_t(char, txpower, MIN_A_TXPOWER_3593, - MAX_A_TXPOWER_3593); - else diff --git a/feeds/rtkmipsel/mac80211/patches/600-0022-rt2x00-rt2800lib-use-correct-txpower-calculation-fun.patch b/feeds/rtkmipsel/mac80211/patches/600-0022-rt2x00-rt2800lib-use-correct-txpower-calculation-fun.patch deleted file mode 100644 index c06876906..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0022-rt2x00-rt2800lib-use-correct-txpower-calculation-fun.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c4d79e344bd580d85821390d49f92dced7d8e125 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:29 +0100 -Subject: [PATCH] rt2x00: rt2800lib: use correct txpower calculation function - for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4612,7 +4612,8 @@ static void rt2800_config_txpower(struct - struct ieee80211_channel *chan, - int power_level) - { -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - rt2800_config_txpower_rt3593(rt2x00dev, chan, power_level); - else - rt2800_config_txpower_rt28xx(rt2x00dev, chan, power_level); diff --git a/feeds/rtkmipsel/mac80211/patches/600-0023-rt2x00-rt2800lib-hardcode-txmixer-gain-values-to-zer.patch b/feeds/rtkmipsel/mac80211/patches/600-0023-rt2x00-rt2800lib-hardcode-txmixer-gain-values-to-zer.patch deleted file mode 100644 index 74d80ded1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0023-rt2x00-rt2800lib-hardcode-txmixer-gain-values-to-zer.patch +++ /dev/null @@ -1,33 +0,0 @@ -From caea0671cd8fd9ade4f5969cbe0ee545e94ae105 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sat, 24 Aug 2013 11:49:55 +0200 -Subject: [PATCH] rt2x00: rt2800lib: hardcode txmixer gain values to zero for - RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7470,7 +7470,8 @@ static u8 rt2800_get_txmixer_gain_24g(st - { - u16 word; - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - return 0; - - rt2800_eeprom_read(rt2x00dev, EEPROM_TXMIXER_GAIN_BG, &word); -@@ -7484,7 +7485,8 @@ static u8 rt2800_get_txmixer_gain_5g(str - { - u16 word; - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - return 0; - - rt2800_eeprom_read(rt2x00dev, EEPROM_TXMIXER_GAIN_A, &word); diff --git a/feeds/rtkmipsel/mac80211/patches/600-0024-rt2x00-rt2800lib-use-correct-RT-XWI-size-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0024-rt2x00-rt2800lib-use-correct-RT-XWI-size-for-RT3883.patch deleted file mode 100644 index 125928642..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0024-rt2x00-rt2800lib-use-correct-RT-XWI-size-for-RT3883.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 11c40fb47c4a4dd6ad060c2ae127ced89ffb9fe1 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Thu, 18 Apr 2013 14:33:33 +0200 -Subject: [PATCH] rt2x00: rt2800lib: use correct [RT]XWI size for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -558,6 +558,7 @@ void rt2800_get_txwi_rxwi_size(struct rt - { - switch (rt2x00dev->chip.rt) { - case RT3593: -+ case RT3883: - *txwi_size = TXWI_DESC_SIZE_4WORDS; - *rxwi_size = RXWI_DESC_SIZE_5WORDS; - break; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0025-rt2x00-rt2800lib-use-correct-beacon-base-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0025-rt2x00-rt2800lib-use-correct-beacon-base-for-RT3883.patch deleted file mode 100644 index 0dcc027ff..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0025-rt2x00-rt2800lib-use-correct-beacon-base-for-RT3883.patch +++ /dev/null @@ -1,22 +0,0 @@ -From b403bdfa00665ce6b53583bdb837ffad0b91c09f Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:29 +0100 -Subject: [PATCH] rt2x00: rt2800lib: use correct beacon base for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -983,7 +983,8 @@ EXPORT_SYMBOL_GPL(rt2800_txdone_entry); - static unsigned int rt2800_hw_beacon_base(struct rt2x00_dev *rt2x00dev, - unsigned int index) - { -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - return HW_BEACON_BASE_HIGH(index); - - return HW_BEACON_BASE(index); diff --git a/feeds/rtkmipsel/mac80211/patches/600-0026-rt2x00-rt2800lib-use-correct-beacon-count-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0026-rt2x00-rt2800lib-use-correct-beacon-count-for-RT3883.patch deleted file mode 100644 index 6ce224aba..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0026-rt2x00-rt2800lib-use-correct-beacon-count-for-RT3883.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 74b7eaf75fc6eb86292056ef705e543f9cd6086b Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 18 Aug 2013 09:57:58 +0200 -Subject: [PATCH] rt2x00: rt2800lib: use correct beacon count for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8403,7 +8403,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r - if (rt2x00_rt(rt2x00dev, RT3593)) - __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - drv_data->hw_beacon_count = 16; - else - drv_data->hw_beacon_count = 8; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0027-rt2x00-rt2800lib-fix-antenna-configuration-for-RT388.patch b/feeds/rtkmipsel/mac80211/patches/600-0027-rt2x00-rt2800lib-fix-antenna-configuration-for-RT388.patch deleted file mode 100644 index 39363685f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0027-rt2x00-rt2800lib-fix-antenna-configuration-for-RT388.patch +++ /dev/null @@ -1,22 +0,0 @@ -From fa5ad9c025610c22048add2f0ad03f62b6ca1e74 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Mon, 30 Sep 2013 16:53:33 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix antenna configuration for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -1938,7 +1938,8 @@ void rt2800_config_ant(struct rt2x00_dev - rt2800_bbp_write(rt2x00dev, 3, r3); - rt2800_bbp_write(rt2x00dev, 1, r1); - -- if (rt2x00_rt(rt2x00dev, RT3593)) { -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) { - if (ant->rx_chain_num == 1) - rt2800_bbp_write(rt2x00dev, 86, 0x00); - else diff --git a/feeds/rtkmipsel/mac80211/patches/600-0028-rt2x00-rt2800lib-fix-LNA-gain-configuration-for-RT38.patch b/feeds/rtkmipsel/mac80211/patches/600-0028-rt2x00-rt2800lib-fix-LNA-gain-configuration-for-RT38.patch deleted file mode 100644 index f0285874d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0028-rt2x00-rt2800lib-fix-LNA-gain-configuration-for-RT38.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6d668fef3a1baa60bdd715ee062ddb6333d2647c Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Mon, 30 Sep 2013 16:58:23 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix LNA gain configuration for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -1961,7 +1961,8 @@ static void rt2800_config_lna_gain(struc - rt2800_eeprom_read(rt2x00dev, EEPROM_LNA, &eeprom); - lna_gain = rt2x00_get_field16(eeprom, EEPROM_LNA_A0); - } else if (libconf->rf.channel <= 128) { -- if (rt2x00_rt(rt2x00dev, RT3593)) { -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) { - rt2800_eeprom_read(rt2x00dev, EEPROM_EXT_LNA2, &eeprom); - lna_gain = rt2x00_get_field16(eeprom, - EEPROM_EXT_LNA2_A1); -@@ -1971,7 +1972,8 @@ static void rt2800_config_lna_gain(struc - EEPROM_RSSI_BG2_LNA_A1); - } - } else { -- if (rt2x00_rt(rt2x00dev, RT3593)) { -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) { - rt2800_eeprom_read(rt2x00dev, EEPROM_EXT_LNA2, &eeprom); - lna_gain = rt2x00_get_field16(eeprom, - EEPROM_EXT_LNA2_A2); diff --git a/feeds/rtkmipsel/mac80211/patches/600-0029-rt2x00-rt2800lib-fix-VGC-setup-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0029-rt2x00-rt2800lib-fix-VGC-setup-for-RT3883.patch deleted file mode 100644 index ab8c625c1..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0029-rt2x00-rt2800lib-fix-VGC-setup-for-RT3883.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c49b2d829aa1c816a46a577cdec6d2ff14d9f06e Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Tue, 1 Oct 2013 15:40:08 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix VGC setup for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4812,7 +4812,8 @@ static u8 rt2800_get_default_vgc(struct - else - vgc = 0x2e + rt2x00dev->lna_gain; - } else { /* 5GHZ band */ -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - vgc = 0x20 + (rt2x00dev->lna_gain * 5) / 3; - else if (rt2x00_rt(rt2x00dev, RT5592)) - vgc = 0x24 + (2 * rt2x00dev->lna_gain); -@@ -4832,7 +4833,8 @@ static inline void rt2800_set_vgc(struct - { - if (qual->vgc_level != vgc_level) { - if (rt2x00_rt(rt2x00dev, RT3572) || -- rt2x00_rt(rt2x00dev, RT3593)) { -+ rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) { - rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, - vgc_level); - } else if (rt2x00_rt(rt2x00dev, RT5592)) { -@@ -4879,6 +4881,11 @@ void rt2800_link_tuner(struct rt2x00_dev - } - break; - -+ case RT3883: -+ if (qual->rssi > -65) -+ vgc += 0x10; -+ break; -+ - case RT5592: - if (qual->rssi > -65) - vgc += 0x20; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0030-rt2x00-rt2800lib-fix-EEPROM-LNA-validation-for-RT388.patch b/feeds/rtkmipsel/mac80211/patches/600-0030-rt2x00-rt2800lib-fix-EEPROM-LNA-validation-for-RT388.patch deleted file mode 100644 index 49830a12f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0030-rt2x00-rt2800lib-fix-EEPROM-LNA-validation-for-RT388.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1616650aea676541d4dc8adc6f4219856d193c8b Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Tue, 1 Oct 2013 17:27:57 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix EEPROM LNA validation for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7607,7 +7607,8 @@ static int rt2800_validate_eeprom(struct - rt2800_eeprom_read(rt2x00dev, EEPROM_RSSI_BG2, &word); - if (abs(rt2x00_get_field16(word, EEPROM_RSSI_BG2_OFFSET2)) > 10) - rt2x00_set_field16(&word, EEPROM_RSSI_BG2_OFFSET2, 0); -- if (!rt2x00_rt(rt2x00dev, RT3593)) { -+ if (!rt2x00_rt(rt2x00dev, RT3593) && -+ !rt2x00_rt(rt2x00dev, RT3883)) { - if (rt2x00_get_field16(word, EEPROM_RSSI_BG2_LNA_A1) == 0x00 || - rt2x00_get_field16(word, EEPROM_RSSI_BG2_LNA_A1) == 0xff) - rt2x00_set_field16(&word, EEPROM_RSSI_BG2_LNA_A1, -@@ -7627,7 +7628,8 @@ static int rt2800_validate_eeprom(struct - rt2800_eeprom_read(rt2x00dev, EEPROM_RSSI_A2, &word); - if (abs(rt2x00_get_field16(word, EEPROM_RSSI_A2_OFFSET2)) > 10) - rt2x00_set_field16(&word, EEPROM_RSSI_A2_OFFSET2, 0); -- if (!rt2x00_rt(rt2x00dev, RT3593)) { -+ if (!rt2x00_rt(rt2x00dev, RT3593) && -+ !rt2x00_rt(rt2x00dev, RT3883)) { - if (rt2x00_get_field16(word, EEPROM_RSSI_A2_LNA_A2) == 0x00 || - rt2x00_get_field16(word, EEPROM_RSSI_A2_LNA_A2) == 0xff) - rt2x00_set_field16(&word, EEPROM_RSSI_A2_LNA_A2, -@@ -7635,7 +7637,8 @@ static int rt2800_validate_eeprom(struct - } - rt2800_eeprom_write(rt2x00dev, EEPROM_RSSI_A2, word); - -- if (rt2x00_rt(rt2x00dev, RT3593)) { -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) { - rt2800_eeprom_read(rt2x00dev, EEPROM_EXT_LNA2, &word); - if (rt2x00_get_field16(word, EEPROM_EXT_LNA2_A1) == 0x00 || - rt2x00_get_field16(word, EEPROM_EXT_LNA2_A1) == 0xff) diff --git a/feeds/rtkmipsel/mac80211/patches/600-0031-rt2x00-rt2800lib-fix-txpower-compensation-for-RT3883.patch b/feeds/rtkmipsel/mac80211/patches/600-0031-rt2x00-rt2800lib-fix-txpower-compensation-for-RT3883.patch deleted file mode 100644 index 6e228479b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0031-rt2x00-rt2800lib-fix-txpower-compensation-for-RT3883.patch +++ /dev/null @@ -1,22 +0,0 @@ -From e3871034a0e7c8a95152dc3eafbcc4535398cbdc Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Wed, 2 Oct 2013 10:11:59 +0200 -Subject: [PATCH] rt2x00: rt2800lib: fix txpower compensation for RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3982,6 +3982,9 @@ static u8 rt2800_compensate_txpower(stru - if (rt2x00_rt(rt2x00dev, RT3593)) - return min_t(u8, txpower, 0xc); - -+ if (rt2x00_rt(rt2x00dev, RT3883)) -+ return min_t(u8, txpower, 0xf); -+ - if (rt2x00_has_cap_power_limit(rt2x00dev)) { - /* - * Check if eirp txpower exceed txpower_limit. diff --git a/feeds/rtkmipsel/mac80211/patches/600-0032-rt2x00-rt2800lib-enable-RT2800_HAS_HIGH_SHARED_MEM-f.patch b/feeds/rtkmipsel/mac80211/patches/600-0032-rt2x00-rt2800lib-enable-RT2800_HAS_HIGH_SHARED_MEM-f.patch deleted file mode 100644 index 25753af81..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0032-rt2x00-rt2800lib-enable-RT2800_HAS_HIGH_SHARED_MEM-f.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f6734ec72da936989a8ce4186b3ede28fbc47836 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 18 Aug 2013 21:57:34 +0200 -Subject: [PATCH] rt2x00: rt2800lib: enable RT2800_HAS_HIGH_SHARED_MEM for - RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8416,7 +8416,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r - if (retval) - return retval; - -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); - - if (rt2x00_rt(rt2x00dev, RT3593) || diff --git a/feeds/rtkmipsel/mac80211/patches/600-0033-rt2x00-rt2800lib-use-high-memory-for-beacons-on-RT38.patch b/feeds/rtkmipsel/mac80211/patches/600-0033-rt2x00-rt2800lib-use-high-memory-for-beacons-on-RT38.patch deleted file mode 100644 index 4f2e75486..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0033-rt2x00-rt2800lib-use-high-memory-for-beacons-on-RT38.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f1acfc2f397e86548ae1b479c198d4bef57050f6 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 29 Sep 2013 18:10:34 +0200 -Subject: [PATCH] rt2x00: rt2800lib: use high memory for beacons on RT3883 - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -97,7 +97,8 @@ static inline void rt2800_shared_mem_sel - - static inline bool rt2800_beacon_uses_high_mem(struct rt2x00_dev *rt2x00dev) - { -- if (rt2x00_rt(rt2x00dev, RT3593)) -+ if (rt2x00_rt(rt2x00dev, RT3593) || -+ rt2x00_rt(rt2x00dev, RT3883)) - return true; - - return false; diff --git a/feeds/rtkmipsel/mac80211/patches/600-0034-rt2x00-rt2800mmio-add-a-workaround-for-spurious-TX_F.patch b/feeds/rtkmipsel/mac80211/patches/600-0034-rt2x00-rt2800mmio-add-a-workaround-for-spurious-TX_F.patch deleted file mode 100644 index a497b5eea..000000000 --- a/feeds/rtkmipsel/mac80211/patches/600-0034-rt2x00-rt2800mmio-add-a-workaround-for-spurious-TX_F.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 5e67d4f8a46d19748b501c2ef86de3f50d3cfd51 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Sun, 24 Mar 2013 19:26:27 +0100 -Subject: [PATCH] rt2x00: rt2800mmio: add a workaround for spurious - TX_FIFO_STATUS interrupts - -Signed-off-by: Gabor Juhos ---- - drivers/net/wireless/ralink/rt2x00/rt2800mmio.c | 72 +++++++++++++++++++++++++----- - drivers/net/wireless/ralink/rt2x00/rt2x00.h | 5 +++ - 2 files changed, 65 insertions(+), 12 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c -@@ -415,9 +415,9 @@ void rt2800mmio_autowake_tasklet(unsigne - } - EXPORT_SYMBOL_GPL(rt2800mmio_autowake_tasklet); - --static void rt2800mmio_txstatus_interrupt(struct rt2x00_dev *rt2x00dev) -+static void rt2800mmio_txstatus_interrupt(struct rt2x00_dev *rt2x00dev, -+ u32 status) - { -- u32 status; - int i; - - /* -@@ -438,29 +438,77 @@ static void rt2800mmio_txstatus_interrup - * Since we have only one producer and one consumer we don't - * need to lock the kfifo. - */ -- for (i = 0; i < rt2x00dev->tx->limit; i++) { -- rt2x00mmio_register_read(rt2x00dev, TX_STA_FIFO, &status); -- -- if (!rt2x00_get_field32(status, TX_STA_FIFO_VALID)) -- break; -- -+ i = 0; -+ do { - if (!kfifo_put(&rt2x00dev->txstatus_fifo, status)) { -- rt2x00_warn(rt2x00dev, "TX status FIFO overrun, drop tx status report\n"); -+ rt2x00_warn(rt2x00dev, -+ "TX status FIFO overrun, drop TX status report\n"); - break; - } -- } -+ -+ if (++i >= rt2x00dev->tx->limit) -+ break; -+ -+ rt2x00mmio_register_read(rt2x00dev, TX_STA_FIFO, &status); -+ } while (rt2x00_get_field32(status, TX_STA_FIFO_VALID)); - - /* Schedule the tasklet for processing the tx status. */ - tasklet_schedule(&rt2x00dev->txstatus_tasklet); - } - -+#define RT2800MMIO_TXSTATUS_IRQ_MAX_RETRIES 4 -+ -+static bool rt2800mmio_txstatus_is_spurious(struct rt2x00_dev *rt2x00dev, -+ u32 txstatus) -+{ -+ if (likely(rt2x00_get_field32(txstatus, TX_STA_FIFO_VALID))) { -+ rt2x00dev->txstatus_irq_retries = 0; -+ return false; -+ } -+ -+ rt2x00dev->txstatus_irq_retries++; -+ -+ /* Ensure that we don't go into an infinite IRQ loop. */ -+ if (rt2x00dev->txstatus_irq_retries >= -+ RT2800MMIO_TXSTATUS_IRQ_MAX_RETRIES) { -+ rt2x00_warn(rt2x00dev, -+ "%u spurious TX_FIFO_STATUS interrupt(s)\n", -+ rt2x00dev->txstatus_irq_retries); -+ rt2x00dev->txstatus_irq_retries = 0; -+ return false; -+ } -+ -+ return true; -+} -+ - irqreturn_t rt2800mmio_interrupt(int irq, void *dev_instance) - { - struct rt2x00_dev *rt2x00dev = dev_instance; - u32 reg, mask; -+ u32 txstatus = 0; - -- /* Read status and ACK all interrupts */ -+ /* Read status */ - rt2x00mmio_register_read(rt2x00dev, INT_SOURCE_CSR, ®); -+ -+ if (rt2x00_get_field32(reg, INT_SOURCE_CSR_TX_FIFO_STATUS)) { -+ /* Due to unknown reason the hardware generates a -+ * TX_FIFO_STATUS interrupt before the TX_STA_FIFO -+ * register contain valid data. Read the TX status -+ * here to see if we have to process the actual -+ * request. -+ */ -+ rt2x00mmio_register_read(rt2x00dev, TX_STA_FIFO, &txstatus); -+ if (rt2800mmio_txstatus_is_spurious(rt2x00dev, txstatus)) { -+ /* Remove the TX_FIFO_STATUS bit so it won't be -+ * processed in this turn. The hardware will -+ * generate another IRQ for us. -+ */ -+ rt2x00_set_field32(®, -+ INT_SOURCE_CSR_TX_FIFO_STATUS, 0); -+ } -+ } -+ -+ /* ACK interrupts */ - rt2x00mmio_register_write(rt2x00dev, INT_SOURCE_CSR, reg); - - if (!reg) -@@ -477,7 +525,7 @@ irqreturn_t rt2800mmio_interrupt(int irq - mask = ~reg; - - if (rt2x00_get_field32(reg, INT_SOURCE_CSR_TX_FIFO_STATUS)) { -- rt2800mmio_txstatus_interrupt(rt2x00dev); -+ rt2800mmio_txstatus_interrupt(rt2x00dev, txstatus); - /* - * Never disable the TX_FIFO_STATUS interrupt. - */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -991,6 +991,11 @@ struct rt2x00_dev { - int rf_channel; - - /* -+ * Counter for tx status irq retries (rt2800pci). -+ */ -+ unsigned int txstatus_irq_retries; -+ -+ /* - * Protect the interrupt mask register. - */ - spinlock_t irqmask_lock; diff --git a/feeds/rtkmipsel/mac80211/patches/601-rt2x00-set_pci_mwi.patch b/feeds/rtkmipsel/mac80211/patches/601-rt2x00-set_pci_mwi.patch deleted file mode 100644 index a40716163..000000000 --- a/feeds/rtkmipsel/mac80211/patches/601-rt2x00-set_pci_mwi.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00pci.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00pci.c -@@ -94,8 +94,10 @@ int rt2x00pci_probe(struct pci_dev *pci_ - - pci_set_master(pci_dev); - -+#ifdef CONFIG_PCI_SET_MWI - if (pci_set_mwi(pci_dev)) - rt2x00_probe_err("MWI not available\n"); -+#endif - - if (dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32))) { - rt2x00_probe_err("PCI DMA not supported\n"); diff --git a/feeds/rtkmipsel/mac80211/patches/602-rt2x00-introduce-rt2x00_platform_h.patch b/feeds/rtkmipsel/mac80211/patches/602-rt2x00-introduce-rt2x00_platform_h.patch deleted file mode 100644 index 7a183a404..000000000 --- a/feeds/rtkmipsel/mac80211/patches/602-rt2x00-introduce-rt2x00_platform_h.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- /dev/null -+++ b/include/linux/rt2x00_platform.h -@@ -0,0 +1,19 @@ -+/* -+ * Platform data definition for the rt2x00 driver -+ * -+ * Copyright (C) 2011 Gabor Juhos -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License version 2 as published -+ * by the Free Software Foundation. -+ * -+ */ -+ -+#ifndef _RT2X00_PLATFORM_H -+#define _RT2X00_PLATFORM_H -+ -+struct rt2x00_platform_data { -+ char *eeprom_file_name; -+}; -+ -+#endif /* _RT2X00_PLATFORM_H */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - #include - diff --git a/feeds/rtkmipsel/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch b/feeds/rtkmipsel/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch deleted file mode 100644 index bc056cd73..000000000 --- a/feeds/rtkmipsel/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch +++ /dev/null @@ -1,301 +0,0 @@ ---- a/.local-symbols -+++ b/.local-symbols -@@ -329,6 +329,7 @@ RT2X00_LIB_FIRMWARE= - RT2X00_LIB_CRYPTO= - RT2X00_LIB_LEDS= - RT2X00_LIB_DEBUGFS= -+RT2X00_LIB_EEPROM= - RT2X00_DEBUG= - WLAN_VENDOR_REALTEK= - RTL8180= ---- a/drivers/net/wireless/ralink/rt2x00/Kconfig -+++ b/drivers/net/wireless/ralink/rt2x00/Kconfig -@@ -69,6 +69,7 @@ config RT2800PCI - select RT2X00_LIB_MMIO - select RT2X00_LIB_PCI - select RT2X00_LIB_FIRMWARE -+ select RT2X00_LIB_EEPROM - select RT2X00_LIB_CRYPTO - depends on CRC_CCITT - depends on EEPROM_93CX6 -@@ -215,6 +216,7 @@ config RT2800SOC - select RT2X00_LIB_MMIO - select RT2X00_LIB_CRYPTO - select RT2X00_LIB_FIRMWARE -+ select RT2X00_LIB_EEPROM - select RT2800_LIB - select RT2800_LIB_MMIO - ---help--- -@@ -265,6 +267,9 @@ config RT2X00_LIB_FIRMWARE - config RT2X00_LIB_CRYPTO - bool - -+config RT2X00_LIB_EEPROM -+ boolean -+ - config RT2X00_LIB_LEDS - bool - default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n) ---- a/drivers/net/wireless/ralink/rt2x00/Makefile -+++ b/drivers/net/wireless/ralink/rt2x00/Makefile -@@ -7,6 +7,7 @@ rt2x00lib-$(CPTCFG_RT2X00_LIB_DEBUGFS) + - rt2x00lib-$(CPTCFG_RT2X00_LIB_CRYPTO) += rt2x00crypto.o - rt2x00lib-$(CPTCFG_RT2X00_LIB_FIRMWARE) += rt2x00firmware.o - rt2x00lib-$(CPTCFG_RT2X00_LIB_LEDS) += rt2x00leds.o -+rt2x00lib-$(CPTCFG_RT2X00_LIB_EEPROM) += rt2x00eeprom.o - - obj-$(CPTCFG_RT2X00_LIB) += rt2x00lib.o - obj-$(CPTCFG_RT2X00_LIB_MMIO) += rt2x00mmio.o ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h -@@ -46,6 +46,8 @@ struct rt2800_drv_data { - } shmem_lock; - }; - -+#include "rt2800.h" -+ - struct rt2800_ops { - void (*register_read)(struct rt2x00_dev *rt2x00dev, - const unsigned int offset, u32 *value); -@@ -179,6 +181,15 @@ static inline int rt2800_read_eeprom(str - { - const struct rt2800_ops *rt2800ops = rt2x00dev->ops->drv; - -+ if (rt2x00dev->eeprom_file) { -+ memcpy(rt2x00dev->eeprom, rt2x00dev->eeprom_file->data, -+ EEPROM_SIZE); -+ return 0; -+ } -+ -+ if (!rt2800ops->read_eeprom) -+ return -EINVAL; -+ - return rt2800ops->read_eeprom(rt2x00dev); - } - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -@@ -102,19 +102,6 @@ static int rt2800soc_set_device_state(st - return retval; - } - --static int rt2800soc_read_eeprom(struct rt2x00_dev *rt2x00dev) --{ -- void __iomem *base_addr = ioremap(0x1F040000, EEPROM_SIZE); -- -- if (!base_addr) -- return -ENOMEM; -- -- memcpy_fromio(rt2x00dev->eeprom, base_addr, EEPROM_SIZE); -- -- iounmap(base_addr); -- return 0; --} -- - /* Firmware functions */ - static char *rt2800soc_get_firmware_name(struct rt2x00_dev *rt2x00dev) - { -@@ -178,7 +165,6 @@ static const struct rt2800_ops rt2800soc - .register_multiread = rt2x00mmio_register_multiread, - .register_multiwrite = rt2x00mmio_register_multiwrite, - .regbusy_read = rt2x00mmio_regbusy_read, -- .read_eeprom = rt2800soc_read_eeprom, - .hwcrypt_disabled = rt2800soc_hwcrypt_disabled, - .drv_write_firmware = rt2800soc_write_firmware, - .drv_init_registers = rt2800mmio_init_registers, ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -697,6 +697,7 @@ enum rt2x00_capability_flags { - REQUIRE_HT_TX_DESC, - REQUIRE_PS_AUTOWAKE, - REQUIRE_DELAYED_RFKILL, -+ REQUIRE_EEPROM_FILE, - - /* - * Capabilities -@@ -968,6 +969,11 @@ struct rt2x00_dev { - const struct firmware *fw; - - /* -+ * EEPROM image. -+ */ -+ const struct firmware *eeprom_file; -+ -+ /* - * FIFO for storing tx status reports between isr and tasklet. - */ - DECLARE_KFIFO_PTR(txstatus_fifo, u32); ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1335,6 +1335,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de - INIT_DELAYED_WORK(&rt2x00dev->autowakeup_work, rt2x00lib_autowakeup); - INIT_WORK(&rt2x00dev->sleep_work, rt2x00lib_sleep); - -+ retval = rt2x00lib_load_eeprom_file(rt2x00dev); -+ if (retval) -+ goto exit; -+ - /* - * Let the driver probe the device to detect the capabilities. - */ -@@ -1475,6 +1479,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ - * Free the driver data. - */ - kfree(rt2x00dev->drv_data); -+ -+ /* -+ * Free EEPROM image. -+ */ -+ rt2x00lib_free_eeprom_file(rt2x00dev); - } - EXPORT_SYMBOL_GPL(rt2x00lib_remove_dev); - ---- /dev/null -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c -@@ -0,0 +1,111 @@ -+/* -+ Copyright (C) 2004 - 2009 Ivo van Doorn -+ Copyright (C) 2004 - 2009 Gertjan van Wingerde -+ -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the -+ Free Software Foundation, Inc., -+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ */ -+ -+/* -+ Module: rt2x00lib -+ Abstract: rt2x00 eeprom file loading routines. -+ */ -+ -+#include -+#include -+ -+#include "rt2x00.h" -+#include "rt2x00lib.h" -+ -+static const char * -+rt2x00lib_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2x00_platform_data *pdata = rt2x00dev->dev->platform_data; -+ -+ if (pdata && pdata->eeprom_file_name) -+ return pdata->eeprom_file_name; -+ -+ return NULL -+} -+ -+static int rt2x00lib_request_eeprom_file(struct rt2x00_dev *rt2x00dev) -+{ -+ const struct firmware *ee; -+ const char *ee_name; -+ int retval; -+ -+ ee_name = rt2x00lib_get_eeprom_file_name(rt2x00dev); -+ if (!ee_name) { -+ rt2x00_err(rt2x00dev, -+ "Invalid EEPROM filename.\n" -+ "Please file bug report to %s.\n", DRV_PROJECT); -+ return -EINVAL; -+ } -+ -+ rt2x00_info(rt2x00dev, "Loading EEPROM data from '%s'.\n", ee_name); -+ -+ retval = request_firmware(&ee, ee_name, rt2x00dev->dev); -+ if (retval) { -+ rt2x00_err(rt2x00dev, "Failed to request EEPROM.\n"); -+ return retval; -+ } -+ -+ if (!ee || !ee->size || !ee->data) { -+ rt2x00_err(rt2x00dev, "Failed to read EEPROM file.\n"); -+ retval = -ENOENT; -+ goto err_exit; -+ } -+ -+ if (ee->size != rt2x00dev->ops->eeprom_size) { -+ rt2x00_err(rt2x00dev, -+ "EEPROM file size is invalid, it should be %d bytes\n", -+ rt2x00dev->ops->eeprom_size); -+ retval = -EINVAL; -+ goto err_release_ee; -+ } -+ -+ rt2x00dev->eeprom_file = ee; -+ return 0; -+ -+err_release_ee: -+ release_firmware(ee); -+err_exit: -+ return retval; -+} -+ -+int rt2x00lib_load_eeprom_file(struct rt2x00_dev *rt2x00dev) -+{ -+ int retval; -+ -+ if (!rt2x00lib_get_eeprom_file_name(rt2x00dev)) -+ return 0; -+ -+ set_bit(REQUIRE_EEPROM_FILE, &rt2x00dev->cap_flags); -+ -+ if (!rt2x00dev->eeprom_file) { -+ retval = rt2x00lib_request_eeprom_file(rt2x00dev); -+ if (retval) -+ return retval; -+ } -+ -+ return 0; -+} -+ -+void rt2x00lib_free_eeprom_file(struct rt2x00_dev *rt2x00dev) -+{ -+ release_firmware(rt2x00dev->eeprom_file); -+ rt2x00dev->eeprom_file = NULL; -+} ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00lib.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00lib.h -@@ -320,6 +320,22 @@ static inline void rt2x00lib_free_firmwa - #endif /* CPTCFG_RT2X00_LIB_FIRMWARE */ - - /* -+ * EEPROM file handlers. -+ */ -+#ifdef CPTCFG_RT2X00_LIB_EEPROM -+int rt2x00lib_load_eeprom_file(struct rt2x00_dev *rt2x00dev); -+void rt2x00lib_free_eeprom_file(struct rt2x00_dev *rt2x00dev); -+#else -+static inline int rt2x00lib_load_eeprom_file(struct rt2x00_dev *rt2x00dev) -+{ -+ return 0; -+} -+static inline void rt2x00lib_free_eeprom_file(struct rt2x00_dev *rt2x00dev) -+{ -+} -+#endif /* CPTCFG_RT2X00_LIB_EEPROM */ -+ -+/* - * Debugfs handlers. - */ - #ifdef CPTCFG_RT2X00_LIB_DEBUGFS ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00soc.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00soc.c -@@ -92,6 +92,7 @@ int rt2x00soc_probe(struct platform_devi - rt2x00dev->hw = hw; - rt2x00dev->irq = platform_get_irq(pdev, 0); - rt2x00dev->name = pdev->dev.driver->name; -+ set_bit(REQUIRE_EEPROM_FILE, &rt2x00dev->cap_flags); - - rt2x00_set_chip_intf(rt2x00dev, RT2X00_CHIP_INTF_SOC); - diff --git a/feeds/rtkmipsel/mac80211/patches/604-rt2x00-of_load_eeprom_filename.patch b/feeds/rtkmipsel/mac80211/patches/604-rt2x00-of_load_eeprom_filename.patch deleted file mode 100644 index 9dffef181..000000000 --- a/feeds/rtkmipsel/mac80211/patches/604-rt2x00-of_load_eeprom_filename.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c -@@ -26,6 +26,7 @@ - - #include - #include -+#include - - #include "rt2x00.h" - #include "rt2x00lib.h" -@@ -34,11 +35,21 @@ static const char * - rt2x00lib_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev) - { - struct rt2x00_platform_data *pdata = rt2x00dev->dev->platform_data; -+#ifdef CONFIG_OF -+ struct device_node *np; -+ const char *eep; -+#endif - - if (pdata && pdata->eeprom_file_name) - return pdata->eeprom_file_name; - -- return NULL -+#ifdef CONFIG_OF -+ np = rt2x00dev->dev->of_node; -+ if (np && of_property_read_string(np, "ralink,eeprom", &eep) == 0) -+ return eep; -+#endif -+ -+ return NULL; - } - - static int rt2x00lib_request_eeprom_file(struct rt2x00_dev *rt2x00dev) diff --git a/feeds/rtkmipsel/mac80211/patches/605-rt2x00-load-eeprom-on-SoC-from-a-mtd-device-defines-.patch b/feeds/rtkmipsel/mac80211/patches/605-rt2x00-load-eeprom-on-SoC-from-a-mtd-device-defines-.patch deleted file mode 100644 index 5dceff879..000000000 --- a/feeds/rtkmipsel/mac80211/patches/605-rt2x00-load-eeprom-on-SoC-from-a-mtd-device-defines-.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 339fe73f340161a624cc08e738d2244814852c3e Mon Sep 17 00:00:00 2001 -From: John Crispin -Date: Sun, 17 Mar 2013 00:55:04 +0100 -Subject: [PATCH] rt2x00: load eeprom on SoC from a mtd device defines inside - OF - -Signed-off-by: John Crispin ---- - drivers/net/wireless/ralink/rt2x00/Kconfig | 1 + - drivers/net/wireless/ralink/rt2x00/rt2800pci.c | 44 ++++++++++++++++++++++++++----- - 2 files changed, 39 insertions(+), 6 deletions(-) - ---- a/drivers/net/wireless/ralink/rt2x00/Kconfig -+++ b/drivers/net/wireless/ralink/rt2x00/Kconfig -@@ -219,6 +219,7 @@ config RT2800SOC - select RT2X00_LIB_EEPROM - select RT2800_LIB - select RT2800_LIB_MMIO -+ select MTD if SOC_RT288X || SOC_RT305X - ---help--- - This adds support for Ralink WiSoC devices. - Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352. ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c -@@ -26,11 +26,66 @@ - - #include - #include -+#include -+#include - #include - - #include "rt2x00.h" - #include "rt2x00lib.h" - -+static int rt2800lib_read_eeprom_mtd(struct rt2x00_dev *rt2x00dev) -+{ -+ int ret = -EINVAL; -+#ifdef CONFIG_OF -+ static struct firmware mtd_fw; -+ struct device_node *np = rt2x00dev->dev->of_node, *mtd_np = NULL; -+ size_t retlen, len = rt2x00dev->ops->eeprom_size; -+ int size, offset = 0; -+ struct mtd_info *mtd; -+ const char *part; -+ const __be32 *list; -+ phandle phandle; -+ -+ list = of_get_property(np, "ralink,mtd-eeprom", &size); -+ if (!list) { -+ dev_err(rt2x00dev->dev, "failed to load eeprom property\n"); -+ return -ENOENT; -+ } -+ -+ phandle = be32_to_cpup(list++); -+ if (phandle) -+ mtd_np = of_find_node_by_phandle(phandle); -+ if (!mtd_np) { -+ dev_err(rt2x00dev->dev, "failed to load mtd phandle\n"); -+ return -EINVAL; -+ } -+ -+ part = of_get_property(mtd_np, "label", NULL); -+ if (!part) -+ part = mtd_np->name; -+ -+ mtd = get_mtd_device_nm(part); -+ if (IS_ERR(mtd)) { -+ dev_err(rt2x00dev->dev, "failed to get mtd device \"%s\"\n", part); -+ return PTR_ERR(mtd); -+ } -+ -+ if (size > sizeof(*list)) -+ offset = be32_to_cpup(list); -+ -+ ret = mtd_read(mtd, offset, len, &retlen, (u_char *) rt2x00dev->eeprom); -+ put_mtd_device(mtd); -+ -+ if (!ret) { -+ rt2x00dev->eeprom_file = &mtd_fw; -+ mtd_fw.size = len; -+ mtd_fw.data = (const u8 *) rt2x00dev->eeprom; -+ } -+#endif -+ -+ return ret; -+} -+ - static const char * - rt2x00lib_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev) - { -@@ -58,6 +113,9 @@ static int rt2x00lib_request_eeprom_file - const char *ee_name; - int retval; - -+ if (!rt2800lib_read_eeprom_mtd(rt2x00dev)) -+ return 0; -+ - ee_name = rt2x00lib_get_eeprom_file_name(rt2x00dev); - if (!ee_name) { - rt2x00_err(rt2x00dev, diff --git a/feeds/rtkmipsel/mac80211/patches/607-rt2x00-allow_disabling_bands_through_platform_data.patch b/feeds/rtkmipsel/mac80211/patches/607-rt2x00-allow_disabling_bands_through_platform_data.patch deleted file mode 100644 index d923e05c7..000000000 --- a/feeds/rtkmipsel/mac80211/patches/607-rt2x00-allow_disabling_bands_through_platform_data.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/include/linux/rt2x00_platform.h -+++ b/include/linux/rt2x00_platform.h -@@ -14,6 +14,9 @@ - - struct rt2x00_platform_data { - char *eeprom_file_name; -+ -+ int disable_2ghz; -+ int disable_5ghz; - }; - - #endif /* _RT2X00_PLATFORM_H */ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -940,6 +940,22 @@ static int rt2x00lib_probe_hw_modes(stru - unsigned int num_rates; - unsigned int i; - -+ if (rt2x00dev->dev->platform_data) { -+ struct rt2x00_platform_data *pdata; -+ -+ pdata = rt2x00dev->dev->platform_data; -+ if (pdata->disable_2ghz) -+ spec->supported_bands &= ~SUPPORT_BAND_2GHZ; -+ if (pdata->disable_5ghz) -+ spec->supported_bands &= ~SUPPORT_BAND_5GHZ; -+ } -+ -+ if ((spec->supported_bands & SUPPORT_BAND_BOTH) == 0) { -+ rt2x00_err(rt2x00dev, "No supported bands\n"); -+ return -EINVAL; -+ } -+ -+ - num_rates = 0; - if (spec->supported_rates & SUPPORT_RATE_CCK) - num_rates += 4; ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -405,6 +405,7 @@ struct hw_mode_spec { - unsigned int supported_bands; - #define SUPPORT_BAND_2GHZ 0x00000001 - #define SUPPORT_BAND_5GHZ 0x00000002 -+#define SUPPORT_BAND_BOTH (SUPPORT_BAND_2GHZ | SUPPORT_BAND_5GHZ) - - unsigned int supported_rates; - #define SUPPORT_RATE_CCK 0x00000001 diff --git a/feeds/rtkmipsel/mac80211/patches/608-add_platform_data_mac_addr.patch b/feeds/rtkmipsel/mac80211/patches/608-add_platform_data_mac_addr.patch deleted file mode 100644 index a645ba176..000000000 --- a/feeds/rtkmipsel/mac80211/patches/608-add_platform_data_mac_addr.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- a/include/linux/rt2x00_platform.h -+++ b/include/linux/rt2x00_platform.h -@@ -14,6 +14,7 @@ - - struct rt2x00_platform_data { - char *eeprom_file_name; -+ const u8 *mac_address; - - int disable_2ghz; - int disable_5ghz; ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -931,6 +931,18 @@ static void rt2x00lib_rate(struct ieee80 - entry->flags |= IEEE80211_RATE_SHORT_PREAMBLE; - } - -+const u8 *rt2x00lib_get_mac_address(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2x00_platform_data *pdata; -+ -+ pdata = rt2x00dev->dev->platform_data; -+ if (!pdata) -+ return NULL; -+ -+ return pdata->mac_address; -+} -+EXPORT_SYMBOL_GPL(rt2x00lib_get_mac_address); -+ - static int rt2x00lib_probe_hw_modes(struct rt2x00_dev *rt2x00dev, - struct hw_mode_spec *spec) - { ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -1414,6 +1414,7 @@ static inline void rt2x00debug_dump_fram - */ - u32 rt2x00lib_get_bssidx(struct rt2x00_dev *rt2x00dev, - struct ieee80211_vif *vif); -+const u8 *rt2x00lib_get_mac_address(struct rt2x00_dev *rt2x00dev); - - /* - * Interrupt context handlers. ---- a/drivers/net/wireless/ralink/rt2x00/rt61pci.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt61pci.c -@@ -2392,6 +2392,7 @@ static int rt61pci_validate_eeprom(struc - u32 reg; - u16 word; - u8 *mac; -+ const u8 *pdata_mac; - s8 value; - - rt2x00mmio_register_read(rt2x00dev, E2PROM_CSR, ®); -@@ -2412,7 +2413,11 @@ static int rt61pci_validate_eeprom(struc - /* - * Start validation of the data that has been read. - */ -+ pdata_mac = rt2x00lib_get_mac_address(rt2x00dev); - mac = rt2x00_eeprom_addr(rt2x00dev, EEPROM_MAC_ADDR_0); -+ if (pdata_mac) -+ memcpy(mac, pdata_mac, 6); -+ - if (!is_valid_ether_addr(mac)) { - eth_random_addr(mac); - rt2x00_eeprom_dbg(rt2x00dev, "MAC: %pM\n", mac); diff --git a/feeds/rtkmipsel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch b/feeds/rtkmipsel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch deleted file mode 100644 index 3fdaae759..000000000 --- a/feeds/rtkmipsel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include "rt2x00.h" - #include "rt2x00lib.h" -@@ -951,6 +952,16 @@ static int rt2x00lib_probe_hw_modes(stru - struct ieee80211_rate *rates; - unsigned int num_rates; - unsigned int i; -+#ifdef CONFIG_OF -+ struct device_node *np = rt2x00dev->dev->of_node; -+ unsigned int enabled; -+ if (!of_property_read_u32(np, "ralink,2ghz", -+ &enabled) && !enabled) -+ spec->supported_bands &= ~SUPPORT_BAND_2GHZ; -+ if (!of_property_read_u32(np, "ralink,5ghz", -+ &enabled) && !enabled) -+ spec->supported_bands &= ~SUPPORT_BAND_5GHZ; -+#endif /* CONFIG_OF */ - - if (rt2x00dev->dev->platform_data) { - struct rt2x00_platform_data *pdata; diff --git a/feeds/rtkmipsel/mac80211/patches/610-rt2x00-fix-rt3352-ext-pa.patch b/feeds/rtkmipsel/mac80211/patches/610-rt2x00-fix-rt3352-ext-pa.patch deleted file mode 100644 index c69d33025..000000000 --- a/feeds/rtkmipsel/mac80211/patches/610-rt2x00-fix-rt3352-ext-pa.patch +++ /dev/null @@ -1,211 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3529,11 +3529,18 @@ static void rt2800_config_channel(struct - /* - * Change BBP settings - */ -+ - if (rt2x00_rt(rt2x00dev, RT3352)) { -+ rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain); -+ rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain); -+ rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain); -+ - rt2800_bbp_write(rt2x00dev, 27, 0x0); - rt2800_bbp_write(rt2x00dev, 66, 0x26 + rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 27, 0x20); - rt2800_bbp_write(rt2x00dev, 66, 0x26 + rt2x00dev->lna_gain); -+ rt2800_bbp_write(rt2x00dev, 86, 0x38); -+ rt2800_bbp_write(rt2x00dev, 83, 0x6a); - } else if (rt2x00_rt(rt2x00dev, RT3593)) { - if (rf->channel > 14) { - /* Disable CCK Packet detection on 5GHz */ -@@ -6595,6 +6602,12 @@ static void rt2800_init_rfcsr_3290(struc - - static void rt2800_init_rfcsr_3352(struct rt2x00_dev *rt2x00dev) - { -+ int tx0_int_pa = test_bit(CAPABILITY_INTERNAL_PA_TX0, -+ &rt2x00dev->cap_flags); -+ int tx1_int_pa = test_bit(CAPABILITY_INTERNAL_PA_TX1, -+ &rt2x00dev->cap_flags); -+ u8 rfcsr; -+ - rt2800_rf_init_calibration(rt2x00dev, 30); - - rt2800_rfcsr_write(rt2x00dev, 0, 0xf0); -@@ -6630,15 +6643,30 @@ static void rt2800_init_rfcsr_3352(struc - rt2800_rfcsr_write(rt2x00dev, 31, 0x80); - rt2800_rfcsr_write(rt2x00dev, 32, 0x80); - rt2800_rfcsr_write(rt2x00dev, 33, 0x00); -- rt2800_rfcsr_write(rt2x00dev, 34, 0x01); -+ rfcsr = 0x01; -+ if (!tx0_int_pa) -+ rt2x00_set_field8(&rfcsr, RFCSR34_TX0_EXT_PA, 1); -+ if (!tx1_int_pa) -+ rt2x00_set_field8(&rfcsr, RFCSR34_TX1_EXT_PA, 1); -+ rt2800_rfcsr_write(rt2x00dev, 34, rfcsr); - rt2800_rfcsr_write(rt2x00dev, 35, 0x03); - rt2800_rfcsr_write(rt2x00dev, 36, 0xbd); - rt2800_rfcsr_write(rt2x00dev, 37, 0x3c); - rt2800_rfcsr_write(rt2x00dev, 38, 0x5f); - rt2800_rfcsr_write(rt2x00dev, 39, 0xc5); - rt2800_rfcsr_write(rt2x00dev, 40, 0x33); -- rt2800_rfcsr_write(rt2x00dev, 41, 0x5b); -- rt2800_rfcsr_write(rt2x00dev, 42, 0x5b); -+ rfcsr = 0x52; -+ if (tx0_int_pa) { -+ rt2x00_set_field8(&rfcsr, RFCSR41_BIT1, 1); -+ rt2x00_set_field8(&rfcsr, RFCSR41_BIT4, 1); -+ } -+ rt2800_rfcsr_write(rt2x00dev, 41, rfcsr); -+ rfcsr = 0x52; -+ if (tx1_int_pa) { -+ rt2x00_set_field8(&rfcsr, RFCSR42_BIT1, 1); -+ rt2x00_set_field8(&rfcsr, RFCSR42_BIT4, 1); -+ } -+ rt2800_rfcsr_write(rt2x00dev, 42, rfcsr); - rt2800_rfcsr_write(rt2x00dev, 43, 0xdb); - rt2800_rfcsr_write(rt2x00dev, 44, 0xdb); - rt2800_rfcsr_write(rt2x00dev, 45, 0xdb); -@@ -6646,15 +6674,20 @@ static void rt2800_init_rfcsr_3352(struc - rt2800_rfcsr_write(rt2x00dev, 47, 0x0d); - rt2800_rfcsr_write(rt2x00dev, 48, 0x14); - rt2800_rfcsr_write(rt2x00dev, 49, 0x00); -- rt2800_rfcsr_write(rt2x00dev, 50, 0x2d); -- rt2800_rfcsr_write(rt2x00dev, 51, 0x7f); -- rt2800_rfcsr_write(rt2x00dev, 52, 0x00); -- rt2800_rfcsr_write(rt2x00dev, 53, 0x52); -- rt2800_rfcsr_write(rt2x00dev, 54, 0x1b); -- rt2800_rfcsr_write(rt2x00dev, 55, 0x7f); -- rt2800_rfcsr_write(rt2x00dev, 56, 0x00); -- rt2800_rfcsr_write(rt2x00dev, 57, 0x52); -- rt2800_rfcsr_write(rt2x00dev, 58, 0x1b); -+ rfcsr = 0x2d; -+ if (!tx0_int_pa) -+ rt2x00_set_field8(&rfcsr, RFCSR50_TX0_EXT_PA, 1); -+ if (!tx1_int_pa) -+ rt2x00_set_field8(&rfcsr, RFCSR50_TX1_EXT_PA, 1); -+ rt2800_rfcsr_write(rt2x00dev, 50, rfcsr); -+ rt2800_rfcsr_write(rt2x00dev, 51, (tx0_int_pa ? 0x7f : 0x52)); -+ rt2800_rfcsr_write(rt2x00dev, 52, (tx0_int_pa ? 0x00 : 0xc0)); -+ rt2800_rfcsr_write(rt2x00dev, 53, (tx0_int_pa ? 0x52 : 0xd2)); -+ rt2800_rfcsr_write(rt2x00dev, 54, (tx0_int_pa ? 0x1b : 0xc0)); -+ rt2800_rfcsr_write(rt2x00dev, 55, (tx1_int_pa ? 0x7f : 0x52)); -+ rt2800_rfcsr_write(rt2x00dev, 56, (tx1_int_pa ? 0x00 : 0xc0)); -+ rt2800_rfcsr_write(rt2x00dev, 57, (tx0_int_pa ? 0x52 : 0x49)); -+ rt2800_rfcsr_write(rt2x00dev, 58, (tx1_int_pa ? 0x1b : 0xc0)); - rt2800_rfcsr_write(rt2x00dev, 59, 0x00); - rt2800_rfcsr_write(rt2x00dev, 60, 0x00); - rt2800_rfcsr_write(rt2x00dev, 61, 0x00); -@@ -7675,6 +7708,7 @@ static int rt2800_init_eeprom(struct rt2 - * RT53xx: defined in "EEPROM_CHIP_ID" field - */ - if (rt2x00_rt(rt2x00dev, RT3290) || -+ rt2x00_rt(rt2x00dev, RT3352) || - rt2x00_rt(rt2x00dev, RT5390) || - rt2x00_rt(rt2x00dev, RT5392)) - rt2800_eeprom_read(rt2x00dev, EEPROM_CHIP_ID, &rf); -@@ -7770,7 +7804,8 @@ static int rt2800_init_eeprom(struct rt2 - /* - * Detect if this device has Bluetooth co-existence. - */ -- if (rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_BT_COEXIST)) -+ if (!rt2x00_rt(rt2x00dev, RT3352) && -+ rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_BT_COEXIST)) - __set_bit(CAPABILITY_BT_COEXIST, &rt2x00dev->cap_flags); - - /* -@@ -7799,6 +7834,22 @@ static int rt2800_init_eeprom(struct rt2 - EIRP_MAX_TX_POWER_LIMIT) - __set_bit(CAPABILITY_POWER_LIMIT, &rt2x00dev->cap_flags); - -+ /* -+ * Detect if device uses internal or external PA -+ */ -+ rt2800_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1, &eeprom); -+ -+ if (rt2x00_rt(rt2x00dev, RT3352)) { -+ if (!rt2x00_get_field16(eeprom, -+ EEPROM_NIC_CONF1_EXTERNAL_TX0_PA_3352)) -+ __set_bit(CAPABILITY_INTERNAL_PA_TX0, -+ &rt2x00dev->cap_flags); -+ if (!rt2x00_get_field16(eeprom, -+ EEPROM_NIC_CONF1_EXTERNAL_TX1_PA_3352)) -+ __set_bit(CAPABILITY_INTERNAL_PA_TX1, -+ &rt2x00dev->cap_flags); -+ } -+ - return 0; - } - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -2335,6 +2335,12 @@ struct mac_iveiv_entry { - #define RFCSR36_RF_BS FIELD8(0x80) - - /* -+ * RFCSR 34: -+ */ -+#define RFCSR34_TX0_EXT_PA FIELD8(0x04) -+#define RFCSR34_TX1_EXT_PA FIELD8(0x08) -+ -+/* - * RFCSR 38: - */ - #define RFCSR38_RX_LO1_EN FIELD8(0x20) -@@ -2346,6 +2352,18 @@ struct mac_iveiv_entry { - #define RFCSR39_RX_LO2_EN FIELD8(0x80) - - /* -+ * RFCSR 41: -+ */ -+#define RFCSR41_BIT1 FIELD8(0x01) -+#define RFCSR41_BIT4 FIELD8(0x08) -+ -+/* -+ * RFCSR 42: -+ */ -+#define RFCSR42_BIT1 FIELD8(0x01) -+#define RFCSR42_BIT4 FIELD8(0x08) -+ -+/* - * RFCSR 49: - */ - #define RFCSR49_TX FIELD8(0x3f) -@@ -2358,6 +2376,8 @@ struct mac_iveiv_entry { - * RFCSR 50: - */ - #define RFCSR50_TX FIELD8(0x3f) -+#define RFCSR50_TX0_EXT_PA FIELD8(0x02) -+#define RFCSR50_TX1_EXT_PA FIELD8(0x10) - #define RFCSR50_EP FIELD8(0xc0) - /* bits for RT3593 */ - #define RFCSR50_TX_LO1_EN FIELD8(0x20) -@@ -2505,6 +2525,8 @@ enum rt2800_eeprom_word { - * INTERNAL_TX_ALC: 0: disable, 1: enable - * BT_COEXIST: 0: disable, 1: enable - * DAC_TEST: 0: disable, 1: enable -+ * EXTERNAL_TX0_PA: 0: disable, 1: enable (only on RT3352) -+ * EXTERNAL_TX1_PA: 0: disable, 1: enable (only on RT3352) - */ - #define EEPROM_NIC_CONF1_HW_RADIO FIELD16(0x0001) - #define EEPROM_NIC_CONF1_EXTERNAL_TX_ALC FIELD16(0x0002) -@@ -2521,6 +2543,8 @@ enum rt2800_eeprom_word { - #define EEPROM_NIC_CONF1_INTERNAL_TX_ALC FIELD16(0x2000) - #define EEPROM_NIC_CONF1_BT_COEXIST FIELD16(0x4000) - #define EEPROM_NIC_CONF1_DAC_TEST FIELD16(0x8000) -+#define EEPROM_NIC_CONF1_EXTERNAL_TX0_PA_3352 FIELD16(0x4000) -+#define EEPROM_NIC_CONF1_EXTERNAL_TX1_PA_3352 FIELD16(0x8000) - - /* - * EEPROM frequency ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -717,6 +717,8 @@ enum rt2x00_capability_flags { - CAPABILITY_DOUBLE_ANTENNA, - CAPABILITY_BT_COEXIST, - CAPABILITY_VCO_RECALIBRATION, -+ CAPABILITY_INTERNAL_PA_TX0, -+ CAPABILITY_INTERNAL_PA_TX1, - }; - - /* diff --git a/feeds/rtkmipsel/mac80211/patches/611-rt2x00-rf_vals-rt3352-xtal20.patch b/feeds/rtkmipsel/mac80211/patches/611-rt2x00-rf_vals-rt3352-xtal20.patch deleted file mode 100644 index b44fe900d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/611-rt2x00-rf_vals-rt3352-xtal20.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8186,6 +8186,27 @@ static const struct rf_channel rf_vals_5 - {196, 83, 0, 12, 1}, - }; - -+/* -+ * RF value list for rt3xxx with Xtal20MHz -+ * Supports: 2.4 GHz (all) (RF3322) -+ */ -+static const struct rf_channel rf_vals_xtal20mhz_3x[] = { -+ {1, 0xE2, 2, 0x14}, -+ {2, 0xE3, 2, 0x14}, -+ {3, 0xE4, 2, 0x14}, -+ {4, 0xE5, 2, 0x14}, -+ {5, 0xE6, 2, 0x14}, -+ {6, 0xE7, 2, 0x14}, -+ {7, 0xE8, 2, 0x14}, -+ {8, 0xE9, 2, 0x14}, -+ {9, 0xEA, 2, 0x14}, -+ {10, 0xEB, 2, 0x14}, -+ {11, 0xEC, 2, 0x14}, -+ {12, 0xED, 2, 0x14}, -+ {13, 0xEE, 2, 0x14}, -+ {14, 0xF0, 2, 0x18}, -+}; -+ - static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) - { - struct hw_mode_spec *spec = &rt2x00dev->spec; -@@ -8272,7 +8293,10 @@ static int rt2800_probe_hw_mode(struct r - case RF5390: - case RF5392: - spec->num_channels = 14; -- spec->channels = rf_vals_3x; -+ if (spec->clk_is_20mhz) -+ spec->channels = rf_vals_xtal20mhz_3x; -+ else -+ spec->channels = rf_vals_3x; - break; - - case RF3052: -@@ -8456,6 +8480,19 @@ static int rt2800_probe_rt(struct rt2x00 - return 0; - } - -+int rt2800_probe_clk(struct rt2x00_dev *rt2x00dev) -+{ -+ struct rt2x00_platform_data *pdata = rt2x00dev->dev->platform_data; -+ struct hw_mode_spec *spec = &rt2x00dev->spec; -+ -+ if (!pdata) -+ return -EINVAL; -+ -+ spec->clk_is_20mhz = pdata->clk_is_20mhz; -+ -+ return 0; -+} -+ - int rt2800_probe_hw(struct rt2x00_dev *rt2x00dev) - { - struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -@@ -8498,6 +8535,15 @@ int rt2800_probe_hw(struct rt2x00_dev *r - rt2800_register_write(rt2x00dev, GPIO_CTRL, reg); - - /* -+ * Probe SoC clock. -+ */ -+ if (rt2x00_is_soc(rt2x00dev)) { -+ retval = rt2800_probe_clk(rt2x00dev); -+ if (retval) -+ return retval; -+ } -+ -+ /* - * Initialize hw specifications. - */ - retval = rt2800_probe_hw_mode(rt2x00dev); ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -400,6 +400,7 @@ static inline struct rt2x00_intf* vif_to - * @channels: Device/chipset specific channel values (See &struct rf_channel). - * @channels_info: Additional information for channels (See &struct channel_info). - * @ht: Driver HT Capabilities (See &ieee80211_sta_ht_cap). -+ * @clk_is_20mhz: External crystal of WiSoC is 20MHz instead of 40MHz - */ - struct hw_mode_spec { - unsigned int supported_bands; -@@ -416,6 +417,7 @@ struct hw_mode_spec { - const struct channel_info *channels_info; - - struct ieee80211_sta_ht_cap ht; -+ int clk_is_20mhz; - }; - - /* ---- a/include/linux/rt2x00_platform.h -+++ b/include/linux/rt2x00_platform.h -@@ -18,6 +18,7 @@ struct rt2x00_platform_data { - - int disable_2ghz; - int disable_5ghz; -+ int clk_is_20mhz; - }; - - #endif /* _RT2X00_PLATFORM_H */ diff --git a/feeds/rtkmipsel/mac80211/patches/612-rt2x00-make-wmac-loadable-via-OF-on-rt288x-305x-SoC.patch b/feeds/rtkmipsel/mac80211/patches/612-rt2x00-make-wmac-loadable-via-OF-on-rt288x-305x-SoC.patch deleted file mode 100644 index e4b028b1a..000000000 --- a/feeds/rtkmipsel/mac80211/patches/612-rt2x00-make-wmac-loadable-via-OF-on-rt288x-305x-SoC.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 04dbd87265f6ba4a373b211ba324b437d224fb2d Mon Sep 17 00:00:00 2001 -From: John Crispin -Date: Sun, 17 Mar 2013 00:03:31 +0100 -Subject: [PATCH 21/38] rt2x00: make wmac loadable via OF on rt288x/305x SoC - -This patch ads the match table to allow loading the wmac support from a -devicetree. - -Signed-off-by: John Crispin ---- - drivers/net/wireless/ralink/rt2x00/rt2800pci.c | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c -@@ -237,10 +237,17 @@ static int rt2800soc_probe(struct platfo - return rt2x00soc_probe(pdev, &rt2800soc_ops); - } - -+static const struct of_device_id rt2880_wmac_match[] = { -+ { .compatible = "ralink,rt2880-wmac" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, rt2880_wmac_match); -+ - static struct platform_driver rt2800soc_driver = { - .driver = { - .name = "rt2800_wmac", - .mod_name = KBUILD_MODNAME, -+ .of_match_table = rt2880_wmac_match, - }, - .probe = rt2800soc_probe, - .remove = rt2x00soc_remove, diff --git a/feeds/rtkmipsel/mac80211/patches/615-rt2x00-fix_20mhz_clk.patch b/feeds/rtkmipsel/mac80211/patches/615-rt2x00-fix_20mhz_clk.patch deleted file mode 100644 index 8e3bd2a36..000000000 --- a/feeds/rtkmipsel/mac80211/patches/615-rt2x00-fix_20mhz_clk.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - - #include "rt2x00.h" - #include "rt2800lib.h" -@@ -8482,13 +8483,14 @@ static int rt2800_probe_rt(struct rt2x00 - - int rt2800_probe_clk(struct rt2x00_dev *rt2x00dev) - { -- struct rt2x00_platform_data *pdata = rt2x00dev->dev->platform_data; - struct hw_mode_spec *spec = &rt2x00dev->spec; -+ struct clk *clk = clk_get(rt2x00dev->dev, NULL); - -- if (!pdata) -- return -EINVAL; -+ if (IS_ERR(clk)) -+ return PTR_ERR(clk); - -- spec->clk_is_20mhz = pdata->clk_is_20mhz; -+ if (clk_get_rate(clk) == 20000000) -+ spec->clk_is_20mhz = 1; - - return 0; - } diff --git a/feeds/rtkmipsel/mac80211/patches/616-rt2x00-support-rt5350.patch b/feeds/rtkmipsel/mac80211/patches/616-rt2x00-support-rt5350.patch deleted file mode 100644 index faa5879de..000000000 --- a/feeds/rtkmipsel/mac80211/patches/616-rt2x00-support-rt5350.patch +++ /dev/null @@ -1,276 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -74,6 +74,7 @@ - #define RF3070 0x3070 - #define RF3290 0x3290 - #define RF3853 0x3853 -+#define RF5350 0x5350 - #define RF5360 0x5360 - #define RF5362 0x5362 - #define RF5370 0x5370 ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3015,6 +3015,13 @@ static void rt2800_config_channel_rf53xx - - rt2800_rfcsr_write(rt2x00dev, 59, - r59_non_bt[idx]); -+ } else if (rt2x00_rt(rt2x00dev, RT5350)) { -+ static const char r59_non_bt[] = {0x0b, 0x0b, -+ 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, -+ 0x0a, 0x09, 0x08, 0x07, 0x07, 0x06}; -+ -+ rt2800_rfcsr_write(rt2x00dev, 59, -+ r59_non_bt[idx]); - } - } - } -@@ -3493,6 +3500,7 @@ static void rt2800_config_channel(struct - rt2800_config_channel_rf3853(rt2x00dev, conf, rf, info); - break; - case RF3070: -+ case RF5350: - case RF5360: - case RF5362: - case RF5370: -@@ -3511,6 +3519,7 @@ static void rt2800_config_channel(struct - if (rt2x00_rf(rt2x00dev, RF3070) || - rt2x00_rf(rt2x00dev, RF3290) || - rt2x00_rf(rt2x00dev, RF3322) || -+ rt2x00_rf(rt2x00dev, RF5350) || - rt2x00_rf(rt2x00dev, RF5360) || - rt2x00_rf(rt2x00dev, RF5362) || - rt2x00_rf(rt2x00dev, RF5370) || -@@ -3789,7 +3798,8 @@ static void rt2800_config_channel(struct - /* - * Clear update flag - */ -- if (rt2x00_rt(rt2x00dev, RT3352)) { -+ if (rt2x00_rt(rt2x00dev, RT3352) || -+ rt2x00_rt(rt2x00dev, RT5350)) { - rt2800_bbp_read(rt2x00dev, 49, &bbp); - rt2x00_set_field8(&bbp, BBP49_UPDATE_FLAG, 0); - rt2800_bbp_write(rt2x00dev, 49, bbp); -@@ -4675,6 +4685,7 @@ void rt2800_vco_calibration(struct rt2x0 - case RF3070: - case RF3290: - case RF3853: -+ case RF5350: - case RF5360: - case RF5362: - case RF5370: -@@ -5088,6 +5099,8 @@ static int rt2800_init_registers(struct - rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); - rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00080606); - rt2800_register_write(rt2x00dev, TX_SW_CFG2, 0x00000000); -+ } else if (rt2x00_rt(rt2x00dev, RT5350)) { -+ rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); - } else { - rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000000); - rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00080606); -@@ -5743,9 +5756,13 @@ static void rt2800_init_bbp_3352(struct - - rt2800_bbp_write(rt2x00dev, 82, 0x62); - -- rt2800_bbp_write(rt2x00dev, 83, 0x6a); -- -- rt2800_bbp_write(rt2x00dev, 84, 0x99); -+ if (rt2x00_rt(rt2x00dev, RT5350)) { -+ rt2800_bbp_write(rt2x00dev, 83, 0x7a); -+ rt2800_bbp_write(rt2x00dev, 84, 0x9a); -+ } else { -+ rt2800_bbp_write(rt2x00dev, 83, 0x6a); -+ rt2800_bbp_write(rt2x00dev, 84, 0x99); -+ } - - rt2800_bbp_write(rt2x00dev, 86, 0x38); - -@@ -5759,9 +5776,13 @@ static void rt2800_init_bbp_3352(struct - - rt2800_bbp_write(rt2x00dev, 104, 0x92); - -- rt2800_bbp_write(rt2x00dev, 105, 0x34); -- -- rt2800_bbp_write(rt2x00dev, 106, 0x05); -+ if (rt2x00_rt(rt2x00dev, RT5350)) { -+ rt2800_bbp_write(rt2x00dev, 105, 0x3c); -+ rt2800_bbp_write(rt2x00dev, 106, 0x03); -+ } else { -+ rt2800_bbp_write(rt2x00dev, 105, 0x34); -+ rt2800_bbp_write(rt2x00dev, 106, 0x05); -+ } - - rt2800_bbp_write(rt2x00dev, 120, 0x50); - -@@ -5786,6 +5807,13 @@ static void rt2800_init_bbp_3352(struct - rt2800_bbp_write(rt2x00dev, 143, 0xa2); - - rt2800_bbp_write(rt2x00dev, 148, 0xc8); -+ -+ if (rt2x00_rt(rt2x00dev, RT5350)) { -+ rt2800_bbp_write(rt2x00dev, 150, 0x40); /* Antenna Software OFDM */ -+ rt2800_bbp_write(rt2x00dev, 151, 0x30); /* Antenna Software CCK */ -+ rt2800_bbp_write(rt2x00dev, 152, 0xa3); -+ rt2800_bbp_write(rt2x00dev, 154, 0); /* Clear previously selected antenna */ -+ } - } - - static void rt2800_init_bbp_3390(struct rt2x00_dev *rt2x00dev) -@@ -6127,6 +6155,7 @@ static void rt2800_init_bbp(struct rt2x0 - rt2800_init_bbp_3290(rt2x00dev); - break; - case RT3352: -+ case RT5350: - rt2800_init_bbp_3352(rt2x00dev); - break; - case RT3390: -@@ -7078,6 +7107,76 @@ static void rt2800_init_rfcsr_3883(struc - rt2800_rfcsr_write(rt2x00dev, 20, rfcsr); - } - -+static void rt2800_init_rfcsr_5350(struct rt2x00_dev *rt2x00dev) -+{ -+ rt2800_rfcsr_write(rt2x00dev, 0, 0xf0); -+ rt2800_rfcsr_write(rt2x00dev, 1, 0x23); -+ rt2800_rfcsr_write(rt2x00dev, 2, 0x50); -+ rt2800_rfcsr_write(rt2x00dev, 3, 0x08); -+ rt2800_rfcsr_write(rt2x00dev, 4, 0x49); -+ rt2800_rfcsr_write(rt2x00dev, 5, 0x10); -+ rt2800_rfcsr_write(rt2x00dev, 6, 0xe0); -+ rt2800_rfcsr_write(rt2x00dev, 7, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 8, 0xf1); -+ rt2800_rfcsr_write(rt2x00dev, 9, 0x02); -+ rt2800_rfcsr_write(rt2x00dev, 10, 0x53); -+ rt2800_rfcsr_write(rt2x00dev, 11, 0x4a); -+ rt2800_rfcsr_write(rt2x00dev, 12, 0x46); -+ if(rt2x00dev->spec.clk_is_20mhz) -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x1f); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x9f); -+ rt2800_rfcsr_write(rt2x00dev, 14, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 15, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 16, 0xc0); -+ rt2800_rfcsr_write(rt2x00dev, 18, 0x03); -+ rt2800_rfcsr_write(rt2x00dev, 19, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 20, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 21, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 22, 0x20); -+ rt2800_rfcsr_write(rt2x00dev, 23, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 24, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 25, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 26, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 27, 0x03); -+ rt2800_rfcsr_write(rt2x00dev, 28, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 29, 0xd0); -+ rt2800_rfcsr_write(rt2x00dev, 30, 0x10); -+ rt2800_rfcsr_write(rt2x00dev, 31, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 32, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 33, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 34, 0x07); -+ rt2800_rfcsr_write(rt2x00dev, 35, 0x12); -+ rt2800_rfcsr_write(rt2x00dev, 36, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 37, 0x08); -+ rt2800_rfcsr_write(rt2x00dev, 38, 0x85); -+ rt2800_rfcsr_write(rt2x00dev, 39, 0x1b); -+ rt2800_rfcsr_write(rt2x00dev, 40, 0x0b); -+ rt2800_rfcsr_write(rt2x00dev, 41, 0xbb); -+ rt2800_rfcsr_write(rt2x00dev, 42, 0xd5); -+ rt2800_rfcsr_write(rt2x00dev, 43, 0x9b); -+ rt2800_rfcsr_write(rt2x00dev, 44, 0x0c); -+ rt2800_rfcsr_write(rt2x00dev, 45, 0xa6); -+ rt2800_rfcsr_write(rt2x00dev, 46, 0x73); -+ rt2800_rfcsr_write(rt2x00dev, 47, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 48, 0x10); -+ rt2800_rfcsr_write(rt2x00dev, 49, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 50, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 51, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 52, 0x38); -+ rt2800_rfcsr_write(rt2x00dev, 53, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 54, 0x38); -+ rt2800_rfcsr_write(rt2x00dev, 55, 0x43); -+ rt2800_rfcsr_write(rt2x00dev, 56, 0x82); -+ rt2800_rfcsr_write(rt2x00dev, 57, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 58, 0x39); -+ rt2800_rfcsr_write(rt2x00dev, 59, 0x0b); -+ rt2800_rfcsr_write(rt2x00dev, 60, 0x45); -+ rt2800_rfcsr_write(rt2x00dev, 61, 0xd1); -+ rt2800_rfcsr_write(rt2x00dev, 62, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 63, 0x00); -+} -+ - static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) - { - rt2800_rf_init_calibration(rt2x00dev, 2); -@@ -7318,6 +7417,9 @@ static void rt2800_init_rfcsr(struct rt2 - case RT3593: - rt2800_init_rfcsr_3593(rt2x00dev); - break; -+ case RT5350: -+ rt2800_init_rfcsr_5350(rt2x00dev); -+ break; - case RT5390: - rt2800_init_rfcsr_5390(rt2x00dev); - break; -@@ -7577,6 +7679,12 @@ static int rt2800_validate_eeprom(struct - rt2x00_set_field16(&word, EEPROM_NIC_CONF0_RF_TYPE, RF2820); - rt2800_eeprom_write(rt2x00dev, EEPROM_NIC_CONF0, word); - rt2x00_eeprom_dbg(rt2x00dev, "Antenna: 0x%04x\n", word); -+ } else if (rt2x00_rt(rt2x00dev, RT5350)) { -+ rt2x00_set_field16(&word, EEPROM_NIC_CONF0_RXPATH, 1); -+ rt2x00_set_field16(&word, EEPROM_NIC_CONF0_TXPATH, 1); -+ rt2x00_set_field16(&word, EEPROM_NIC_CONF0_RF_TYPE, RF3320); -+ rt2x00_eeprom_write(rt2x00dev, EEPROM_NIC_CONF0, word); -+ rt2x00_eeprom_dbg(rt2x00dev, "Antenna: 0x%04x\n", word); - } else if (rt2x00_rt(rt2x00dev, RT2860) || - rt2x00_rt(rt2x00dev, RT2872)) { - /* -@@ -7715,6 +7823,8 @@ static int rt2800_init_eeprom(struct rt2 - rt2800_eeprom_read(rt2x00dev, EEPROM_CHIP_ID, &rf); - else if (rt2x00_rt(rt2x00dev, RT3883)) - rf = RF3853; -+ else if (rt2x00_rt(rt2x00dev, RT5350)) -+ rf = RF5350; - else - rf = rt2x00_get_field16(eeprom, EEPROM_NIC_CONF0_RF_TYPE); - -@@ -7734,6 +7844,7 @@ static int rt2800_init_eeprom(struct rt2 - case RF3320: - case RF3322: - case RF3853: -+ case RF5350: - case RF5360: - case RF5362: - case RF5370: -@@ -8287,6 +8398,7 @@ static int rt2800_probe_hw_mode(struct r - case RF3290: - case RF3320: - case RF3322: -+ case RF5350: - case RF5360: - case RF5362: - case RF5370: -@@ -8426,6 +8538,7 @@ static int rt2800_probe_hw_mode(struct r - case RF3070: - case RF3290: - case RF3853: -+ case RF5350: - case RF5360: - case RF5362: - case RF5370: -@@ -8466,6 +8579,7 @@ static int rt2800_probe_rt(struct rt2x00 - case RT3572: - case RT3593: - case RT3883: -+ case RT5350: - case RT5390: - case RT5392: - case RT5592: ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h -@@ -169,6 +169,7 @@ struct rt2x00_chip { - #define RT3572 0x3572 - #define RT3593 0x3593 - #define RT3883 0x3883 /* WSOC */ -+#define RT5350 0x5350 /* WSOC 2.4GHz */ - #define RT5390 0x5390 /* 2.4GHz */ - #define RT5392 0x5392 /* 2.4GHz */ - #define RT5592 0x5592 diff --git a/feeds/rtkmipsel/mac80211/patches/619-rt2x00-change-led-polarity-from-OF.patch b/feeds/rtkmipsel/mac80211/patches/619-rt2x00-change-led-polarity-from-OF.patch deleted file mode 100644 index 6094a613b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/619-rt2x00-change-led-polarity-from-OF.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #include "rt2x00.h" - #include "rt2800lib.h" -@@ -7934,6 +7935,17 @@ static int rt2800_init_eeprom(struct rt2 - rt2800_init_led(rt2x00dev, &rt2x00dev->led_assoc, LED_TYPE_ASSOC); - rt2800_init_led(rt2x00dev, &rt2x00dev->led_qual, LED_TYPE_QUALITY); - -+ { -+ struct device_node *np = rt2x00dev->dev->of_node; -+ unsigned int led_polarity; -+ -+ /* Allow overriding polarity from OF */ -+ if (!of_property_read_u32(np, "ralink,led-polarity", -+ &led_polarity)) -+ rt2x00_set_field16(&eeprom, EEPROM_FREQ_LED_POLARITY, -+ led_polarity); -+ } -+ - rt2x00dev->led_mcu_reg = eeprom; - #endif /* CPTCFG_RT2X00_LIB_LEDS */ - ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00leds.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00leds.c -@@ -109,6 +109,9 @@ static int rt2x00leds_register_led(struc - led->led_dev.name = name; - led->led_dev.brightness = LED_OFF; - -+ if (rt2x00_is_soc(rt2x00dev)) -+ led->led_dev.brightness_set(&led->led_dev, LED_OFF); -+ - retval = led_classdev_register(device, &led->led_dev); - if (retval) { - rt2x00_err(rt2x00dev, "Failed to register led handler\n"); diff --git a/feeds/rtkmipsel/mac80211/patches/620-rt2x00-add-AP+STA-support.patch b/feeds/rtkmipsel/mac80211/patches/620-rt2x00-add-AP+STA-support.patch deleted file mode 100644 index 55452b9eb..000000000 --- a/feeds/rtkmipsel/mac80211/patches/620-rt2x00-add-AP+STA-support.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1284,7 +1284,7 @@ static inline void rt2x00lib_set_if_comb - */ - if_limit = &rt2x00dev->if_limits_ap; - if_limit->max = rt2x00dev->ops->max_ap_intf; -- if_limit->types = BIT(NL80211_IFTYPE_AP); -+ if_limit->types = BIT(NL80211_IFTYPE_AP) | BIT(NL80211_IFTYPE_STATION); - #ifdef CPTCFG_MAC80211_MESH - if_limit->types |= BIT(NL80211_IFTYPE_MESH_POINT); - #endif diff --git a/feeds/rtkmipsel/mac80211/patches/620-rt2x00-rt3352-rf-id.patch b/feeds/rtkmipsel/mac80211/patches/620-rt2x00-rt3352-rf-id.patch deleted file mode 100644 index 8ddf42585..000000000 --- a/feeds/rtkmipsel/mac80211/patches/620-rt2x00-rt3352-rf-id.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -7818,10 +7818,11 @@ static int rt2800_init_eeprom(struct rt2 - * RT53xx: defined in "EEPROM_CHIP_ID" field - */ - if (rt2x00_rt(rt2x00dev, RT3290) || -- rt2x00_rt(rt2x00dev, RT3352) || - rt2x00_rt(rt2x00dev, RT5390) || - rt2x00_rt(rt2x00dev, RT5392)) - rt2800_eeprom_read(rt2x00dev, EEPROM_CHIP_ID, &rf); -+ else if (rt2x00_rt(rt2x00dev, RT3352)) -+ rf = RF3322; - else if (rt2x00_rt(rt2x00dev, RT3883)) - rf = RF3853; - else if (rt2x00_rt(rt2x00dev, RT5350)) diff --git a/feeds/rtkmipsel/mac80211/patches/621-rt2x00-ht20_40_fix.patch b/feeds/rtkmipsel/mac80211/patches/621-rt2x00-ht20_40_fix.patch deleted file mode 100644 index e3e4c98ef..000000000 --- a/feeds/rtkmipsel/mac80211/patches/621-rt2x00-ht20_40_fix.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -2321,6 +2321,8 @@ struct mac_iveiv_entry { - #define RFCSR30_RX_H20M FIELD8(0x04) - #define RFCSR30_RX_VCM FIELD8(0x18) - #define RFCSR30_RF_CALIBRATION FIELD8(0x80) -+#define RF3322_RFCSR30_TX_H20M FIELD8(0x01) -+#define RF3322_RFCSR30_RX_H20M FIELD8(0x02) - - /* - * RFCSR 31: ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -3528,8 +3528,13 @@ static void rt2800_config_channel(struct - rt2x00_rf(rt2x00dev, RF5390) || - rt2x00_rf(rt2x00dev, RF5392)) { - rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr); -- rt2x00_set_field8(&rfcsr, RFCSR30_TX_H20M, 0); -- rt2x00_set_field8(&rfcsr, RFCSR30_RX_H20M, 0); -+ if(rt2x00_rf(rt2x00dev, RF3322)) { -+ rt2x00_set_field8(&rfcsr, RF3322_RFCSR30_TX_H20M, conf_is_ht40(conf)); -+ rt2x00_set_field8(&rfcsr, RF3322_RFCSR30_RX_H20M, conf_is_ht40(conf)); -+ } else { -+ rt2x00_set_field8(&rfcsr, RFCSR30_TX_H20M, conf_is_ht40(conf)); -+ rt2x00_set_field8(&rfcsr, RFCSR30_RX_H20M, conf_is_ht40(conf)); -+ } - rt2800_rfcsr_write(rt2x00dev, 30, rfcsr); - - rt2800_rfcsr_read(rt2x00dev, 3, &rfcsr); diff --git a/feeds/rtkmipsel/mac80211/patches/622-rt2x00-fix-beacon-bit-balance.patch b/feeds/rtkmipsel/mac80211/patches/622-rt2x00-fix-beacon-bit-balance.patch deleted file mode 100644 index 3cf626815..000000000 --- a/feeds/rtkmipsel/mac80211/patches/622-rt2x00-fix-beacon-bit-balance.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c -@@ -627,12 +627,8 @@ void rt2x00mac_bss_info_changed(struct i - } else if (bss_conf->enable_beacon && !intf->enable_beacon) { - rt2x00dev->intf_beaconing++; - intf->enable_beacon = true; -- /* -- * Upload beacon to the H/W. This is only required on -- * USB devices. PCI devices fetch beacons periodically. -- */ -- if (rt2x00_is_usb(rt2x00dev)) -- rt2x00queue_update_beacon(rt2x00dev, vif); -+ -+ rt2x00queue_update_beacon(rt2x00dev, vif); - - if (rt2x00dev->intf_beaconing == 1) { - /* ---- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -144,7 +144,8 @@ static void rt2x00lib_intf_scheduled_ite - - if (test_and_clear_bit(DELAYED_UPDATE_BEACON, &intf->delayed_flags)) { - mutex_lock(&intf->beacon_skb_mutex); -- rt2x00queue_update_beacon(rt2x00dev, vif); -+ if (intf->enable_beacon) -+ rt2x00queue_update_beacon(rt2x00dev, vif); - mutex_unlock(&intf->beacon_skb_mutex); - } - } -@@ -207,6 +208,7 @@ static void rt2x00lib_beaconupdate_iter( - struct ieee80211_vif *vif) - { - struct rt2x00_dev *rt2x00dev = data; -+ struct rt2x00_intf *intf = vif_to_intf(vif); - - if (vif->type != NL80211_IFTYPE_AP && - vif->type != NL80211_IFTYPE_ADHOC && -@@ -220,7 +222,8 @@ static void rt2x00lib_beaconupdate_iter( - * never be called for USB devices. - */ - WARN_ON(rt2x00_is_usb(rt2x00dev)); -- rt2x00queue_update_beacon(rt2x00dev, vif); -+ if (intf->enable_beacon) -+ rt2x00queue_update_beacon(rt2x00dev, vif); - } - - void rt2x00lib_beacondone(struct rt2x00_dev *rt2x00dev) diff --git a/feeds/rtkmipsel/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch b/feeds/rtkmipsel/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch deleted file mode 100644 index a901a44ba..000000000 --- a/feeds/rtkmipsel/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/drivers/net/wireless/marvell/mwl8k.c -+++ b/drivers/net/wireless/marvell/mwl8k.c -@@ -5681,6 +5681,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") - MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API)); - - static const struct pci_device_id mwl8k_pci_id_table[] = { -+ { PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8363, }, - { PCI_VDEVICE(MARVELL, 0x2a0a), .driver_data = MWL8363, }, - { PCI_VDEVICE(MARVELL, 0x2a0c), .driver_data = MWL8363, }, - { PCI_VDEVICE(MARVELL, 0x2a24), .driver_data = MWL8363, }, diff --git a/feeds/rtkmipsel/mac80211/patches/801-libertas-configure-sysfs-links.patch b/feeds/rtkmipsel/mac80211/patches/801-libertas-configure-sysfs-links.patch deleted file mode 100644 index fd885cc00..000000000 --- a/feeds/rtkmipsel/mac80211/patches/801-libertas-configure-sysfs-links.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/drivers/net/wireless/marvell/libertas/cfg.c -+++ b/drivers/net/wireless/marvell/libertas/cfg.c -@@ -2084,6 +2084,8 @@ struct wireless_dev *lbs_cfg_alloc(struc - goto err_wiphy_new; - } - -+ set_wiphy_dev(wdev->wiphy, dev); -+ - lbs_deb_leave(LBS_DEB_CFG80211); - return wdev; - ---- a/drivers/net/wireless/marvell/libertas/main.c -+++ b/drivers/net/wireless/marvell/libertas/main.c -@@ -987,6 +987,7 @@ struct lbs_private *lbs_add_card(void *c - goto err_adapter; - } - -+ dev_net_set(dev, wiphy_net(wdev->wiphy)); - dev->ieee80211_ptr = wdev; - dev->ml_priv = priv; - SET_NETDEV_DEV(dev, dmdev); diff --git a/feeds/rtkmipsel/mac80211/patches/802-libertas-set-wireless-macaddr.patch b/feeds/rtkmipsel/mac80211/patches/802-libertas-set-wireless-macaddr.patch deleted file mode 100644 index b67a95f94..000000000 --- a/feeds/rtkmipsel/mac80211/patches/802-libertas-set-wireless-macaddr.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/marvell/libertas/cfg.c -+++ b/drivers/net/wireless/marvell/libertas/cfg.c -@@ -2174,6 +2174,8 @@ int lbs_cfg_register(struct lbs_private - wdev->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); - wdev->wiphy->reg_notifier = lbs_reg_notifier; - -+ memcpy(wdev->wiphy->perm_addr, priv->current_addr, ETH_ALEN); -+ - ret = wiphy_register(wdev->wiphy); - if (ret < 0) - pr_err("cannot register wiphy device\n"); diff --git a/feeds/rtkmipsel/mac80211/patches/804-b43-sync-with-bcma.patch b/feeds/rtkmipsel/mac80211/patches/804-b43-sync-with-bcma.patch deleted file mode 100644 index 74cd4489f..000000000 --- a/feeds/rtkmipsel/mac80211/patches/804-b43-sync-with-bcma.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -1215,10 +1215,10 @@ void b43_wireless_core_phy_pll_reset(str - case B43_BUS_BCMA: - bcma_cc = &dev->dev->bdev->bus->drv_cc; - -- bcma_cc_write32(bcma_cc, BCMA_CC_CHIPCTL_ADDR, 0); -- bcma_cc_mask32(bcma_cc, BCMA_CC_CHIPCTL_DATA, ~0x4); -- bcma_cc_set32(bcma_cc, BCMA_CC_CHIPCTL_DATA, 0x4); -- bcma_cc_mask32(bcma_cc, BCMA_CC_CHIPCTL_DATA, ~0x4); -+ bcma_cc_write32(bcma_cc, BCMA_CC_PMU_CHIPCTL_ADDR, 0); -+ bcma_cc_mask32(bcma_cc, BCMA_CC_PMU_CHIPCTL_DATA, ~0x4); -+ bcma_cc_set32(bcma_cc, BCMA_CC_PMU_CHIPCTL_DATA, 0x4); -+ bcma_cc_mask32(bcma_cc, BCMA_CC_PMU_CHIPCTL_DATA, ~0x4); - break; - #endif - #ifdef CPTCFG_B43_SSB diff --git a/feeds/rtkmipsel/mac80211/patches/805-b43-gpio-mask-module-option.patch b/feeds/rtkmipsel/mac80211/patches/805-b43-gpio-mask-module-option.patch deleted file mode 100644 index fd9e6fd97..000000000 --- a/feeds/rtkmipsel/mac80211/patches/805-b43-gpio-mask-module-option.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/b43.h -+++ b/drivers/net/wireless/broadcom/b43/b43.h -@@ -839,6 +839,7 @@ struct b43_wldev { - bool qos_enabled; /* TRUE, if QoS is used. */ - bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */ - bool use_pio; /* TRUE if next init should use PIO */ -+ int gpiomask; /* GPIO LED mask as a module parameter */ - - /* PHY/Radio device. */ - struct b43_phy phy; ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -75,6 +75,11 @@ MODULE_FIRMWARE("b43/ucode16_mimo.fw"); - MODULE_FIRMWARE("b43/ucode5.fw"); - MODULE_FIRMWARE("b43/ucode9.fw"); - -+static int modparam_gpiomask = 0x000F; -+module_param_named(gpiomask, modparam_gpiomask, int, 0444); -+MODULE_PARM_DESC(gpiomask, -+ "GPIO mask for LED control (default 0x000F)"); -+ - static int modparam_bad_frames_preempt; - module_param_named(bad_frames_preempt, modparam_bad_frames_preempt, int, 0444); - MODULE_PARM_DESC(bad_frames_preempt, -@@ -2882,10 +2887,10 @@ static int b43_gpio_init(struct b43_wlde - u32 mask, set; - - b43_maskset32(dev, B43_MMIO_MACCTL, ~B43_MACCTL_GPOUTSMSK, 0); -- b43_maskset16(dev, B43_MMIO_GPIO_MASK, ~0, 0xF); -+ b43_maskset16(dev, B43_MMIO_GPIO_MASK, ~0, modparam_gpiomask); - - mask = 0x0000001F; -- set = 0x0000000F; -+ set = modparam_gpiomask; - if (dev->dev->chip_id == 0x4301) { - mask |= 0x0060; - set |= 0x0060; diff --git a/feeds/rtkmipsel/mac80211/patches/810-b43_no_pio.patch b/feeds/rtkmipsel/mac80211/patches/810-b43_no_pio.patch deleted file mode 100644 index 79428c278..000000000 --- a/feeds/rtkmipsel/mac80211/patches/810-b43_no_pio.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/Makefile -+++ b/drivers/net/wireless/broadcom/b43/Makefile -@@ -17,7 +17,7 @@ b43-$(CPTCFG_B43_PHY_AC) += phy_ac.o - b43-y += sysfs.o - b43-y += xmit.o - b43-y += dma.o --b43-y += pio.o -+b43-$(CPTCFG_B43_PIO) += pio.o - b43-y += rfkill.o - b43-y += ppr.o - b43-$(CPTCFG_B43_LEDS) += leds.o ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -2008,10 +2008,12 @@ static void b43_do_interrupt_thread(stru - dma_reason[0], dma_reason[1], - dma_reason[2], dma_reason[3], - dma_reason[4], dma_reason[5]); -+#ifdef CPTCFG_B43_PIO - b43err(dev->wl, "This device does not support DMA " - "on your system. It will now be switched to PIO.\n"); - /* Fall back to PIO transfers if we get fatal DMA errors! */ - dev->use_pio = true; -+#endif - b43_controller_restart(dev, "DMA error"); - return; - } ---- a/drivers/net/wireless/broadcom/b43/pio.h -+++ b/drivers/net/wireless/broadcom/b43/pio.h -@@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str - b43_write32(q->dev, q->mmio_base + offset, value); - } - -- -+#ifdef CPTCFG_B43_PIO - int b43_pio_init(struct b43_wldev *dev); - void b43_pio_free(struct b43_wldev *dev); - -@@ -161,5 +161,37 @@ void b43_pio_rx(struct b43_pio_rxqueue * - - void b43_pio_tx_suspend(struct b43_wldev *dev); - void b43_pio_tx_resume(struct b43_wldev *dev); -+#else -+static inline int b43_pio_init(struct b43_wldev *dev) -+{ -+ return 0; -+} -+ -+static inline void b43_pio_free(struct b43_wldev *dev) -+{ -+} -+ -+static inline int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb) -+{ -+ return 0; -+} -+ -+static inline void b43_pio_handle_txstatus(struct b43_wldev *dev, -+ const struct b43_txstatus *status) -+{ -+} -+ -+static inline void b43_pio_rx(struct b43_pio_rxqueue *q) -+{ -+} -+ -+static inline void b43_pio_tx_suspend(struct b43_wldev *dev) -+{ -+} -+ -+static inline void b43_pio_tx_resume(struct b43_wldev *dev) -+{ -+} -+#endif /* CPTCFG_B43_PIO */ - - #endif /* B43_PIO_H_ */ ---- a/drivers/net/wireless/broadcom/b43/Kconfig -+++ b/drivers/net/wireless/broadcom/b43/Kconfig -@@ -98,7 +98,7 @@ config B43_BCMA_PIO - default y - - config B43_PIO -- bool -+ bool "Broadcom 43xx PIO support" - depends on B43 && B43_SSB - select SSB_BLOCKIO - default y diff --git a/feeds/rtkmipsel/mac80211/patches/820-b43-add-antenna-control.patch b/feeds/rtkmipsel/mac80211/patches/820-b43-add-antenna-control.patch deleted file mode 100644 index 06c731fce..000000000 --- a/feeds/rtkmipsel/mac80211/patches/820-b43-add-antenna-control.patch +++ /dev/null @@ -1,131 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -1648,7 +1648,7 @@ static void b43_write_beacon_template(st - len, ram_offset, shm_size_offset, rate); - - /* Write the PHY TX control parameters. */ -- antenna = B43_ANTENNA_DEFAULT; -+ antenna = dev->tx_antenna; - antenna = b43_antenna_to_phyctl(antenna); - ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL); - /* We can't send beacons with short preamble. Would get PHY errors. */ -@@ -3300,8 +3300,8 @@ static int b43_chip_init(struct b43_wlde - - /* Select the antennae */ - if (phy->ops->set_rx_antenna) -- phy->ops->set_rx_antenna(dev, B43_ANTENNA_DEFAULT); -- b43_mgmtframe_txantenna(dev, B43_ANTENNA_DEFAULT); -+ phy->ops->set_rx_antenna(dev, dev->rx_antenna); -+ b43_mgmtframe_txantenna(dev, dev->tx_antenna); - - if (phy->type == B43_PHYTYPE_B) { - value16 = b43_read16(dev, 0x005E); -@@ -4001,7 +4001,6 @@ static int b43_op_config(struct ieee8021 - struct b43_wldev *dev = wl->current_dev; - struct b43_phy *phy = &dev->phy; - struct ieee80211_conf *conf = &hw->conf; -- int antenna; - int err = 0; - - mutex_lock(&wl->mutex); -@@ -4044,11 +4043,9 @@ static int b43_op_config(struct ieee8021 - } - - /* Antennas for RX and management frame TX. */ -- antenna = B43_ANTENNA_DEFAULT; -- b43_mgmtframe_txantenna(dev, antenna); -- antenna = B43_ANTENNA_DEFAULT; -+ b43_mgmtframe_txantenna(dev, dev->tx_antenna); - if (phy->ops->set_rx_antenna) -- phy->ops->set_rx_antenna(dev, antenna); -+ phy->ops->set_rx_antenna(dev, dev->rx_antenna); - - if (wl->radio_enabled != phy->radio_on) { - if (wl->radio_enabled) { -@@ -5209,6 +5206,47 @@ static int b43_op_get_survey(struct ieee - return 0; - } - -+static int b43_op_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant) -+{ -+ struct b43_wl *wl = hw_to_b43_wl(hw); -+ struct b43_wldev *dev = wl->current_dev; -+ -+ if (tx_ant == 1 && rx_ant == 1) { -+ dev->tx_antenna = B43_ANTENNA0; -+ dev->rx_antenna = B43_ANTENNA0; -+ } -+ else if (tx_ant == 2 && rx_ant == 2) { -+ dev->tx_antenna = B43_ANTENNA1; -+ dev->rx_antenna = B43_ANTENNA1; -+ } -+ else if ((tx_ant & 3) == 3 && (rx_ant & 3) == 3) { -+ dev->tx_antenna = B43_ANTENNA_DEFAULT; -+ dev->rx_antenna = B43_ANTENNA_DEFAULT; -+ } -+ else { -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+ -+static int b43_op_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant) -+{ -+ struct b43_wl *wl = hw_to_b43_wl(hw); -+ struct b43_wldev *dev = wl->current_dev; -+ -+ switch (dev->tx_antenna) { -+ case B43_ANTENNA0: -+ *tx_ant = 1; *rx_ant = 1; break; -+ case B43_ANTENNA1: -+ *tx_ant = 2; *rx_ant = 2; break; -+ case B43_ANTENNA_DEFAULT: -+ *tx_ant = 3; *rx_ant = 3; break; -+ } -+ return 0; -+} -+ - static const struct ieee80211_ops b43_hw_ops = { - .tx = b43_op_tx, - .conf_tx = b43_op_conf_tx, -@@ -5230,6 +5268,8 @@ static const struct ieee80211_ops b43_hw - .sw_scan_complete = b43_op_sw_scan_complete_notifier, - .get_survey = b43_op_get_survey, - .rfkill_poll = b43_rfkill_poll, -+ .set_antenna = b43_op_set_antenna, -+ .get_antenna = b43_op_get_antenna, - }; - - /* Hard-reset the chip. Do not call this directly. -@@ -5538,6 +5578,8 @@ static int b43_one_core_attach(struct b4 - if (!wldev) - goto out; - -+ wldev->rx_antenna = B43_ANTENNA_DEFAULT; -+ wldev->tx_antenna = B43_ANTENNA_DEFAULT; - wldev->use_pio = b43_modparam_pio; - wldev->dev = dev; - wldev->wl = wl; -@@ -5628,6 +5670,9 @@ static struct b43_wl *b43_wireless_init( - - hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; - -+ hw->wiphy->available_antennas_rx = 0x3; -+ hw->wiphy->available_antennas_tx = 0x3; -+ - wl->hw_registred = false; - hw->max_rates = 2; - SET_IEEE80211_DEV(hw, dev->dev); ---- a/drivers/net/wireless/broadcom/b43/b43.h -+++ b/drivers/net/wireless/broadcom/b43/b43.h -@@ -840,6 +840,8 @@ struct b43_wldev { - bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */ - bool use_pio; /* TRUE if next init should use PIO */ - int gpiomask; /* GPIO LED mask as a module parameter */ -+ int rx_antenna; /* Used RX antenna (B43_ANTENNAxxx) */ -+ int tx_antenna; /* Used TX antenna (B43_ANTENNAxxx) */ - - /* PHY/Radio device. */ - struct b43_phy phy; diff --git a/feeds/rtkmipsel/mac80211/patches/841-b43-reduce-number-of-RX-slots.patch b/feeds/rtkmipsel/mac80211/patches/841-b43-reduce-number-of-RX-slots.patch deleted file mode 100644 index 589970689..000000000 --- a/feeds/rtkmipsel/mac80211/patches/841-b43-reduce-number-of-RX-slots.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/dma.h -+++ b/drivers/net/wireless/broadcom/b43/dma.h -@@ -169,7 +169,7 @@ struct b43_dmadesc_generic { - - /* DMA engine tuning knobs */ - #define B43_TXRING_SLOTS 256 --#define B43_RXRING_SLOTS 256 -+#define B43_RXRING_SLOTS 32 - #define B43_DMA0_RX_FW598_BUFSIZE (B43_DMA0_RX_FW598_FO + IEEE80211_MAX_FRAME_LEN) - #define B43_DMA0_RX_FW351_BUFSIZE (B43_DMA0_RX_FW351_FO + IEEE80211_MAX_FRAME_LEN) - diff --git a/feeds/rtkmipsel/mac80211/patches/845-b43-only-use-gpio-0-1-for-led.patch b/feeds/rtkmipsel/mac80211/patches/845-b43-only-use-gpio-0-1-for-led.patch deleted file mode 100644 index 8d0c0412d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/845-b43-only-use-gpio-0-1-for-led.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -2899,6 +2899,14 @@ static int b43_gpio_init(struct b43_wlde - } else if (dev->dev->chip_id == 0x5354) { - /* Don't allow overtaking buttons GPIOs */ - set &= 0x2; /* 0x2 is LED GPIO on BCM5354 */ -+ } else if (dev->dev->chip_id == BCMA_CHIP_ID_BCM4716 || -+ dev->dev->chip_id == BCMA_CHIP_ID_BCM47162 || -+ dev->dev->chip_id == BCMA_CHIP_ID_BCM5356 || -+ dev->dev->chip_id == BCMA_CHIP_ID_BCM5357 || -+ dev->dev->chip_id == BCMA_CHIP_ID_BCM53572) { -+ /* just use gpio 0 and 1 for 2.4 GHz wifi led */ -+ set &= 0x3; -+ mask &= 0x3; - } - - if (0 /* FIXME: conditional unknown */ ) { diff --git a/feeds/rtkmipsel/mac80211/patches/847-b43-always-take-overlapping-devs.patch b/feeds/rtkmipsel/mac80211/patches/847-b43-always-take-overlapping-devs.patch deleted file mode 100644 index ef7f3c92d..000000000 --- a/feeds/rtkmipsel/mac80211/patches/847-b43-always-take-overlapping-devs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/wireless/broadcom/b43/main.c -+++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -117,7 +117,7 @@ static int b43_modparam_pio = 0; - module_param_named(pio, b43_modparam_pio, int, 0644); - MODULE_PARM_DESC(pio, "Use PIO accesses by default: 0=DMA, 1=PIO"); - --static int modparam_allhwsupport = !IS_ENABLED(CPTCFG_BRCMSMAC); -+static int modparam_allhwsupport = 1; - module_param_named(allhwsupport, modparam_allhwsupport, int, 0444); - MODULE_PARM_DESC(allhwsupport, "Enable support for all hardware (even it if overlaps with the brcmsmac driver)"); - diff --git a/feeds/rtkmipsel/mac80211/patches/850-brcmsmac-remove-extra-regulation-restriction.patch b/feeds/rtkmipsel/mac80211/patches/850-brcmsmac-remove-extra-regulation-restriction.patch deleted file mode 100644 index 3c93386b3..000000000 --- a/feeds/rtkmipsel/mac80211/patches/850-brcmsmac-remove-extra-regulation-restriction.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c -@@ -58,19 +58,12 @@ - (((c) < 149) ? 3 : 4)))) - - #define BRCM_2GHZ_2412_2462 REG_RULE(2412-10, 2462+10, 40, 0, 19, 0) --#define BRCM_2GHZ_2467_2472 REG_RULE(2467-10, 2472+10, 20, 0, 19, \ -- NL80211_RRF_NO_IR) -+#define BRCM_2GHZ_2467_2472 REG_RULE(2467-10, 2472+10, 20, 0, 19, 0) - --#define BRCM_5GHZ_5180_5240 REG_RULE(5180-10, 5240+10, 40, 0, 21, \ -- NL80211_RRF_NO_IR) --#define BRCM_5GHZ_5260_5320 REG_RULE(5260-10, 5320+10, 40, 0, 21, \ -- NL80211_RRF_DFS | \ -- NL80211_RRF_NO_IR) --#define BRCM_5GHZ_5500_5700 REG_RULE(5500-10, 5700+10, 40, 0, 21, \ -- NL80211_RRF_DFS | \ -- NL80211_RRF_NO_IR) --#define BRCM_5GHZ_5745_5825 REG_RULE(5745-10, 5825+10, 40, 0, 21, \ -- NL80211_RRF_NO_IR) -+#define BRCM_5GHZ_5180_5240 REG_RULE(5180-10, 5240+10, 40, 0, 21, 0) -+#define BRCM_5GHZ_5260_5320 REG_RULE(5260-10, 5320+10, 40, 0, 21, 0) -+#define BRCM_5GHZ_5500_5700 REG_RULE(5500-10, 5700+10, 40, 0, 21, 0) -+#define BRCM_5GHZ_5745_5825 REG_RULE(5745-10, 5825+10, 40, 0, 21, 0) - - static const struct ieee80211_regdomain brcms_regdom_x2 = { - .n_reg_rules = 6, diff --git a/feeds/rtkmipsel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch b/feeds/rtkmipsel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch deleted file mode 100644 index 00181f647..000000000 --- a/feeds/rtkmipsel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch +++ /dev/null @@ -1,97 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Mon, 8 Jun 2015 16:11:40 +0200 -Subject: [PATCH] brcmfmac: register wiphy(s) during module_init -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is needed by OpenWrt which expects all PHYs to be created after -module loads successfully. - -Signed-off-by: Rafał Miłecki ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -1332,6 +1332,7 @@ static int __init brcmfmac_module_init(v - #endif - if (!schedule_work(&brcmf_driver_work)) - return -EBUSY; -+ flush_work(&brcmf_driver_work); - - return 0; - } ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -@@ -444,6 +444,7 @@ struct brcmf_fw { - u16 bus_nr; - void (*done)(struct device *dev, const struct firmware *fw, - void *nvram_image, u32 nvram_len); -+ struct completion *completion; - }; - - static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx) -@@ -478,6 +479,8 @@ static void brcmf_fw_request_nvram_done( - goto fail; - - fwctx->done(fwctx->dev, fwctx->code, nvram, nvram_length); -+ if (fwctx->completion) -+ complete(fwctx->completion); - kfree(fwctx); - return; - -@@ -485,6 +488,8 @@ fail: - brcmf_dbg(TRACE, "failed: dev=%s\n", dev_name(fwctx->dev)); - release_firmware(fwctx->code); - device_release_driver(fwctx->dev); -+ if (fwctx->completion) -+ complete(fwctx->completion); - kfree(fwctx); - } - -@@ -500,6 +505,8 @@ static void brcmf_fw_request_code_done(c - /* only requested code so done here */ - if (!(fwctx->flags & BRCMF_FW_REQUEST_NVRAM)) { - fwctx->done(fwctx->dev, fw, NULL, 0); -+ if (fwctx->completion) -+ complete(fwctx->completion); - kfree(fwctx); - return; - } -@@ -517,6 +524,8 @@ static void brcmf_fw_request_code_done(c - fail: - brcmf_dbg(TRACE, "failed: dev=%s\n", dev_name(fwctx->dev)); - device_release_driver(fwctx->dev); -+ if (fwctx->completion) -+ complete(fwctx->completion); - kfree(fwctx); - } - -@@ -528,6 +537,8 @@ int brcmf_fw_get_firmwares_pcie(struct d - u16 domain_nr, u16 bus_nr) - { - struct brcmf_fw *fwctx; -+ struct completion completion; -+ int err; - - brcmf_dbg(TRACE, "enter: dev=%s\n", dev_name(dev)); - if (!fw_cb || !code) -@@ -548,9 +559,17 @@ int brcmf_fw_get_firmwares_pcie(struct d - fwctx->domain_nr = domain_nr; - fwctx->bus_nr = bus_nr; - -- return request_firmware_nowait(THIS_MODULE, true, code, dev, -+ init_completion(&completion); -+ fwctx->completion = &completion; -+ -+ err = request_firmware_nowait(THIS_MODULE, true, code, dev, - GFP_KERNEL, fwctx, - brcmf_fw_request_code_done); -+ if (!err) -+ wait_for_completion_timeout(fwctx->completion, -+ msecs_to_jiffies(5000)); -+ fwctx->completion = NULL; -+ return err; - } - - int brcmf_fw_get_firmwares(struct device *dev, u16 flags, diff --git a/feeds/rtkmipsel/mac80211/patches/862-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch b/feeds/rtkmipsel/mac80211/patches/862-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch deleted file mode 100644 index 4295b4bd3..000000000 --- a/feeds/rtkmipsel/mac80211/patches/862-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch +++ /dev/null @@ -1,50 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Thu, 9 Jul 2015 00:07:59 +0200 -Subject: [PATCH] brcmfmac: workaround bug with some inconsistent BSSes state -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki ---- - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -615,9 +615,37 @@ static struct wireless_dev *brcmf_cfg802 - u32 *flags, - struct vif_params *params) - { -+ struct net_device *dev; - struct wireless_dev *wdev; - int err; - -+ /* -+ * There is a bug with in-firmware BSS management. When adding virtual -+ * interface brcmfmac first tells firmware to create new BSS and then -+ * it creates new struct net_device. -+ * -+ * If creating/registering netdev(ice) fails, BSS remains in some bugged -+ * state. It conflicts with existing BSSes by overtaking their auth -+ * requests. -+ * -+ * It results in one BSS (addresss X) sending beacons and another BSS -+ * (address Y) replying to authentication requests. This makes interface -+ * unusable as AP. -+ * -+ * To workaround this bug we may try to guess if register_netdev(ice) -+ * will fail. The most obvious case is using interface name that already -+ * exists. This is actually quite likely with brcmfmac & some user space -+ * scripts as brcmfmac doesn't allow deleting virtual interfaces. -+ * So this bug can be triggered even by something trivial like: -+ * iw dev wlan0 delete -+ * iw phy phy0 interface add wlan0 type __ap -+ */ -+ dev = dev_get_by_name(&init_net, name); -+ if (dev) { -+ dev_put(dev); -+ return ERR_PTR(-EEXIST); -+ } -+ - brcmf_dbg(TRACE, "enter: %s type %d\n", name, type); - err = brcmf_vif_add_validate(wiphy_to_cfg(wiphy), type); - if (err) { diff --git a/feeds/rtkmipsel/mac80211/patches/910-00-rt2x00-enable-rt2800soc-for-mt7620.patch b/feeds/rtkmipsel/mac80211/patches/910-00-rt2x00-enable-rt2800soc-for-mt7620.patch deleted file mode 100644 index bc9f79952..000000000 --- a/feeds/rtkmipsel/mac80211/patches/910-00-rt2x00-enable-rt2800soc-for-mt7620.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/Kconfig -+++ b/drivers/net/wireless/ralink/rt2x00/Kconfig -@@ -211,7 +211,7 @@ endif - config RT2800SOC - tristate "Ralink WiSoC support" - depends on m -- depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 -+ depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 - select RT2X00_LIB_SOC - select RT2X00_LIB_MMIO - select RT2X00_LIB_CRYPTO -@@ -248,7 +248,7 @@ config RT2X00_LIB_PCI - - config RT2X00_LIB_SOC - tristate "RT2x00 SoC support" -- depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 -+ depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 - depends on m - select RT2X00_LIB - diff --git a/feeds/rtkmipsel/mac80211/patches/910-01-add-support-for-mt7620.patch b/feeds/rtkmipsel/mac80211/patches/910-01-add-support-for-mt7620.patch deleted file mode 100644 index f2e21ea49..000000000 --- a/feeds/rtkmipsel/mac80211/patches/910-01-add-support-for-mt7620.patch +++ /dev/null @@ -1,1202 +0,0 @@ ---- a/drivers/net/wireless/ralink/rt2x00/rt2800.h -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h -@@ -81,6 +81,7 @@ - #define RF5372 0x5372 - #define RF5390 0x5390 - #define RF5392 0x5392 -+#define RF7620 0x7620 - - /* - * Chipset revisions. -@@ -656,6 +657,14 @@ - #define RF_CSR_CFG_BUSY FIELD32(0x00020000) - - /* -+ * mt7620 RF registers (reversed order) -+ */ -+#define RF_CSR_CFG_DATA_MT7620 FIELD32(0x0000ff00) -+#define RF_CSR_CFG_REGNUM_MT7620 FIELD32(0x03ff0000) -+#define RF_CSR_CFG_WRITE_MT7620 FIELD32(0x00000010) -+#define RF_CSR_CFG_BUSY_MT7620 FIELD32(0x00000001) -+ -+/* - * EFUSE_CSR: RT30x0 EEPROM - */ - #define EFUSE_CTRL 0x0580 -@@ -1039,6 +1048,11 @@ - #define AUTOWAKEUP_CFG_AUTOWAKE FIELD32(0x00008000) - - /* -+ * mt7620 -+ */ -+#define MIMO_PS_CFG 0x1210 -+ -+/* - * EDCA_AC0_CFG: - */ - #define EDCA_AC0_CFG 0x1300 -@@ -1218,6 +1232,8 @@ - #define TX_PIN_CFG_RFTR_POL FIELD32(0x00020000) - #define TX_PIN_CFG_TRSW_EN FIELD32(0x00040000) - #define TX_PIN_CFG_TRSW_POL FIELD32(0x00080000) -+#define TX_PIN_CFG_RFRX_EN FIELD32(0x00100000) /* mt7620 */ -+#define TX_PIN_CFG_RFRX_POL FIELD32(0x00200000) /* mt7620 */ - #define TX_PIN_CFG_PA_PE_A2_EN FIELD32(0x01000000) - #define TX_PIN_CFG_PA_PE_G2_EN FIELD32(0x02000000) - #define TX_PIN_CFG_PA_PE_A2_POL FIELD32(0x04000000) -@@ -1564,6 +1580,17 @@ - #define TX_PWR_CFG_4_EXT_STBC4_CH2 FIELD32(0x0000000f) - #define TX_PWR_CFG_4_EXT_STBC6_CH2 FIELD32(0x00000f00) - -+/* mt7620 */ -+#define TX0_RF_GAIN_CORRECT 0x13a0 -+#define TX1_RF_GAIN_CORRECT 0x13a4 -+#define TX0_RF_GAIN_ATTEN 0x13a8 -+#define TX1_RF_GAIN_ATTEN 0x13ac -+#define TX_ALG_CFG_0 0x13b0 -+#define TX_ALG_CFG_1 0x13b4 -+#define TX0_BB_GAIN_ATTEN 0x13c0 -+#define TX1_BB_GAIN_ATTEN 0x13c4 -+#define TX_ALC_VGA3 0x13c8 -+ - /* TX_PWR_CFG_7 */ - #define TX_PWR_CFG_7 0x13d4 - #define TX_PWR_CFG_7_OFDM54_CH0 FIELD32(0x0000000f) ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -61,6 +61,8 @@ - rt2800_regbusy_read((__dev), BBP_CSR_CFG, BBP_CSR_CFG_BUSY, (__reg)) - #define WAIT_FOR_RFCSR(__dev, __reg) \ - rt2800_regbusy_read((__dev), RF_CSR_CFG, RF_CSR_CFG_BUSY, (__reg)) -+#define WAIT_FOR_RFCSR_MT7620(__dev, __reg) \ -+ rt2800_regbusy_read((__dev), RF_CSR_CFG, RF_CSR_CFG_BUSY_MT7620, (__reg)) - #define WAIT_FOR_RF(__dev, __reg) \ - rt2800_regbusy_read((__dev), RF_CSR_CFG0, RF_CSR_CFG0_BUSY, (__reg)) - #define WAIT_FOR_MCU(__dev, __reg) \ -@@ -186,19 +188,55 @@ static void rt2800_rfcsr_write(struct rt - * Wait until the RFCSR becomes available, afterwards we - * can safely write the new data into the register. - */ -- if (WAIT_FOR_RFCSR(rt2x00dev, ®)) { -- reg = 0; -- rt2x00_set_field32(®, RF_CSR_CFG_DATA, value); -- rt2x00_set_field32(®, RF_CSR_CFG_REGNUM, word); -- rt2x00_set_field32(®, RF_CSR_CFG_WRITE, 1); -- rt2x00_set_field32(®, RF_CSR_CFG_BUSY, 1); -+ switch (rt2x00dev->chip.rf) { -+ case RF7620: -+ if (WAIT_FOR_RFCSR_MT7620(rt2x00dev, ®)) { -+ reg = 0; -+ rt2x00_set_field32(®, RF_CSR_CFG_DATA_MT7620, value); -+ rt2x00_set_field32(®, RF_CSR_CFG_REGNUM_MT7620, word); -+ rt2x00_set_field32(®, RF_CSR_CFG_WRITE_MT7620, 1); -+ rt2x00_set_field32(®, RF_CSR_CFG_BUSY_MT7620, 1); - -- rt2800_register_write_lock(rt2x00dev, RF_CSR_CFG, reg); -+ rt2800_register_write_lock(rt2x00dev, RF_CSR_CFG, reg); -+ } -+ break; -+ -+ default: -+ if (WAIT_FOR_RFCSR(rt2x00dev, ®)) { -+ reg = 0; -+ rt2x00_set_field32(®, RF_CSR_CFG_DATA, value); -+ rt2x00_set_field32(®, RF_CSR_CFG_REGNUM, word); -+ rt2x00_set_field32(®, RF_CSR_CFG_WRITE, 1); -+ rt2x00_set_field32(®, RF_CSR_CFG_BUSY, 1); -+ -+ rt2800_register_write_lock(rt2x00dev, RF_CSR_CFG, reg); -+ } -+ break; - } - - mutex_unlock(&rt2x00dev->csr_mutex); - } - -+static void rt2800_rfcsr_write_bank(struct rt2x00_dev *rt2x00dev, const u8 bank, -+ const unsigned int reg, const u8 value) -+{ -+ rt2800_rfcsr_write(rt2x00dev, (reg | (bank << 6)), value); -+} -+ -+static void rt2800_rfcsr_write_chanreg(struct rt2x00_dev *rt2x00dev, -+ const unsigned int reg, const u8 value) -+{ -+ rt2800_rfcsr_write_bank(rt2x00dev, 4, reg, value); -+ rt2800_rfcsr_write_bank(rt2x00dev, 6, reg, value); -+} -+ -+static void rt2800_rfcsr_write_dccal(struct rt2x00_dev *rt2x00dev, -+ const unsigned int reg, const u8 value) -+{ -+ rt2800_rfcsr_write_bank(rt2x00dev, 5, reg, value); -+ rt2800_rfcsr_write_bank(rt2x00dev, 7, reg, value); -+} -+ - static void rt2800_rfcsr_read(struct rt2x00_dev *rt2x00dev, - const unsigned int word, u8 *value) - { -@@ -214,22 +252,47 @@ static void rt2800_rfcsr_read(struct rt2 - * doesn't become available in time, reg will be 0xffffffff - * which means we return 0xff to the caller. - */ -- if (WAIT_FOR_RFCSR(rt2x00dev, ®)) { -- reg = 0; -- rt2x00_set_field32(®, RF_CSR_CFG_REGNUM, word); -- rt2x00_set_field32(®, RF_CSR_CFG_WRITE, 0); -- rt2x00_set_field32(®, RF_CSR_CFG_BUSY, 1); -+ switch (rt2x00dev->chip.rf) { -+ case RF7620: -+ if (WAIT_FOR_RFCSR_MT7620(rt2x00dev, ®)) { -+ reg = 0; -+ rt2x00_set_field32(®, RF_CSR_CFG_REGNUM_MT7620, word); -+ rt2x00_set_field32(®, RF_CSR_CFG_WRITE_MT7620, 0); -+ rt2x00_set_field32(®, RF_CSR_CFG_BUSY_MT7620, 1); - -- rt2800_register_write_lock(rt2x00dev, RF_CSR_CFG, reg); -+ rt2800_register_write_lock(rt2x00dev, RF_CSR_CFG, reg); - -- WAIT_FOR_RFCSR(rt2x00dev, ®); -- } -+ WAIT_FOR_RFCSR_MT7620(rt2x00dev, ®); -+ } - -- *value = rt2x00_get_field32(reg, RF_CSR_CFG_DATA); -+ *value = rt2x00_get_field32(reg, RF_CSR_CFG_DATA_MT7620); -+ break; -+ -+ default: -+ if (WAIT_FOR_RFCSR(rt2x00dev, ®)) { -+ reg = 0; -+ rt2x00_set_field32(®, RF_CSR_CFG_REGNUM, word); -+ rt2x00_set_field32(®, RF_CSR_CFG_WRITE, 0); -+ rt2x00_set_field32(®, RF_CSR_CFG_BUSY, 1); -+ -+ rt2800_register_write_lock(rt2x00dev, RF_CSR_CFG, reg); -+ -+ WAIT_FOR_RFCSR(rt2x00dev, ®); -+ } -+ -+ *value = rt2x00_get_field32(reg, RF_CSR_CFG_DATA); -+ break; -+ } - - mutex_unlock(&rt2x00dev->csr_mutex); - } - -+static void rt2800_rfcsr_read_bank(struct rt2x00_dev *rt2x00dev, const u8 bank, -+ const unsigned int reg, u8 *value) -+{ -+ rt2800_rfcsr_read(rt2x00dev, (reg | (bank << 6)), value); -+} -+ - static void rt2800_rf_write(struct rt2x00_dev *rt2x00dev, - const unsigned int word, const u32 value) - { -@@ -566,6 +629,16 @@ void rt2800_get_txwi_rxwi_size(struct rt - *rxwi_size = RXWI_DESC_SIZE_5WORDS; - break; - -+ case RT5390: -+ if ( rt2x00dev->chip.rf == RF7620 ) { -+ *txwi_size = TXWI_DESC_SIZE_5WORDS; -+ *rxwi_size = RXWI_DESC_SIZE_6WORDS; -+ } else { -+ *txwi_size = TXWI_DESC_SIZE_4WORDS; -+ *rxwi_size = RXWI_DESC_SIZE_4WORDS; -+ } -+ break; -+ - case RT5592: - *txwi_size = TXWI_DESC_SIZE_5WORDS; - *rxwi_size = RXWI_DESC_SIZE_6WORDS; -@@ -3303,6 +3376,312 @@ static void rt2800_config_channel_rf55xx - rt2800_bbp_write(rt2x00dev, 196, (rf->channel <= 14) ? 0x19 : 0x7F); - } - -+typedef struct mt7620_freqconfig { -+ u8 Channel; -+ u8 Rdiv; -+ u16 N; -+ u8 K; -+ u8 D; -+ u32 Ksd; -+} mt7620_freqconfig; -+ -+mt7620_freqconfig mt7620_chanconfig[] = -+{ -+ /* 2.4 to 2.483 GHz -+ * CH Rdiv N K D Ksd */ -+ { 0, 0, 0, 0, 0, 0 }, -+ { 1, 3, 0x50, 0, 0, 0x19999 }, -+ { 2, 3, 0x50, 0, 0, 0x24444 }, -+ { 3, 3, 0x50, 0, 0, 0x2EEEE }, -+ { 4, 3, 0x50, 0, 0, 0x39999 }, -+ { 5, 3, 0x51, 0, 0, 0x04444 }, -+ { 6, 3, 0x51, 0, 0, 0x0EEEE }, -+ { 7, 3, 0x51, 0, 0, 0x19999 }, -+ { 8, 3, 0x51, 0, 0, 0x24444 }, -+ { 9, 3, 0x51, 0, 0, 0x2EEEE }, -+ { 10, 3, 0x51, 0, 0, 0x39999 }, -+ { 11, 3, 0x52, 0, 0, 0x04444 }, -+ { 12, 3, 0x52, 0, 0, 0x0EEEE }, -+ { 13, 3, 0x52, 0, 0, 0x19999 }, -+ { 14, 3, 0x52, 0, 0, 0x33333 }, -+}; -+ -+static void rt2800_config_channel_rf7620(struct rt2x00_dev *rt2x00dev, -+ struct ieee80211_conf *conf, -+ struct rf_channel *rf, -+ struct channel_info *info) -+{ -+ int i; -+ u8 bbp; -+ u8 rfcsr; -+ u8 txrx_agc_fc; -+ u32 reg; -+ u16 eeprom, target_power; -+ u32 mac_sys_ctrl, mac_status; -+ u32 tx_pin = 0x00150F0F; -+ struct hw_mode_spec *spec = &rt2x00dev->spec; -+ struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; -+ -+ /* Frequeny plan setting */ -+ /* -+ * Rdiv setting -+ * R13[1:0] -+ */ -+ rt2800_rfcsr_read(rt2x00dev, 13, &rfcsr); -+ rfcsr = rfcsr & (~0x03); -+ if (spec->clk_is_20mhz) -+ rfcsr |= (mt7620_chanconfig[rf->channel].Rdiv & 0x3); -+ rt2800_rfcsr_write(rt2x00dev, 13, rfcsr); -+ -+ /* -+ * N setting -+ * R21[0], R20[7:0] -+ */ -+ rt2800_rfcsr_read(rt2x00dev, 20, &rfcsr); -+ rfcsr = (mt7620_chanconfig[rf->channel].N & 0x00ff); -+ rt2800_rfcsr_write(rt2x00dev, 20, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 21, &rfcsr); -+ rfcsr = rfcsr & (~0x01); -+ rfcsr |= ((mt7620_chanconfig[rf->channel].N & 0x0100) >> 8); -+ rt2800_rfcsr_write(rt2x00dev, 21, rfcsr); -+ -+ /* -+ * K setting -+ * R16[3:0] (RF PLL freq selection) -+ */ -+ rt2800_rfcsr_read(rt2x00dev, 16, &rfcsr); -+ rfcsr = rfcsr & (~0x0f); -+ rfcsr |= (mt7620_chanconfig[rf->channel].K & 0x0f); -+ rt2800_rfcsr_write(rt2x00dev, 16, rfcsr); -+ -+ /* -+ * D setting -+ * R22[2:0] (D=15, R22[2:0]=<111>) -+ */ -+ rt2800_rfcsr_read(rt2x00dev, 22, &rfcsr); -+ rfcsr = rfcsr & (~0x07); -+ rfcsr |= (mt7620_chanconfig[rf->channel].D & 0x07); -+ rt2800_rfcsr_write(rt2x00dev, 22, rfcsr); -+ -+ /* -+ * Ksd setting -+ * Ksd: R19<1:0>,R18<7:0>,R17<7:0> -+ */ -+ rt2800_rfcsr_read(rt2x00dev, 17, &rfcsr); -+ rfcsr = (mt7620_chanconfig[rf->channel].Ksd & 0x000000ff); -+ rt2800_rfcsr_write(rt2x00dev, 17, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 18, &rfcsr); -+ rfcsr = ((mt7620_chanconfig[rf->channel].Ksd & 0x0000ff00) >> 8); -+ rt2800_rfcsr_write(rt2x00dev, 18, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 19, &rfcsr); -+ rfcsr = rfcsr & (~0x03); -+ rfcsr |= ((mt7620_chanconfig[rf->channel].Ksd & 0x00030000) >> 16); -+ rt2800_rfcsr_write(rt2x00dev, 19, rfcsr); -+ -+ /* Default: XO=20MHz , SDM mode */ -+ rt2800_rfcsr_read(rt2x00dev, 16, &rfcsr); -+ rfcsr = rfcsr & (~0xE0); -+ rfcsr |= 0x80; -+ rt2800_rfcsr_write(rt2x00dev, 16, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 21, &rfcsr); -+ rfcsr |= 0x80; -+ rt2800_rfcsr_write(rt2x00dev, 21, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 1, &rfcsr); -+ if (rt2x00dev->default_ant.tx_chain_num == 1) -+ rfcsr &= (~0x2); -+ else -+ rfcsr |= 0x2; -+ rt2800_rfcsr_write(rt2x00dev, 1, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 2, &rfcsr); -+ if (rt2x00dev->default_ant.tx_chain_num == 1) -+ rfcsr &= (~0x20); -+ else -+ rfcsr |= 0x20; -+ if (rt2x00dev->default_ant.rx_chain_num == 1) -+ rfcsr &= (~0x02); -+ else -+ rfcsr |= 0x02; -+ rt2800_rfcsr_write(rt2x00dev, 2, rfcsr); -+ -+ rt2800_rfcsr_read(rt2x00dev, 42, &rfcsr); -+ if (rt2x00dev->default_ant.tx_chain_num == 1) -+ rfcsr &= (~0x40); -+ else -+ rfcsr |= 0x40; -+ rt2800_rfcsr_write(rt2x00dev, 42, rfcsr); -+ -+ /* RF for DC Cal BW */ -+ if (conf_is_ht40(conf)) { -+ rt2800_rfcsr_write_dccal(rt2x00dev, 6, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 7, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 8, 0x04); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 58, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 59, 0x10); -+ } else { -+ rt2800_rfcsr_write_dccal(rt2x00dev, 6, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 7, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 8, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 58, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 59, 0x20); -+ } -+ -+ if (conf_is_ht40(conf)) { -+ rt2800_rfcsr_write_dccal(rt2x00dev, 58, 0x08); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 59, 0x08); -+ } else { -+ rt2800_rfcsr_write_dccal(rt2x00dev, 58, 0x28); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 59, 0x28); -+ } -+ -+ rt2800_rfcsr_read(rt2x00dev, 28, &rfcsr); -+ if (conf_is_ht40(conf) && (rf->channel == 11)) -+ rfcsr |= 0x4; -+ else -+ rfcsr &= (~0x4); -+ rt2800_rfcsr_write(rt2x00dev, 28, rfcsr); -+ -+ /*if (bScan == FALSE)*/ -+ if (conf_is_ht40(conf)) { -+ txrx_agc_fc = rt2x00_get_field8(drv_data->calibration_bw40, -+ RFCSR24_TX_AGC_FC); -+ } else { -+ txrx_agc_fc = rt2x00_get_field8(drv_data->calibration_bw20, -+ RFCSR24_TX_AGC_FC); -+ } -+ rt2800_rfcsr_read_bank(rt2x00dev, 5, 6, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 5, 6, rfcsr); -+ rt2800_rfcsr_read_bank(rt2x00dev, 5, 7, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 5, 7, rfcsr); -+ rt2800_rfcsr_read_bank(rt2x00dev, 7, 6, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 7, 6, rfcsr); -+ rt2800_rfcsr_read_bank(rt2x00dev, 7, 7, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 7, 7, rfcsr); -+ -+ rt2800_rfcsr_read_bank(rt2x00dev, 5, 58, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 5, 58, rfcsr); -+ rt2800_rfcsr_read_bank(rt2x00dev, 5, 59, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 5, 59, rfcsr); -+ rt2800_rfcsr_read_bank(rt2x00dev, 7, 58, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 7, 58, rfcsr); -+ rt2800_rfcsr_read_bank(rt2x00dev, 7, 59, &rfcsr); -+ rfcsr &= (~0x3F); -+ rfcsr |= txrx_agc_fc; -+ rt2800_rfcsr_write_bank(rt2x00dev, 7, 59, rfcsr); -+ -+ rt2800_register_read(rt2x00dev, TX_ALG_CFG_0, ®); -+ reg = reg & (~0x3F3F); -+ reg |= info->default_power1; -+ reg |= (info->default_power2 << 8); -+ reg |= (0x2F << 16); -+ reg |= (0x2F << 24); -+ -+ rt2800_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1, &eeprom); -+ if (rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_INTERNAL_TX_ALC)) { -+ /* init base power by e2p target power */ -+ rt2800_eeprom_read(rt2x00dev, 0xD0, &target_power); -+ target_power &= 0x3F; -+ reg = reg & (~0x3F3F); -+ reg |= target_power; -+ reg |= (target_power << 8); -+ } -+ rt2800_register_write(rt2x00dev, TX_ALG_CFG_0, reg); -+ -+ rt2800_register_read(rt2x00dev, TX_ALG_CFG_1, ®); -+ reg = reg & (~0x3F); -+ rt2800_register_write(rt2x00dev, TX_ALG_CFG_1, reg); -+ -+ /*if (bScan == FALSE)*/ -+ /* Save MAC SYS CTRL registers */ -+ rt2800_register_read(rt2x00dev, MAC_SYS_CTRL, &mac_sys_ctrl); -+ /* Disable Tx/Rx */ -+ rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, 0); -+ /* Check MAC Tx/Rx idle */ -+ for (i = 0; i < 10000; i++) { -+ rt2800_register_read(rt2x00dev, MAC_STATUS_CFG, &mac_status); -+ if (mac_status & 0x3) -+ udelay(50); -+ else -+ break; -+ } -+ -+ if (i == 10000) -+ rt2x00_warn(rt2x00dev, "Wait MAC Status to MAX !!!\n"); -+ -+ if (rf->channel > 10) { -+ rt2800_bbp_read(rt2x00dev, 30, &bbp); -+ bbp = 0x40; -+ rt2800_bbp_write(rt2x00dev, 30, bbp); -+ rt2800_rfcsr_write(rt2x00dev, 39, 0); -+ rt2800_rfcsr_write(rt2x00dev, 42, 0x7b); -+ } else { -+ rt2800_bbp_read(rt2x00dev, 30, &bbp); -+ bbp = 0x1f; -+ rt2800_bbp_write(rt2x00dev, 30, bbp); -+ rt2800_rfcsr_write(rt2x00dev, 39, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 42, 0x5b); -+ } -+ -+ rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, mac_sys_ctrl); -+ -+ rt2800_rfcsr_write(rt2x00dev, 5, 0x40); -+ rt2800_rfcsr_write(rt2x00dev, 4, 0x0C); -+ -+ /* vcocal_en (initiate VCO calibration (reset after completion)) */ -+ rt2800_rfcsr_read(rt2x00dev, 4, &rfcsr); -+ rfcsr = ((rfcsr & ~0x80) | 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 4, rfcsr); -+ mdelay(2); -+ -+ rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin); -+ -+ if (rt2x00dev->default_ant.tx_chain_num == 1) { -+ rt2800_bbp_write(rt2x00dev, 91, 0x07); -+ rt2800_bbp_write(rt2x00dev, 95, 0x1A); -+ rt2800_bbp_write(rt2x00dev, 195, 128); -+ rt2800_bbp_write(rt2x00dev, 196, 0xA0); -+ rt2800_bbp_write(rt2x00dev, 195, 170); -+ rt2800_bbp_write(rt2x00dev, 196, 0x12); -+ rt2800_bbp_write(rt2x00dev, 195, 171); -+ rt2800_bbp_write(rt2x00dev, 196, 0x10); -+ } else { -+ rt2800_bbp_write(rt2x00dev, 91, 0x06); -+ rt2800_bbp_write(rt2x00dev, 95, 0x9A); -+ rt2800_bbp_write(rt2x00dev, 195, 128); -+ rt2800_bbp_write(rt2x00dev, 196, 0xE0); -+ rt2800_bbp_write(rt2x00dev, 195, 170); -+ rt2800_bbp_write(rt2x00dev, 196, 0x30); -+ rt2800_bbp_write(rt2x00dev, 195, 171); -+ rt2800_bbp_write(rt2x00dev, 196, 0x30); -+ } -+ -+ /* On 11A, We should delay and wait RF/BBP to be stable*/ -+ /* and the appropriate time should be 1000 micro seconds */ -+ /* 2005/06/05 - On 11G, We also need this delay time. -+ * Otherwise it's difficult to pass the WHQL.*/ -+ udelay(1000); -+} -+ -+ - static void rt2800_bbp_write_with_rx_chain(struct rt2x00_dev *rt2x00dev, - const unsigned int word, - const u8 value) -@@ -3459,7 +3838,7 @@ static void rt2800_config_channel(struct - struct channel_info *info) - { - u32 reg; -- unsigned int tx_pin; -+ u32 tx_pin; - u8 bbp, rfcsr; - - info->default_power1 = rt2800_txpower_to_dev(rt2x00dev, rf->channel, -@@ -3513,6 +3892,9 @@ static void rt2800_config_channel(struct - case RF5592: - rt2800_config_channel_rf55xx(rt2x00dev, conf, rf, info); - break; -+ case RF7620: -+ rt2800_config_channel_rf7620(rt2x00dev, conf, rf, info); -+ break; - default: - rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info); - } -@@ -3615,7 +3997,7 @@ static void rt2800_config_channel(struct - else if (rt2x00_rt(rt2x00dev, RT3593) || - rt2x00_rt(rt2x00dev, RT3883)) - rt2800_bbp_write(rt2x00dev, 82, 0x82); -- else -+ else if (rt2x00dev->chip.rf != RF7620) - rt2800_bbp_write(rt2x00dev, 82, 0xf2); - - if (rt2x00_rt(rt2x00dev, RT3593) || -@@ -3637,7 +4019,7 @@ static void rt2800_config_channel(struct - if (rt2x00_rt(rt2x00dev, RT3572)) - rt2800_rfcsr_write(rt2x00dev, 8, 0); - -- tx_pin = 0; -+ rt2800_register_read(rt2x00dev, TX_PIN_CFG, &tx_pin); - - switch (rt2x00dev->default_ant.tx_chain_num) { - case 3: -@@ -3686,6 +4068,7 @@ static void rt2800_config_channel(struct - - rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFTR_EN, 1); - rt2x00_set_field32(&tx_pin, TX_PIN_CFG_TRSW_EN, 1); -+ rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFRX_EN, 1); /* mt7620 */ - - rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin); - -@@ -4702,6 +5085,14 @@ void rt2800_vco_calibration(struct rt2x0 - rt2x00_set_field8(&rfcsr, RFCSR3_VCOCAL_EN, 1); - rt2800_rfcsr_write(rt2x00dev, 3, rfcsr); - break; -+ case RF7620: -+ rt2800_rfcsr_read(rt2x00dev, 4, &rfcsr); -+ /* vcocal_en (initiate VCO calibration (reset after completion)) -+ * It should be at the end of RF configuration. */ -+ rfcsr = ((rfcsr & ~0x80) | 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 4, rfcsr); -+ mdelay(1); -+ break; - default: - return; - } -@@ -5102,9 +5493,42 @@ static int rt2800_init_registers(struct - } else if (rt2x00_rt(rt2x00dev, RT5390) || - rt2x00_rt(rt2x00dev, RT5392) || - rt2x00_rt(rt2x00dev, RT5592)) { -- rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); -- rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00080606); -- rt2800_register_write(rt2x00dev, TX_SW_CFG2, 0x00000000); -+ if (rt2x00dev->chip.rf == RF7620) { -+ rt2800_register_write(rt2x00dev, TX_SW_CFG0, -+ 0x00000401); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG1, -+ 0x000C0000); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG2, -+ 0x00000000); -+ rt2800_register_write(rt2x00dev, MIMO_PS_CFG, -+ 0x00000002); -+ rt2800_register_write(rt2x00dev, TX_PIN_CFG, -+ 0x00150F0F); -+ rt2800_register_write(rt2x00dev, TX_ALC_VGA3, -+ 0x06060606); -+ rt2800_register_write(rt2x00dev, TX0_BB_GAIN_ATTEN, -+ 0x0); -+ rt2800_register_write(rt2x00dev, TX1_BB_GAIN_ATTEN, -+ 0x0); -+ rt2800_register_write(rt2x00dev, TX0_RF_GAIN_ATTEN, -+ 0x6C6C666C); -+ rt2800_register_write(rt2x00dev, TX1_RF_GAIN_ATTEN, -+ 0x6C6C666C); -+ rt2800_register_write(rt2x00dev, TX0_RF_GAIN_CORRECT, -+ 0x3630363A); -+ rt2800_register_write(rt2x00dev, TX1_RF_GAIN_CORRECT, -+ 0x3630363A); -+ rt2800_register_read(rt2x00dev, TX_ALG_CFG_1, ®); -+ reg = reg & (~0x80000000); -+ rt2800_register_write(rt2x00dev, TX_ALG_CFG_1, reg); -+ } else { -+ rt2800_register_write(rt2x00dev, TX_SW_CFG0, -+ 0x00000404); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG1, -+ 0x00080606); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG2, -+ 0x00000000); -+ } - } else if (rt2x00_rt(rt2x00dev, RT5350)) { - rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); - } else { -@@ -6136,6 +6560,225 @@ static void rt2800_init_bbp_5592(struct - rt2800_bbp_write(rt2x00dev, 103, 0xc0); - } - -+static void rt2800_bbp_glrt_write(struct rt2x00_dev *rt2x00dev, -+ const u8 reg, const u8 value) -+{ -+ rt2800_bbp_write(rt2x00dev, 195, reg); -+ rt2800_bbp_write(rt2x00dev, 196, value); -+} -+ -+static void rt2800_bbp_dcoc_write(struct rt2x00_dev *rt2x00dev, -+ const u8 reg, const u8 value) -+{ -+ rt2800_bbp_write(rt2x00dev, 158, reg); -+ rt2800_bbp_write(rt2x00dev, 159, value); -+} -+ -+static void rt2800_init_bbp_7620(struct rt2x00_dev *rt2x00dev) -+{ -+ u8 bbp; -+ -+ /* Apply Maximum Likelihood Detection (MLD) for 2 stream case */ -+ rt2800_bbp_read(rt2x00dev, 105, &bbp); -+ rt2x00_set_field8(&bbp, BBP105_MLD, -+ rt2x00dev->default_ant.rx_chain_num == 2); -+ rt2800_bbp_write(rt2x00dev, 105, bbp); -+ -+ /* Avoid data loss and CRC errors */ -+ /* MAC interface control (MAC_IF_80M, 1: 80 MHz) */ -+ rt2800_bbp4_mac_if_ctrl(rt2x00dev); -+ -+ /* Fix I/Q swap issue */ -+ rt2800_bbp_read(rt2x00dev, 1, &bbp); -+ bbp |= 0x04; -+ rt2800_bbp_write(rt2x00dev, 1, bbp); -+ -+ /* BBP for G band */ -+ rt2800_bbp_write(rt2x00dev, 3, 0x08); -+ rt2800_bbp_write(rt2x00dev, 4, 0x00); /* rt2800_bbp4_mac_if_ctrl? */ -+ rt2800_bbp_write(rt2x00dev, 6, 0x08); -+ rt2800_bbp_write(rt2x00dev, 14, 0x09); -+ rt2800_bbp_write(rt2x00dev, 15, 0xFF); -+ rt2800_bbp_write(rt2x00dev, 16, 0x01); -+ rt2800_bbp_write(rt2x00dev, 20, 0x06); -+ rt2800_bbp_write(rt2x00dev, 21, 0x00); -+ rt2800_bbp_write(rt2x00dev, 22, 0x00); -+ rt2800_bbp_write(rt2x00dev, 27, 0x00); -+ rt2800_bbp_write(rt2x00dev, 28, 0x00); -+ rt2800_bbp_write(rt2x00dev, 30, 0x00); -+ rt2800_bbp_write(rt2x00dev, 31, 0x48); -+ rt2800_bbp_write(rt2x00dev, 47, 0x40); -+ rt2800_bbp_write(rt2x00dev, 62, 0x00); -+ rt2800_bbp_write(rt2x00dev, 63, 0x00); -+ rt2800_bbp_write(rt2x00dev, 64, 0x00); -+ rt2800_bbp_write(rt2x00dev, 65, 0x2C); -+ rt2800_bbp_write(rt2x00dev, 66, 0x1C); -+ rt2800_bbp_write(rt2x00dev, 67, 0x20); -+ rt2800_bbp_write(rt2x00dev, 68, 0xDD); -+ rt2800_bbp_write(rt2x00dev, 69, 0x10); -+ rt2800_bbp_write(rt2x00dev, 70, 0x05); -+ rt2800_bbp_write(rt2x00dev, 73, 0x18); -+ rt2800_bbp_write(rt2x00dev, 74, 0x0F); -+ rt2800_bbp_write(rt2x00dev, 75, 0x60); -+ rt2800_bbp_write(rt2x00dev, 76, 0x44); -+ rt2800_bbp_write(rt2x00dev, 77, 0x59); -+ rt2800_bbp_write(rt2x00dev, 78, 0x1E); -+ rt2800_bbp_write(rt2x00dev, 79, 0x1C); -+ rt2800_bbp_write(rt2x00dev, 80, 0x0C); -+ rt2800_bbp_write(rt2x00dev, 81, 0x3A); -+ rt2800_bbp_write(rt2x00dev, 82, 0xB6); -+ rt2800_bbp_write(rt2x00dev, 83, 0x9A); -+ rt2800_bbp_write(rt2x00dev, 84, 0x9A); -+ rt2800_bbp_write(rt2x00dev, 86, 0x38); -+ rt2800_bbp_write(rt2x00dev, 88, 0x90); -+ rt2800_bbp_write(rt2x00dev, 91, 0x04); -+ rt2800_bbp_write(rt2x00dev, 92, 0x02); -+ rt2800_bbp_write(rt2x00dev, 95, 0x9A); -+ rt2800_bbp_write(rt2x00dev, 96, 0x00); -+ rt2800_bbp_write(rt2x00dev, 103, 0xC0); -+ rt2800_bbp_write(rt2x00dev, 104, 0x92); -+ /* FIXME BBP105 owerwrite */ -+ rt2800_bbp_write(rt2x00dev, 105, 0x3C); -+ rt2800_bbp_write(rt2x00dev, 106, 0x12); -+ rt2800_bbp_write(rt2x00dev, 109, 0x00); -+ rt2800_bbp_write(rt2x00dev, 134, 0x10); -+ rt2800_bbp_write(rt2x00dev, 135, 0xA6); -+ rt2800_bbp_write(rt2x00dev, 137, 0x04); -+ rt2800_bbp_write(rt2x00dev, 142, 0x30); -+ rt2800_bbp_write(rt2x00dev, 143, 0xF7); -+ rt2800_bbp_write(rt2x00dev, 160, 0xEC); -+ rt2800_bbp_write(rt2x00dev, 161, 0xC4); -+ rt2800_bbp_write(rt2x00dev, 162, 0x77); -+ rt2800_bbp_write(rt2x00dev, 163, 0xF9); -+ rt2800_bbp_write(rt2x00dev, 164, 0x00); -+ rt2800_bbp_write(rt2x00dev, 165, 0x00); -+ rt2800_bbp_write(rt2x00dev, 186, 0x00); -+ rt2800_bbp_write(rt2x00dev, 187, 0x00); -+ rt2800_bbp_write(rt2x00dev, 188, 0x00); -+ rt2800_bbp_write(rt2x00dev, 186, 0x00); -+ rt2800_bbp_write(rt2x00dev, 187, 0x01); -+ rt2800_bbp_write(rt2x00dev, 188, 0x00); -+ rt2800_bbp_write(rt2x00dev, 189, 0x00); -+ -+ rt2800_bbp_write(rt2x00dev, 91, 0x06); -+ rt2800_bbp_write(rt2x00dev, 92, 0x04); -+ rt2800_bbp_write(rt2x00dev, 93, 0x54); -+ rt2800_bbp_write(rt2x00dev, 99, 0x50); -+ rt2800_bbp_write(rt2x00dev, 148, 0x84); -+ rt2800_bbp_write(rt2x00dev, 167, 0x80); -+ rt2800_bbp_write(rt2x00dev, 178, 0xFF); -+ rt2800_bbp_write(rt2x00dev, 106, 0x13); -+ -+ /* BBP for G band GLRT function (BBP_128 ~ BBP_221) */ -+ rt2800_bbp_glrt_write(rt2x00dev, 0, 0x00); -+ rt2800_bbp_glrt_write(rt2x00dev, 1, 0x14); /* ? see above */ -+ rt2800_bbp_glrt_write(rt2x00dev, 2, 0x20); -+ rt2800_bbp_glrt_write(rt2x00dev, 3, 0x0A); -+ rt2800_bbp_glrt_write(rt2x00dev, 10, 0x16); -+ rt2800_bbp_glrt_write(rt2x00dev, 11, 0x06); -+ rt2800_bbp_glrt_write(rt2x00dev, 12, 0x02); -+ rt2800_bbp_glrt_write(rt2x00dev, 13, 0x07); -+ rt2800_bbp_glrt_write(rt2x00dev, 14, 0x05); -+ rt2800_bbp_glrt_write(rt2x00dev, 15, 0x09); -+ rt2800_bbp_glrt_write(rt2x00dev, 16, 0x20); -+ rt2800_bbp_glrt_write(rt2x00dev, 17, 0x08); -+ rt2800_bbp_glrt_write(rt2x00dev, 18, 0x4A); -+ rt2800_bbp_glrt_write(rt2x00dev, 19, 0x00); -+ rt2800_bbp_glrt_write(rt2x00dev, 20, 0x00); -+ rt2800_bbp_glrt_write(rt2x00dev, 128, 0xE0); -+ rt2800_bbp_glrt_write(rt2x00dev, 129, 0x1F); -+ rt2800_bbp_glrt_write(rt2x00dev, 130, 0x4F); -+ rt2800_bbp_glrt_write(rt2x00dev, 131, 0x32); -+ rt2800_bbp_glrt_write(rt2x00dev, 132, 0x08); -+ rt2800_bbp_glrt_write(rt2x00dev, 133, 0x28); -+ rt2800_bbp_glrt_write(rt2x00dev, 134, 0x19); -+ rt2800_bbp_glrt_write(rt2x00dev, 135, 0x0A); -+ rt2800_bbp_glrt_write(rt2x00dev, 138, 0x16); -+ rt2800_bbp_glrt_write(rt2x00dev, 139, 0x10); -+ rt2800_bbp_glrt_write(rt2x00dev, 140, 0x10); -+ rt2800_bbp_glrt_write(rt2x00dev, 141, 0x1A); -+ rt2800_bbp_glrt_write(rt2x00dev, 142, 0x36); -+ rt2800_bbp_glrt_write(rt2x00dev, 143, 0x2C); -+ rt2800_bbp_glrt_write(rt2x00dev, 144, 0x26); -+ rt2800_bbp_glrt_write(rt2x00dev, 145, 0x24); -+ rt2800_bbp_glrt_write(rt2x00dev, 146, 0x42); -+ rt2800_bbp_glrt_write(rt2x00dev, 147, 0x40); -+ rt2800_bbp_glrt_write(rt2x00dev, 148, 0x30); -+ rt2800_bbp_glrt_write(rt2x00dev, 149, 0x29); -+ rt2800_bbp_glrt_write(rt2x00dev, 150, 0x4C); -+ rt2800_bbp_glrt_write(rt2x00dev, 151, 0x46); -+ rt2800_bbp_glrt_write(rt2x00dev, 152, 0x3D); -+ rt2800_bbp_glrt_write(rt2x00dev, 153, 0x40); -+ rt2800_bbp_glrt_write(rt2x00dev, 154, 0x3E); -+ rt2800_bbp_glrt_write(rt2x00dev, 155, 0x38); -+ rt2800_bbp_glrt_write(rt2x00dev, 156, 0x3D); -+ rt2800_bbp_glrt_write(rt2x00dev, 157, 0x2F); -+ rt2800_bbp_glrt_write(rt2x00dev, 158, 0x3C); -+ rt2800_bbp_glrt_write(rt2x00dev, 159, 0x34); -+ rt2800_bbp_glrt_write(rt2x00dev, 160, 0x2C); -+ rt2800_bbp_glrt_write(rt2x00dev, 161, 0x2F); -+ rt2800_bbp_glrt_write(rt2x00dev, 162, 0x3C); -+ rt2800_bbp_glrt_write(rt2x00dev, 163, 0x35); -+ rt2800_bbp_glrt_write(rt2x00dev, 164, 0x2E); -+ rt2800_bbp_glrt_write(rt2x00dev, 165, 0x2F); -+ rt2800_bbp_glrt_write(rt2x00dev, 166, 0x49); -+ rt2800_bbp_glrt_write(rt2x00dev, 167, 0x41); -+ rt2800_bbp_glrt_write(rt2x00dev, 168, 0x36); -+ rt2800_bbp_glrt_write(rt2x00dev, 169, 0x39); -+ rt2800_bbp_glrt_write(rt2x00dev, 170, 0x30); -+ rt2800_bbp_glrt_write(rt2x00dev, 171, 0x30); -+ rt2800_bbp_glrt_write(rt2x00dev, 172, 0x0E); -+ rt2800_bbp_glrt_write(rt2x00dev, 173, 0x0D); -+ rt2800_bbp_glrt_write(rt2x00dev, 174, 0x28); -+ rt2800_bbp_glrt_write(rt2x00dev, 175, 0x21); -+ rt2800_bbp_glrt_write(rt2x00dev, 176, 0x1C); -+ rt2800_bbp_glrt_write(rt2x00dev, 177, 0x16); -+ rt2800_bbp_glrt_write(rt2x00dev, 178, 0x50); -+ rt2800_bbp_glrt_write(rt2x00dev, 179, 0x4A); -+ rt2800_bbp_glrt_write(rt2x00dev, 180, 0x43); -+ rt2800_bbp_glrt_write(rt2x00dev, 181, 0x50); -+ rt2800_bbp_glrt_write(rt2x00dev, 182, 0x10); -+ rt2800_bbp_glrt_write(rt2x00dev, 183, 0x10); -+ rt2800_bbp_glrt_write(rt2x00dev, 184, 0x10); -+ rt2800_bbp_glrt_write(rt2x00dev, 185, 0x10); -+ rt2800_bbp_glrt_write(rt2x00dev, 200, 0x7D); -+ rt2800_bbp_glrt_write(rt2x00dev, 201, 0x14); -+ rt2800_bbp_glrt_write(rt2x00dev, 202, 0x32); -+ rt2800_bbp_glrt_write(rt2x00dev, 203, 0x2C); -+ rt2800_bbp_glrt_write(rt2x00dev, 204, 0x36); -+ rt2800_bbp_glrt_write(rt2x00dev, 205, 0x4C); -+ rt2800_bbp_glrt_write(rt2x00dev, 206, 0x43); -+ rt2800_bbp_glrt_write(rt2x00dev, 207, 0x2C); -+ rt2800_bbp_glrt_write(rt2x00dev, 208, 0x2E); -+ rt2800_bbp_glrt_write(rt2x00dev, 209, 0x36); -+ rt2800_bbp_glrt_write(rt2x00dev, 210, 0x30); -+ rt2800_bbp_glrt_write(rt2x00dev, 211, 0x6E); -+ -+ /* BBP for G band DCOC function */ -+ rt2800_bbp_dcoc_write(rt2x00dev, 140, 0x0C); -+ rt2800_bbp_dcoc_write(rt2x00dev, 141, 0x00); -+ rt2800_bbp_dcoc_write(rt2x00dev, 142, 0x10); -+ rt2800_bbp_dcoc_write(rt2x00dev, 143, 0x10); -+ rt2800_bbp_dcoc_write(rt2x00dev, 144, 0x10); -+ rt2800_bbp_dcoc_write(rt2x00dev, 145, 0x10); -+ rt2800_bbp_dcoc_write(rt2x00dev, 146, 0x08); -+ rt2800_bbp_dcoc_write(rt2x00dev, 147, 0x40); -+ rt2800_bbp_dcoc_write(rt2x00dev, 148, 0x04); -+ rt2800_bbp_dcoc_write(rt2x00dev, 149, 0x04); -+ rt2800_bbp_dcoc_write(rt2x00dev, 150, 0x08); -+ rt2800_bbp_dcoc_write(rt2x00dev, 151, 0x08); -+ rt2800_bbp_dcoc_write(rt2x00dev, 152, 0x03); -+ rt2800_bbp_dcoc_write(rt2x00dev, 153, 0x03); -+ rt2800_bbp_dcoc_write(rt2x00dev, 154, 0x03); -+ rt2800_bbp_dcoc_write(rt2x00dev, 155, 0x02); -+ rt2800_bbp_dcoc_write(rt2x00dev, 156, 0x40); -+ rt2800_bbp_dcoc_write(rt2x00dev, 157, 0x40); -+ rt2800_bbp_dcoc_write(rt2x00dev, 158, 0x64); -+ rt2800_bbp_dcoc_write(rt2x00dev, 159, 0x64); -+ -+ rt2800_bbp4_mac_if_ctrl(rt2x00dev); -+} -+ - static void rt2800_init_bbp(struct rt2x00_dev *rt2x00dev) - { - unsigned int i; -@@ -6178,7 +6821,10 @@ static void rt2800_init_bbp(struct rt2x0 - return; - case RT5390: - case RT5392: -- rt2800_init_bbp_53xx(rt2x00dev); -+ if (rt2x00dev->chip.rf == RF7620) -+ rt2800_init_bbp_7620(rt2x00dev); -+ else -+ rt2800_init_bbp_53xx(rt2x00dev); - break; - case RT5592: - rt2800_init_bbp_5592(rt2x00dev); -@@ -7392,6 +8038,296 @@ static void rt2800_init_rfcsr_5592(struc - rt2800_led_open_drain_enable(rt2x00dev); - } - -+static void rt2800_init_rfcsr_7620(struct rt2x00_dev *rt2x00dev) -+{ -+ u16 freq; -+ u8 rfvalue; -+ struct hw_mode_spec *spec = &rt2x00dev->spec; -+ -+ /* Initialize RF central register to default value */ -+ rt2800_rfcsr_write(rt2x00dev, 0, 0x02); -+ rt2800_rfcsr_write(rt2x00dev, 1, 0x03); -+ rt2800_rfcsr_write(rt2x00dev, 2, 0x33); -+ rt2800_rfcsr_write(rt2x00dev, 3, 0xFF); -+ rt2800_rfcsr_write(rt2x00dev, 4, 0x0C); -+ rt2800_rfcsr_write(rt2x00dev, 5, 0x40); /* Read only */ -+ rt2800_rfcsr_write(rt2x00dev, 6, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 7, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 8, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 9, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 10, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 11, 0x00); -+ /* rt2800_rfcsr_write(rt2x00dev, 12, 0x43); *//* EEPROM */ -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 14, 0x40); -+ rt2800_rfcsr_write(rt2x00dev, 15, 0x22); -+ rt2800_rfcsr_write(rt2x00dev, 16, 0x4C); -+ rt2800_rfcsr_write(rt2x00dev, 17, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 18, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 19, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 20, 0xA0); -+ rt2800_rfcsr_write(rt2x00dev, 21, 0x12); -+ rt2800_rfcsr_write(rt2x00dev, 22, 0x07); -+ rt2800_rfcsr_write(rt2x00dev, 23, 0x13); -+ rt2800_rfcsr_write(rt2x00dev, 24, 0xFE); -+ rt2800_rfcsr_write(rt2x00dev, 25, 0x24); -+ rt2800_rfcsr_write(rt2x00dev, 26, 0x7A); -+ rt2800_rfcsr_write(rt2x00dev, 27, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 28, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 29, 0x05); -+ rt2800_rfcsr_write(rt2x00dev, 30, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 31, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 32, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 33, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 34, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 35, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 36, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 37, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 38, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 39, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 40, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 41, 0xD0); -+ rt2800_rfcsr_write(rt2x00dev, 42, 0x5B); -+ rt2800_rfcsr_write(rt2x00dev, 43, 0x00); -+ -+ rt2800_rfcsr_write(rt2x00dev, 11, 0x21); -+ if (spec->clk_is_20mhz) -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x03); -+ else -+ rt2800_rfcsr_write(rt2x00dev, 13, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 14, 0x7C); -+ rt2800_rfcsr_write(rt2x00dev, 16, 0x80); -+ rt2800_rfcsr_write(rt2x00dev, 17, 0x99); -+ rt2800_rfcsr_write(rt2x00dev, 18, 0x99); -+ rt2800_rfcsr_write(rt2x00dev, 19, 0x09); -+ rt2800_rfcsr_write(rt2x00dev, 20, 0x50); -+ rt2800_rfcsr_write(rt2x00dev, 21, 0xB0); -+ rt2800_rfcsr_write(rt2x00dev, 22, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 23, 0x06); -+ rt2800_rfcsr_write(rt2x00dev, 24, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 25, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 26, 0x5D); -+ rt2800_rfcsr_write(rt2x00dev, 27, 0x00); -+ rt2800_rfcsr_write(rt2x00dev, 28, 0x61); -+ rt2800_rfcsr_write(rt2x00dev, 29, 0xB5); -+ rt2800_rfcsr_write(rt2x00dev, 43, 0x02); -+ -+ rt2800_rfcsr_write(rt2x00dev, 28, 0x62); -+ rt2800_rfcsr_write(rt2x00dev, 29, 0xAD); -+ rt2800_rfcsr_write(rt2x00dev, 39, 0x80); -+ /* RTMP_TEMPERATURE_CALIBRATION */ -+ /* rt2800_rfcsr_write(rt2x00dev, 34, 0x23); */ -+ /* rt2800_rfcsr_write(rt2x00dev, 35, 0x01); */ -+ -+ /* use rt2800_adjust_freq_offset ? */ -+ rt2800_eeprom_read(rt2x00dev, EEPROM_FREQ, &freq); -+ rfvalue = freq & 0xff; -+ rt2800_rfcsr_write(rt2x00dev, 12, rfvalue); -+ -+ /* Initialize RF channel register to default value */ -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 0, 0x03); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 1, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 2, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 3, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 4, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 5, 0x08); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 6, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 7, 0x51); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 8, 0x53); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x16); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x61); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 11, 0x53); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 12, 0x22); -+ /* rt2800_rfcsr_write_chanreg(rt2x00dev, 13, 0x3D); */ /* fails */ -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x06); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 15, 0x13); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 16, 0x22); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 17, 0x27); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 18, 0x02); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 19, 0xA7); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 20, 0x01); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 21, 0x52); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 22, 0x80); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 23, 0xB3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 24, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 25, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 26, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 27, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 28, 0x5C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 29, 0x6B); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 30, 0x6B); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 31, 0x31); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 32, 0x5D); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 33, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 34, 0xE6); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 35, 0x55); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 36, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 37, 0xBB); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 38, 0xB3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 39, 0xB3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 40, 0x03); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 41, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 42, 0x00); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xB3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xD3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xD5); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 46, 0x07); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x68); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0xEF); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 49, 0x1C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 54, 0x07); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0xA8); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 56, 0x85); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 57, 0x10); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 58, 0x07); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6A); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0x85); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 61, 0x10); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 62, 0x1C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 63, 0x00); -+ -+ rt2800_rfcsr_write_bank(rt2x00dev, 6, 45, 0xC5); -+ -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x47); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x71); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 11, 0x33); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x0E); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 17, 0x23); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 19, 0xA4); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 20, 0x02); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 21, 0x12); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 28, 0x1C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 29, 0xEB); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 32, 0x7D); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 34, 0xD6); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 36, 0x08); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 38, 0xB4); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xD3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xB3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xD5); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 46, 0x27); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x69); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0xFF); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 54, 0x20); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x66); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 56, 0xFF); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 57, 0x1C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 58, 0x20); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6B); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0xF7); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 61, 0x09); -+ -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x51); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x06); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 19, 0xA7); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 28, 0x2C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x64); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 8, 0x51); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x36); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 11, 0x53); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x16); -+ -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x6C); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0xFC); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 49, 0x1F); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 54, 0x27); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x66); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6B); -+ -+ /* Initialize RF channel register for DRQFN */ -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xD3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xE3); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xE5); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x28); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x68); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 56, 0xF7); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 58, 0x02); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0xC7); -+ -+ /* reduce power consumption */ -+/* rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0x53); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0x53); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0x53); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x64); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0x4F); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 49, 0x02); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x64); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 56, 0x4F); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 57, 0x02); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 58, 0x27); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x64); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0x4F); -+ rt2800_rfcsr_write_chanreg(rt2x00dev, 61, 0x02); -+*/ -+ /* Initialize RF DC calibration register to default value */ -+ rt2800_rfcsr_write_dccal(rt2x00dev, 0, 0x47); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 1, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 2, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 3, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 4, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 6, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 7, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 8, 0x04); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 9, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 10, 0x07); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 11, 0x01); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 12, 0x07); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 13, 0x07); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 14, 0x07); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 15, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 16, 0x22); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 17, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 18, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 19, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 20, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 21, 0xF1); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 22, 0x11); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 23, 0x02); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 24, 0x41); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 25, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 26, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 27, 0xD7); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 28, 0xA2); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 29, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 30, 0x49); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 31, 0x20); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 32, 0x04); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 33, 0xF1); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 34, 0xA1); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 35, 0x01); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 41, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 42, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 43, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 44, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 45, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 46, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 47, 0x3E); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 48, 0x3D); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 49, 0x3E); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 50, 0x3D); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 51, 0x3E); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 52, 0x3D); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 53, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 54, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 55, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 56, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 57, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 58, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 59, 0x10); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 60, 0x0A); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 61, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 62, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 63, 0x00); -+ -+ rt2800_rfcsr_write_dccal(rt2x00dev, 3, 0x08); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 4, 0x04); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x20); -+ -+ rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x00); -+ rt2800_rfcsr_write_dccal(rt2x00dev, 17, 0x7C); -+} -+ - static void rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) - { - if (rt2800_is_305x_soc(rt2x00dev)) { -@@ -7427,7 +8363,10 @@ static void rt2800_init_rfcsr(struct rt2 - rt2800_init_rfcsr_5350(rt2x00dev); - break; - case RT5390: -- rt2800_init_rfcsr_5390(rt2x00dev); -+ if (rt2x00dev->chip.rf == RF7620) -+ rt2800_init_rfcsr_7620(rt2x00dev); -+ else -+ rt2800_init_rfcsr_5390(rt2x00dev); - break; - case RT5392: - rt2800_init_rfcsr_5392(rt2x00dev); -@@ -7859,6 +8798,7 @@ static int rt2800_init_eeprom(struct rt2 - case RF5390: - case RF5392: - case RF5592: -+ case RF7620: - break; - default: - rt2x00_err(rt2x00dev, "Invalid RF chipset 0x%04x detected\n", -@@ -8423,6 +9363,7 @@ static int rt2800_probe_hw_mode(struct r - case RF5372: - case RF5390: - case RF5392: -+ case RF7620: - spec->num_channels = 14; - if (spec->clk_is_20mhz) - spec->channels = rf_vals_xtal20mhz_3x; -@@ -8563,6 +9504,7 @@ static int rt2800_probe_hw_mode(struct r - case RF5372: - case RF5390: - case RF5392: -+ case RF7620: - __set_bit(CAPABILITY_VCO_RECALIBRATION, &rt2x00dev->cap_flags); - break; - } diff --git a/feeds/rtkmipsel/mac80211/patches/921-ath10k_init_devices_synchronously.patch b/feeds/rtkmipsel/mac80211/patches/921-ath10k_init_devices_synchronously.patch deleted file mode 100644 index 8c6d720a7..000000000 --- a/feeds/rtkmipsel/mac80211/patches/921-ath10k_init_devices_synchronously.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Sven Eckelmann -Date: Tue, 18 Nov 2014 12:29:28 +0100 -Subject: [PATCH] ath10k: Don't initialize devices asynchronously - -OpenWrt requires all PHYs to be initialized to create the configuration files -during bootup. ath10k violates this because it delays the creation of the PHY -to a not well defined point in the future. - -Forcing the work to be done immediately works around this problem but may also -delay the boot when firmware images cannot be found. - -Signed-off-by: Sven Eckelmann ---- - ---- a/drivers/net/wireless/ath/ath10k/core.c -+++ b/drivers/net/wireless/ath/ath10k/core.c -@@ -1914,6 +1914,16 @@ int ath10k_core_register(struct ath10k * - ar->chip_id = chip_id; - queue_work(ar->workqueue, &ar->register_work); - -+ /* OpenWrt requires all PHYs to be initialized to create the -+ * configuration files during bootup. ath10k violates this -+ * because it delays the creation of the PHY to a not well defined -+ * point in the future. -+ * -+ * Forcing the work to be done immediately works around this problem -+ * but may also delay the boot when firmware images cannot be found. -+ */ -+ flush_workqueue(ar->workqueue); -+ - return 0; - } - EXPORT_SYMBOL(ath10k_core_register); diff --git a/feeds/rtkmipsel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch b/feeds/rtkmipsel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch deleted file mode 100644 index 281b4475a..000000000 --- a/feeds/rtkmipsel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/drivers/net/wireless/ath/ath10k/mac.c -+++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -7141,6 +7141,21 @@ struct ath10k_vif *ath10k_get_arvif(stru - return arvif_iter.arvif; - } - -+#ifdef CPTCFG_MAC80211_LEDS -+static const struct ieee80211_tpt_blink ath10k_tpt_blink[] = { -+ { .throughput = 0 * 1024, .blink_time = 334 }, -+ { .throughput = 1 * 1024, .blink_time = 260 }, -+ { .throughput = 2 * 1024, .blink_time = 220 }, -+ { .throughput = 5 * 1024, .blink_time = 190 }, -+ { .throughput = 10 * 1024, .blink_time = 170 }, -+ { .throughput = 25 * 1024, .blink_time = 150 }, -+ { .throughput = 54 * 1024, .blink_time = 130 }, -+ { .throughput = 120 * 1024, .blink_time = 110 }, -+ { .throughput = 265 * 1024, .blink_time = 80 }, -+ { .throughput = 586 * 1024, .blink_time = 50 }, -+}; -+#endif -+ - int ath10k_mac_register(struct ath10k *ar) - { - static const u32 cipher_suites[] = { -@@ -7357,6 +7372,12 @@ int ath10k_mac_register(struct ath10k *a - ar->hw->wiphy->cipher_suites = cipher_suites; - ar->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); - -+#if CPTCFG_MAC80211_LEDS -+ ieee80211_create_tpt_led_trigger(ar->hw, -+ IEEE80211_TPT_LEDTRIG_FL_RADIO, ath10k_tpt_blink, -+ ARRAY_SIZE(ath10k_tpt_blink)); -+#endif -+ - ret = ieee80211_register_hw(ar->hw); - if (ret) { - ath10k_err(ar, "failed to register ieee80211: %d\n", ret); diff --git a/feeds/rtkmipsel/mac80211/patches/940-mwl8k_init_devices_synchronously.patch b/feeds/rtkmipsel/mac80211/patches/940-mwl8k_init_devices_synchronously.patch deleted file mode 100644 index 357faee4b..000000000 --- a/feeds/rtkmipsel/mac80211/patches/940-mwl8k_init_devices_synchronously.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/net/wireless/marvell/mwl8k.c -+++ b/drivers/net/wireless/marvell/mwl8k.c -@@ -6264,6 +6264,8 @@ static int mwl8k_probe(struct pci_dev *p - - priv->running_bsses = 0; - -+ wait_for_completion(&priv->firmware_loading_complete); -+ - return rc; - - err_stop_firmware: -@@ -6297,8 +6299,6 @@ static void mwl8k_remove(struct pci_dev - return; - priv = hw->priv; - -- wait_for_completion(&priv->firmware_loading_complete); -- - if (priv->fw_state == FW_STATE_ERROR) { - mwl8k_hw_reset(priv); - goto unmap; diff --git a/feeds/rtkmipsel/mac80211/patches/950-rtk_add_rtl8192cd_wifi_support.patch b/feeds/rtkmipsel/mac80211/patches/950-rtk_add_rtl8192cd_wifi_support.patch deleted file mode 100644 index a11e60822..000000000 --- a/feeds/rtkmipsel/mac80211/patches/950-rtk_add_rtl8192cd_wifi_support.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -urN a/drivers/net/wireless/realtek/Kconfig b/drivers/net/wireless/realtek/Kconfig ---- a/drivers/net/wireless/realtek/Kconfig 2016-06-13 13:57:04.071939493 +0800 -+++ b/drivers/net/wireless/realtek/Kconfig 2016-06-13 13:58:00.311940417 +0800 -@@ -14,5 +14,6 @@ - source "drivers/net/wireless/realtek/rtl818x/Kconfig" - source "drivers/net/wireless/realtek/rtlwifi/Kconfig" - source "drivers/net/wireless/realtek/rtl8xxxu/Kconfig" -+source "drivers/net/wireless/realtek/rtl8192cd/Kconfig" - - endif # WLAN_VENDOR_REALTEK -diff -urN a/drivers/net/wireless/realtek/Makefile b/drivers/net/wireless/realtek/Makefile ---- a/drivers/net/wireless/realtek/Makefile 2016-06-13 13:57:11.307939612 +0800 -+++ b/drivers/net/wireless/realtek/Makefile 2016-06-13 13:58:05.999940510 +0800 -@@ -6,4 +6,5 @@ - obj-$(CPTCFG_RTL8187) += rtl818x/ - obj-$(CPTCFG_RTLWIFI) += rtlwifi/ - obj-$(CPTCFG_RTL8XXXU) += rtl8xxxu/ -+obj-$(CPTCFG_RTL8192CD) += rtl8192cd/ - diff --git a/feeds/rtkmipsel/mac80211/patches/951-rtk-add.wifi.iwrpiv.cmds.patch b/feeds/rtkmipsel/mac80211/patches/951-rtk-add.wifi.iwrpiv.cmds.patch deleted file mode 100644 index ea46b9136..000000000 --- a/feeds/rtkmipsel/mac80211/patches/951-rtk-add.wifi.iwrpiv.cmds.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff -urN a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c ---- a/net/wireless/wext-compat.c 2016-06-14 14:45:07.165166599 +0800 -+++ b/net/wireless/wext-compat.c 2016-06-14 14:45:02.869166529 +0800 -@@ -1523,9 +1523,66 @@ - [IW_IOCTL_IDX(SIOCSIWENCODEEXT)]= (iw_handler) cfg80211_wext_siwencodeext, - [IW_IOCTL_IDX(SIOCSIWPMKSA)] = (iw_handler) cfg80211_wext_siwpmksa, - }; -+//rtk added below -+#define RTL8192CD_IOCTL_SET_MIB (SIOCDEVPRIVATE + 0x1) // 0x89f1 -+#define RTL8192CD_IOCTL_GET_MIB (SIOCDEVPRIVATE + 0x2) // 0x89f2 -+#define RTL8192CD_IOCTL_WRITE_REG (SIOCDEVPRIVATE + 0x3) // 0x89f3 -+#define RTL8192CD_IOCTL_READ_REG (SIOCDEVPRIVATE + 0x4) // 0x89f4 -+#define RTL8192CD_IOCTL_WRITE_MEM (SIOCDEVPRIVATE + 0x5) // 0x89f5 -+#define RTL8192CD_IOCTL_READ_MEM (SIOCDEVPRIVATE + 0x6) // 0x89f6 -+#define RTL8192CD_IOCTL_DEL_STA (SIOCDEVPRIVATE + 0x7) // 0x89f7 -+#define RTL8192CD_IOCTL_WRITE_EEPROM (SIOCDEVPRIVATE + 0x8) // 0x89f8 -+#define RTL8192CD_IOCTL_READ_EEPROM (SIOCDEVPRIVATE + 0x9) // 0x89f9 -+#define RTL8192CD_IOCTL_WRITE_BB_REG (SIOCDEVPRIVATE + 0xa) // 0x89fa -+#define RTL8192CD_IOCTL_READ_BB_REG (SIOCDEVPRIVATE + 0xb) // 0x89fb -+#define RTL8192CD_IOCTL_WRITE_RF_REG (SIOCDEVPRIVATE + 0xc) // 0x89fc -+#define RTL8192CD_IOCTL_READ_RF_REG (SIOCDEVPRIVATE + 0xd) // 0x89fd -+ -+ -+#define SIOCGIWRTLREGDUMP 0x8B78 -+ -+struct iw_priv_args privtab[] = { -+ { RTL8192CD_IOCTL_SET_MIB, IW_PRIV_TYPE_CHAR | 450, 0, "set_mib" }, -+ { RTL8192CD_IOCTL_GET_MIB, IW_PRIV_TYPE_CHAR | 40, IW_PRIV_TYPE_BYTE | 128, "get_mib" }, -+#if 1 -+ { RTL8192CD_IOCTL_WRITE_REG, IW_PRIV_TYPE_CHAR | 128, 0, "write_reg" }, -+ { RTL8192CD_IOCTL_READ_REG, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_BYTE | 128, "read_reg" }, -+ { RTL8192CD_IOCTL_WRITE_MEM, IW_PRIV_TYPE_CHAR | 128, 0, "write_mem" }, -+ { RTL8192CD_IOCTL_READ_MEM, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_BYTE | 128, "read_mem" }, -+ { RTL8192CD_IOCTL_WRITE_BB_REG, IW_PRIV_TYPE_CHAR | 128, 0, "write_bb" }, -+ { RTL8192CD_IOCTL_READ_BB_REG, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_BYTE | 128, "read_bb" }, -+ { RTL8192CD_IOCTL_WRITE_RF_REG, IW_PRIV_TYPE_CHAR | 128, 0, "write_rf" }, -+ { RTL8192CD_IOCTL_READ_RF_REG, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_BYTE | 128, "read_rf" }, -+#endif -+ -+ { SIOCGIWRTLREGDUMP, IW_PRIV_TYPE_CHAR | 40, 0, "reg_dump" }, -+#if 0 -+ { RTL8192CD_IOCTL_DEL_STA, IW_PRIV_TYPE_CHAR | 128, 0, "del_sta" }, -+ { RTL8192CD_IOCTL_WRITE_EEPROM, IW_PRIV_TYPE_CHAR | 128, 0, "write_eeprom" }, -+ { RTL8192CD_IOCTL_READ_EEPROM, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_BYTE | 128, "read_eeprom" }, -+ { SIOCSRFPWRADJ, IW_PRIV_TYPE_CHAR | 40, IW_PRIV_TYPE_CHAR | 128, "rf_pwr" }, -+ { SIOCGIWRTLREGDUMP, IW_PRIV_TYPE_CHAR | 40, 0, "reg_dump" }, -+ { SIOCRADIOOFF, IW_PRIV_TYPE_CHAR | 128, 0, "radio_off" }, -+#ifdef EN_EFUSE -+ { SIOCEFUSE_GET, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_CHAR | 512, "efuse_get" }, -+ { SIOCEFUSE_SET, IW_PRIV_TYPE_CHAR | 512, IW_PRIV_TYPE_CHAR | 128, "efuse_set" }, -+ { SIOCEFUSE_SYNC, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_CHAR | 128, "efuse_sync" }, -+#endif -+ { SIOC92DAUTOCH, IW_PRIV_TYPE_CHAR | 128, 0, "autoch" }, -+#endif -+}; -+ -+static iw_handler rtl_private_handler[] = -+{ -+ NULL, // return NULL to redirect to dev->ioctl -+}; - - const struct iw_handler_def cfg80211_wext_handler = { - .num_standard = ARRAY_SIZE(cfg80211_handlers), - .standard = cfg80211_handlers, - .get_wireless_stats = cfg80211_wireless_stats, -+ .private = rtl_private_handler, -+ .private_args = (struct iw_priv_args *)privtab, -+ .num_private = sizeof(rtl_private_handler) / sizeof(iw_handler), -+ .num_private_args = sizeof(privtab) / sizeof(struct iw_priv_args) - }; diff --git a/feeds/rtkmipsel/mac80211/patches/952-rtk.regd.patch b/feeds/rtkmipsel/mac80211/patches/952-rtk.regd.patch deleted file mode 100644 index c207e7d6c..000000000 --- a/feeds/rtkmipsel/mac80211/patches/952-rtk.regd.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN a/net/wireless/reg.c b/net/wireless/reg.c ---- a/net/wireless/reg.c 2016-06-14 14:35:12.117156820 +0800 -+++ b/net/wireless/reg.c 2016-06-14 14:35:04.401156694 +0800 -@@ -179,7 +179,7 @@ - out: - return regd->dfs_region; - } -- -+EXPORT_SYMBOL(reg_get_dfs_region); - static void rcu_free_regdom(const struct ieee80211_regdomain *r) - { - if (!r) diff --git a/feeds/rtkmipsel/mac80211/patches/953-rtk_wext_and_client_fix.patch b/feeds/rtkmipsel/mac80211/patches/953-rtk_wext_and_client_fix.patch deleted file mode 100644 index a21ae84ed..000000000 --- a/feeds/rtkmipsel/mac80211/patches/953-rtk_wext_and_client_fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -urN a/net/wireless/core.c b/net/wireless/core.c ---- a/net/wireless/core.c 2016-10-24 11:56:03.973531809 +0800 -+++ b/net/wireless/core.c 2016-10-24 11:55:51.365532306 +0800 -@@ -1066,7 +1066,11 @@ - if (rdev->scan_req && rdev->scan_req->wdev == wdev) { - if (WARN_ON(!rdev->scan_req->notified)) - rdev->scan_req->aborted = true; -- ___cfg80211_scan_done(rdev, false); -+#if 1 //rtk: client mode 2nd Association -+ cfg80211_scan_done(rdev->scan_req, false); -+#else -+ ___cfg80211_scan_done(rdev, false); -+#endif - } - - sched_scan_req = rtnl_dereference(rdev->sched_scan_req); -diff -urN a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c ---- a/net/wireless/wext-compat.c 2016-10-24 11:54:42.065535036 +0800 -+++ b/net/wireless/wext-compat.c 2016-10-24 11:55:29.053533185 +0800 -@@ -85,6 +85,9 @@ - case IW_MODE_REPEAT: - type = NL80211_IFTYPE_WDS; - break; -+ case IW_MODE_MASTER: -+ type = NL80211_IFTYPE_AP; -+ break; - case IW_MODE_MONITOR: - type = NL80211_IFTYPE_MONITOR; - break; diff --git a/feeds/rtkmipsel/mac80211/scripts/import-backports.sh b/feeds/rtkmipsel/mac80211/scripts/import-backports.sh deleted file mode 100755 index d056eb6d0..000000000 --- a/feeds/rtkmipsel/mac80211/scripts/import-backports.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env bash -BASE=$1; shift - -usage() { - echo "Usage: $0 NNN ..." - exit 1 -} - -check_number() { - case "$1" in - [0-9][0-9][0-9]) return 0;; - esac - return 1; -} - -patch_header() -{ - awk ' - /^(---|\*\*\*|Index:)[ \t][^ \t]|^diff -/ \ - { exit } - { print } - ' -} - -strip_diffstat() -{ - awk ' - /#? .* \| / \ - { eat = eat $0 "\n" - next } - /^#? .* files? changed(, .* insertions?\(\+\))?(, .* deletions?\(-\))?/ \ - { eat = "" - next } - { print eat $0 - eat = "" } - ' -} - -strip_trailing_whitespace() { - sed -e 's:[ '$'\t'']*$::' -} - -fixup_header() { - awk ' - /^From / { next } - /^Subject: / { - sub("Subject: \\[[^\]]*\\]", "Subject: [PATCH]") - } - { print } - ' -} - -check_number "$BASE" || usage - -quilt series > /dev/null || { - echo "Not in quilt directory" - exit 2 -} - -get_next() { - NEW=$BASE - quilt series | while read CUR; do - [ -n "$CUR" ] || break - CUR=${CUR%%-*} - check_number "$CUR" || continue - [ "$CUR" -lt "$NEW" ] && continue - [ "$CUR" -ge "$(($BASE + 100))" ] && continue - NEW="$(($CUR + 1))" - echo $NEW - done | tail -n1 -} - -CUR=`get_next` -CUR="${CUR:-$BASE}" - -while [ -n "$1" ]; do - FILE="$1"; shift - NAME="$(basename $FILE)" - NAME="${NAME#[0-9]*-}" - echo -n "Processing patch $NAME: " - - [ -e "$FILE" ] || { - echo "file $FILE not found" - exit 1 - } - - grep -qE "$NAME$" patches/series && { - echo "already applied" - continue - } - - quilt new "$CUR-$NAME" || exit 1 - patch_header < "$FILE" | - strip_diffstat | - strip_trailing_whitespace | - fixup_header > "patches/$CUR-$NAME" - - quilt fold < "$FILE" || { - cp "$FILE" ./cur_patch - echo "patch $FILE failed to apply, copied to ./cur_patch" - exit 1 - } - - quilt refresh -p ab --no-index --no-timestamps - - CUR="$(($CUR + 1))" -done - -exit 0 diff --git a/feeds/rtkmipsel/rtk_app/Makefile b/feeds/rtkmipsel/rtk_app/Makefile deleted file mode 100755 index 4a331664a..000000000 --- a/feeds/rtkmipsel/rtk_app/Makefile +++ /dev/null @@ -1,127 +0,0 @@ -# -## Copyright (C) 2006-2009 OpenWrt.org -# -## This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=rtk_app -PKG_VERSION:=0.1 -PKG_RELEASE:=1 - -PKG_BUILD_DIR := $(KERNEL_BUILD_DIR)/$(PKG_NAME) -STAMP_PREPARED := $(STAMP_PREPARED)_$(call confvar,CONFIG_MTD_REDBOOT_PARTS) - -include $(INCLUDE_DIR)/package.mk - -define Package/rtk_app - SECTION:=Tool - CATEGORY:=Utilities - DEPENDS:=+libpcap - TITLE:=For some realtek useful utilities(for example,WLAN TX calibration..) - DEFAULT:=y -endef - -define Package/rtk_app/description - This Package is for realtek to set WLAN TX calibration parameters -endef - -define Build/Prepare - mkdir -p $(PKG_BUILD_DIR) - $(CP) ./src/* $(PKG_BUILD_DIR)/ -endef - -target=$(firstword $(subst -, ,$(BOARD))) - -MAKE_FLAGS += TARGET="$(target)" -TARGET_CFLAGS += -Dtarget_$(target)=1 -Wall - -ifdef CONFIG_MTD_REDBOOT_PARTS - MAKE_FLAGS += FIS_SUPPORT=1 - TARGET_CFLAGS += -DFIS_SUPPORT=1 -endif - -ifdef CONFIG_RTL_819XD - TARGET_CFLAGS += -DCONFIG_RTL_819XD=1 -endif -ifdef CONFIG_RTL_8196E - TARGET_CFLAGS += -DCONFIG_RTL_8196E=1 -endif -ifdef CONFIG_RTL_8881A - TARGET_CFLAGS += -DCONFIG_RTL_8881A=1 -DCONFIG_RTL_819XD=1 -endif -ifdef CONFIG_WLAN_HAL_8197F - TARGET_CFLAGS += -DCONFIG_WLAN_HAL_8197F=1 -endif -ifdef CONFIG_RTL_8197F - TARGET_CFLAGS += -DCONFIG_RTL_8197F=1 -endif -ifeq ($(CONFIG_RTL_8198C),y) - TARGET_CFLAGS += -DCONFIG_RTL_8198C=1 -endif - -ifdef CONFIG_WLAN_HAL_8881A - TARGET_CFLAGS += -DHAVE_RTK_AC_SUPPORT=1 -endif -ifdef CONFIG_RTL_8812_SUPPORT - TARGET_CFLAGS += -DHAVE_RTK_AC_SUPPORT=1 -endif -ifdef CONFIG_WLAN_HAL_8822BE - TARGET_CFLAGS += -DHAVE_RTK_AC_SUPPORT=1 -endif -ifdef CONFIG_RTL_HW_SETTING_OFFSET - TARGET_CFLAGS += -DRTK_HW_OFFSET=$(CONFIG_RTL_HW_SETTING_OFFSET) -endif -ifeq ($(CONFIG_WLAN_HAL_8881A),y) -ifeq ($(CONFIG_USE_PCIE_SLOT_0),y) - TARGET_CFLAGS += -DHAVE_RTK_DUAL_BAND_SUPPORT=1 -endif -endif -ifeq ($(CONFIG_WLAN_HAL_8197F),y) -ifeq ($(CONFIG_USE_PCIE_SLOT_0),y) - TARGET_CFLAGS += -DHAVE_RTK_DUAL_BAND_SUPPORT=1 -endif -endif -ifeq ($(CONFIG_USE_PCIE_SLOT_0),y) -ifeq ($(CONFIG_USE_PCIE_SLOT_1),y) - TARGET_CFLAGS += -DHAVE_RTK_DUAL_BAND_SUPPORT=1 -endif -endif -ifeq ($(CONFIG_RTL_92D_SUPPORT),y) - TARGET_CFLAGS += -DHAVE_RTK_92D_SUPPORT=1 -endif -ifeq ($(CONFIG_ENABLE_EFUSE),y) - TARGET_CFLAGS += -DHAVE_RTK_EFUSE=1 -endif -ifeq ($(CONFIG_RTL_WPS2_SUPPORT),y) - TARGET_CFLAGS += -DHAVE_WIFI_SIMPLE_CONFIG=1 -endif -ifeq ($(CONFIG_RTL_VAP_SUPPORT),y) - TARGET_CFLAGS += -DHAVE_WIFI_MBSSID=8 -endif - -ifeq ($(CONFIG_WLAN_HAL_8814AE),y) - TARGET_CFLAGS += -DHAVE_RTK_4T4R_AC_SUPPORT -endif - -ifeq ($(CONFIG_MTD_NAND),y) - TARGET_CFLAGS += -DCONFIG_MTD_NAND=1 -endif - -define Package/rtk_app/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/rtk_txcalr $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/rtk_bootinfo $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/flash $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpsled $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/rtk_pcap $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/etc/config - #$(INSTALL_DATA) ./files/rtk_app.conf $(1)/etc/config/rtk_app - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/rtk_app.init $(1)/etc/init.d/rtk_app -endef - -$(eval $(call BuildPackage,rtk_app)) diff --git a/feeds/rtkmipsel/rtk_app/files/rtk_app.conf b/feeds/rtkmipsel/rtk_app/files/rtk_app.conf deleted file mode 100755 index 1d5397620..000000000 --- a/feeds/rtkmipsel/rtk_app/files/rtk_app.conf +++ /dev/null @@ -1,2 +0,0 @@ -config rtk_app - option efuse enabled diff --git a/feeds/rtkmipsel/rtk_app/files/rtk_app.init b/feeds/rtkmipsel/rtk_app/files/rtk_app.init deleted file mode 100755 index 830c30ac1..000000000 --- a/feeds/rtkmipsel/rtk_app/files/rtk_app.init +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2007 OpenWrt.org -set -x -START=38 -start() { - #delay for wifi module load - sleep 0.5 - /usr/sbin/rtk_txcalr -w - iw reg set US -} -stop() -{ - echo "kill rtk_txcalr\n" -} diff --git a/feeds/rtkmipsel/rtk_app/src/Makefile b/feeds/rtkmipsel/rtk_app/src/Makefile deleted file mode 100755 index 9ca4f776f..000000000 --- a/feeds/rtkmipsel/rtk_app/src/Makefile +++ /dev/null @@ -1,50 +0,0 @@ - -CFLAGS := -s -Wall -c -Os $(CFLAGS) -LDFLAGS = -s -Wall - - -CFLAGS += -ffunction-sections -fdata-sections -LDFLAGS += --static -s -Wl,--gc-sections - - -all: clean rtk_txcalr flash rtk_pcap wpsled rtk_bootinfo - - -rtk_bootinfo: rtk_bootinfo.o - $(CC) $(LDFLAGS) -o rtk_bootinfo rtk_bootinfo.o - -rtk_txcalr: rtk_tx_calibration.o - $(CC) $(LDFLAGS) -o rtk_txcalr rtk_tx_calibration.o - -#named as flash for compliant to MP tool -flash: mibhw.o - $(CC) $(LDFLAGS) -o flash mibhw.o - -wpsled: rtk_wpsled.o - $(CC) $(LDFLAGS) -o wpsled rtk_wpsled.o - -clean: - rm -f *.o - rm -f rtk_txcalr - rm -f flash - rm -f rtk_pcap - rm -f wpsled - rm -f rtk_bootinfo - -rtk_bootinfo.o: rtk_bootinfo.c - $(CC) $(CFLAGS) -o rtk_bootinfo.o rtk_bootinfo.c - -rtk_tx_calibration.o: rtk_tx_calibration.c - $(CC) $(CFLAGS) -o rtk_tx_calibration.o rtk_tx_calibration.c - -mibhw.o: mibhw.c - $(CC) $(CFLAGS) -o mibhw.o mibhw.c - -rtk_wpsled.o: rtk_wpsled.c - $(CC) $(CFLAGS) -o rtk_wpsled.o rtk_wpsled.c - -rtk_pcap: packet_capture.c - $(CC) --static -o rtk_pcap packet_capture.c -I../../libpcap-1.5.3 -L../../libpcap-1.5.3 -lpcap - - - diff --git a/feeds/rtkmipsel/rtk_app/src/apmib.h b/feeds/rtkmipsel/rtk_app/src/apmib.h deleted file mode 100755 index 6d98ea3db..000000000 --- a/feeds/rtkmipsel/rtk_app/src/apmib.h +++ /dev/null @@ -1,3223 +0,0 @@ -/* - * Header file of AP mib - * Authors: David Hsu - * - * $Id: apmib.h,v 1.54 2009/09/15 02:12:24 bradhuang Exp $ - * - */ - - -#ifndef INCLUDE_APMIB_H -#define INCLUDE_APMIB_H - -/* Forrest, 2007.11.07. - * If you want to let APMIB adopt shared memory mechanism, define it to 1. - * Or define it to 0 will go back to original local copy mechanism. - * Note: - * 1. I only use shared memory for HW Configuration (pHwSetting), Default - * Configuration (pMibDef) and Current Configuration (pMib). There is - * no shared memory for each linkchain now. - * 2. Because uClibc does not support POSIX inter-process semaphore, I have - * to use SYSTEM V semaphore and shared memory. So if you want to adopt - * shared memory mechanism, you must go to turn on CONFIG_SYSVIPC - * kernel config to support it. - */ -#ifdef CONFIG_APMIB_SHARED - #define CONFIG_APMIB_SHARED_MEMORY 1 -#else - #define CONFIG_APMIB_SHARED_MEMORY 0 -#endif - -// added by rock ///////////////////////////////////////// -#ifdef VOIP_SUPPORT -#include "voip_flash.h" -#include "voip_flash_mib.h" -#endif - -#if defined(CONFIG_DOMAIN_NAME_QUERY_SUPPORT) -//#define LOGDEBUG_ENABLED -#endif - -#define MBSSID - -//hf -//#define CONFIG_RTL_BT_CLIENT - -#define COMPRESS_MIB_SETTING -#define MIB_TLV - -#ifdef MIB_TLV -#define MIB_TABLE_LIST 0x8000 -#else -#define MIB_TABLE_LIST 0x0 -#endif - -//#ifdef HOME_GATEWAY -//#define GW_QOS_ENGINE -//#endif -#ifdef ENABLE_QOS // thru makefile - #ifndef QOS_BY_BANDWIDTH - #define GW_QOS_ENGINE - #endif -#endif -#ifdef VOIP_SUPPORT -#ifndef HEADER_LEN_INT -#define HEADER_LEN_INT -#endif -#endif -#if defined(CONFIG_RTL_92D_SUPPORT)||defined(HAVE_RTK_DUAL_BAND_SUPPORT) -#define NUM_WLAN_INTERFACE 2 // number of wlan interface supported -#else -#define NUM_WLAN_INTERFACE 1 // number of wlan interface supported -#endif - -#if defined(CONFIG_RTL_819X) -#define NUM_WLAN_MULTIPLE_SSID 8 // number of wlan ssid support -#else -//!CONFIG_RTL_8196B => rtl8651c+rtl8190 -#define NUM_WLAN_MULTIPLE_SSID 5 // number of wlan ssid support -#endif - -#ifdef MBSSID -#define NUM_VWLAN 4 // number of virtual wlan interface supported -#else -#define NUM_VWLAN 0 -#endif - -#if defined(UNIVERSAL_REPEATER) && defined(CONFIG_RTL_ULINKER) - #define NUM_VWLAN_INTERFACE NUM_VWLAN+4 //+4 is ulinker_ap, ulinker_cl, ulinker_rpt, repeater(vxd) -#elif defined(CONFIG_RTL_ULINKER) - #define NUM_VWLAN_INTERFACE NUM_VWLAN+2 //+2 is ulinker_ap, ulinker_cl -#elif defined(UNIVERSAL_REPEATER) -#define NUM_VWLAN_INTERFACE NUM_VWLAN+1 -#else -#define NUM_VWLAN_INTERFACE NUM_VWLAN -#endif - -#if defined(UNIVERSAL_REPEATER) && defined(CONFIG_RTL_ULINKER) - #define ULINKER_AP_MIB (NUM_VWLAN_INTERFACE-3) - #define ULINKER_CL_MIB (NUM_VWLAN_INTERFACE-2) - #define ULINKER_RPT_MIB (NUM_VWLAN_INTERFACE-1) -#elif defined(CONFIG_RTL_ULINKER) - #define ULINKER_AP_MIB (NUM_VWLAN_INTERFACE-1) - #define ULINKER_CL_MIB (NUM_VWLAN_INTERFACE) -#endif - -// WLAN MIB id -#define MIB_WLAN_SSID 1 -#define MIB_WLAN_CHANNEL 2 -#define MIB_WLAN_WEP 3 -#define MIB_WLAN_WEP64_KEY1 4 -#define MIB_WLAN_WEP64_KEY2 5 -#define MIB_WLAN_WEP64_KEY3 6 -#define MIB_WLAN_WEP64_KEY4 7 -#define MIB_WLAN_WEP128_KEY1 8 -#define MIB_WLAN_WEP128_KEY2 9 -#define MIB_WLAN_WEP128_KEY3 10 -#define MIB_WLAN_WEP128_KEY4 11 -#define MIB_WLAN_WEP_KEY_TYPE 12 -#define MIB_WLAN_WEP_DEFAULT_KEY 13 -#define MIB_WLAN_FRAG_THRESHOLD 14 -#define MIB_WLAN_SUPPORTED_RATES 15 -#define MIB_WLAN_BEACON_INTERVAL 16 -#define MIB_WLAN_PREAMBLE_TYPE 17 -#define MIB_WLAN_BASIC_RATES 18 -#define MIB_WLAN_RTS_THRESHOLD 19 -#define MIB_WLAN_AUTH_TYPE 20 -#define MIB_WLAN_HIDDEN_SSID 21 -#define MIB_WLAN_WLAN_DISABLED 22 -#define MIB_ELAN_MAC_ADDR 23 -#define MIB_WLAN_WLAN_MAC_ADDR 24 -#define MIB_WLAN_ENCRYPT 25 -#define MIB_WLAN_ENABLE_SUPP_NONWPA 26 -#define MIB_WLAN_SUPP_NONWPA 27 -#define MIB_WLAN_WPA_AUTH 28 -#define MIB_WLAN_WPA_CIPHER_SUITE 29 -#define MIB_WLAN_WPA_PSK 30 -#define MIB_WLAN_WPA_GROUP_REKEY_TIME 31 -#define MIB_WLAN_RS_IP 32 -#define MIB_WLAN_RS_PORT 33 -#define MIB_WLAN_RS_PASSWORD 34 -#define MIB_WLAN_ENABLE_1X 35 -#define MIB_WLAN_PSK_FORMAT 36 -#define MIB_WLAN_WPA2_PRE_AUTH 37 -#define MIB_WLAN_WPA2_CIPHER_SUITE 38 -#define MIB_WLAN_ACCOUNT_RS_ENABLED 39 -#define MIB_WLAN_ACCOUNT_RS_IP 40 -#define MIB_WLAN_ACCOUNT_RS_PORT 41 -#define MIB_WLAN_ACCOUNT_RS_PASSWORD 42 -#define MIB_WLAN_ACCOUNT_RS_UPDATE_ENABLED 43 -#define MIB_WLAN_ACCOUNT_RS_UPDATE_DELAY 44 -#define MIB_WLAN_MAC_AUTH_ENABLED 45 -#define MIB_WLAN_RS_MAXRETRY 46 -#define MIB_WLAN_RS_INTERVAL_TIME 47 -#define MIB_WLAN_ACCOUNT_RS_MAXRETRY 48 -#define MIB_WLAN_ACCOUNT_RS_INTERVAL_TIME 49 - -#define MIB_WLAN_INACTIVITY_TIME 50 -#define MIB_WLAN_RATE_ADAPTIVE_ENABLED 51 -#define MIB_WLAN_MACAC_ENABLED 52 -#define MIB_WLAN_MACAC_NUM 53 -#define MIB_WLAN_MACAC_ADDR ((MIB_WLAN_MACAC_NUM+1)|MIB_TABLE_LIST) -#define MIB_WLAN_AC_ADDR_ADD ((MIB_WLAN_MACAC_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_WLAN_AC_ADDR_DEL ((MIB_WLAN_MACAC_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_WLAN_AC_ADDR_DELALL ((MIB_WLAN_MACAC_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_WLAN_DTIM_PERIOD 58 -#define MIB_WLAN_MODE 59 -#define MIB_WLAN_NETWORK_TYPE 60 -#define MIB_WLAN_DEFAULT_SSID 61 // used while configured as Ad-hoc and no any other Ad-hoc could be joined - // it will use this default SSID to start BSS -#define MIB_WLAN_IAPP_DISABLED 62 -#define MIB_WLAN_WDS_ENABLED 63 -#define MIB_WLAN_WDS_NUM 64 -#define MIB_WLAN_WDS ((MIB_WLAN_WDS_NUM+1)|MIB_TABLE_LIST) -#define MIB_WLAN_WDS_ADD ((MIB_WLAN_WDS_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_WLAN_WDS_DEL ((MIB_WLAN_WDS_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_WLAN_WDS_DELALL ((MIB_WLAN_WDS_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_WLAN_WDS_ENCRYPT 69 -#define MIB_WLAN_WDS_WEP_FORMAT 70 -#define MIB_WLAN_WDS_WEP_KEY 71 -#define MIB_WLAN_WDS_PSK_FORMAT 72 -#define MIB_WLAN_WDS_PSK 73 -#define MIB_WLAN_BAND 74 -#define MIB_WLAN_FIX_RATE 75 -#define MIB_WLAN_BLOCK_RELAY 76 -#define MIB_WLAN_MACCLONE_ENABLED 77 -#define MIB_WLAN_PROTECTION_DISABLED 78 -#ifdef TLS_CLIENT -//sc_yang for client mode TLS -#define MIB_CERTROOT_TBL_NUM 79 -#define MIB_CERTROOT_TBL ((MIB_CERTROOT_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_CERTROOT_ADD ((MIB_CERTROOT_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_CERTROOT_DEL ((MIB_CERTROOT_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_CERTROOT_DELALL ((MIB_CERTROOT_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_CERTUSER_TBL_NUM 84 -#define MIB_CERTUSER_TBL ((MIB_CERTUSER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_CERTUSER_ADD ((MIB_CERTUSER_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_CERTUSER_DEL ((MIB_CERTUSER_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_CERTUSER_DELALL ((MIB_CERTUSER_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#endif - -// for WMM -#define MIB_WLAN_WMM_ENABLED 89 - -#ifdef WLAN_EASY_CONFIG -#define MIB_WLAN_EASYCFG_ENABLED 90 -#define MIB_WLAN_EASYCFG_MODE 91 -#define MIB_WLAN_EASYCFG_SSID 92 -#define MIB_WLAN_EASYCFG_KEY 93 -#define MIB_WLAN_EASYCFG_ALG_REQ 94 -#define MIB_WLAN_EASYCFG_ALG_SUPP 95 -#define MIB_WLAN_EASYCFG_DIGEST 96 -#define MIB_WLAN_EASYCFG_ROLE 97 -#define MIB_WLAN_EASYCFG_SCAN_SSID 98 -#define MIB_WLAN_EASYCFG_WLAN_MODE 99 -#endif // WLAN_EASY_CONFIG - -#ifdef MIB_TLV -#define MIB_ROOT (100|MIB_TABLE_LIST) -#define MIB_WLAN_ROOT (101|MIB_TABLE_LIST) -#else //etop modify -#define MIB_ROOT (100|MIB_TABLE_LIST) -#define MIB_WLAN_ROOT (101|MIB_TABLE_LIST) - -#endif -#if defined(CONFIG_RTL_8198_AP_ROOT) || defined(CONFIG_RTL_8197D_AP) -#define MIB_NTP_ENABLED 151 -#define MIB_NTP_SERVER_ID 152 -#define MIB_NTP_TIMEZONE 153 -#define MIB_NTP_SERVER_IP1 154 -#define MIB_NTP_SERVER_IP2 155 -#endif - -#define MIB_WAN_MAC_ADDR 100 -#define MIB_WAN_IP_ADDR 101 -#define MIB_WAN_SUBNET_MASK 102 -#define MIB_WAN_DEFAULT_GATEWAY 103 -#define MIB_WAN_DHCP 104 -#define MIB_DNS_MODE 105 -#define MIB_PPP_USER_NAME 106 -#define MIB_PPP_PASSWORD 107 -#define MIB_PPP_IDLE_TIME 108 -#define MIB_PPP_CONNECT_TYPE 109 - -#ifdef HOME_GATEWAY - -#define MIB_PORTFW_ENABLED 110 -#define MIB_PORTFW_TBL_NUM 111 -#define MIB_PORTFW_TBL ((MIB_PORTFW_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_PORTFW_ADD ((MIB_PORTFW_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_PORTFW_DEL ((MIB_PORTFW_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_PORTFW_MOD ((MIB_PORTFW_TBL_NUM+3)|MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) -#define MIB_PORTFW_DELALL ((MIB_PORTFW_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_IPFILTER_ENABLED 116 -#define MIB_IPFILTER_TBL_NUM 117 -#define MIB_IPFILTER_TBL ((MIB_IPFILTER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_IPFILTER_ADD ((MIB_IPFILTER_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_IPFILTER_DEL ((MIB_IPFILTER_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_IPFILTER_DELALL ((MIB_IPFILTER_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_MACFILTER_ENABLED 122 -#define MIB_MACFILTER_TBL_NUM 123 -#define MIB_MACFILTER_TBL ((MIB_MACFILTER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_MACFILTER_ADD ((MIB_MACFILTER_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_MACFILTER_DEL ((MIB_MACFILTER_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_MACFILTER_DELALL ((MIB_MACFILTER_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_PORTFILTER_ENABLED 128 -#define MIB_PORTFILTER_TBL_NUM 129 -#define MIB_PORTFILTER_TBL ((MIB_PORTFILTER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_PORTFILTER_ADD ((MIB_PORTFILTER_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_PORTFILTER_DEL ((MIB_PORTFILTER_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_PORTFILTER_DELALL ((MIB_PORTFILTER_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_TRIGGERPORT_ENABLED 134 -#define MIB_TRIGGERPORT_TBL_NUM 135 -#define MIB_TRIGGERPORT_TBL ((MIB_TRIGGERPORT_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_TRIGGERPORT_ADD ((MIB_TRIGGERPORT_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_TRIGGERPORT_DEL ((MIB_TRIGGERPORT_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_TRIGGERPORT_DELALL ((MIB_TRIGGERPORT_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_DMZ_ENABLED 140 -#define MIB_DMZ_HOST 141 -#define MIB_UPNP_ENABLED 142 -#define MIB_UPNP_IGD_NAME 143 -#endif //#ifdef HOME_GATEWAY - -#define MIB_PPP_MTU_SIZE 144 -#define MIB_PPTP_IP_ADDR 145 -#define MIB_PPTP_SUBNET_MASK 146 -#define MIB_PPTP_SERVER_IP_ADDR 147 -#define MIB_PPTP_USER_NAME 148 -#define MIB_PPTP_PASSWORD 149 -#define MIB_PPTP_MTU_SIZE 150 -#define MIB_NTP_ENABLED 151 -#define MIB_NTP_SERVER_ID 152 -#define MIB_NTP_TIMEZONE 153 -#define MIB_NTP_SERVER_IP1 154 -#define MIB_NTP_SERVER_IP2 155 -#define MIB_PPTP_SECURITY_ENABLED 156 -#define MIB_FIXED_IP_MTU_SIZE 157 -#define MIB_DHCP_MTU_SIZE 158 -#define MIB_PPTP_MPPC_ENABLED 159 - -#ifdef HOME_GATEWAY - -#ifdef VPN_SUPPORT -#define MIB_IPSECTUNNEL_ENABLED 160 -#define MIB_IPSECTUNNEL_TBL_NUM 161 -#define MIB_IPSECTUNNEL_TBL ((MIB_IPSECTUNNEL_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_IPSECTUNNEL_ADD ((MIB_IPSECTUNNEL_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_IPSECTUNNEL_DEL ((MIB_IPSECTUNNEL_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_IPSECTUNNEL_DELALL ((MIB_IPSECTUNNEL_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_IPSEC_NATT_ENABLED 167 -#define MIB_IPSEC_RSA_FILE 168 -#endif -#endif // HOME_GATEWAY - -#define MIB_IP_ADDR 170 -#define MIB_SUBNET_MASK 171 -#define MIB_DEFAULT_GATEWAY 172 -#define MIB_DHCP 173 -#define MIB_DHCP_CLIENT_START 174 -#define MIB_DHCP_CLIENT_END 175 -#define MIB_DNS1 176 -#define MIB_DNS2 177 -#define MIB_DNS3 178 -#define MIB_STP_ENABLED 179 -#ifdef SUPER_NAME_SUPPORT -#define MIB_SUPER_NAME 180 -#define MIB_SUPER_PASSWORD 181 -#endif -#define MIB_USER_NAME 182 -#define MIB_USER_PASSWORD 183 -#define MIB_SCRLOG_ENABLED 184 -#define MIB_AUTO_DISCOVERY_ENABLED 185 -#define MIB_DEVICE_NAME 186 - -#ifdef HOME_GATEWAY -#define MIB_DDNS_ENABLED 187 -#define MIB_DDNS_TYPE 188 -#define MIB_DDNS_DOMAIN_NAME 189 -#define MIB_DDNS_USER 190 -#define MIB_DDNS_PASSWORD 191 -#endif -#define MIB_OP_MODE 192 -#define MIB_WISP_WAN_ID 193 - -#ifdef HOME_GATEWAY -#define MIB_WEB_WAN_ACCESS_ENABLED 194 -#define MIB_PING_WAN_ACCESS_ENABLED 195 -#define MIB_HOST_NAME 197 -#endif - -#define MIB_DOMAIN_NAME 198 - -#ifdef MIB_TLV -//#define MIB_TABLE_LIST 0x8000 -#define MIB_ID_MASK (0x8000-1) -#define MIB_HW_ROOT (200|MIB_TABLE_LIST) -#define MIB_HW_WLAN_ROOT (201|MIB_TABLE_LIST) -#define MIB_ADD_TBL_ENTRY 0x10000 -#define MIB_DEL_TBL_ENTRY 0x20000 -#define MIB_DELALL_TBL_ENTRY 0x40000 -#define MIB_MOD_TBL_ENTRY 0x100000 -#define MIB_WLAN_TBL 0x80000 -#else //etop modify :for config -//#define MIB_TABLE_LIST 0x8000 -#define MIB_ID_MASK (0x8000-1) -#define MIB_HW_ROOT (200|MIB_TABLE_LIST) -#define MIB_HW_WLAN_ROOT (201|MIB_TABLE_LIST) -#define MIB_ADD_TBL_ENTRY 0x10000 -#define MIB_DEL_TBL_ENTRY 0x20000 -#define MIB_MOD_TBL_ENTRY 0x100000 -#define MIB_DELALL_TBL_ENTRY 0x40000 -#define MIB_WLAN_TBL 0x80000 -#endif // #ifdef MIB_TLV - -// Hardware setting MIB -#define MIB_HW_BOARD_VER 200 -#define MIB_HW_NIC0_ADDR 201 -#define MIB_HW_NIC1_ADDR 202 -#define MIB_HW_WLAN_ADDR 203 -#define MIB_HW_REG_DOMAIN 204 -#define MIB_HW_RF_TYPE 205 -#define MIB_HW_TX_POWER_CCK 206 -#define MIB_HW_TX_POWER_OFDM 207 -#define MIB_HW_ANT_DIVERSITY 208 -#define MIB_HW_TX_ANT 209 -#define MIB_HW_CCA_MODE 210 -#define MIB_HW_PHY_TYPE 211 -#define MIB_HW_LED_TYPE 212 -#define MIB_HW_INIT_GAIN 213 - - -#ifdef TLS_CLIENT -#define MIB_ROOT_IDX 214 -#define MIB_USER_IDX 215 -#endif -#ifdef ROUTE_SUPPORT -#define MIB_STATICROUTE_ENABLED 216 -#define MIB_STATICROUTE_TBL_NUM 217 -#define MIB_STATICROUTE_TBL ((MIB_STATICROUTE_TBL_NUM+1)|MIB_TABLE_LIST) /*218*/ -#define MIB_STATICROUTE_ADD ((MIB_STATICROUTE_TBL_NUM+2) | MIB_ADD_TBL_ENTRY) -#define MIB_STATICROUTE_DEL ((MIB_STATICROUTE_TBL_NUM+3) | MIB_DEL_TBL_ENTRY) -#define MIB_STATICROUTE_MOD ((MIB_STATICROUTE_TBL_NUM+3) | MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) -#define MIB_STATICROUTE_DELALL ((MIB_STATICROUTE_TBL_NUM+4) | MIB_DELALL_TBL_ENTRY)/*221*/ -#define MIB_RIP_ENABLED 222 -#define MIB_RIP_LAN_TX 223 -#define MIB_RIP_LAN_RX 224 -#define MIB_RIP_WAN_TX 225 -#define MIB_RIP_WAN_RX 226 -#ifdef RIP6_SUPPORT -#define MIB_RIP6_ENABLED 222+2254 -#endif -#endif - -#define MIB_REMOTELOG_ENABLED 227 -#define MIB_REMOTELOG_SERVER 228 - -#ifdef HOME_GATEWAY -#ifdef DOS_SUPPORT -#define MIB_DOS_ENABLED 229 -#define MIB_DOS_SYSSYN_FLOOD 230 -#define MIB_DOS_SYSFIN_FLOOD 231 -#define MIB_DOS_SYSUDP_FLOOD 232 -#define MIB_DOS_SYSICMP_FLOOD 233 -#define MIB_DOS_PIPSYN_FLOOD 234 -#define MIB_DOS_PIPFIN_FLOOD 235 -#define MIB_DOS_PIPUDP_FLOOD 236 -#define MIB_DOS_PIPICMP_FLOOD 237 -#define MIB_DOS_BLOCK_TIME 238 -#endif -#define MIB_URLFILTER_ENABLED 239 -#define MIB_URLFILTER_TBL_NUM 240 -#define MIB_URLFILTER_TBL ((MIB_URLFILTER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_URLFILTER_ADD ((MIB_URLFILTER_TBL_NUM+2) | MIB_ADD_TBL_ENTRY) -#define MIB_URLFILTER_DEL ((MIB_URLFILTER_TBL_NUM+3) | MIB_DEL_TBL_ENTRY) -#define MIB_URLFILTER_DELALL ((MIB_URLFILTER_TBL_NUM+4)| MIB_DELALL_TBL_ENTRY) -//#define MIB_URLFILTER_MODE 255 - -#define MIB_VPN_PASSTHRU_IPSEC_ENABLED 245 -#define MIB_VPN_PASSTHRU_PPTP_ENABLED 246 -#define MIB_VPN_PASSTHRU_L2TP_ENABLED 247 -#define MIB_CUSTOM_PASSTHRU_ENABLED 386 -#endif - -//#ifdef SNMP_SUPPORT Keith remove -#define MIB_SNMP_RO_COMMUNITY 248 -#define MIB_SNMP_RW_COMMUNITY 249 -//#endif Keith remove -#ifdef UNIVERSAL_REPEATER -#define MIB_REPEATER_ENABLED1 250 -#define MIB_REPEATER_SSID1 251 -#define MIB_REPEATER_ENABLED2 252 -#define MIB_REPEATER_SSID2 253 -#endif - -// added by rock ///////////////////////////////////////// -#ifdef VOIP_SUPPORT -#define MIB_VOIP_CFG 254 -#endif // VOIP_SUPPORT - -#define MIB_URLFILTER_MODE 255 - -#define MIB_WIFI_SPECIFIC 260 - -#define MIB_PPP_SERVICE_NAME 261 - -#define MIB_WLAN_TURBO_MODE 262 -#define MIB_WLAN_RFPOWER_SCALE 263 - -#if defined(WIFI_SIMPLE_CONFIG) || defined(HAVE_WIFI_SIMPLE_CONFIG) -#define MIB_WLAN_WSC_DISABLE 270 -#define MIB_WLAN_WSC_METHOD 271 -#define MIB_WLAN_WSC_CONFIGURED 272 -#define MIB_HW_WSC_PIN 273 -#define MIB_WLAN_WSC_AUTH 274 -#define MIB_WLAN_WSC_ENC 275 -#define MIB_WLAN_WSC_MANUAL_ENABLED 276 -#define MIB_WLAN_WSC_PSK 277 -#define MIB_WLAN_WSC_SSID 278 -#define MIB_WLAN_WSC_UPNP_ENABLED 279 -#define MIB_WLAN_WSC_REGISTRAR_ENABLED 280 -#define MIB_WLAN_WSC_CONFIGBYEXTREG 281 -#endif -//Brad addd -#define MIB_DAYLIGHT_SAVE 282 -#define MIB_IGMP_PROXY_DISABLED 283 -//Brad add for 11N -#define MIB_WLAN_CHANNEL_BONDING 284 -#define MIB_WLAN_CONTROL_SIDEBAND 285 -#define MIB_WLAN_AGGREGATION 286 -#define MIB_WLAN_SHORT_GI 287 -//Brad define -#define MIB_WLAN_WEP64_KEY 288 -#define MIB_WLAN_WEP128_KEY 289 - -#define MIB_HW_11N_XCAP 290 -#define MIB_HW_11N_RXIMR 291 -#define MIB_DHCPRSVDIP_ENABLED 292 -#define MIB_DHCPRSVDIP_TBL_NUM 293 -#define MIB_DHCPRSVDIP_TBL ((MIB_DHCPRSVDIP_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_DHCPRSVDIP_ADD ((MIB_DHCPRSVDIP_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_DHCPRSVDIP_DEL ((MIB_DHCPRSVDIP_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_DHCPRSVDIP_DELALL ((MIB_DHCPRSVDIP_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) -#define MIB_HW_11N_LOFDMPWD 298 -#define MIB_HW_11N_ANTPWD_B 299 -#define MIB_HW_11N_ANTPWD_C 300 -#define MIB_HW_11N_ANTPWD_D 301 -#define MIB_HW_11N_THER_RFIC 302 -#define MIB_HW_WLAN_ADDR1 303 -#define MIB_HW_WLAN_ADDR2 304 -#define MIB_HW_WLAN_ADDR3 305 -#define MIB_HW_WLAN_ADDR4 306 - -// GW_QOS_ENGINE -#define MIB_QOS_ENABLED 307 -#define MIB_QOS_AUTO_UPLINK_SPEED 308 -#define MIB_QOS_MANUAL_UPLINK_SPEED 309 -#define MIB_QOS_RULE_TBL_NUM 310 -#define MIB_QOS_RULE_TBL ((MIB_QOS_RULE_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_QOS_ADD ((MIB_QOS_RULE_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_QOS_DEL ((MIB_QOS_RULE_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_QOS_DELALL ((MIB_QOS_RULE_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -#define MIB_WLAN_ACCESS 315 -#define MIB_WLAN_PRIORITY 316 - -#define MIB_START_MP 317 - -#define MIB_SYSTIME_YEAR 321 -#define MIB_SYSTIME_MON 322 -#define MIB_SYSTIME_DAY 323 -#define MIB_SYSTIME_HOUR 324 -#define MIB_SYSTIME_MIN 325 -#define MIB_SYSTIME_SEC 326 - -/* # keith: add l2tp support. 20080515 */ -#define MIB_L2TP_IP_ADDR 331 -#define MIB_L2TP_SUBNET_MASK 332 -#define MIB_L2TP_SERVER_IP_ADDR 333 -#define MIB_L2TP_USER_NAME 334 -#define MIB_L2TP_PASSWORD 335 -#define MIB_L2TP_MTU_SIZE 336 -#define MIB_L2TP_CONNECTION_TYPE 337 -#define MIB_L2TP_IDLE_TIME 338 - -// Patch for our router under another router to dial up l2tp -#define MIB_L2TP_DEFAULT_GW 339 - -// Patch for our router under another router to dial up pptp -#define MIB_PPTP_DEFAULT_GW 340 -#define MIB_PPTP_WAN_IP_DYNAMIC 341 -#ifdef CONFIG_GET_SERVER_IP_BY_DOMAIN -#define MIB_PPTP_SERVER_DOMAIN 342 -#define MIB_PPTP_GET_SERV_BY_DOMAIN 343 -#endif -#ifndef _PATH_PROCNET_DEV -#define _PATH_PROCNET_DEV "/proc/net/dev" -#endif -#ifndef _PATH_PROCNET_IFINET6 -#define _PATH_PROCNET_IFINET6 "/proc/net/if_inet6" -#endif -#define MIB_HAME_LANG 16029 -#ifdef CONFIG_IPV6 -#ifdef CONFIG_IPV6_CE_ROUTER_SUPPORT -#define MIB_IPV6_ULA_ENABLE 350 -#define MIB_IPV6_ULA_MODE 351 -#define MIB_IPV6_ADDR_ULA_PARAM 352 -#endif -#define MIB_IPV6_ID 370 -#define MIB_IPV6_RADVD_PARAM (MIB_IPV6_ID) -#define MIB_IPV6_DNSV6_PARAM (MIB_IPV6_ID+1) -#define MIB_IPV6_DHCPV6S_PARAM (MIB_IPV6_ID+2) -#define MIB_IPV6_ADDR_PARAM (MIB_IPV6_ID+3) -#define MIB_IPV6_TUNNEL_PARAM (MIB_IPV6_ID+4) -#define MIB_IPV6_DHCPV6C_PARAM (MIB_IPV6_ID+5) -#define MIB_IPV6_ADDR6_PARAM (MIB_IPV6_ID+6) -#define MIB_IPV6_ADDR_LAN_PARAM (MIB_IPV6_ID+7) -#define MIB_IPV6_ADDR_WAN_PARAM (MIB_IPV6_ID+8) -#define MIB_IPV6_ADDR_GW_PARAM (MIB_IPV6_ID+9) -#define MIB_IPV6_ADDR_PFEFIX_PARAM (MIB_IPV6_ID+10) -#define MIB_IPV6_ADDR_DNS_PARAM (MIB_IPV6_ID+11) -#define MIB_IPV6_ADDR_DNS_SECONDARY 369 -#define MIB_IPV6_ORIGIN_TYPE (MIB_IPV6_ID+12) -#define MIB_IPV6_LINK_TYPE (MIB_IPV6_ID+13) -#define MIB_IPV6_WAN_ENABLE (MIB_IPV6_ID+14) -#define MIB_IPV6_DNS_AUTO (MIB_IPV6_ID+15) -#define MIB_MLD_PROXY_DISABLED (MIB_IPV6_ID+16) -#define MIB_IPV6_DHCP_MODE (MIB_IPV6_ID+17) -#define MIB_IPV6_DHCP_PD_ENABLE (MIB_IPV6_ID+18) -#define MIB_IPV6_DHCP_RAPID_COMMIT_ENABLE (MIB_IPV6_ID+19) -#define MIB_IPV6_DHCPC_RAPID_COMMIT (MIB_IPV6_ID+20) -#ifdef TR181_SUPPORT -#define IPV6_DHCPC_SENDOPT_NUM 10 -#define IPV6_DHCPC_RCVOPT_NUM 16 -#define MIB_IPV6_DHCPC_REQUEST_ADDR (MIB_IPV6_ID+21) -#define MIB_IPV6_DHCPC_SUGGESTEDT1 (MIB_IPV6_ID+22) -#define MIB_IPV6_DHCPC_SUGGESTEDT2 (MIB_IPV6_ID+23) -#define MIB_IPV6_DHCPC_SENDOPT_TBL_NUM (MIB_IPV6_ID+25) -#define MIB_IPV6_DHCPC_SENDOPT_TBL ((MIB_IPV6_DHCPC_SENDOPT_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_IPV6_DHCPC_SENDOPT_MOD ((MIB_IPV6_DHCPC_SENDOPT_TBL_NUM+3) | MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) - -#define MIB_IPV6_DHCPC_SENDOPT_ENABLE (MIB_IPV6_ID+31) -#define MIB_IPV6_DHCPC_SENDOPT_TAG (MIB_IPV6_ID+32) -#define MIB_IPV6_DHCPC_SENDOPT_VALUE (MIB_IPV6_ID+33) -#define MIB_IPV6_DHCPC_IFACE (MIB_IPV6_ID+34) -#define MIB_IPV6_DHCPC_SENDOPT_INDEX (MIB_IPV6_ID+35) - - -#endif -typedef enum IPV6_ORIGIN_T_ -{ - IPV6_ORIGIN_DHCP =0, - IPV6_ORIGIN_STATIC =1, - IPV6_ORIGIN_NONE =3 -} IPV6_ORIGIN_T; - -typedef enum IPV6_LINKTYPE_T_ -{ - IPV6_LINKTYPE_IP=0, - IPV6_LINKTYPE_PPP=1 -}IPV6_LINKTYPE_T; - -typedef enum IPV6_DHCP_MODE_T_ -{ - IPV6_DHCP_STATELESS=0, - IPV6_DHCP_STATEFUL=1 -}IPV6_DHCP_MODE_T; - - -#endif - -#ifdef TR181_SUPPORT -/* add for Device.DNS. Device.DNS.Client. and Device.DNS.Client.Server.{i}. */ -#define MIB_DNS_CLIENT_ENABLE 406 -#ifdef CONFIG_IPV6 -#define DNS_CLIENT_SERVER_NUM 10 -#else -#define DNS_CLIENT_SERVER_NUM 6 -#endif -#define MIB_DNS_CLIENT_SERVER_TBL_NUM 408 -#define MIB_DNS_CLIENT_SERVER_TBL ((MIB_DNS_CLIENT_SERVER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_DNS_CLIENT_SERVER_MOD ((MIB_DNS_CLIENT_SERVER_TBL_NUM+3) | MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) - -#define MIB_DNS_CLIENT_SERVER_INDEX 414 -#define MIB_DNS_CLIENT_SERVER_ENABLE 415 -#define MIB_DNS_CLIENT_SERVER_STATUS 416 -//#define MIB_DNS_CLIENT_SERVER_ALIAS MIB_IPV6_ID+47 -#define MIB_DNS_CLIENT_SERVER_IPADDR 418 -//#define MIB_DNS_CLIENT_SERVER_IF MIB_IPV6_ID+49 -#define MIB_DNS_CLIENT_SERVER_TYPE 420 -#endif - -#ifdef CONFIG_RTL_8198C -#define MIB_IPV6_ADDR_AFTR_PARAM 421 -#define MIB_DSLITE_MODE 422 -#define MIB_IPV6_6RD_PREFIX_PARAM 423 -#define MIB_IPV4_6RD_MASK_LEN 424 -#define MIB_IPV4_6RD_BR_ADDR 425 -#endif - - -// SNMP, Forrest added, 2007.10.25. -#ifdef CONFIG_SNMP -#define MIB_SNMP_ENABLED 435 -#define MIB_SNMP_NAME 436 -#define MIB_SNMP_LOCATION 437 -#define MIB_SNMP_CONTACT 438 -#define MIB_SNMP_RWCOMMUNITY 439 -#define MIB_SNMP_ROCOMMUNITY 440 -#define MIB_SNMP_TRAP_RECEIVER1 441 -#define MIB_SNMP_TRAP_RECEIVER2 442 -#define MIB_SNMP_TRAP_RECEIVER3 443 -#endif - -//### add by sen_liu 2011.3.29 TX Beamforming added to mib in 92D -#define MIB_WLAN_TX_BEAMFORMING 450 -//### end - -/*hf add for country str*/ -#define MIB_WLAN_COUNTRY_STRING 451 -/*end*/ - -#define MIB_WLAN_TX_RESTRICT 452 -#define MIB_WLAN_RX_RESTRICT 453 - -/* # keith: add l2tp support. 20080515 */ -#ifdef CONFIG_GET_SERVER_IP_BY_DOMAIN -#define MIB_L2TP_GET_SERV_BY_DOMAIN 499 -#define MIB_L2TP_SERVER_DOMAIN 500 -#endif -#define MIB_L2TP_WAN_IP_DYNAMIC 501 -#define MIB_L2TP_GATEWAY 502 -//SCHEDULE - -#define MIB_WLAN_SCHEDULE_ENABLED 503 -#define MIB_WLAN_SCHEDULE_TBL_NUM 504 -#define MIB_WLAN_SCHEDULE_TBL ((MIB_WLAN_SCHEDULE_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_WLAN_SCHEDULE_ADD ((MIB_WLAN_SCHEDULE_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_WLAN_SCHEDULE_DEL ((MIB_WLAN_SCHEDULE_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_WLAN_SCHEDULE_DELALL ((MIB_WLAN_SCHEDULE_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -#define MIB_PPTP_CONNECTION_TYPE 509 -#define MIB_PPTP_IDLE_TIME 510 - - -//NewAdd For rtl8196B -#define MIB_HW_WLAN_ADDR5 511 -#define MIB_HW_WLAN_ADDR6 512 -#define MIB_HW_WLAN_ADDR7 513 - -#define MIB_HW_TX_POWER_OFDM_1S 514 -#define MIB_HW_TX_POWER_OFDM_2S 515 -#define MIB_HW_11N_LOFDMPWDA 516 -#define MIB_HW_11N_LOFDMPWDB 517 -#define MIB_HW_11N_TSSI1 518 -#define MIB_HW_11N_TSSI2 519 -#define MIB_HW_11N_THER 520 -#define MIB_HW_11N_TRSWITCH 521 //MIB_HW_11N_ESERVED1->MIB_HW_11N_TRSWITCH -#define MIB_HW_11N_TRSWPAPE_C9 522 -#define MIB_HW_11N_TRSWPAPE_CC 523 -#define MIB_HW_11N_TARGET_PWR 524 -#define MIB_HW_11N_PA_TYPE 525 -#define MIB_HW_11N_THER_2 526 -#define MIB_HW_11N_XCAP_2 527 -#define MIB_HW_11N_RESERVED8 528 - -/*-----end-----*/ - -// SNMP maximum length of fields, Forrest added, 2007.10.25. -#ifdef CONFIG_SNMP -#define MAX_SNMP_NAME_LEN 64 -#define MAX_SNMP_LOCATION_LEN 64 -#define MAX_SNMP_CONTACT_LEN 64 -#define MAX_SNMP_COMMUNITY_LEN 64 -#endif - -//=========add for MESH========= -//#ifdef CONFIG_RTK_MESH Keith remove -#define MIB_WLAN_MESH_ENABLE 644 //new feature:Mesh enable/disable -#define MIB_WLAN_MESH_ROOT_ENABLE 551 -#define MIB_WLAN_MESH_ID 554 -#define MIB_WLAN_MESH_MAX_NEIGHTBOR 555 -#define MIB_WLAN_MESH_ENCRYPT 559 -#define MIB_WLAN_MESH_PSK_FORMAT 560 -#define MIB_WLAN_MESH_WPA_PSK 561 -#define MIB_WLAN_MESH_WPA_AUTH 562 -#define MIB_WLAN_MESH_WPA2_CIPHER_SUITE 563 - -//#ifdef _MESH_ACL_ENABLE_ Keith remove -#define MIB_WLAN_MESH_ACL_ENABLED 580 -#define MIB_WLAN_MESH_ACL_NUM 581 -#define MIB_WLAN_MESH_ACL_ADDR ((MIB_WLAN_MESH_ACL_NUM+1)|MIB_TABLE_LIST) -#define MIB_WLAN_MESH_ACL_ADDR_ADD ((MIB_WLAN_MESH_ACL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_WLAN_MESH_ACL_ADDR_DEL ((MIB_WLAN_MESH_ACL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_WLAN_MESH_ACL_ADDR_DELALL ((MIB_WLAN_MESH_ACL_NUM+4)|MIB_DELALL_TBL_ENTRY) -//#endif Keith remove - -//#ifdef _11s_TEST_MODE_ Keith remove -#define MIB_WLAN_MESH_TEST_PARAM1 600 -#define MIB_WLAN_MESH_TEST_PARAM2 601 -#define MIB_WLAN_MESH_TEST_PARAM3 602 -#define MIB_WLAN_MESH_TEST_PARAM4 603 -#define MIB_WLAN_MESH_TEST_PARAM5 604 -#define MIB_WLAN_MESH_TEST_PARAM6 605 -#define MIB_WLAN_MESH_TEST_PARAM7 606 -#define MIB_WLAN_MESH_TEST_PARAM8 607 -#define MIB_WLAN_MESH_TEST_PARAM9 608 -#define MIB_WLAN_MESH_TEST_PARAMA 609 -#define MIB_WLAN_MESH_TEST_PARAMB 610 -#define MIB_WLAN_MESH_TEST_PARAMC 611 -#define MIB_WLAN_MESH_TEST_PARAMD 612 -#define MIB_WLAN_MESH_TEST_PARAME 613 -#define MIB_WLAN_MESH_TEST_PARAMF 614 -#define MIB_WLAN_MESH_TEST_PARAMSTR1 615 -//#endif Keith remove -//#endif // CONFIG_RTK_MESH Keith remove -//=========add for MESH========= - -#define MIB_VLANCONFIG_ENABLED 616 -#define MIB_VLANCONFIG_TBL_NUM 617 -#define MIB_VLANCONFIG_TBL ((MIB_VLANCONFIG_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_VLANCONFIG_ADD ((MIB_VLANCONFIG_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_VLANCONFIG_DEL ((MIB_VLANCONFIG_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_VLANCONFIG_DELALL ((MIB_VLANCONFIG_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -//#ifdef CONFIG_RTL_WAPI_SUPPORT Keith remove -//WAPI start from 630 -#define MIB_WLAN_WAPI_PSK 630 -#define MIB_WLAN_WAPI_PSKLEN 631 -#define MIB_WLAN_WAPI_PSK_FORMAT 632 -#define MIB_WLAN_WAPI_AUTH 633 -#define MIB_WLAN_WAPI_ASIPADDR 634 -#define MIB_WLAN_WAPI_SEARCHINFO 635 -#define MIB_WLAN_WAPI_SEARCHINDEX 636 -#define MIB_WLAN_WAPI_MCASTREKEY 637 -#define MIB_WLAN_WAPI_MCAST_TIME 638 -#define MIB_WLAN_WAPI_MCAST_PACKETS 639 -#define MIB_WLAN_WAPI_UCASTREKEY 640 -#define MIB_WLAN_WAPI_UCAST_TIME 641 -#define MIB_WLAN_WAPI_UCAST_PACKETS 642 -#define MIB_WLAN_WAPI_CA_INIT 643 - -//Added to support two remote as and one local as at the same time -#define MIB_WLAN_WAPI_CERT_SEL 656 - -#define MIB_WLAN_WAPI_AUTH_MODE_2or3_CERT 657 - -#define MIB_NAT_ENABLED 645 -#define MIB_WLAN_STBC_ENABLED 646 -#define MIB_WLAN_COEXIST_ENABLED 647 -#define MIB_WLAN_LDPC_ENABLED 648 -#define MIB_SAMBA_ENABLED 650 -#define MIB_WLAN_LOWEST_MLCST_RATE 663 -#define MIB_WLAN_MC2U_DISABLED 664 -#define MIB_MIB_VER 655 - -//#ifdef CONFIG_RTL_WAPI_SUPPORT Keith remove -#define CERTS_DATABASE "/var/myca/index.txt" -#define ONE_DAY_SECONDS 86400 -#define USER_NAME_LEN 32 -typedef struct _CertsDbEntry_ { - unsigned char userName[USER_NAME_LEN]; //user name of this user cert - unsigned long serial; //serial of this cert - unsigned short validDays; //total valid days of this cert - unsigned short validDaysLeft; //the left valid days of this cert - unsigned char certType; //0(default): X.509; others: reserved - unsigned char certStatus; //0(default): valid; 1: expired; 2: revoked -} CERTS_DB_ENTRY_T, *CERTS_DB_ENTRY_Tp; -//#endif Keith remove -//WAPI END - -// GW_QOS_ENGINE -#define MIB_QOS_AUTO_DOWNLINK_SPEED 651 -#define MIB_QOS_MANUAL_DOWNLINK_SPEED 652 - -//11n onoff TKIP -#define MIB_WLAN_11N_ONOFF_TKIP 660 - -#if (defined CONFIG_RTL_BT_CLIENT) || (defined CONFIG_RTL_TRANSMISSION) -#define MIB_BT_UPLOAD_DIR 680 -#define MIB_BT_DOWNLOAD_DIR 681 -#define MIB_BT_TOTAL_ULIMIT 682 -#define MIB_BT_TOTAL_DLIMIT 683 -#define MIB_BT_REFRESH_TIME 684 -#define MIB_BT_ENABLED 685 -#endif - -#define MIB_WLAN_ACK_TIMEOUT 686 - -#ifdef WLAN_HS2_CONFIG -#define MIB_WLAN_HS2_ENABLE 687 -#endif - - -#define BRIDGE_ETHERNET 0 -#define BRIDGE_PPPOE 1 -#define BRIDGE_DISABLE 2 -typedef enum { IP_BRIDGE=0, IP_ROUTE=1, IP_PPP=2} CMODE_T; //WANIface Mode Not the Method of getting IP address -/*+++++added by Jack for Tr-069 configuration+++++*/ -#ifdef CONFIG_APP_TR069 -/* Keith add for tr069 --start */ -#undef mib_get -#undef mib_set -#undef mib_update -#define MAX_WAN_NAME_LEN 40 // E8 WAN connection name -// resv | media | ppp | vc -#define MAX_VC_NUM 8 -#define MAX_PPP_NUM 8 -#define PHY_INTF(x) (x | 0xff00)/*physical interface*/ -#define VC_INDEX(x) (x & 0x0ff) -#define ETH_INDEX(x) (x & 0x0ff) -#define PPP_INDEX(x) ((x >> 8) & 0x0ff) -#define MEDIA_INDEX(x) ((x >> 16) & 0x0ff) -#define TO_IFINDEX(x,y,z) ((x<<16) | (y<<8) | z) -#define DUMMY_VC_INDEX 0xff -#define DUMMY_PPP_INDEX 0xff -#define DUMMY_IFINDEX 0xffff -#define NA_PPP 0xefff -#define NA_VC 0xffff -#define MAX_POE_PER_VC 5 -#define STR_LEN_64 64 - - - -typedef enum { MEDIA_ATM, MEDIA_ETH } MEDIA_TYPE_T; -typedef enum { APPTYPE_TR069_INTERNET, APPTYPE_INTERNET, APPTYPE_TR069, - APPTYPE_OTHER, APPTYPE_VOICE, APPTYPE_TR069_VOICE, - APPTYPE_VOICE_INTERNET, APPTYPE_TR069_VOICE_INTERNET } APPTYPE_T; -typedef enum { PPP_AUTH_AUTO=0, PPP_AUTH_PAP, PPP_AUTH_CHAP, PPP_AUTH_NONE } PPP_AUTH_T; - -#define mib_get(S, T) apmib_get(S, T) -#define mib_set(S, T) apmib_set(S, T) -#define mib_update(S) apmib_update(S) -#define LANDEVNAME2BR0(a) do{ if(a && (strncmp(a, "eth0", 4)==0||strncmp(a, "wlan0", 5)==0||strncmp(a, "usb0", 4)==0)) strcpy(a, "br0"); }while(0) - -#ifdef CONFIG_USER_CWMP_WITH_SSL -#define _CWMP_WITH_SSL_ 1 -#endif //CONFIG_USER_CWMP_WITH_SSL - -#if defined(CONFIG_USER_CWMP_WITH_TR143) -#define _PRMT_TR143_ 1 -#endif - -#define TIME_ZONE -#define _PRMT_USERINTERFACE_ -#define WLAN_SUPPORT - -#ifdef MBSSID -#define WLAN_MBSSID 1 -#endif - -#ifdef UNIVERSAL_REPEATER -#define WLAN_REPEATER -#endif - -#define MAC_FILTER -#define ENABLE_WPAAES_WPA2TKIP - -//--- for TR098 ------------------------------- -#define MOD_FOR_TR098 /* brucehou */ -#if defined(MOD_FOR_TR098) - #define MOD_FOR_TR098_LAYER3FWD - #define MOD_FOR_TR098_LANDEVICE - #define MOD_FOR_TR098_VAP - #define MOD_FOR_TR098_PORTMAP - - - #if defined(CONFIG_RTL_92D_SUPPORT) - #define MOD_FOR_TR098_DUALBAND - #endif - -#endif /* #if defined(MOD_FOR_TR098) */ -//--- for TR098 ------------------------------- - -/* Keith add for tr069 --end */ -///////////////////////////////////////////////////////////////////////////Enable for E8C -#define ALIASNAME_VC "vc" -#define ALIASNAME_BR "br" -#define ALIASNAME_NAS "nas" -#define ALIASNAME_DSL "dsl" -#define ALIASNAME_ETH "eth" -#define ALIASNAME_WLAN "wlan" -#define ALIASNAME_PPP "ppp" -#define ALIASNAME_MWNAS "nas0_" -#define ALIASNAME_ETH0DOT "eth0." - -#if defined(_PRMT_TR143_) -#define RTL_DEV_NAME_NUM(name,num) name#num - -#define ALIASNAME_VC0 RTL_DEV_NAME_NUM(ALIASNAME_VC,0)//"vc0" -#define ALIASNAME_BR0 RTL_DEV_NAME_NUM(ALIASNAME_BR,0)//"br0" -#define ALIASNAME_WLAN0 RTL_DEV_NAME_NUM(ALIASNAME_WLAN,0)//"wlan0" -#define ALIASNAME_WLAN1 RTL_DEV_NAME_NUM(ALIASNAME_WLAN,1)//"wlan1" -#define ALIASNAME_NAS0 RTL_DEV_NAME_NUM(ALIASNAME_NAS,0)//nas0 -#define ALIASNAME_DSL0 RTL_DEV_NAME_NUM(ALIASNAME_DSL,0)//dsl0 -#define ALIASNAME_ETH0 RTL_DEV_NAME_NUM(ALIASNAME_ETH,0)//eth0 -#define ALIASNAME_PPP0 RTL_DEV_NAME_NUM(ALIASNAME_PPP,0)//ppp0 - -#define ALIASNAME_VAP "-vap" //must include '-' at fast -#define ALIASNAME_WLAN0_VAP RTL_DEV_NAME_NUM(ALIASNAME_WLAN0,-vap)//"wlan0-vap" -#define ALIASNAME_WLAN1_VAP RTL_DEV_NAME_NUM(ALIASNAME_WLAN1,-vap)//"wlan1-vap" -#define ALIASNAME_WLAN0__VAP RTL_DEV_NAME_NUM(ALIASNAME_WLAN0,_vap)//"wlan0_vap" -#define ALIASNAME_WLAN0__VAP0 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0__VAP,0)//"wlan0_vap0" -#define ALIASNAME_WLAN0__VAP1 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0__VAP,1)//"wlan0_vap1" -#define ALIASNAME_WLAN0__VAP2 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0__VAP,2)//"wlan0_vap2" -#define ALIASNAME_WLAN0__VAP3 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0__VAP,3)//"wlan0_vap3" - -#define ALIASNAME_WLAN0_VAP0 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0_VAP,0)//"wlan0-vap0" -#define ALIASNAME_WLAN0_VAP1 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0_VAP,1)//"wlan0-vap1" -#define ALIASNAME_WLAN0_VAP2 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0_VAP,2)//"wlan0-vap2" -#define ALIASNAME_WLAN0_VAP3 RTL_DEV_NAME_NUM(ALIASNAME_WLAN0_VAP,3)//"wlan0-vap3" - -#define ALIASNAME_WLAN1_VAP0 RTL_DEV_NAME_NUM(ALIASNAME_WLAN1_VAP,0)//"wlan0-vap0" -#define ALIASNAME_WLAN1_VAP1 RTL_DEV_NAME_NUM(ALIASNAME_WLAN1_VAP,1)//"wlan0-vap0" -#define ALIASNAME_WLAN1_VAP2 RTL_DEV_NAME_NUM(ALIASNAME_WLAN1_VAP,2)//"wlan0-vap0" -#define ALIASNAME_WLAN1_VAP3 RTL_DEV_NAME_NUM(ALIASNAME_WLAN1_VAP,3)//"wlan0-vap0" - -#define ALIASNAME_ETH0DOT2 RTL_DEV_NAME_NUM(ALIASNAME_ETH0DOT,2) -#define ALIASNAME_ETH0DOT3 RTL_DEV_NAME_NUM(ALIASNAME_ETH0DOT,3) -#define ALIASNAME_ETH0DOT4 RTL_DEV_NAME_NUM(ALIASNAME_ETH0DOT,4) -#define ALIASNAME_ETH0DOT5 RTL_DEV_NAME_NUM(ALIASNAME_ETH0DOT,5) - -#define ALIASNAME_ETH0_SW RTL_DEV_NAME_NUM(ALIASNAME_ETH0,_sw) -#define ALIASNAME_ETH0_SW0 RTL_DEV_NAME_NUM(ALIASNAME_ETH0_SW,0) -#define ALIASNAME_ETH0_SW1 RTL_DEV_NAME_NUM(ALIASNAME_ETH0_SW,1) -#define ALIASNAME_ETH0_SW2 RTL_DEV_NAME_NUM(ALIASNAME_ETH0_SW,2) -#define ALIASNAME_ETH0_SW3 RTL_DEV_NAME_NUM(ALIASNAME_ETH0_SW,3) - -#define ALIASNAME_BR00 RTL_DEV_NAME_NUM(ALIASNAME_BR0,:0) -#define ALIASNAME_BR01 RTL_DEV_NAME_NUM(ALIASNAME_BR0,:1) - -typedef enum -{ - ITF_ALL=0, - ITF_WAN, //wan pppx or vcx - ITF_LAN, //br0 - - ITF_ETH0, //eth0 - ITF_ETH0_SW0, //eth0_sw0 - ITF_ETH0_SW1, //eth0_sw1 - ITF_ETH0_SW2, //eth0_sw2 - ITF_ETH0_SW3, //eth0_sw3 - - ITF_WLAN0, //wlan0 - ITF_WLAN0_VAP0, //wlan0-vap0 - ITF_WLAN0_VAP1, //wlan0-vap1 - ITF_WLAN0_VAP2, //wlan0-vap2 - ITF_WLAN0_VAP3, //wlan0-vap3 - - ITF_WLAN1, //wlan0 - ITF_WLAN1_VAP0, //wlan0-vap0 - ITF_WLAN1_VAP1, //wlan0-vap1 - ITF_WLAN1_VAP2, //wlan0-vap2 - ITF_WLAN1_VAP3, //wlan0-vap3 - - ITF_USB0, //usb0 - - ITF_END //last one -} ITF_T; -extern char *strItf[]; -#endif //_PRMT_TR143_ - -#define DEF_MANUFACTURER_STR "REALTEK SEMICONDUCTOR CORP." -#define DEF_MANUFACTUREROUI_STR "00E04C" - -#define DEF_PRODUCTCLASS_STR "IGD" - -#define CWMP_ID 700 -#define MIB_CWMP_ENABLED CWMP_ID + 0 -#define MIB_CWMP_PROVISIONINGCODE CWMP_ID + 1 //069 -#define MIB_CWMP_ACS_URL CWMP_ID + 2 //069 -#define MIB_CWMP_ACS_USERNAME CWMP_ID + 3 //069 -#define MIB_CWMP_ACS_PASSWORD CWMP_ID + 4 //069 -#define MIB_CWMP_INFORM_ENABLE CWMP_ID + 5 //069 -#define MIB_CWMP_INFORM_INTERVAL CWMP_ID + 6 //069 -#define MIB_CWMP_INFORM_TIME CWMP_ID + 7 -#define MIB_CWMP_CONREQ_USERNAME CWMP_ID + 8 -#define MIB_CWMP_CONREQ_PASSWORD CWMP_ID + 9 -#define MIB_CWMP_ACS_UPGRADESMANAGED CWMP_ID + 10 //069 -#define MIB_CWMP_LAN_CONFIGPASSWD CWMP_ID + 11 -#define MIB_CWMP_SERIALNUMBER CWMP_ID + 12 //069 -#define MIB_CWMP_DHCP_SERVERCONF CWMP_ID + 13 -#define MIB_CWMP_LAN_IPIFENABLE CWMP_ID + 14 -#define MIB_CWMP_LAN_ETHIFENABLE CWMP_ID + 15 -#define MIB_CWMP_WLAN_BASICENCRY CWMP_ID + 16 -#define MIB_CWMP_WLAN_WPAENCRY CWMP_ID + 17 -#define MIB_CWMP_DL_COMMANDKEY CWMP_ID + 18 -#define MIB_CWMP_DL_STARTTIME CWMP_ID + 19 -#define MIB_CWMP_DL_COMPLETETIME CWMP_ID + 20 -#define MIB_CWMP_DL_FAULTCODE CWMP_ID + 21 -#define MIB_CWMP_INFORM_EVENTCODE CWMP_ID + 22 -#define MIB_CWMP_RB_COMMANDKEY CWMP_ID + 23 -#define MIB_CWMP_ACS_PARAMETERKEY CWMP_ID + 24 -#define MIB_CWMP_CERT_PASSWORD CWMP_ID + 25 -#define MIB_CWMP_FLAG CWMP_ID + 26 -#define MIB_CWMP_SI_COMMANDKEY CWMP_ID + 27 /*ScheduleInform's commandkey*/ - -#ifdef _PRMT_USERINTERFACE_ /*InternetGatewayDevice.UserInterface.*/ -#define MIB_UIF_PW_REQUIRED CWMP_ID + 28 /*PasswordRequired*/ -#define MIB_UIF_PW_USER_SEL CWMP_ID + 29 /*PasswordUserSelectable*/ -#define MIB_UIF_UPGRADE CWMP_ID + 30 /*UpgradeAvailable*/ -#define MIB_UIF_WARRANTYDATE CWMP_ID + 31 /*WarrantyDate*/ -#define MIB_UIF_AUTOUPDATESERVER CWMP_ID + 32 /*AutoUpdateServer*/ -#define MIB_UIF_USERUPDATESERVER CWMP_ID + 33 /*UserUpdateServer*/ -#endif /*_PRMT_USERINTERFACE_*/ - -#define MIB_CWMP_ACS_KICKURL CWMP_ID + 74 -#define MIB_CWMP_ACS_DOWNLOADURL CWMP_ID + 75 -#define MIB_CWMP_CONREQ_PORT CWMP_ID + 76 /*port for connection request*/ -#define MIB_CWMP_CONREQ_PATH CWMP_ID + 77 /*path for connection request*/ -#define MIB_CWMP_FLAG2 CWMP_ID + 78 - -//#ifdef _PRMT_TR143_ -#define MIB_TR143_UDPECHO_ENABLE CWMP_ID + 79 -#define MIB_TR143_UDPECHO_ITFTYPE CWMP_ID + 80 -#define MIB_TR143_UDPECHO_SRCIP CWMP_ID + 81 -#define MIB_TR143_UDPECHO_PORT CWMP_ID + 82 -#define MIB_TR143_UDPECHO_PLUS CWMP_ID + 83 -//#endif //_PRMT_TR143_ - -#define MIB_CWMP_NOTIFY_LIST CWMP_ID + 84 -#define MIB_CWMP_ACS_URL_OLD CWMP_ID + 85 //069 - -#define MIB_CWMP_USERINFO_RESULT CWMP_ID + 92 -#define MIB_CWMP_NEED_REBOOT CWMP_ID + 93 -#define MIB_CWMP_PERSISTENT_DATA CWMP_ID + 97 - -#define MIB_CWMP_PARAMETERKEY CWMP_ID + 109 - -#define MIB_CWMP_PPPCON_INSTNUM CWMP_ID + 110 -#define MIB_CWMP_IPCON_INSTNUM CWMP_ID + 111 -#define MIB_CWMP_PPPCON_CREATED CWMP_ID + 112 -#define MIB_CWMP_IPCON_CREATED CWMP_ID + 113 -#define MIB_CWMP_LAN_ETHIFDISABLE CWMP_ID + 114 -#define MIB_CWMP_WAN_ETHIFDISABLE CWMP_ID + 115 - -#define MIB_CWMP_SW_PORT1_DISABLE CWMP_ID + 116 -#define MIB_CWMP_SW_PORT1_MAXBITRATE CWMP_ID + 117 -#define MIB_CWMP_SW_PORT1_DUPLEXMODE CWMP_ID + 118 - -#define MIB_CWMP_SW_PORT2_DISABLE CWMP_ID + 119 -#define MIB_CWMP_SW_PORT2_MAXBITRATE CWMP_ID + 120 -#define MIB_CWMP_SW_PORT2_DUPLEXMODE CWMP_ID + 121 - -#define MIB_CWMP_SW_PORT3_DISABLE CWMP_ID + 122 -#define MIB_CWMP_SW_PORT3_MAXBITRATE CWMP_ID + 123 -#define MIB_CWMP_SW_PORT3_DUPLEXMODE CWMP_ID + 124 - -#define MIB_CWMP_SW_PORT4_DISABLE CWMP_ID + 125 -#define MIB_CWMP_SW_PORT4_MAXBITRATE CWMP_ID + 126 -#define MIB_CWMP_SW_PORT4_DUPLEXMODE CWMP_ID + 127 - -#define MIB_CWMP_SW_PORT5_DISABLE CWMP_ID + 128 -#define MIB_CWMP_SW_PORT5_MAXBITRATE CWMP_ID + 129 -#define MIB_CWMP_SW_PORT5_DUPLEXMODE CWMP_ID + 130 - -#define MIB_CWMP_RETRY_MIN_WAIT_INTERVAL CWMP_ID + 131 -#define MIB_CWMP_RETRY_INTERVAL_MUTIPLIER CWMP_ID + 132 - -#define MIB_CWMP_UDP_CONN_REQ_ADDR CWMP_ID + 133 -#define MIB_CWMP_STUN_EN CWMP_ID + 134 -#define MIB_CWMP_STUN_SERVER_ADDR CWMP_ID + 135 -#define MIB_CWMP_STUN_SERVER_PORT CWMP_ID + 136 -#define MIB_CWMP_STUN_USERNAME CWMP_ID + 137 -#define MIB_CWMP_STUN_PASSWORD CWMP_ID + 138 -#define MIB_CWMP_STUN_MAX_KEEP_ALIVE_PERIOD CWMP_ID + 139 -#define MIB_CWMP_STUN_MIN_KEEP_ALIVE_PERIOD CWMP_ID + 140 -#define MIB_CWMP_NAT_DETECTED CWMP_ID + 141 - -#define MIB_CWMP_MIB_END CWMP_ID + 200 /* Reserve 200 mib for tr069*/ -#endif /*CONFIG_APP_TR069*/ - -#define MIB_TEST_DATA 10000 - -#define MIB_DHCPRSVDIP_IPADDR 1001 -#define MIB_DHCPRSVDIP_MACADDR 1002 -#define MIB_DHCPRSVDIP_HOSTNAME 1003 - -#define MIB_SCHEDULE_TEXT 1011 -#define MIB_SCHEDULE_ECO 1012 -#define MIB_SCHEDULE_FTIME 1013 -#define MIB_SCHEDULE_TTIME 1014 -#define MIB_SCHEDULE_DAY 1015 - -#define MIB_PORTFW_IPADDR 1021 -#define MIB_PORTFW_FROMPORT 1022 -#define MIB_PORTFW_TOPORT 1023 -#define MIB_PORTFW_PROTOTYPE 1024 -#define MIB_PORTFW_COMMENT 1025 -#define MIB_PORTFW_SVRPORT 1026 -#define MIB_PORTFW_SVRNAME 1027 -#define MIB_PORTFW_INSTANCENUM 1028 -#define MIB_PORTFW_WANIFACE_ID 1029 - -#define MIB_IPFILTER_IPADDR 1031 -#define MIB_IPFILTER_PROTOTYPE 1032 -#define MIB_IPFILTER_COMMENT 1033 -#define MIB_IPFILTER_IP6ADDR 1034 -#define MIB_IPFILTER_IP_VERSION 1035 - -#define MIB_PORTFILTER_FROMPORT 1041 -#define MIB_PORTFILTER_TOPORT 1042 -#define MIB_PORTFILTER_PROTOTYPE 1043 -#define MIB_PORTFILTER_COMMENT 1044 -#define MIB_PORTFILTER_IPVERSION 1045 - -#define MIB_MACFILTER_MACADDR 1051 -#define MIB_MACFILTER_COMMENT 1052 - -#define MIB_TRIGGERPORT_TRI_FROMPORT 1061 -#define MIB_TRIGGERPORT_TRI_TOPORT 1062 -#define MIB_TRIGGERPORT_TRI_PROTOTYPE 1063 -#define MIB_TRIGGERPORT_INC_FROMPORT 1064 -#define MIB_TRIGGERPORT_INC_TOPORT 1065 -#define MIB_TRIGGERPORT_INC_PROTOTYPE 1066 -#define MIB_TRIGGERPORT_COMMENT 1067 - -#define MIB_URLFILTER_URLADDR 1071 -#define MIB_URLFILTER_RULE_MODE 1072 -#ifdef URL_FILTER_USER_MODE_SUPPORT -#define MIB_URLFILTER_IPADDR 1073 -#define MIB_URLFILTER_MACADDR 1074 -#define MIB_URLFILTER_USR_MODE 1075 -#endif - -#define MIB_VLANCONFIG_ENTRY_ENABLED 1081 -#define MIB_VLANCONFIG_NETIFACE 1082 -#define MIB_VLANCONFIG_TAGGED 1083 -#define MIB_VLANCONFIG_UNTAGGED 1084 -#define MIB_VLANCONFIG_PRIORITY 1085 -#define MIB_VLANCONFIG_CFI 1086 -#define MIB_VLANCONFIG_GROUPID 1087 -#define MIB_VLANCONFIG_VLANID 1088 -#if defined(CONFIG_RTK_VLAN_NEW_FEATURE) || defined(CONFIG_RTL_HW_VLAN_SUPPORT) -#define MIB_VLANCONFIG_FORWARDING_RULE 1089 -#endif - -#define MIB_STATICROUTE_DSTADDR 1091 -#define MIB_STATICROUTE_NETMASK 1092 -#define MIB_STATICROUTE_GATEWAY 1093 -#define MIB_STATICROUTE_INTERFACE 1094 -#define MIB_STATICROUTE_METRIC 1095 - -#define MIB_IPSECTUNNEL_TUNNELID 1101 -#define MIB_IPSECTUNNEL_AUTHTYPE 1102 -#define MIB_IPSECTUNNEL_LCTYPE 1103 -#define MIB_IPSECTUNNEL_LC_IPADDR 1104 -#define MIB_IPSECTUNNEL_LC_MASKLEN 1105 -#define MIB_IPSECTUNNEL_RTTYPE 1106 -#define MIB_IPSECTUNNEL_RT_IPADDR 1107 -#define MIB_IPSECTUNNEL_RT_MASKLEN 1108 -#define MIB_IPSECTUNNEL_RT_GWADDR 1109 -#define MIB_IPSECTUNNEL_KEYMODE 1110 -#define MIB_IPSECTUNNEL_ESPAH 1111 -#define MIB_IPSECTUNNEL_ESPENCR 1112 -#define MIB_IPSECTUNNEL_ESPAUTH 1113 -#define MIB_IPSECTUNNEL_AHAUTH 1114 -#define MIB_IPSECTUNNEL_CONTYPE 1115 -#define MIB_IPSECTUNNEL_PSKEY 1116 -#define MIB_IPSECTUNNEL_RSAKEY 1117 -#define MIB_IPSECTUNNEL_SPI 1118 -#define MIB_IPSECTUNNEL_ENCRKEY 1119 -#define MIB_IPSECTUNNEL_AUTHKEY 1120 -#define MIB_IPSECTUNNEL_ENABLE 1121 -#define MIB_IPSECTUNNEL_CONNNAME 1122 -#define MIB_IPSECTUNNEL_LCIDTYPE 1123 -#define MIB_IPSECTUNNEL_RTIDTYPE 1124 -#define MIB_IPSECTUNNEL_LCID 1125 -#define MIB_IPSECTUNNEL_RTID 1126 -#define MIB_IPSECTUNNEL_IKELIFETIME 1127 -#define MIB_IPSECTUNNEL_IKEENCR 1128 -#define MIB_IPSECTUNNEL_IKEAUTH 1129 -#define MIB_IPSECTUNNEL_IKEKEYGROUP 1130 -#define MIB_IPSECTUNNEL_IPSECLIFETIME 1131 -#define MIB_IPSECTUNNEL_IPSECPFS 1132 - -#define MIB_CERTROOT_COMMENT 1151 - -#define MIB_CERTUSER_COMMENT 1161 -#define MIB_CERTROOT_PASS 1162 - -#define MIB_QOS_ENTRY_NAME 1171 -#define MIB_QOS_ENTRY_ENABLED 1172 -#define MIB_QOS_PRIORITY 1173 -#define MIB_QOS_PROTOCOL 1174 -#define MIB_QOS_LOCAL_IP_START 1175 -#define MIB_QOS_LOCAL_IP_END 1176 -#define MIB_QOS_LOCAL_PORT_START 1177 -#define MIB_QOS_LOCAL_PORT_END 1178 -#define MIB_QOS_REMOTE_IP_START 1179 -#define MIB_QOS_REMOTE_IP_END 1180 -#define MIB_QOS_REMOTE_PORT_START 1181 -#define MIB_QOS_REMOTE_PORT_END 1182 - -#define MIB_IPQOS_ENTRY_NAME 1191 -#define MIB_IPQOS_ENABLED 1192 -#define MIB_IPQOS_MAC 1193 -#define MIB_IPQOS_MODE 1194 -#define MIB_IPQOS_LOCAL_IP_START 1195 -#define MIB_IPQOS_LOCAL_IP_END 1196 -#define MIB_IPQOS_BANDWIDTH 1197 -#define MIB_IPQOS_BANDWIDTH_DOWNLINK 1198 -#define MIB_IPQOS_LAYER7_PROTOCOL 1199 -#define MIB_IPQOS_IPV6_SRC 1200 - -#define MIB_MECH_ACL_MACADDR 1201 -#define MIB_MECH_ACL_COMMENT 1202 - -#define MIB_WLAN_ACL_ADDR_MACADDR 1211 -#define MIB_WLAN_ACL_ADDR_COMMENT 1212 - -#define MIB_WLAN_WDS_MACADDR 1221 -#define MIB_WLAN_WDS_FIXEDTXRATE 1222 -#define MIB_WLAN_WDS_COMMENT 1223 - - -//#ifdef CONFIG_RTL_FLASH_DUAL_IMAGE_ENABLE -#define MIB_DUALBANK_ENABLED 1300 -#define MIB_WLAN_PHY_BAND_SELECT 1301 -#define MIB_WLAN_MAC_PHY_MODE 1302 -#define MIB_WLAN_BAND2G5G_SELECT 1303 -//#endif - -//MIBs for 802.1x wlan client mode -#ifdef CONFIG_RTL_802_1X_CLIENT_SUPPORT -#define MIB_WLAN_EAP_TYPE 1311 -#define MIB_WLAN_EAP_INSIDE_TYPE 1312 -#define MIB_WLAN_EAP_USER_ID 1313 -#define MIB_WLAN_RS_USER_NAME 1314 -#define MIB_WLAN_RS_USER_PASSWD 1315 -#define MIB_WLAN_RS_USER_CERT_PASSWD 1316 -#define MIB_WLAN_RS_BAND_SEL 1317 -#endif - -/* USB3G */ -#define MIB_USB3G_USER 1400 -#define MIB_USB3G_PASS 1401 -#define MIB_USB3G_PIN 1402 -#define MIB_USB3G_APN 1403 -#define MIB_USB3G_DIALNUM 1404 -#define MIB_USB3G_CONN_TYPE 1405 -#define MIB_USB3G_IDLE_TIME 1406 -#define MIB_USB3G_MTU_SIZE 1407 -/*for P2P_SUPPORT*/ -#define MIB_WLAN_P2P_TYPE 1450 -#define MIB_WLAN_P2P_INTENT 1451 -#define MIB_WLAN_P2P_LISTEN_CHANNEL 1452 -#define MIB_WLAN_P2P_OPERATION_CHANNEL 1453 -#define MIB_WLAN_RS2_IP 1454 -#define MIB_WLAN_RS2_PORT 1455 -#define MIB_WLAN_RS2_PASSWORD 1456 -#define MIB_WLAN_RS2_MAXRETRY 1457 -#define MIB_WLAN_RS2_INTERVAL_TIME 1458 -#define MIB_WLAN_ACCOUNT_RS2_IP 1459 -#define MIB_WLAN_ACCOUNT_RS2_PORT 1460 -#define MIB_WLAN_ACCOUNT_RS2_PASSWORD 1461 -#define MIB_WLAN_RS_REAUTH_TO 1462 -#define MIB_WLAN_FUNC_OFF 1463 - - -#if defined(CONFIG_RTL_ULINKER) -#define MIB_ULINKER_AUTO 1470 -#define MIB_ULINKER_CURRENT_MODE 1471 -#define MIB_ULINKER_LATEST_MODE 1472 -#define MIB_ULINKER_CURRENT_WLAN_MODE 1473 -#define MIB_ULINKER_LATEST_WLAN_MODE 1474 - -#define MIB_ULINKER_REPEATER_ENABLED1 1475 -#define MIB_ULINKER_REPEATER_ENABLED2 1476 - -#endif - - -/*multi pppoe*/ -//dzh begin -//#define MIB_PPP_USER_NAME 106 -#define MIB_PPP_CONNECT_COUNT 1499 - -#define MIB_PPP_USER_NAME2 1500 -#define MIB_PPP_PASSWORD2 1501 -#define MIB_PPP_USER_NAME3 1502 -#define MIB_PPP_PASSWORD3 1503 -#define MIB_PPP_USER_NAME4 1504 -#define MIB_PPP_PASSWORD4 1505 - - -#define MIB_PPP_SERVICE_NAME2 1506 -#define MIB_PPP_SERVICE_NAME3 1507 -#define MIB_PPP_SERVICE_NAME4 1508 - -#define MIB_PPP_IDLE_TIME2 1509 -#define MIB_PPP_CONNECT_TYPE2 1510 -#define MIB_PPP_IDLE_TIME3 1511 -#define MIB_PPP_CONNECT_TYPE3 1512 -#define MIB_PPP_IDLE_TIME4 1513 -#define MIB_PPP_CONNECT_TYPE4 1514 - -#define MIB_PPP_MTU_SIZE2 1515 -#define MIB_PPP_MTU_SIZE3 1516 -#define MIB_PPP_MTU_SIZE4 1517 - - -#define MIB_PPP_SESSION_NUM2 1522 -#define MIB_PPP_SERVER_MAC2 1523 -#define MIB_PPP_SESSION_NUM3 1524 -#define MIB_PPP_SERVER_MAC3 1525 -#define MIB_PPP_SESSION_NUM4 1526 -#define MIB_PPP_SERVER_MAC4 1527 - -//add for subnet -#define MIB_SUBNET1_COUNT 1528 -#define MIB_SUBNET1_F1_START 1529 -#define MIB_SUBNET1_F1_END 1530 -#define MIB_SUBNET1_F2_START 1531 -#define MIB_SUBNET1_F2_END 1532 -#define MIB_SUBNET1_F3_START 1533 -#define MIB_SUBNET1_F3_END 1534 -#define MIB_SUBNET2_COUNT 1535 -#define MIB_SUBNET2_F1_START 1536 -#define MIB_SUBNET2_F1_END 1537 -#define MIB_SUBNET2_F2_START 1538 -#define MIB_SUBNET2_F2_END 1539 -#define MIB_SUBNET2_F3_START 1540 -#define MIB_SUBNET2_F3_END 1541 -#define MIB_SUBNET3_COUNT 1542 -#define MIB_SUBNET3_F1_START 1543 -#define MIB_SUBNET3_F1_END 1544 -#define MIB_SUBNET3_F2_START 1545 -#define MIB_SUBNET3_F2_END 1546 -#define MIB_SUBNET3_F3_START 1547 -#define MIB_SUBNET3_F3_END 1548 -#define MIB_SUBNET4_COUNT 1549 -#define MIB_SUBNET4_F1_START 1550 -#define MIB_SUBNET4_F1_END 1551 -#define MIB_SUBNET4_F2_START 1552 -#define MIB_SUBNET4_F2_END 1553 -#define MIB_SUBNET4_F3_START 1554 -#define MIB_SUBNET4_F3_END 1555 - - -#define MIB_PPP_SUBNET1 1556 -#define MIB_PPP_SUBNET2 1557 -#define MIB_PPP_SUBNET3 1558 -#define MIB_PPP_SUBNET4 1559 - -#ifdef CONFIG_CPU_UTILIZATION -#define MIB_ENABLE_CPU_UTILIZATION 1580 -#define MIB_CPU_UTILIZATION_INTERVAL 1581 -#endif - - - - -#define MIB_LAN_DHCP_CONFIGURABLE 1749 - -#define MIB_STATICROUTE_ENABLE 1776 -#define MIB_STATICROUTE_TYPE 1777 -#define MIB_STATICROUTE_SRCADDR 1778 -#define MIB_STATICROUTE_SRCNETMASK 1779 -#define MIB_STATICROUTE_IFACEINDEX 1780 -#define MIB_STATICROUTE_INSTANCENUM 1781 -#define MIB_STATICROUTE_FLAGS 1782 - -#define MIB_WLAN_CWMP_WLANCONFIG_INSTNUM 1783 - - -////////////////////////////////////////////////////////////////////////// -#define MIB_CWMP_WLANCONF_ENABLED 1784 -#define MIB_CWMP_WLANCONF_TBL_NUM 1785 -#define MIB_CWMP_WLANCONF_TBL ((MIB_CWMP_WLANCONF_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_CWMP_WLANCONF_ADD ((MIB_CWMP_WLANCONF_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_CWMP_WLANCONF_DEL ((MIB_CWMP_WLANCONF_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_CWMP_WLANCONF_MOD ((MIB_CWMP_WLANCONF_TBL_NUM+3)|MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) //brucehou -#define MIB_CWMP_WLANCONF_DELALL ((MIB_CWMP_WLANCONF_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -#define MAX_CWMP_WLANCONF_NUM 12 - -#define MIB_CWMP_WLANCONF_INSTANCENUM 1790 -#define MIB_CWMP_WLANCONF_ROOT_IDX 1791 -#define MIB_CWMP_WLANCONF_VWLAN_IDX 1792 -#define MIB_CWMP_WLANCONF_ISCONFIGURED 1793 -#define MIB_CWMP_WLANCONF_RFBAND 1794 - -#define VLAN_WAN 2000 -#define MIB_VLAN_WAN_ENALE VLAN_WAN + 1 -#define MIB_VLAN_WAN_TAG VLAN_WAN + 2 - -#define MIB_VLAN_WAN_BRIDGE_ENABLE VLAN_WAN + 3 -#define MIB_VLAN_WAN_BRIDGE_TAG VLAN_WAN + 4 -#define MIB_VLAN_WAN_BRIDGE_PORT VLAN_WAN + 5 -#define MIB_VLAN_WAN_BRIDGE_MULTICAST_ENABLE VLAN_WAN + 6 -#define MIB_VLAN_WAN_BRIDGE_MULTICAST_TAG VLAN_WAN + 7 - -#define MIB_VLAN_WAN_HOST_ENABLE VLAN_WAN + 8 -#define MIB_VLAN_WAN_HOST_TAG VLAN_WAN + 9 -#define MIB_VLAN_WAN_HOST_PRI VLAN_WAN + 10 -#define MIB_VLAN_WAN_WIFI_ROOT_ENABLE VLAN_WAN + 11 -#define MIB_VLAN_WAN_WIFI_ROOT_TAG VLAN_WAN + 12 -#define MIB_VLAN_WAN_WIFI_ROOT_PRI VLAN_WAN + 13 -#define MIB_VLAN_WAN_WIFI_VAP0_ENABLE VLAN_WAN + 14 -#define MIB_VLAN_WAN_WIFI_VAP0_TAG VLAN_WAN + 15 -#define MIB_VLAN_WAN_WIFI_VAP0_PRI VLAN_WAN + 16 -#define MIB_VLAN_WAN_WIFI_VAP1_ENABLE VLAN_WAN + 17 -#define MIB_VLAN_WAN_WIFI_VAP1_TAG VLAN_WAN + 18 -#define MIB_VLAN_WAN_WIFI_VAP1_PRI VLAN_WAN + 19 -#define MIB_VLAN_WAN_WIFI_VAP2_ENABLE VLAN_WAN + 20 -#define MIB_VLAN_WAN_WIFI_VAP2_TAG VLAN_WAN + 21 -#define MIB_VLAN_WAN_WIFI_VAP2_PRI VLAN_WAN + 22 -#define MIB_VLAN_WAN_WIFI_VAP3_ENABLE VLAN_WAN + 23 -#define MIB_VLAN_WAN_WIFI_VAP3_TAG VLAN_WAN + 24 -#define MIB_VLAN_WAN_WIFI_VAP3_PRI VLAN_WAN + 25 - -// Reserve 100 mib for vlan wan tag -#define MIB_VLAN_WAN_TAG_ID_END VLAN_WAN + 99 // 2099 - - -#ifdef WLAN_PROFILE -#define WLAN_PROFILE_ID 2100 -#define MIB_PROFILE_ENABLED1 (WLAN_PROFILE_ID+0) -#define MIB_PROFILE_NUM1 (WLAN_PROFILE_ID+1) -#define MIB_PROFILE_TBL1 ((WLAN_PROFILE_ID+2)|MIB_TABLE_LIST) -#define MIB_PROFILE_ADD1 ((WLAN_PROFILE_ID+3)|MIB_ADD_TBL_ENTRY) -#define MIB_PROFILE_DEL1 ((WLAN_PROFILE_ID+4)|MIB_DEL_TBL_ENTRY) -#define MIB_PROFILE_MOD1 ((WLAN_PROFILE_ID+4) | MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) -#define MIB_PROFILE_DELALL1 ((WLAN_PROFILE_ID+5)|MIB_DELALL_TBL_ENTRY) -#define MIB_PROFILE_SSID (WLAN_PROFILE_ID+6) -#define MIB_PROFILE_ENC (WLAN_PROFILE_ID+7) -#define MIB_PROFILE_AUTH (WLAN_PROFILE_ID+8) -#define MIB_PROFILE_WPA_CIPHER (WLAN_PROFILE_ID+9) -#define MIB_PROFILE_WPA_PSK (WLAN_PROFILE_ID+10) -#define MIB_PROFILE_WEP_DEFAULT_KEY (WLAN_PROFILE_ID+11) -#define MIB_PROFILE_WEP_KEY1 (WLAN_PROFILE_ID+12) -#define MIB_PROFILE_WEP_KEY2 (WLAN_PROFILE_ID+13) -#define MIB_PROFILE_WEP_KEY3 (WLAN_PROFILE_ID+14) -#define MIB_PROFILE_WEP_KEY4 (WLAN_PROFILE_ID+15) -#define MIB_PROFILE_ENABLED2 (WLAN_PROFILE_ID+16) -#define MIB_PROFILE_WEP_KEY_TYPE (WLAN_PROFILE_ID+17) -#define MIB_PROFILE_PSK_FORMAT (WLAN_PROFILE_ID+18) -#define MIB_PROFILE_NUM2 (WLAN_PROFILE_ID+19) -#define MIB_PROFILE_TBL2 ((WLAN_PROFILE_ID+20)|MIB_TABLE_LIST) -#define MIB_PROFILE_ADD2 ((WLAN_PROFILE_ID+21)|MIB_ADD_TBL_ENTRY) -#define MIB_PROFILE_DEL2 ((WLAN_PROFILE_ID+22)|MIB_DEL_TBL_ENTRY) -#define MIB_PROFILE_MOD2 ((WLAN_PROFILE_ID+22) | MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) -#define MIB_PROFILE_DELALL2 ((WLAN_PROFILE_ID+23)|MIB_DELALL_TBL_ENTRY) -#endif // WLAN_PROFILE - -#define IP6_ADDR_LEN 16 -#define MAX_PPP_NAME_LEN 63 -//dzh end -#ifdef CONFIG_APP_TR069 -/* define the len of the entities */ -#define CWMP_LANCONF_PASSWD_LEN 64 -#define CWMP_SERIALNUMBER_LEN 64 -#define CWMP_COMMAND_KEY_LEN 32 - -/* define the len of the entities */ -#define CWMP_PROVISION_CODE_LEN 32 //64 in spec -#define CWMP_ACS_URL_LEN 64 //256 in spec -#define CWMP_ACS_USERNAME_LEN 32 //256 in spec -#define CWMP_ACS_PASSWD_LEN 32 //256 in spec -#define CWMP_CONREQ_USERNAME_LEN 32 //256 in spec -#define CWMP_CONREQ_PASSWD_LEN 32 //256 in spec -#define CONN_REQ_PATH_LEN 32 //32 in spec -#define CWMP_KICK_URL 32 //64 in spec -#define CWMP_DOWNLOAD_URL 32 //64 in spec -#define CWMP_CERT_PASSWD_LEN 32 //64 in spec -#define CWMP_NOTIFY_LIST_LEN (2) //No limitation in spec -#define CWMP_UDP_CONN_REQ_ADDR_LEN 256 -#define CWMP_STUN_SERVER_ADDR_LEN 256 -#define CWMP_STUN_USERNAME_LEN 256 -#define CWMP_STUN_PASSWORD_LEN 256 -#define IP_ADDR_LEN 4 -/* define the cwmp_flag */ -#define CWMP_FLAG_DEBUG_MSG 0x01 -#define CWMP_FLAG_CERT_AUTH 0x02 -#define CWMP_FLAG_SENDGETRPC 0x04 -#define CWMP_FLAG_SKIPMREBOOT 0x08 -#define CWMP_FLAG_DELAY 0x10 -#define CWMP_FLAG_AUTORUN 0x20 -#define CWMP_FLAG_CTINFORMEXT 0x40 -#define CWMP_FLAG_SELFREBOOT 0x80 -/*flag for CWMP_FLAG2 setting*/ -#define CWMP_FLAG2_DIS_CONREQ_AUTH 0x01 /*disable connection request authentication*/ -#define CWMP_FLAG2_DEFAULT_WANIP_IN_INFORM 0x02 /*bring the default wan ip in the inform*/ -#define CWMP_FLAG2_NULL_TO_SKIP_AUTH 0x04 -/*action type for applying new values*/ -#define CWMP_NONE 0 -#define CWMP_START 1 -#define CWMP_STOP 2 -#define CWMP_RESTART 3 - -/*EC_xxxxx event must consist with those defined in cwmp_rpc.h*/ -#define EC_X_CT_COM_ACCOUNT 0x10000 /*X_CT-COM_ACCOUNTCHANGE*/ - -#endif /*CONFIG_APP_TR069*/ - -#if defined(CONFIG_RTL_8198C)||defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8198B) || defined(CONFIG_RTL_8881A) || defined(CONFIG_WLAN_HAL_8197F) -/*new add since new platform rtl8196c*/ -#define MIB_HW_TX_POWER_CCK_A 901 -#define MIB_HW_TX_POWER_CCK_B 902 -#define MIB_HW_TX_POWER_HT40_1S_A 903 -#define MIB_HW_TX_POWER_HT40_1S_B 904 -#define MIB_HW_TX_POWER_DIFF_HT40_2S 905 -#define MIB_HW_TX_POWER_DIFF_HT20 906 -#define MIB_HW_TX_POWER_DIFF_OFDM 907 -#define MIB_HW_11N_RESERVED9 908 -#define MIB_HW_11N_RESERVED10 909 -#define MIB_HW_TX_POWER_5G_HT40_1S_A 910 -#define MIB_HW_TX_POWER_5G_HT40_1S_B 911 -#define MIB_HW_TX_POWER_DIFF_5G_HT40_2S 912 -#define MIB_HW_TX_POWER_DIFF_5G_HT20 913 -#define MIB_HW_TX_POWER_DIFF_5G_OFDM 914 -/*new add end*/ -#endif - -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -#define MIB_HW_TX_POWER_CCK_C 2336 -#define MIB_HW_TX_POWER_CCK_D 2337 -#define MIB_HW_TX_POWER_HT40_1S_C 2338 -#define MIB_HW_TX_POWER_HT40_1S_D 2339 -#define MIB_HW_TX_POWER_5G_HT40_1S_C 2340 -#define MIB_HW_TX_POWER_5G_HT40_1S_D 2341 -#endif - -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -#define MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_A 2200 -#define MIB_HW_TX_POWER_DIFF_40BW2S_20BW2S_A 2201 -#define MIB_HW_TX_POWER_DIFF_OFDM2T_CCK2T_A 2202 -#define MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_A 2203 -#define MIB_HW_TX_POWER_DIFF_OFDM3T_CCK3T_A 2204 -#define MIB_HW_TX_POWER_DIFF_40BW4S_20BW4S_A 2205 -#define MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_A 2206 - -#define MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_A 2207 -#define MIB_HW_TX_POWER_DIFF_5G_40BW2S_20BW2S_A 2208 -#define MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_A 2209 -#define MIB_HW_TX_POWER_DIFF_5G_40BW4S_20BW4S_A 2210 -#define MIB_HW_TX_POWER_DIFF_5G_RSVD_OFDM4T_A 2211 -#define MIB_HW_TX_POWER_DIFF_5G_80BW1S_160BW1S_A 2212 -#define MIB_HW_TX_POWER_DIFF_5G_80BW2S_160BW2S_A 2213 -#define MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_A 2214 -#define MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_A 2215 - - -#define MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_B 2220 -#define MIB_HW_TX_POWER_DIFF_40BW2S_20BW2S_B 2221 -#define MIB_HW_TX_POWER_DIFF_OFDM2T_CCK2T_B 2222 -#define MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_B 2223 -#define MIB_HW_TX_POWER_DIFF_OFDM3T_CCK3T_B 2224 -#define MIB_HW_TX_POWER_DIFF_40BW4S_20BW4S_B 2225 -#define MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_B 2226 - -#define MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_B 2227 -#define MIB_HW_TX_POWER_DIFF_5G_40BW2S_20BW2S_B 2228 -#define MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_B 2229 -#define MIB_HW_TX_POWER_DIFF_5G_40BW4S_20BW4S_B 2230 -#define MIB_HW_TX_POWER_DIFF_5G_RSVD_OFDM4T_B 2231 -#define MIB_HW_TX_POWER_DIFF_5G_80BW1S_160BW1S_B 2232 -#define MIB_HW_TX_POWER_DIFF_5G_80BW2S_160BW2S_B 2233 -#define MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_B 2234 -#define MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_B 2235 -#endif - -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -#define MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_C 2300 -#define MIB_HW_TX_POWER_DIFF_40BW2S_20BW2S_C 2301 -#define MIB_HW_TX_POWER_DIFF_OFDM2T_CCK2T_C 2302 -#define MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_C 2303 -#define MIB_HW_TX_POWER_DIFF_OFDM3T_CCK3T_C 2304 -#define MIB_HW_TX_POWER_DIFF_40BW4S_20BW4S_C 2305 -#define MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_C 2306 - -#define MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_C 2307 -#define MIB_HW_TX_POWER_DIFF_5G_40BW2S_20BW2S_C 2308 -#define MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_C 2309 -#define MIB_HW_TX_POWER_DIFF_5G_40BW4S_20BW4S_C 2310 -#define MIB_HW_TX_POWER_DIFF_5G_RSVD_OFDM4T_C 2311 -#define MIB_HW_TX_POWER_DIFF_5G_80BW1S_160BW1S_C 2312 -#define MIB_HW_TX_POWER_DIFF_5G_80BW2S_160BW2S_C 2313 -#define MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_C 2314 -#define MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_C 2315 - -#define MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_D 2320 -#define MIB_HW_TX_POWER_DIFF_40BW2S_20BW2S_D 2321 -#define MIB_HW_TX_POWER_DIFF_OFDM2T_CCK2T_D 2322 -#define MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_D 2323 -#define MIB_HW_TX_POWER_DIFF_OFDM3T_CCK3T_D 2324 -#define MIB_HW_TX_POWER_DIFF_40BW4S_20BW4S_D 2325 -#define MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_D 2326 - -#define MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_D 2327 -#define MIB_HW_TX_POWER_DIFF_5G_40BW2S_20BW2S_D 2328 -#define MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_D 2329 -#define MIB_HW_TX_POWER_DIFF_5G_40BW4S_20BW4S_D 2330 -#define MIB_HW_TX_POWER_DIFF_5G_RSVD_OFDM4T_D 2331 -#define MIB_HW_TX_POWER_DIFF_5G_80BW1S_160BW1S_D 2332 -#define MIB_HW_TX_POWER_DIFF_5G_80BW2S_160BW2S_D 2333 -#define MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_D 2334 -#define MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_D 2335 -#endif -#define MIB_WLAN_RETRY_LIMIT 2252 -#define MIB_WLAN_UAPSD_ENABLED 2253 -#define MIB_WLAN_REGULATORY_DOMAIN 2254 -#ifdef SAMBA_WEB_SUPPORT -#define MIB_STORAGE_USER_TBL_NUM 2300 -#define MIB_STORAGE_USER_TBL ((MIB_STORAGE_USER_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_STORAGE_USER_ADD ((MIB_STORAGE_USER_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_STORAGE_USER_DEL ((MIB_STORAGE_USER_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_STORAGE_USER_MOD ((MIB_STORAGE_USER_TBL_NUM+3)|MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) -#define MIB_STORAGE_USER_DELALL ((MIB_STORAGE_USER_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - - -#define MIB_STORAGE_GROUP_TBL_NUM 2400 -#define MIB_STORAGE_GROUP_TBL ((MIB_STORAGE_GROUP_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_STORAGE_GROUP_ADD ((MIB_STORAGE_GROUP_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_STORAGE_GROUP_DEL ((MIB_STORAGE_GROUP_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_STORAGE_GROUP_MOD ((MIB_STORAGE_GROUP_TBL_NUM+3)|MIB_DEL_TBL_ENTRY | MIB_MOD_TBL_ENTRY) -#define MIB_STORAGE_GROUP_DELALL ((MIB_STORAGE_GROUP_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -#define MIB_STORAGE_USER_NAME 2501 -#define MIB_STORAGE_USER_PASSWD 2502 -#define MIB_STORAGE_USER_GROUP 2503 - -#define MIB_STORAGE_GROUP_NAME 2511 -#define MIB_STORAGE_GROUP_ACCESS 2512 -#define MIB_STORAGE_GROUP_SHAREFOLDER_FLAG 2513 -#define MIB_STORAGE_GROUP_DISPLAYNAME 2514 -#define MIB_STORAGE_GROUP_SHAREFOLDER 2515 - -#define MIB_STORAGE_ANON_ENABLE 2520 -//#define MIB_STORAGE_ANON_FTP_ENABLE 2521 -#define MIB_STORAGE_ANON_DISK_ENABLE 2522 - -#define MIB_STORAGE_FOLDER_LOCAL 2523 -#define MIB_STORAGE_GROUP_EDIT_INDEX 2524 -#define MIB_STORAGE_USER_EDIT_INDEX 2525 -#define MIB_STORAGE_FOLDER_EDIT_NAME 2526 - -#endif -#ifdef CONFIG_RTL_ETH_802DOT1X_SUPPORT -#define MIB_ELAN_RS_IP 3032 -#define MIB_ELAN_RS_PORT 3033 -#define MIB_ELAN_RS_PASSWORD 3034 -#define MIB_ELAN_ENABLE_1X 3035 -#define MIB_ELAN_RS_REAUTH_TO 3036 -#define MIB_ELAN_ACCOUNT_RS_ENABLED 3039 -#define MIB_ELAN_ACCOUNT_RS_IP 3040 -#define MIB_ELAN_ACCOUNT_RS_PORT 3041 -#define MIB_ELAN_ACCOUNT_RS_PASSWORD 3042 -#define MIB_ELAN_ACCOUNT_RS_UPDATE_ENABLED 3043 -#define MIB_ELAN_ACCOUNT_RS_UPDATE_DELAY 3044 -#define MIB_ELAN_MAC_AUTH_ENABLED 3045 -#define MIB_ELAN_RS_MAXRETRY 3046 -#define MIB_ELAN_RS_INTERVAL_TIME 3047 -#define MIB_ELAN_ACCOUNT_RS_MAXRETRY 3048 -#define MIB_ELAN_ACCOUNT_RS_INTERVAL_TIME 3049 -#define MIB_ELAN_DOT1X_MODE 3050 -#define MIB_ELAN_DOT1X_PROXY_TYPE 3051 -#define MIB_ELAN_DOT1X_CLIENT_MODE_PORT_MASK 3052 -#define MIB_ELAN_DOT1X_PROXY_MODE_PORT_MASK 3053 - - -#define MIB_ELAN_INACTIVITY_TIME 3054 -#define MIB_ELAN_EAPOL_UNICAST_ENABLED 3055 -#ifdef CONFIG_RTL_ETH_802DOT1X_CLIENT_MODE_SUPPORT -#define MIB_ELAN_EAP_TYPE 3056 -#define MIB_ELAN_EAP_INSIDE_TYPE 3057 -#define MIB_ELAN_EAP_USER_ID 3058 -#define MIB_ELAN_RS_USER_NAME 3059 -#define MIB_ELAN_RS_USER_PASSWD 3060 -#define MIB_ELAN_RS_USER_CERT_PASSWD 3061 -#define MIB_ELAN_EAP_PHASE2_TYPE 3062 -#define MIB_ELAN_PHASE2_EAP_METHOD 3063 -#endif -typedef enum {ETH_DOT1X_CLIENT_MODE=1,ETH_DOT1X_PROXY_MODE=2}ETH_DOT1X_MODE_T; -#define MIB_ELAN_DOT1X_PORT_ENABLED 3070 -#define MIB_ELAN_DOT1X_PORT_NUMBER 3071 -#define MIB_ELAN_DOT1X_SERVER_PORT 3072 - -#define MIB_ELAN_DOT1X_TBL_NUM 3073 -#define MIB_ELAN_DOT1X_TBL ((MIB_ELAN_DOT1X_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_ELAN_DOT1X_ADD ((MIB_ELAN_DOT1X_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_ELAN_DOT1X_DEL ((MIB_ELAN_DOT1X_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_ELAN_DOT1X_DELALL ((MIB_ELAN_DOT1X_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -#define MAX_ELAN_DOT1X_PORTNUM (5) /* eth0~eth4 */ -#define ETH_DOT1X_CLIENT_PORT (4) -#define ETH_DOT1X_PROXY_SNOOPING_MODE_ENABLE_BIT (1<<0) -#define ETH_DOT1X_CLIENT_MODE_ENABLE_BIT (1<<1) -#define ETH_DOT1X_PROXY_MODE_ENABLE_BIT (1<<0) - - -#define ETH_DOT1X_CLIENT_MODE_BIT (1<<0) -#define ETH_DOT1X_PROXY_MODE_BIT (1<<1) -#define ETH_DOT1X_SNOOPING_MODE_BIT (1<<2) -#endif - -#define MIB_WLAN_RETRY_LIMIT 2252 -#define MIB_WLAN_UAPSD_ENABLED 2253 -#define MIB_WLAN_REGULATORY_DOMAIN 2254 - - -#define MAX_L2TP_BUFF_LEN 50 - -#define MIB_PPP_SESSION_NUM 940 -#define MIB_PPP_SERVER_MAC 941 -#define MIB_L2TP_PAYLOAD 942 -#define MIB_L2TP_PAYLOAD_LENGTH 943 -#define MIB_L2TP_NS 944 -#define MIB_DHCP_LEASE_TIME 945 - -/* ==== CAPWAP start =======*/ -#ifdef RTK_CAPWAP // currently use 2300~2329 -#define MIB_CAPWAP_MODE 2300 - typedef enum { - CAPWAP_DISABLE = 0, - CAPWAP_WTP_ENABLE = (1<<0), - CAPWAP_AC_ENABLE = (1<<1), - CAPWAP_BOTH_ENABLE = (CAPWAP_WTP_ENABLE | CAPWAP_AC_ENABLE), - } CAPWAP_MODE_T; - -// for WTP (if WTP enabled or both enabled) -#define MIB_CAPWAP_WTP_ID 2301 // 0 is invalid -#define MIB_CAPWAP_AC_IP 2302 - -// for AC (if AC enabled or both enabled) -#define MIB_CAPWAP_WTP_CONFIG_TBL_NUM 2305 // <= MAX_CAPWAP_WTP_NUM -#define MIB_CAPWAP_WTP_CONFIG_TBL ((MIB_CAPWAP_WTP_CONFIG_TBL_NUM+1)|MIB_TABLE_LIST) -#define MIB_CAPWAP_WTP_CONFIG_ADD ((MIB_CAPWAP_WTP_CONFIG_TBL_NUM+2)|MIB_ADD_TBL_ENTRY) -#define MIB_CAPWAP_WTP_CONFIG_DEL ((MIB_CAPWAP_WTP_CONFIG_TBL_NUM+3)|MIB_DEL_TBL_ENTRY) -#define MIB_CAPWAP_WTP_CONFIG_DELALL ((MIB_CAPWAP_WTP_CONFIG_TBL_NUM+4)|MIB_DELALL_TBL_ENTRY) - -#define MIB_CAPWAP_CFG_WTP_ID 2310 // 0 is invalid -#define MIB_CAPWAP_CFG_RADIO_NUM 2311 // radios per wtp <= MAX_CAPWAP_RADIO_NUM -#define MIB_CAPWAP_CFG_WLAN_NUM 2312 // wlans per radio <= MAX_CAPWAP_WLAN_NUM - -#define MIB_CAPWAP_CFG_RFPOWER_SCALE 2313 // for multiple radios -/* - typedef enum { - POWER_SCALE_100 = 0, - POWER_SCALE_70 = 1, - POWER_SCALE_50 = 2, - POWER_SCALE_35 = 3, - POWER_SCALE_15 = 4, - } WLAN_POWER_SCALE_T; - */ -#define MIB_CAPWAP_CFG_CHANNEL 2314 // for multiple radios -#define MIB_CAPWAP_CFG_WLAN 2315 // for multiple wlans (vaps) - -#define MIB_CAPWAP_CFG_WLAN_ENABLE 2320 // for each wlan (vap) -#define MIB_CAPWAP_CFG_KEY_TYPE 2321 // for each wlan (vap) - typedef enum { - CAPWAP_KEY_TYPE_NONE = 0, - CAPWAP_KEY_TYPE_SHARED_WEP40, - CAPWAP_KEY_TYPE_SHARED_WEP104, - CAPWAP_KEY_TYPE_SHARED_WPA_AES, - CAPWAP_KEY_TYPE_SHARED_WPA_TKIP, - CAPWAP_KEY_TYPE_SHARED_WPA2_AES, - CAPWAP_KEY_TYPE_SHARED_WPA2_TKIP, - } CAPWAP_KEY_TYPE_T; -#define MIB_CAPWAP_CFG_PSK_FORMAT 2322 // for each wlan (vap) - typedef enum { - PSK_FORMAT_PASSPHRASE = 0, - PSK_FORMAT_HEX = 1, - }PASK_FORMAT_T; -#define MIB_CAPWAP_CFG_KEY 2323 // for each wlan (vap) -#define MIB_CAPWAP_CFG_SSID 2324 // for each wlan (vap) -#define MIB_CAPWAP_CFG_BSSID 2325 // for each wlan (vap) - -#define MAX_CAPWAP_WTP_NUM 4 // max wtps for one AC -#define MAX_CAPWAP_RADIO_NUM 2 // radios per wtp -#define MAX_CAPWAP_WLAN_NUM 5 // max wlans per radio -#endif //#ifdef RTK_CAPWAP -/* ==== CAPWAP end =======*/ - -// MIB value and constant -#ifdef CONFIG_IPV6 -#define IFNAMESIZE 32 -#define MAX_PREFIX_NUM 2 -#define RR_MAX_NUM 2 -#define NAMSIZE 32 -#define MAX_DNAME_SIZE 128 -#endif -#define MAX_REGULATORY_DOMAIN 4 -#define MAX_SSID_LEN 33 -#define WEP64_KEY_LEN 5 -#define WEP128_KEY_LEN 13 -#define MAX_NAME_LEN 31 -#define COMMENT_LEN 21 -#define MAX_CCK_CHAN_NUM 14 -#define MAX_OFDM_CHAN_NUM 162 -#define MAX_SERVER_DOMAIN_LEN 32 -#define MAX_2G_CHANNEL_NUM_MIB 14 -#define MAX_5G_CHANNEL_NUM_MIB 196 - -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -#define MAX_5G_DIFF_NUM 14 -#endif -#define MIN_PSK_LEN 8 -#define MAX_PSK_LEN 64 -#define MAX_RS_PASS_LEN 65 -#define MAX_DOMAIN_LEN 51 -#define MAX_NAME_LEN_LONG 129 - -#define TX_RATE_1M 0x01 -#define TX_RATE_2M 0x02 -#define TX_RATE_5M 0x04 -#define TX_RATE_11M 0x08 - -#define TX_RATE_6M 0x10 -#define TX_RATE_9M 0x20 -#define TX_RATE_12M 0x40 -#define TX_RATE_18M 0x80 -#define TX_RATE_24M 0x100 -#define TX_RATE_36M 0x200 -#define TX_RATE_48M 0x400 -#define TX_RATE_54M 0x800 - -#define MAX_WLAN_AC_NUM 20 - -//#if defined(CONFIG_RTK_MESH) && defined(_MESH_ACL_ENABLE_) Keith remove -#define MAX_MESH_ACL_NUM MAX_WLAN_AC_NUM -//#endif Keith remove - -#define MAX_CERTROOT_NUM 5 -#define MAX_CERTUSER_NUM 5 -#ifdef HOME_GATEWAY -#define MAX_FILTER_NUM 20 -#define MAX_URLFILTER_NUM 16 -#ifdef VPN_SUPPORT -#define MAX_TUNNEL_NUM 10 -#define MAX_RSA_FILE_LEN 2048 -#define MAX_RSA_KEY_LEN 380 -#define MAX_ENCRKEY_LEN 49 -#define MAX_AUTHKEY_LEN 41 -#define MAX_SPI_LEN 5 -#endif -#define MAX_QOS_RULE_NUM 10 -#endif -#define MAX_ROUTE_NUM 10 -#define MAX_DHCP_RSVD_IP_NUM 20 -#define MAXFNAME 60 - -//#ifdef CONFIG_RTL8196B_GW_8M -//#define MAX_WDS_NUM 4 -//#else -#define MAX_WDS_NUM 8 -//#endif - -#ifdef WLAN_EASY_CONFIG -#define MAX_ACF_KEY_LEN 64 -#define MAX_ACF_DIGEST_LEN 32 -#endif - -//#ifdef SNMP_SUPPORT Keith remove -#define MAX_SNMP_COMMUNITY_LEN 64 -//#endif Keith remove - -#if defined(WIFI_SIMPLE_CONFIG) || defined(HAVE_WIFI_SIMPLE_CONFIG) -#define PIN_LEN 8 -#endif - -#define IFNAMSIZE 16 -#if defined(CONFIG_RTL_8198_AP_ROOT) && defined(GMII_ENABLED) || defined(CONFIG_RTK_VLAN_NEW_FEATURE) -#define MAX_IFACE_VLAN_CONFIG (7+5*2) /* eth0~eth6, 2*(wlanX,wlanX-va0~wlanX-va3)no wds and vxd*/ -#else -#define MAX_IFACE_VLAN_CONFIG (6+5*2) /* eth0~eth5, 2*(wlanX,wlanX-va0~wlanX-va3)no wds and vxd*/ -#endif - -#ifdef WLAN_PROFILE -#define MAX_WLAN_PROFILE_NUM 5 -#define PROFILE_BOTTOM_UP -#endif - -#if defined(UNIVERSAL_REPEATER) -#define CONFIG_SMART_REPEATER -//#define CONFIG_REPEATER_WPS_SUPPORT -//#define CONFIG_WPS_EITHER_AP_OR_VXD //either one. When enable repeater, the wps is working for virtual client. Otherwise wps is working for root AP. -//#define CONFIG_ONLY_SUPPORT_CLIENT_REPEATER_WPS //if and only if root is client mode, the virtual vxd support wps -#endif - -#define NEW_SCHEDULE_SUPPORT -#if defined(NEW_SCHEDULE_SUPPORT) -#define MAX_SCHEDULE_NUM 10 -#else -/*Brad add for schedule*/ -#define MAX_SCHEDULE_NUM 1 -#endif - -/* # keith: add l2tp support. 20080515 */ -#define MAX_PPTP_HOST_NAME_LEN 64 - -#ifdef SAMBA_WEB_SUPPORT -#define MAX_USER_NUM 10 -#define MAX_GROUP_NUM 10 -#define MAX_USER_NAME_LEN 10 -#define MAX_USER_PASSWD_LEN 10 -#define MAX_GROUP_NAME_LEN 10 -#define MAX_FOLDER_NAME_LEN 30 -#define MAX_DISPLAY_NAME_LEN 10 -#endif - -#ifdef __mips__ -#ifdef CONFIG_MTD_NAND -#define FLASH_DEVICE_NAME ("/hw_setting/hw.bin") -#define FLASH_DEVICE_NAME1 ("/hw_setting/hw1.bin") -#else -#define FLASH_DEVICE_NAME ("/dev/mtdblock0") -#define FLASH_DEVICE_NAME1 ("/dev/mtdblock1") -#endif -#else -#define FLASH_DEVICE_NAME ("setting.bin") -#define FLASH_DEVICE_NAME1 ("setting1.bin") -#endif - -#ifdef CONFIG_RTL_FLASH_MAPPING_ENABLE -#define HW_SETTING_OFFSET CONFIG_RTL_HW_SETTING_OFFSET -#define DEFAULT_SETTING_OFFSET CONFIG_RTL_DEFAULT_SETTING_OFFSET -#define CURRENT_SETTING_OFFSET CONFIG_RTL_CURRENT_SETTING_OFFSET -#define WEB_PAGE_OFFSET CONFIG_RTL_WEB_PAGES_OFFSET -#define CODE_IMAGE_OFFSET CONFIG_RTL_CODE_IMAGE_OFFSET -#define ROOT_IMAGE_OFFSET CONFIG_RTL_ROOT_IMAGE_OFFSET -#else -#define HW_SETTING_OFFSET 0x6000 -#define DEFAULT_SETTING_OFFSET 0x8000 -#define CURRENT_SETTING_OFFSET 0xc000 -#define WEB_PAGE_OFFSET 0x10000 -#define CODE_IMAGE_OFFSET 0x20000 -#define ROOT_IMAGE_OFFSET 0xE0000 -#endif - -#ifdef HOME_GATEWAY - #define CERT_PAGE_OFFSET 0x3f0000 -#else - #define CERT_PAGE_OFFSET 0x1f0000 -#endif - -#ifdef CONFIG_RTL_FLASH_MAPPING_ENABLE -#define HW_SETTING_SECTOR_LEN (CONFIG_RTL_DEFAULT_SETTING_OFFSET-CONFIG_RTL_HW_SETTING_OFFSET) -#define DEFAULT_SETTING_SECTOR_LEN (CONFIG_RTL_CURRENT_SETTING_OFFSET-CONFIG_RTL_DEFAULT_SETTING_OFFSET) -#define CURRENT_SETTING_SECTOR_LEN (CONFIG_RTL_WEB_PAGES_OFFSET-CONFIG_RTL_CURRENT_SETTING_OFFSET) -#else -#define HW_SETTING_SECTOR_LEN (0x8000-0x6000) -#define DEFAULT_SETTING_SECTOR_LEN (0xc000-0x8000) -#define CURRENT_SETTING_SECTOR_LEN (0x10000-0xc000) -#endif - -#ifndef WIN32 -#define __PACK__ __attribute__ ((packed)) -#else -#define __PACK__ -#endif - - -/* Config/fw image file header */ - -typedef enum { HW_SETTING=1, DEFAULT_SETTING=2, CURRENT_SETTING=4 } CONFIG_DATA_T; - -#if defined(CONFIG_RTL_8196B) -// update tag -#define HW_SETTING_HEADER_TAG ((char *)"h6") -//Brad add for distinguish ap(da:default setting for ap) or gateway(dg: default setting for gateway) platform -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define DEFAULT_SETTING_HEADER_TAG ((char *)"6V") -#elif (defined(HOME_GATEWAY)) -#define DEFAULT_SETTING_HEADER_TAG ((char *)"6G") -#else -#define DEFAULT_SETTING_HEADER_TAG ((char *)"6A") -#endif -//Brad add for distinguish ap(ca:current setting for ap) or gateway(cg: current setting for gateway) platform -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define CURRENT_SETTING_HEADER_TAG ((char *)"6v") -#elif (defined(HOME_GATEWAY)) -#define CURRENT_SETTING_HEADER_TAG ((char *)"6g") -#else -#define CURRENT_SETTING_HEADER_TAG ((char *)"6a") -#endif -// force tag -#define HW_SETTING_HEADER_FORCE_TAG ((char *)"Hf") -#define DEFAULT_SETTING_HEADER_FORCE_TAG ((char *)"Df") -#define CURRENT_SETTING_HEADER_FORCE_TAG ((char *)"Cf") -// upgrade -#define HW_SETTING_HEADER_UPGRADE_TAG ((char *)"Hu") -#define DEFAULT_SETTING_HEADER_UPGRADE_TAG ((char *)"Du") -#define CURRENT_SETTING_HEADER_UPGRADE_TAG ((char *)"Cu") -#elif defined(CONFIG_RTL_8198C)||defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8198B) || defined(CONFIG_RTL_8197F) -// update tag -#define HW_SETTING_HEADER_TAG ((char *)"H6") -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define DEFAULT_SETTING_HEADER_TAG ((char *)"6V") -#elif (defined(HOME_GATEWAY)) -#define DEFAULT_SETTING_HEADER_TAG ((char *)"6G") -#else -#define DEFAULT_SETTING_HEADER_TAG ((char *)"6A") -#endif -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define CURRENT_SETTING_HEADER_TAG ((char *)"6v") -#elif (defined(HOME_GATEWAY)) -#define CURRENT_SETTING_HEADER_TAG ((char *)"6g") -#else -#define CURRENT_SETTING_HEADER_TAG ((char *)"6a") -#endif -// force tag -#define HW_SETTING_HEADER_FORCE_TAG ((char *)"Hf") -#define DEFAULT_SETTING_HEADER_FORCE_TAG ((char *)"Df") -#define CURRENT_SETTING_HEADER_FORCE_TAG ((char *)"Cf") -// upgrade -#define HW_SETTING_HEADER_UPGRADE_TAG ((char *)"Hu") -#define DEFAULT_SETTING_HEADER_UPGRADE_TAG ((char *)"Du") -#define CURRENT_SETTING_HEADER_UPGRADE_TAG ((char *)"Cu") -#else -// update tag -#define HW_SETTING_HEADER_TAG ((char *)"hs") -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define DEFAULT_SETTING_HEADER_TAG ((char *)"dv") -#elif (defined(HOME_GATEWAY)) -#define DEFAULT_SETTING_HEADER_TAG ((char *)"dg") -#else -#define DEFAULT_SETTING_HEADER_TAG ((char *)"da") -#endif -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define CURRENT_SETTING_HEADER_TAG ((char *)"cv") -#elif (defined(HOME_GATEWAY)) -#define CURRENT_SETTING_HEADER_TAG ((char *)"cg") -#else -#define CURRENT_SETTING_HEADER_TAG ((char *)"ca") -#endif -// force tag -#define HW_SETTING_HEADER_FORCE_TAG ((char *)"hf") -#define DEFAULT_SETTING_HEADER_FORCE_TAG ((char *)"df") -#define CURRENT_SETTING_HEADER_FORCE_TAG ((char *)"cf") -// upgrade -#define HW_SETTING_HEADER_UPGRADE_TAG ((char *)"hu") -#define DEFAULT_SETTING_HEADER_UPGRADE_TAG ((char *)"du") -#define CURRENT_SETTING_HEADER_UPGRADE_TAG ((char *)"cu") -#endif //#if defined(CONFIG_RTL_8196B) - - -#if 0//def CONFIG_RTL8196B_GW_8M -#undef DEFAULT_SETTING_HEADER_TAG -#define DEFAULT_SETTING_HEADER_TAG ((char *)"61") - -#undef CURRENT_SETTING_HEADER_TAG -#define CURRENT_SETTING_HEADER_TAG ((char *)"62") -#endif - - -#define TAG_LEN 2 - -#if defined(CONFIG_RTL_8196B) - -#define HW_SETTING_VER 1 // hw setting version -#define DEFAULT_SETTING_VER 2 // default setting version -#define CURRENT_SETTING_VER DEFAULT_SETTING_VER // current setting version - -#elif defined(CONFIG_RTL_8198C)||defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8198B) || defined(CONFIG_RTL_8197F) -#define HW_SETTING_VER 1 // hw setting version -#define DEFAULT_SETTING_VER 1 // default setting version -#define CURRENT_SETTING_VER DEFAULT_SETTING_VER // current setting version -#else - -#define HW_SETTING_VER 3 // hw setting version -#define DEFAULT_SETTING_VER 4 // default setting version -#define CURRENT_SETTING_VER DEFAULT_SETTING_VER // current setting version - -#endif - -#if defined(CONFIG_RTL_8196B) -#define FW_HEADER_WITH_ROOT ((char *)"cr6b") -#define FW_HEADER ((char *)"cs6b") -#elif defined(CONFIG_RTL_8198C)||defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8198B) -#define FW_HEADER_WITH_ROOT ((char *)"cr6c") -#define FW_HEADER ((char *)"cs6c") -#else -#define FW_HEADER_WITH_ROOT ((char *)"csro") -#define FW_HEADER ((char *)"csys") -#endif //#if defined(CONFIG_RTL_8196B) - -#if defined(CONFIG_RTL_8196B) -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define WEB_HEADER ((char *)"w6bv") -#elif (defined(HOME_GATEWAY)) -#define WEB_HEADER ((char *)"w6bg") -#else -#define WEB_HEADER ((char *)"w6ba") -#endif -#elif defined(CONFIG_RTL_8198C)||defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8198B) -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define WEB_HEADER ((char *)"w6cv") -#elif (defined(HOME_GATEWAY)) -#define WEB_HEADER ((char *)"w6cg") -#else -#define WEB_HEADER ((char *)"w6ca") -#endif -#else -#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -#define WEB_HEADER ((char *)"webv") -#elif (defined(HOME_GATEWAY)) -#define WEB_HEADER ((char *)"webg") -#else -#define WEB_HEADER ((char *)"weba") -#endif -#endif //#if defined(CONFIG_RTL_8196B) - -#if defined(CONFIG_RTL_8196B) -#define ROOT_HEADER ((char *)"r6br") -#elif defined(CONFIG_RTL_8198C)||defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8198B) -#define ROOT_HEADER ((char *)"r6cr") -#else -#define ROOT_HEADER ((char *)"root") -#endif //#if defined(CONFIG_RTL_8196B) - -#define CERT_HEADER ((char *)"cert") -#define BOOT_HEADER ((char *)"boot") -#define ALL_HEADER ((char *)"allp") -#define SIGNATURE_LEN 4 - -/* wlan driver ioctl id */ -#define SIOCGIWRTLSTAINFO 0x8B30 // get station table information -#define SIOCGIWRTLSTANUM 0x8B31 // get the number of stations in table -#define SIOCGIWRTLSCANREQ 0x8B33 // scan request -#define SIOCGIWRTLGETBSSDB 0x8B34 // get bss data base -#define SIOCGIWRTLJOINREQ 0x8B35 // join request -#define SIOCGIWRTLJOINREQSTATUS 0x8B36 // get status of join request -#define SIOCGIWRTLGETBSSINFO 0x8B37 // get currnet bss info -#define SIOCGIWRTLGETWDSINFO 0x8B38 -#define SIOCGMISCDATA 0x8B48 // get misc data - -/*for P2P_SUPPORT*/ -#define SIOCP2PSCANREQ 0x8BD2 // p2p scan request -#define SIOCP2PGETRESULT 0x8BD3 // get p2p discovery result -#define SIOCP2PPROVREQ 0x8BD4 // issue provision discovery request -#define SIOCP2WSCMETHODCONF 0x8BD5 // report event and state -#define SIOCP2PPGETEVNIND 0x8BD6 // report event and state - -#define SIOCP2P_WSC_REPORT_STATE 0x8BD7 -#define SIOCP2P_REPORT_CLIENT_STATE 0x8BD8 // report client connect state - - - -//=========add for MESH========= -//#ifdef CONFIG_RTK_MESH Keith remove -// by GANTOE for site survey 2008/12/26 -#define SIOCJOINMESH 0x8B94 -#define SIOCCHECKMESHLINK 0x8B95 -//#endif Keith remove -//=========add for MESH========= - -#define MAC_ADDR_LEN 6 -#define MAX_STA_NUM 64 // max support sta number - -/* flag of sta info */ -#define STA_INFO_FLAG_AUTH_OPEN 0x01 -#define STA_INFO_FLAG_AUTH_WEP 0x02 -#define STA_INFO_FLAG_ASOC 0x04 -#define STA_INFO_FLAG_ASLEEP 0x08 - -// bit value for hw board id -#if 0 -// Old code and no longer used -#define ETH_PHY_TYPE 1 -#define BOOT_PORT_SELECT 2 -#define USE_ETH0_WAN 4 -#endif -#define WLAN_RF_2T2R 1 - -#ifdef WIFI_SIMPLE_CONFIG -enum { WSC_AUTH_OPEN=1, WSC_AUTH_WPAPSK=2, WSC_AUTH_SHARED=4, WSC_AUTH_WPA=8, WSC_AUTH_WPA2=0x10, WSC_AUTH_WPA2PSK=0x20, WSC_AUTH_WPA2PSKMIXED=0x22 }; -enum { WSC_ENCRYPT_NONE=1, WSC_ENCRYPT_WEP=2, WSC_ENCRYPT_TKIP=4, WSC_ENCRYPT_AES=8, WSC_ENCRYPT_TKIPAES=12 }; - -enum { -CONFIG_METHOD_ETH=0x2, - CONFIG_METHOD_PIN=0x4, - CONFIG_METHOD_DISPLAY=0x8 , - CONFIG_METHOD_PBC=0x80 , - CONFIG_METHOD_KEYPAD=0x100 -}; - -enum { CONFIG_BY_INTERNAL_REGISTRAR=1, CONFIG_BY_EXTERNAL_REGISTRAR=2}; -#endif -typedef enum { - ENCRYPT_WPA_TKIP = 2, - ENCRYPT_WPA_AES = 3, - ENCRYPT_WPA2_AES = 4, - ENCRYPT_WPA2_TKIP = 5, -} WPAENCRYPT_T; -typedef enum { ENCRYPT_DISABLED=0, ENCRYPT_WEP=1, ENCRYPT_WPA=2, ENCRYPT_WPA2=4, ENCRYPT_WPA2_MIXED=6 ,ENCRYPT_WAPI=7} ENCRYPT_T; -typedef enum { WDS_ENCRYPT_DISABLED=0, WDS_ENCRYPT_WEP64=1, WDS_ENCRYPT_WEP128=2, WDS_ENCRYPT_TKIP=3, WDS_ENCRYPT_AES=4} WDS_ENCRYPT_T; -typedef enum { SUPP_NONWPA_NONE=0,SUPP_NONWPA_WEP=1,SUPP_NONWPA_1X=2} SUPP_NONWAP_T; -typedef enum { WPA_AUTH_AUTO=1, WPA_AUTH_PSK=2 } WPA_AUTH_T; -typedef enum { WAPI_AUTH_AUTO=1, WAPI_AUTH_PSK=2 } WAPI_AUTH_T; -typedef enum { WPA_CIPHER_TKIP=1, WPA_CIPHER_AES=2, WPA_CIPHER_MIXED=3 } WPA_CIPHER_T; -typedef enum { WEP_DISABLED=0, WEP64=1, WEP128=2 } WEP_T; -typedef enum { KEY_ASCII=0, KEY_HEX } KEY_TYPE_T; -typedef enum { LONG_PREAMBLE=0, SHORT_PREAMBLE=1 } PREAMBLE_T; -typedef enum { DHCP_DISABLED=0, DHCP_CLIENT=1, DHCP_SERVER=2, PPPOE=3, PPTP=4, DHCP_RELAY=5,L2TP=6, DHCP_AUTO=15 , USB3G=16, AFTR=17, DHCP_AUTO_WAN=19, DHCP_NONE=99 } DHCP_T; /* # keith: add l2tp support. 20080515 */ -typedef enum { DHCP_LAN_NONE=0, DHCP_LAN_CLIENT=1, DHCP_LAN_SERVER=2, DHCP_LAN_RELAY=3 } DHCP_TYPE_T; //keith add. LAN SIDE DHCP TYPE -typedef enum { GATEWAY_MODE=0, BRIDGE_MODE=1, WISP_MODE=2 } OPMODE_T; -typedef enum { DISABLE_MODE=0, RIP1_MODE=1, RIP2_MODE=2 } RIP_OPMODE_T; -#ifdef RIP6_SUPPORT -typedef enum { RIP6_DISABLE=0, RIP6_ENABLE=1 } RIP6_OPMODE_T; -#endif -typedef enum { FCC=1, IC, ETSI, SPAIN, FRANCE, MKK } REG_DOMAIN_T; -typedef enum { AUTH_OPEN=0, AUTH_SHARED, AUTH_BOTH } AUTH_TYPE_T; -typedef enum { DNS_AUTO=0, DNS_MANUAL } DNS_TYPE_T; -#if defined(CONFIG_DYNAMIC_WAN_IP) -typedef enum { DYNAMIC_IP=0, STATIC_IP } WAN_IP_TYPE_T; -#endif -typedef enum { CONTINUOUS=0, CONNECT_ON_DEMAND, MANUAL } PPP_CONNECT_TYPE_T; -typedef enum { RF_INTERSIL=1, RF_RFMD=2, RF_PHILIP=3, RF_MAXIM=4, RF_GCT=5, - RF_MAXIM_AG=6, RF_ZEBRA=7, RF_8255=8 } RF_TYPE_T; -typedef enum { LED_TX_RX=0, LED_LINK_TXRX=1, LED_LINKTXRX=2 } LED_TYPE_T; -typedef enum { VLAN_FORWARD_DISABLED=0, VLAN_FORWARD_BRIDGE=1, VLAN_FORWARD_NAT=2 } VLAN_FORWARD_TYPE_T; - -typedef enum { CHIP_UNKNOWN=0, CHIP_RTL8188C=1, CHIP_RTL8192C=2, CHIP_RTL8192D=3, CHIP_RTL8192E=4,CHIP_RTL8188E=5, } CHIP_VERSION_T; - -typedef enum { - AP_MODE=0, - CLIENT_MODE=1, - WDS_MODE=2, - AP_WDS_MODE=3, - AP_MESH_MODE=4, - MESH_MODE=5, - MP_MODE=7, - P2P_SUPPORT_MODE=8 -} WLAN_MODE_T; - -//=========add for MESH========= - -typedef enum { INFRASTRUCTURE=0, ADHOC=1 } NETWORK_TYPE_T; -typedef enum { BAND_11B=1, BAND_11G=2, BAND_11BG=3, BAND_11A=4, BAND_11N=8, BAND_5G_11AN=12, - BAND_5G_11AC=64,BAND_5G_11AAC=68,BAND_5G_11NAC=72,BAND_5G_11ANAC=76} BAND_TYPE_T; -typedef enum { DISABLED=0, A_MPDU=1, A_MSDU=2, A_MIXED=3} AGGREGATION_MODE_T; // GANTOE & epopen: DISABLED=0 original is DISABLE=0, Because conflict with ../../auth/include/1x_common.h in AP/net-snmp-5.x.x -typedef enum { PHYBAND_OFF=0, PHYBAND_2G=1, PHYBAND_5G=2 } PHYBAND_TYPE_T; -typedef enum { SMACSPHY=0, DMACSPHY=1, DMACDPHY=2 } MACPHYMODE_TYPE_T; -typedef enum { BANDMODE2G=0, BANDMODE5G=1, BANDMODEBOTH=2, BANDMODESINGLE=3 } WLANBAND2G5GMODE_TYPE_T; - -#ifdef HOME_GATEWAY -#ifdef VPN_SUPPORT -typedef enum { IKE_MODE=0, MANUAL_MODE=1} KEY_MODE_T; -typedef enum { SINGLE_ADDR=0, SUBNET_ADDR=1, ANY_ADDR=2, NATT_ADDR=3} ADDRESS_MODE_T; -typedef enum { INITIATOR=0, RESPONDER=1} CONN_TYPE_T; -typedef enum { MD5_ALGO=0, AUTH_ALGO=1} AUTH_MODE_T; -typedef enum { ESP_PROTO=0, AH_PROTO=1} IPSEC_PROTO_T; -typedef enum { TRI_DES_ALGO=0, AES_ALGO=1, NONE_ALGO=2} ENCR_MODE_T; -// DH1=768 bits, DH2=1024 bits, DH5= 1536 -typedef enum { DH1_GRP=0, DH2_GRP=1, DH5_GRP=2} KEY_GROUP_T; -#endif // VPN_SUPPORT -typedef enum { PROTO_BOTH=3, PROTO_TCP=1, PROTO_UDP=2 } PROTO_TYPE_T; -typedef enum { IPv4=4, IPv6=6 } IP_VERSION_T; -#endif // HOME_GATEWAY - -#ifdef WLAN_EASY_CONFIG -enum { MODE_BUTTON=1, MODE_QUESTION=2 }; -enum { - ACF_ALGORITHM_WEP64 = 0x01, - ACF_ALGORITHM_WEP128 = 0x02, - ACF_ALGORITHM_WPA_TKIP = 0x04, - ACF_ALGORITHM_WPA_AES = 0x08, - ACF_ALGORITHM_WPA2_TKIP = 0x10, - ACF_ALGORITHM_WPA2_AES = 0x20, -}; -enum { ROLE_SERVER=1, ROLE_CLIENT=2, ROLE_ADHOC=4}; -#endif // WLAN_EASY_CONFIG - -enum {TURBO_AUTO=0, TURBO_ON=1, TURBO_OFF=2}; - - -#if defined(CONFIG_RTL_802_1X_CLIENT_SUPPORT) || defined(CONFIG_RTL_ETH_802DOT1X_CLIENT_MODE_SUPPORT) - -typedef enum { EAP_MD5=0, EAP_TLS=1, EAP_PEAP=2,EAP_TTLS=3 } EAP_TYPE_T; -typedef enum { INSIDE_MSCHAPV2=0 } INSIDE_TYPE_T; -#define MAX_EAP_USER_ID_LEN 64 -#define MAX_RS_USER_NAME_LEN 64 -#define MAX_RS_USER_PASS_LEN 64 -#define MAX_RS_USER_CERT_PASS_LEN 64 -#define RS_USER_CERT_5G "/var/1x/client_5g.pem" -#define RS_ROOT_CERT_5G "/var/1x/ca_5g.pem" -#define RS_USER_CERT_2G "/var/1x/client_2g.pem" -#define RS_ROOT_CERT_2G "/var/1x/ca_2g.pem" -#define RS_USER_CERT_TMP "/var/1x/client_tmp.pem" -#define RS_ROOT_CERT_TMP "/var/1x/ca_tmp.pem" -#if defined(CONFIG_RTL_ETH_802DOT1X_CLIENT_MODE_SUPPORT) -typedef enum { TTLS_PHASE2_EAP=0,TTLS_PHASE2_PAP=1,TTLS_PHASE2_CHAP=2,TTLS_PHASE2_MSCHAP=3,TTLS_PHASE2_MSCHAPV2=4 } TTLS_PHASE2_TYPE_T; -typedef enum { TTLS_PHASE2_EAP_MD5=0 } TTLS_PHASE2_EAP_METHOD_T; - -#define RS_USER_CERT_ETH "/var/1x/client_eth.pem" -#define RS_ROOT_CERT_ETH "/var/1x/ca_eth.pem" -#define CERT_SIZE 0x12000 //48KB,for ethernet 1x should be sync with users/auth/src/rwCertSrc/rsCertCommon.h -#else -#define CERT_SIZE 0x8000 //32KB, should be sync with users/auth/src/rwCertSrc/rsCertCommon.h -#endif -#endif - - - -#if defined(CONFIG_RTL_ULINKER) -#include "rtl_ulinker.h" -#endif - - - -#define DWORD_SWAP(v) ( (((v&0xff)<<24)&0xff000000) | ((((v>>8)&0xff)<<16)&0xff0000) | \ - ((((v>>16)&0xff)<<8)&0xff00) | (((v>>24)&0xff)&0xff) ) -#define WORD_SWAP(v) ((unsigned short)(((v>>8)&0xff) | ((v<<8)&0xff00))) - -#ifdef HEADER_LEN_INT -#define HEADER_SWAP(v) DWORD_SWAP(v) -#else -#define HEADER_SWAP(v) WORD_SWAP(v) -#endif -/* scramble saved configuration data */ -#define ENCODE_DATA(data,len) { \ - int i; \ - for (i=0; iCHECKSUM_LEN_MAX) - return 0; - for (i=0; i - * - * $Id: apmib.h,v 1.55 2009/10/06 05:49:10 bradhuang Exp $ - * - */ - -#define NOREP - -#ifdef MIB_HW_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, boardVer, , BOARD_VER, BYTE_T, HW_SETTING_T, 0, 0) -MIBDEF(unsigned char, nic0Addr, [6], NIC0_ADDR, BYTE6_T, HW_SETTING_T, 0, 0) -MIBDEF(unsigned char, nic1Addr, [6], NIC1_ADDR, BYTE6_T, HW_SETTING_T, 0, 0) -MIBDEF(HW_WLAN_SETTING_T, wlan, [NUM_WLAN_INTERFACE], WLAN_ROOT, TABLE_LIST_T, HW_SETTING_T, 0, hwmib_wlan_table) -#endif // #ifdef MIB_HW_IMPORT - -#ifdef MIB_HW_WLAN_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, macAddr, [6], WLAN_ADDR, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr1, [6], WLAN_ADDR1, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr2, [6], WLAN_ADDR2, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr3, [6], WLAN_ADDR3, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr4, [6], WLAN_ADDR4, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr5, [6], WLAN_ADDR5, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr6,[6], WLAN_ADDR6, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAddr7, [6], WLAN_ADDR7, BYTE6_T, HW_WLAN_SETTING_T, 0, 0) -#if defined(CONFIG_RTL_8196B) -MIBDEF(unsigned char, txPowerCCK, [MAX_CCK_CHAN_NUM], TX_POWER_CCK, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, txPowerOFDM_HT_OFDM_1S, [MAX_OFDM_CHAN_NUM], TX_POWER_OFDM_1S, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, txPowerOFDM_HT_OFDM_2S, [MAX_OFDM_CHAN_NUM], TX_POWER_OFDM_2S, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, regDomain, , REG_DOMAIN, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rfType, , RF_TYPE, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, xCap, , 11N_XCAP, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, LOFDMPwDiffA, , 11N_LOFDMPWDA, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, LOFDMPwDiffB, , 11N_LOFDMPWDB, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, TSSI1, , 11N_TSSI1, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, TSSI2, , 11N_TSSI2, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Ther, , 11N_THER, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, ledType, , LED_TYPE, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved1, , 11N_RESERVED1, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved2, , 11N_RESERVED2, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved3, , 11N_RESERVED3, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved4, , 11N_RESERVED4, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved5, , 11N_RESERVED5, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved6, , 11N_RESERVED6, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved7, , 11N_RESERVED7, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved8, , 11N_RESERVED8, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -#else /*rtl8196c*/ -MIBDEF(unsigned char, pwrlevelCCK_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_CCK_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevelCCK_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_CCK_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevelHT40_1S_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_HT40_1S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevelHT40_1S_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_HT40_1S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiffHT40_2S, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_HT40_2S, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiffHT20, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_HT20, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiffOFDM, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, regDomain, , REG_DOMAIN, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rfType, , RF_TYPE, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, ledType, , LED_TYPE, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, xCap, , 11N_XCAP, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, TSSI1, , 11N_TSSI1, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, TSSI2, , 11N_TSSI2, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Ther, , 11N_THER, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, trswitch, , 11N_TRSWITCH, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, trswpape_C9, , 11N_TRSWPAPE_C9, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, trswpape_CC, , 11N_TRSWPAPE_CC, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, target_pwr, , 11N_TARGET_PWR, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pa_type, , 11N_PA_TYPE, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Ther2, , 11N_THER_2, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, xCap2, , 11N_XCAP_2, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved8, , 11N_RESERVED8, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved9, , 11N_RESERVED9, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, Reserved10, , 11N_RESERVED10, BYTE_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevel5GHT40_1S_A, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_5G_HT40_1S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevel5GHT40_1S_B, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_5G_HT40_1S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff5GHT40_2S, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_DIFF_5G_HT40_2S, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff5GHT20, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_DIFF_5G_HT20, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff5GOFDM, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_DIFF_5G_OFDM, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -#endif -#if defined(WIFI_SIMPLE_CONFIG) || defined(HAVE_WIFI_SIMPLE_CONFIG) -MIBDEF(unsigned char, wscPin, [PIN_LEN+1], WSC_PIN, STRING_T, HW_WLAN_SETTING_T, 0, 0) -#endif - -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -MIBDEF(unsigned char, pwrdiff_20BW1S_OFDM1T_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_20BW1S_OFDM1T_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW2S_20BW2S_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW2S_20BW2S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM2T_CCK2T_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM2T_CCK2T_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW3S_20BW3S_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW3S_20BW3S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_4OFDM3T_CCK3T_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM3T_CCK3T_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW4S_20BW4S_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW4S_20BW4S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM4T_CCK4T_A, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM4T_CCK4T_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, pwrdiff_5G_20BW1S_OFDM1T_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_20BW1S_OFDM1T_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW2S_20BW2S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW2S_20BW2S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW3S_20BW3S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW3S_20BW3S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW4S_20BW4S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW4S_20BW4S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_RSVD_OFDM4T_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_RSVD_OFDM4T_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW1S_160BW1S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW1S_160BW1S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW2S_160BW2S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW2S_160BW2S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW3S_160BW3S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW3S_160BW3S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW4S_160BW4S_A, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW4S_160BW4S_A, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - - -MIBDEF(unsigned char, pwrdiff_20BW1S_OFDM1T_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_20BW1S_OFDM1T_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW2S_20BW2S_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW2S_20BW2S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM2T_CCK2T_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM2T_CCK2T_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW3S_20BW3S_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW3S_20BW3S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM3T_CCK3T_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM3T_CCK3T_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW4S_20BW4S_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW4S_20BW4S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM4T_CCK4T_B, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM4T_CCK4T_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, pwrdiff_5G_20BW1S_OFDM1T_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_20BW1S_OFDM1T_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW2S_20BW2S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW2S_20BW2S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW3S_20BW3S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW3S_20BW3S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW4S_20BW4S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW4S_20BW4S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_RSVD_OFDM4T_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_RSVD_OFDM4T_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW1S_160BW1S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW1S_160BW1S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW2S_160BW2S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW2S_160BW2S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW3S_160BW3S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW3S_160BW3S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW4S_160BW4S_B, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW4S_160BW4S_B, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -#endif //#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) - -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -MIBDEF(unsigned char, pwrdiff_20BW1S_OFDM1T_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_20BW1S_OFDM1T_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW2S_20BW2S_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW2S_20BW2S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM2T_CCK2T_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM2T_CCK2T_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW3S_20BW3S_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW3S_20BW3S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_4OFDM3T_CCK3T_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM3T_CCK3T_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW4S_20BW4S_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW4S_20BW4S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM4T_CCK4T_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM4T_CCK4T_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, pwrdiff_5G_20BW1S_OFDM1T_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_20BW1S_OFDM1T_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW2S_20BW2S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW2S_20BW2S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW3S_20BW3S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW3S_20BW3S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW4S_20BW4S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW4S_20BW4S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_RSVD_OFDM4T_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_RSVD_OFDM4T_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW1S_160BW1S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW1S_160BW1S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW2S_160BW2S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW2S_160BW2S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW3S_160BW3S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW3S_160BW3S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW4S_160BW4S_C, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW4S_160BW4S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, pwrdiff_20BW1S_OFDM1T_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_20BW1S_OFDM1T_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW2S_20BW2S_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW2S_20BW2S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM2T_CCK2T_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM2T_CCK2T_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW3S_20BW3S_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW3S_20BW3S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM3T_CCK3T_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM3T_CCK3T_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_40BW4S_20BW4S_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_40BW4S_20BW4S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_OFDM4T_CCK4T_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_DIFF_OFDM4T_CCK4T_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, pwrdiff_5G_20BW1S_OFDM1T_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_20BW1S_OFDM1T_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW2S_20BW2S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW2S_20BW2S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW3S_20BW3S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW3S_20BW3S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_40BW4S_20BW4S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_40BW4S_20BW4S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_RSVD_OFDM4T_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_RSVD_OFDM4T_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW1S_160BW1S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW1S_160BW1S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW2S_160BW2S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW2S_160BW2S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW3S_160BW3S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW3S_160BW3S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrdiff_5G_80BW4S_160BW4S_D, [MAX_5G_DIFF_NUM], TX_POWER_DIFF_5G_80BW4S_160BW4S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, pwrlevelCCK_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_CCK_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevelCCK_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_CCK_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevelHT40_1S_C, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_HT40_1S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevelHT40_1S_D, [MAX_2G_CHANNEL_NUM_MIB], TX_POWER_HT40_1S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevel5GHT40_1S_C, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_5G_HT40_1S_C, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, pwrlevel5GHT40_1S_D, [MAX_5G_CHANNEL_NUM_MIB], TX_POWER_5G_HT40_1S_D, BYTE_ARRAY_T, HW_WLAN_SETTING_T, 0, 0) -#endif //#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) -#endif // #ifdef MIB_HW_WLAN_IMPORT - -#ifdef MIB_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -// TCP/IP stuffs -MIBDEF(unsigned char, ipAddr, [4], IP_ADDR, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, subnetMask, [4], SUBNET_MASK, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, defaultGateway, [4], DEFAULT_GATEWAY, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dhcp, , DHCP, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dhcpClientStart, [4], DHCP_CLIENT_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dhcpClientEnd, [4], DHCP_CLIENT_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned long, dhcpLeaseTime, , DHCP_LEASE_TIME, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, elanMacAddr, [6], ELAN_MAC_ADDR, BYTE6_T, APMIB_T, 0, 0) -//Brad add for static dhcp -MIBDEF(unsigned char, dns1, [4], DNS1, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dns2, [4], DNS2, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dns3, [4], DNS3, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, stpEnabled, , STP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, deviceName, [MAX_NAME_LEN], DEVICE_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, scrlogEnabled, , SCRLOG_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, autoDiscoveryEnabled, , AUTO_DISCOVERY_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, domainName, [MAX_NAME_LEN], DOMAIN_NAME, STRING_T, APMIB_T, 0, 0) - -#ifdef SUPER_NAME_SUPPORT -// Supervisor of web server account -MIBDEF(unsigned char, superName, [MAX_NAME_LEN], SUPER_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, superPassword, [MAX_NAME_LEN], SUPER_PASSWORD, STRING_T, APMIB_T, 0, 0) -#endif -// web server account -MIBDEF(unsigned char, userName, [MAX_NAME_LEN], USER_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, userPassword, [MAX_NAME_LEN], USER_PASSWORD, STRING_T, APMIB_T, 0, 0) - -#if defined(CONFIG_RTL_8198_AP_ROOT) || defined(CONFIG_RTL_8197D_AP) -MIBDEF(unsigned char, ntpEnabled, , NTP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, daylightsaveEnabled, , DAYLIGHT_SAVE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerId, , NTP_SERVER_ID, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpTimeZone, [8], NTP_TIMEZONE, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp1, [4], NTP_SERVER_IP1, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp2, [4], NTP_SERVER_IP2, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp3, [4], NTP_SERVER_IP3, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp4, [4], NTP_SERVER_IP4, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp5, [4], NTP_SERVER_IP5, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp6, [4], NTP_SERVER_IP6, IA_T, APMIB_T, 0, 0) -#endif - -#ifdef HOME_GATEWAY -MIBDEF(unsigned char, wanMacAddr, [6], WAN_MAC_ADDR, BYTE6_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wanDhcp, , WAN_DHCP, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wanIpAddr, [4], WAN_IP_ADDR, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wanSubnetMask, [4], WAN_SUBNET_MASK, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wanDefaultGateway, [4], WAN_DEFAULT_GATEWAY, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppUserName, [MAX_NAME_LEN_LONG], PPP_USER_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppPassword, [MAX_NAME_LEN_LONG], PPP_PASSWORD, STRING_T, APMIB_T, 0, 0) -//dzh begin - - -//MIBDEF(unsigned short, pppConnectCount, ,PPP_CONNECT_COUNT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppConnectCount, , PPP_CONNECT_COUNT, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pppUserName2, [MAX_NAME_LEN_LONG], PPP_USER_NAME2, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppPassword2, [MAX_NAME_LEN_LONG], PPP_PASSWORD2, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pppUserName3, [MAX_NAME_LEN_LONG], PPP_USER_NAME3, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppPassword3, [MAX_NAME_LEN_LONG], PPP_PASSWORD3, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pppUserName4, [MAX_NAME_LEN_LONG], PPP_USER_NAME4, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppPassword4, [MAX_NAME_LEN_LONG], PPP_PASSWORD4, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, SubNet1Count, ,SUBNET1_COUNT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet1_F1_start, [4],SUBNET1_F1_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet1_F1_end, [4],SUBNET1_F1_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet1_F2_start, [4],SUBNET1_F2_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet1_F2_end, [4],SUBNET1_F2_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet1_F3_start, [4],SUBNET1_F3_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet1_F3_end, [4],SUBNET1_F3_END, IA_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, SubNet2Count, ,SUBNET2_COUNT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet2_F1_start, [4],SUBNET2_F1_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet2_F1_end, [4],SUBNET2_F1_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet2_F2_start, [4],SUBNET2_F2_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet2_F2_end, [4],SUBNET2_F2_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet2_F3_start, [4],SUBNET2_F3_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet2_F3_end, [4],SUBNET2_F3_END, IA_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, SubNet3Count, ,SUBNET3_COUNT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet3_F1_start, [4],SUBNET3_F1_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet3_F1_end, [4],SUBNET3_F1_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet3_F2_start, [4],SUBNET3_F2_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet3_F2_end, [4],SUBNET3_F2_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet3_F3_start, [4],SUBNET3_F3_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet3_F3_end, [4],SUBNET3_F3_END, IA_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, SubNet4Count, ,SUBNET4_COUNT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet4_F1_start, [4],SUBNET4_F1_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet4_F1_end, [4],SUBNET4_F1_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet4_F2_start, [4],SUBNET4_F2_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet4_F2_end, [4],SUBNET4_F2_END, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet4_F3_start, [4],SUBNET4_F3_START, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, SubNet4_F3_end, [4],SUBNET4_F3_END, IA_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppIdleTime2, , PPP_IDLE_TIME2, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppConnectType2, , PPP_CONNECT_TYPE2, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppIdleTime3, , PPP_IDLE_TIME3, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppConnectType3, , PPP_CONNECT_TYPE3, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppIdleTime4, , PPP_IDLE_TIME4, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppConnectType4, , PPP_CONNECT_TYPE4, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppMtuSize2, , PPP_MTU_SIZE2, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pppMtuSize3, , PPP_MTU_SIZE3, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pppMtuSize4, , PPP_MTU_SIZE4, WORD_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pppServiceName2, [41], PPP_SERVICE_NAME2, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppServiceName3, [41], PPP_SERVICE_NAME3, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppServiceName4, [41], PPP_SERVICE_NAME4, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pppSubNet1, [30], PPP_SUBNET1, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppSubNet2, [30], PPP_SUBNET2, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppSubNet3, [30], PPP_SUBNET3, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppSubNet4, [30], PPP_SUBNET4, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppSessionNum2, , PPP_SESSION_NUM2, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppServerMac2, [6], PPP_SERVER_MAC2, BYTE6_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppSessionNum3, , PPP_SESSION_NUM3, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppServerMac3, [6], PPP_SERVER_MAC3, BYTE6_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, pppSessionNum4, , PPP_SESSION_NUM4, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppServerMac4, [6], PPP_SERVER_MAC4, BYTE6_T, APMIB_T, 0, 0) - -//dzh end - -MIBDEF(DNS_TYPE_T, dnsMode, , DNS_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pppIdleTime, , PPP_IDLE_TIME, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppConnectType, , PPP_CONNECT_TYPE, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, dmzEnabled, , DMZ_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dmzHost, [4], DMZ_HOST, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, upnpEnabled, , UPNP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppoeWithDhcpEnabled, , PPPOE_DHCP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pppMtuSize, , PPP_MTU_SIZE, WORD_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pptpIpAddr, [4], PPTP_IP_ADDR, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpSubnetMask, [4], PPTP_SUBNET_MASK, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpServerIpAddr, [4], PPTP_SERVER_IP_ADDR, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpUserName, [MAX_NAME_LEN_LONG], PPTP_USER_NAME, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, pptpPassword, [MAX_NAME_LEN_LONG], PPTP_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pptpMtuSize, , PPTP_MTU_SIZE, WORD_T, APMIB_T, 0, 0) - -/* # keith: add l2tp support. 20080515 */ -MIBDEF(unsigned char, l2tpIpAddr, [4], L2TP_IP_ADDR, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpSubnetMask, [4], L2TP_SUBNET_MASK, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpServerIpAddr, [MAX_PPTP_HOST_NAME_LEN], L2TP_SERVER_IP_ADDR, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpGateway, [4], L2TP_GATEWAY, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpUserName, [MAX_NAME_LEN_LONG], L2TP_USER_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpPassword, [MAX_NAME_LEN_LONG], L2TP_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, l2tpMtuSize, , L2TP_MTU_SIZE, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, l2tpIdleTime, , L2TP_IDLE_TIME, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpConnectType, , L2TP_CONNECTION_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, L2tpwanIPMode, , L2TP_WAN_IP_DYNAMIC, BYTE_T, APMIB_T, 0, 0) -#if defined(CONFIG_DYNAMIC_WAN_IP) -MIBDEF(unsigned char, l2tpDefGw, [4], L2TP_DEFAULT_GW, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpDefGw, [4], PPTP_DEFAULT_GW, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpWanIPMode, , PPTP_WAN_IP_DYNAMIC, BYTE_T, APMIB_T, 0, 0) -#ifdef CONFIG_GET_SERVER_IP_BY_DOMAIN -MIBDEF(unsigned char, pptpGetServByDomain, , PPTP_GET_SERV_BY_DOMAIN, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpServerDomain, [MAX_SERVER_DOMAIN_LEN], PPTP_SERVER_DOMAIN, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpGetServByDomain, , L2TP_GET_SERV_BY_DOMAIN, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, l2tpServerDomain, [MAX_SERVER_DOMAIN_LEN], L2TP_SERVER_DOMAIN, STRING_T, APMIB_T, 0, 0) -#endif -#endif - -/* USB3G */ -MIBDEF(unsigned char, usb3g_user, [32], USB3G_USER, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_pass, [32], USB3G_PASS, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_pin, [5], USB3G_PIN, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_apn, [20], USB3G_APN, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_dialnum, [12], USB3G_DIALNUM, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_connType, [5], USB3G_CONN_TYPE, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_idleTime, [5] , USB3G_IDLE_TIME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, usb3g_mtuSize, [5], USB3G_MTU_SIZE, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, lte4g, , LTE4G, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, ntpEnabled, , NTP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, daylightsaveEnabled, , DAYLIGHT_SAVE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerId, , NTP_SERVER_ID, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpTimeZone, [8], NTP_TIMEZONE, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp1, [4], NTP_SERVER_IP1, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp2, [4], NTP_SERVER_IP2, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp3, [4], NTP_SERVER_IP3, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp4, [4], NTP_SERVER_IP4, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp5, [4], NTP_SERVER_IP5, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ntpServerIp6, [4], NTP_SERVER_IP6, IA_T, APMIB_T, 0, 0) - -#ifdef CONFIG_CPU_UTILIZATION -MIBDEF(unsigned char, enable_cpu_utilization, , ENABLE_CPU_UTILIZATION, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cpu_utilization_interval, , CPU_UTILIZATION_INTERVAL,BYTE_T, APMIB_T, 0, 0) -#endif - -MIBDEF(unsigned char, ddnsEnabled, , DDNS_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ddnsType, , DDNS_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ddnsDomainName, [MAX_DOMAIN_LEN], DDNS_DOMAIN_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ddnsUser, [MAX_DOMAIN_LEN], DDNS_USER, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ddnsPassword, [MAX_NAME_LEN], DDNS_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, fixedIpMtuSize, , FIXED_IP_MTU_SIZE, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, dhcpMtuSize, , DHCP_MTU_SIZE, WORD_T, APMIB_T, 0, 0) -#endif // HOME_GATEWAY - -MIBDEF(unsigned char, opMode, , OP_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wispWanId, , WISP_WAN_ID, BYTE_T, APMIB_T, 0, 0) - -#ifdef HOME_GATEWAY -MIBDEF(unsigned char, wanAccessEnabled, , WEB_WAN_ACCESS_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pingAccessEnabled, , PING_WAN_ACCESS_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, hostName, [MAX_NAME_LEN], HOST_NAME, STRING_T, APMIB_T, 0, 0) -#endif // #ifdef HOME_GATEWAY - -MIBDEF(unsigned char, rtLogEnabled, , REMOTELOG_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rtLogServer, [4], REMOTELOG_SERVER, IA_T, APMIB_T, 0, 0) - -#ifdef UNIVERSAL_REPEATER -// for wlan0 interface -MIBDEF(unsigned char, repeaterEnabled1, , REPEATER_ENABLED1, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, repeaterSSID1, [MAX_SSID_LEN], REPEATER_SSID1, STRING_T, APMIB_T, 0, 0) - -// for wlan1 interface -MIBDEF(unsigned char, repeaterEnabled2, , REPEATER_ENABLED2, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, repeaterSSID2, [MAX_SSID_LEN], REPEATER_SSID2, STRING_T, APMIB_T, 0, 0) -#endif // #ifdef UNIVERSAL_REPEATER - -MIBDEF(unsigned char, wifiSpecific, , WIFI_SPECIFIC, BYTE_T, APMIB_T, 0, 0) - -#ifdef HOME_GATEWAY -MIBDEF(unsigned char, pppServiceName, [41], PPP_SERVICE_NAME, STRING_T, APMIB_T, 0, 0) - - -#ifdef DOS_SUPPORT -MIBDEF(unsigned long, dosEnabled, , DOS_ENABLED, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, syssynFlood, , DOS_SYSSYN_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, sysfinFlood, , DOS_SYSFIN_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, sysudpFlood, , DOS_SYSUDP_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, sysicmpFlood, , DOS_SYSICMP_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pipsynFlood, , DOS_PIPSYN_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pipfinFlood, , DOS_PIPFIN_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pipudpFlood, , DOS_PIPUDP_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pipicmpFlood, , DOS_PIPICMP_FLOOD, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, blockTime, , DOS_BLOCK_TIME, WORD_T, APMIB_T, 0, 0) -#endif // #ifdef DOS_SUPPORT - -MIBDEF(unsigned char, vpnPassthruIPsecEnabled, , VPN_PASSTHRU_IPSEC_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vpnPassthruPPTPEnabled, , VPN_PASSTHRU_PPTP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vpnPassthruL2TPEnabled, , VPN_PASSTHRU_L2TP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cusPassThru, , CUSTOM_PASSTHRU_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpSecurityEnabled, , PPTP_SECURITY_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, igmpproxyDisabled, , IGMP_PROXY_DISABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpMppcEnabled, , PPTP_MPPC_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, pptpIdleTime, , PPTP_IDLE_TIME, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pptpConnectType, , PPTP_CONNECTION_TYPE, BYTE_T, APMIB_T, 0, 0) -#endif // #ifdef HOME_GATEWAY -MIBDEF(unsigned char, igmpFastLeaveDisabled, , IGMP_FAST_LEAVE_DISABLED, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, mibVer, , MIB_VER, BYTE_T, APMIB_T, 0, 0) - -// added by rock ///////////////////////////////////////// -#ifdef VOIP_SUPPORT -MIBDEF(voipCfgParam_t, voipCfgParam, , VOIP_CFG, VOIP_T, APMIB_T, 0, 0) -#endif - -MIBDEF(unsigned char, startMp, , START_MP, BYTE_T, APMIB_T, 0, 0) - -#ifdef HOME_GATEWAY -#ifdef CONFIG_IPV6 -MIBDEF(radvdCfgParam_t, radvdCfgParam, , IPV6_RADVD_PARAM, RADVDPREFIX_T, APMIB_T, 0, 0) -MIBDEF(dnsv6CfgParam_t, dnsCfgParam, , IPV6_DNSV6_PARAM, DNSV6_T, APMIB_T, 0, 0) -MIBDEF(dhcp6sCfgParam_t, dhcp6sCfgParam, , IPV6_DHCPV6S_PARAM, DHCPV6S_T, APMIB_T, 0, 0) -MIBDEF(dhcp6cCfgParam_t, dhcp6cCfgParam, , IPV6_DHCPV6C_PARAM, DHCPV6C_T, APMIB_T, 0, 0) -MIBDEF(addrIPv6CfgParam_t, addrIPv6CfgParam, , IPV6_ADDR_PARAM, ADDR6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6CfgParam, , IPV6_ADDR6_PARAM, ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6LanCfgParam, , IPV6_ADDR_LAN_PARAM,ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6WanCfgParam, , IPV6_ADDR_WAN_PARAM,ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6GwCfgParam, , IPV6_ADDR_GW_PARAM,ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6PrefixCfgParam, , IPV6_ADDR_PFEFIX_PARAM,ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6DnsCfgParam, , IPV6_ADDR_DNS_PARAM,ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6DnsSecondary, , IPV6_ADDR_DNS_SECONDARY,ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(tunnelCfgParam_t, tunnelCfgParam, , IPV6_TUNNEL_PARAM, TUNNEL6_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, linkType, , IPV6_LINK_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, orignType, , IPV6_ORIGIN_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wanEnable, , IPV6_WAN_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipv6DnsAuto, , IPV6_DNS_AUTO, BYTE_T, APMIB_T, 0, 0) -//MIBDEF(unsigned char, mldproxyEnabled, , IPV6_MLD_PROXY_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, mldproxyDisabled, , MLD_PROXY_DISABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipv6DhcpMode, , IPV6_DHCP_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipv6DhcpPdEnable, , IPV6_DHCP_PD_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipv6DhcpRapidCommitEnable, , IPV6_DHCP_RAPID_COMMIT_ENABLE, BYTE_T, APMIB_T, 0, 0) -#ifdef TR181_SUPPORT -MIBDEF(unsigned char, ipv6DhcpcIface, [64] , IPV6_DHCPC_IFACE, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipv6DhcpcReqAddr, , IPV6_DHCPC_REQUEST_ADDR,BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned long, ipv6DhcpcSuggestedT1, , IPV6_DHCPC_SUGGESTEDT1,DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned long, ipv6DhcpcSuggestedT2, , IPV6_DHCPC_SUGGESTEDT2,DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipv6DhcpcSendOptNum, , IPV6_DHCPC_SENDOPT_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(DHCPV6C_SENDOPT_T, ipv6DhcpcSendOptTbl,[IPV6_DHCPC_SENDOPT_NUM], IPV6_DHCPC_SENDOPT_TBL, DHCPV6C_SENDOPT_ARRAY_T, APMIB_T, 0, mib_ipv6DhcpcSendOpt_tbl) -#endif - -#ifdef CONFIG_IPV6_CE_ROUTER_SUPPORT -MIBDEF(unsigned char, ula_enabled, , IPV6_ULA_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ula_mode, , IPV6_ULA_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(addr6CfgParam_t, addr6UlaPrefixParam, , IPV6_ADDR_ULA_PARAM,ADDRV6_T, APMIB_T, 0, 0) -#endif - -#ifdef CONFIG_DSLITE_SUPPORT -MIBDEF(addr6CfgParam_t, addr6AftrParam, , IPV6_ADDR_AFTR_PARAM, ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dsliteMode, , DSLITE_MODE, BYTE_T, APMIB_T, 0, 0) -#endif -#ifdef CONFIG_SIXRD_SUPPORT -MIBDEF(addr6CfgParam_t, addr66rdParam, , IPV6_6RD_PREFIX_PARAM, ADDRV6_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ip4MaskLen, , IPV4_6RD_MASK_LEN, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ip46rdBrAddr, [4], IPV4_6RD_BR_ADDR, IA_T, APMIB_T, 0, 0) -#endif -#endif /* #ifdef CONFIG_IPV6*/ -#ifdef TR181_SUPPORT -MIBDEF(unsigned char, DnsClientEnable, , DNS_CLIENT_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dnsClientServerNum, , DNS_CLIENT_SERVER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(DNS_CLIENT_SERVER_T, dnsClientServerTbl,[DNS_CLIENT_SERVER_NUM], DNS_CLIENT_SERVER_TBL, DNS_CLIENT_SERVER_ARRAY_T, APMIB_T, 0, mib_dnsClientServer_tbl) -#endif -#endif - -#if (defined CONFIG_RTL_BT_CLIENT) || (defined CONFIG_RTL_TRANSMISSION) -MIBDEF(unsigned char, uploadDir, [64] , BT_UPLOAD_DIR, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, downloadDir, [64] , BT_DOWNLOAD_DIR, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, uLimit, , BT_TOTAL_ULIMIT, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, dLimit, , BT_TOTAL_DLIMIT, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, refreshTime, , BT_REFRESH_TIME, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, bt_enabled, , BT_ENABLED, BYTE_T, APMIB_T, 0, 0) -#endif - -#if defined(CONFIG_RTL_ULINKER) -MIBDEF(unsigned char, ulinker_auto, , ULINKER_AUTO, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ulinker_cur_mode, , ULINKER_CURRENT_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ulinker_lst_mode, , ULINKER_LATEST_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ulinker_cur_wl_mode, , ULINKER_CURRENT_WLAN_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ulinker_lst_wl_mode, , ULINKER_LATEST_WLAN_MODE, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, ulinker_repeaterEnabled1, , ULINKER_REPEATER_ENABLED1, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ulinker_repeaterEnabled2, , ULINKER_REPEATER_ENABLED2, BYTE_T, APMIB_T, 0, 0) - -#endif - -/*+++++added by Jack for Tr-069 configuration+++++*/ -#ifdef CONFIG_APP_TR069 - -MIBDEF(unsigned char, cwmp_enabled, , CWMP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ProvisioningCode, [CWMP_PROVISION_CODE_LEN], CWMP_PROVISIONINGCODE, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ACSURL, [CWMP_ACS_URL_LEN], CWMP_ACS_URL, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ACSUserName, [CWMP_ACS_USERNAME_LEN], CWMP_ACS_USERNAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ACSPassword, [CWMP_ACS_PASSWD_LEN], CWMP_ACS_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_InformEnable, , CWMP_INFORM_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_InformInterval, , CWMP_INFORM_INTERVAL, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_InformTime, , CWMP_INFORM_TIME, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ConnReqUserName, [CWMP_CONREQ_USERNAME_LEN], CWMP_CONREQ_USERNAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ConnReqPassword, [CWMP_CONREQ_PASSWD_LEN], CWMP_CONREQ_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_UpgradesManaged, , CWMP_ACS_UPGRADESMANAGED, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_RetryMinWaitInterval, , CWMP_RETRY_MIN_WAIT_INTERVAL, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_RetryIntervalMutiplier, , CWMP_RETRY_INTERVAL_MUTIPLIER, DWORD_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, cwmp_UDPConnReqAddr, [CWMP_UDP_CONN_REQ_ADDR_LEN], CWMP_UDP_CONN_REQ_ADDR, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_STUNEnable, , CWMP_STUN_EN, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_STUNServerAddr, [CWMP_STUN_SERVER_ADDR_LEN], CWMP_STUN_SERVER_ADDR, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_STUNServerPort, , CWMP_STUN_SERVER_PORT, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_STUNUsername, [CWMP_STUN_USERNAME_LEN], CWMP_STUN_USERNAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_STUNPassword, [CWMP_STUN_PASSWORD_LEN], CWMP_STUN_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(int, cwmp_STUNMaxKeepAlivePeriod, , CWMP_STUN_MAX_KEEP_ALIVE_PERIOD, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_STUNMinKeepAlivePeriod, , CWMP_STUN_MIN_KEEP_ALIVE_PERIOD, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_NATDetected, , CWMP_NAT_DETECTED, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, cwmp_LANConfPassword, [CWMP_LANCONF_PASSWD_LEN], CWMP_LAN_CONFIGPASSWD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SerialNumber, [CWMP_SERIALNUMBER_LEN], CWMP_SERIALNUMBER, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_DHCP_ServerConf, , CWMP_DHCP_SERVERCONF, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_LAN_IPIFEnable, , CWMP_LAN_IPIFENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_LAN_EthIFEnable, , CWMP_LAN_ETHIFENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_LAN_EthIFDisable, , CWMP_LAN_ETHIFDISABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_WAN_EthIFDisable, , CWMP_WAN_ETHIFDISABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_WLAN_BasicEncry, , CWMP_WLAN_BASICENCRY, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_WLAN_WPAEncry, , CWMP_WLAN_WPAENCRY, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, cwmp_DL_CommandKey, [CWMP_COMMAND_KEY_LEN+1], CWMP_DL_COMMANDKEY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_DL_StartTime, , CWMP_DL_STARTTIME, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_DL_CompleteTime, , CWMP_DL_COMPLETETIME, WORD_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_DL_FaultCode, , CWMP_DL_FAULTCODE, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_Inform_EventCode, , CWMP_INFORM_EVENTCODE, WORD_T, APMIB_T, 0, 0) - - - - - -MIBDEF(unsigned char, cwmp_RB_CommandKey, [CWMP_COMMAND_KEY_LEN+1], CWMP_RB_COMMANDKEY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ACS_ParameterKey, [CWMP_COMMAND_KEY_LEN+1], CWMP_ACS_PARAMETERKEY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_CERT_Password, [CWMP_CERT_PASSWD_LEN+1], CWMP_CERT_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_Flag, , CWMP_FLAG, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SI_CommandKey, [CWMP_COMMAND_KEY_LEN+1], CWMP_SI_COMMANDKEY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ParameterKey, [CWMP_COMMAND_KEY_LEN+1], CWMP_PARAMETERKEY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_pppconn_instnum, , CWMP_PPPCON_INSTNUM, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_ipconn_instnum, , CWMP_IPCON_INSTNUM, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_pppconn_created, , CWMP_PPPCON_CREATED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ipconn_created, , CWMP_IPCON_CREATED, BYTE_T, APMIB_T, 0, 0) -#ifdef _PRMT_USERINTERFACE_ -MIBDEF(unsigned char, UIF_PW_Shared, , UIF_PW_SHARED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, UIF_PW_Required, , UIF_PW_REQUIRED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, UIF_PW_User_Sel, , UIF_PW_USER_SEL, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, UIF_Upgrade, , UIF_UPGRADE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, UIF_WarrantyDate, , UIF_WARRANTYDATE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, UIF_AutoUpdateServer, [256], UIF_AUTOUPDATESERVER, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, UIF_UserUpdateServer, [256], UIF_USERUPDATESERVER, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, UIF_Cur_Lang, [16], UIF_CUR_LANG, STRING_T, APMIB_T, 0, 0) -#endif // #ifdef _PRMT_USERINTERFACE_ - -MIBDEF(unsigned char, cwmp_ACS_KickURL, [CWMP_KICK_URL], CWMP_ACS_KICKURL, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ACS_DownloadURL, [CWMP_DOWNLOAD_URL], CWMP_ACS_DOWNLOADURL, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_ConnReqPort, , CWMP_CONREQ_PORT, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ConnReqPath, [CONN_REQ_PATH_LEN], CWMP_CONREQ_PATH, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_Flag2, , CWMP_FLAG2, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_NotifyList, [CWMP_NOTIFY_LIST_LEN], CWMP_NOTIFY_LIST, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_ACSURL_old, [CWMP_ACS_URL_LEN], CWMP_ACS_URL_OLD, STRING_T, APMIB_T, 0, 0) - -#ifdef _PRMT_TR143_ -MIBDEF(unsigned char, tr143_udpecho_enable, , TR143_UDPECHO_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, tr143_udpecho_itftype, , TR143_UDPECHO_ITFTYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, tr143_udpecho_srcip, [4], TR143_UDPECHO_SRCIP, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, tr143_udpecho_port, , TR143_UDPECHO_PORT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, tr143_udpecho_plus, , TR143_UDPECHO_PLUS, BYTE_T, APMIB_T, 0, 0) -#endif // #ifdef _PRMT_TR143_ -MIBDEF(unsigned int, cwmp_UserInfo_Result, , CWMP_USERINFO_RESULT, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_Needreboot, , CWMP_NEED_REBOOT , BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_Persistent_Data,[256] , CWMP_PERSISTENT_DATA, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_SW_Port1_Disable, , CWMP_SW_PORT1_DISABLE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(int, cwmp_SW_Port1_MaxBitRate, , CWMP_SW_PORT1_MAXBITRATE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SW_Port1_DuplexMode,[10] , CWMP_SW_PORT1_DUPLEXMODE, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_SW_Port2_Disable, , CWMP_SW_PORT2_DISABLE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(int, cwmp_SW_Port2_MaxBitRate, , CWMP_SW_PORT2_MAXBITRATE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SW_Port2_DuplexMode,[10] , CWMP_SW_PORT2_DUPLEXMODE, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_SW_Port3_Disable, , CWMP_SW_PORT3_DISABLE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(int, cwmp_SW_Port3_MaxBitRate, , CWMP_SW_PORT3_MAXBITRATE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SW_Port3_DuplexMode,[10] , CWMP_SW_PORT3_DUPLEXMODE, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_SW_Port4_Disable, , CWMP_SW_PORT4_DISABLE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(int, cwmp_SW_Port4_MaxBitRate, , CWMP_SW_PORT4_MAXBITRATE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SW_Port4_DuplexMode,[10] , CWMP_SW_PORT4_DUPLEXMODE, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_SW_Port5_Disable, , CWMP_SW_PORT5_DISABLE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(int, cwmp_SW_Port5_MaxBitRate, , CWMP_SW_PORT5_MAXBITRATE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_SW_Port5_DuplexMode,[10] , CWMP_SW_PORT5_DUPLEXMODE, STRING_T, APMIB_T, 0, 0) - -MIBDEF(unsigned short, cwmp_pppoe_wan_vlanid, , CWMP_PPPOE_WAN_VLANID, WORD_T, APMIB_T, 0, 0) - -MIBDEF(unsigned int, cwmp_DefActNortiThrottle, , CWMP_DEF_ACT_NOTIF_THROTTLE, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned int, cwmp_ManageDevNortiLimit, , CWMP_MANAGE_DEV_NOTIF_LIMIT, DWORD_T, APMIB_T, 0, 0) - -#endif // #ifdef CONFIG_APP_TR069 - -#ifdef CONFIG_RTK_VLAN_WAN_TAG_SUPPORT -MIBDEF(unsigned char, vlan_wan_enable, NOREP, VLAN_WAN_ENALE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_tag, NOREP, VLAN_WAN_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_bridge_enable, NOREP, VLAN_WAN_BRIDGE_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_bridge_tag, NOREP, VLAN_WAN_BRIDGE_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_bridge_port, NOREP, VLAN_WAN_BRIDGE_PORT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_bridge_multicast_enable, NOREP, VLAN_WAN_BRIDGE_MULTICAST_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_bridge_multicast_tag, NOREP, VLAN_WAN_BRIDGE_MULTICAST_TAG, WORD_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, vlan_wan_host_enable, NOREP, VLAN_WAN_HOST_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_host_tag, NOREP, VLAN_WAN_HOST_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_host_pri, NOREP, VLAN_WAN_HOST_PRI, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_wifi_root_enable, NOREP, VLAN_WAN_WIFI_ROOT_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_root_tag, NOREP, VLAN_WAN_WIFI_ROOT_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_root_pri, NOREP, VLAN_WAN_WIFI_ROOT_PRI, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_wifi_vap0_enable, NOREP, VLAN_WAN_WIFI_VAP0_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap0_tag, NOREP, VLAN_WAN_WIFI_VAP0_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap0_pri, NOREP, VLAN_WAN_WIFI_VAP0_PRI, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_wifi_vap1_enable, NOREP, VLAN_WAN_WIFI_VAP1_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap1_tag, NOREP, VLAN_WAN_WIFI_VAP1_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap1_pri, NOREP, VLAN_WAN_WIFI_VAP1_PRI, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_wifi_vap2_enable, NOREP, VLAN_WAN_WIFI_VAP2_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap2_tag, NOREP, VLAN_WAN_WIFI_VAP2_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap2_pri, NOREP, VLAN_WAN_WIFI_VAP2_PRI, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, vlan_wan_wifi_vap3_enable, NOREP, VLAN_WAN_WIFI_VAP3_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap3_tag, NOREP, VLAN_WAN_WIFI_VAP3_TAG, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, vlan_wan_wifi_vap3_pri, NOREP, VLAN_WAN_WIFI_VAP3_PRI, WORD_T, APMIB_T, 0, 0) -#endif -// SNMP, Forrest added, 2007.10.25. -#ifdef CONFIG_SNMP -MIBDEF(unsigned char, snmpEnabled, , SNMP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpName, [MAX_SNMP_NAME_LEN], SNMP_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpLocation, [MAX_SNMP_LOCATION_LEN], SNMP_LOCATION, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpContact, [MAX_SNMP_CONTACT_LEN], SNMP_CONTACT, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpRWCommunity, [MAX_SNMP_COMMUNITY_LEN], SNMP_RWCOMMUNITY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpROCommunity, [MAX_SNMP_COMMUNITY_LEN], SNMP_ROCOMMUNITY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpTrapReceiver1, [4], SNMP_TRAP_RECEIVER1, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpTrapReceiver2, [4], SNMP_TRAP_RECEIVER2, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpTrapReceiver3, [4], SNMP_TRAP_RECEIVER3, IA_T, APMIB_T, 0, 0) -#endif // #ifdef CONFIG_SNMP - -MIBDEF(unsigned short, system_time_year, , SYSTIME_YEAR, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, system_time_month, , SYSTIME_MON, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, system_time_day, , SYSTIME_DAY, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, system_time_hour, , SYSTIME_HOUR, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, system_time_min, , SYSTIME_MIN, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, system_time_sec, , SYSTIME_SEC, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wlan11nOnOffTKIP, , WLAN_11N_ONOFF_TKIP, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, dhcpRsvdIpEnabled, , DHCPRSVDIP_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dhcpRsvdIpNum, , DHCPRSVDIP_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(DHCPRSVDIP_T, dhcpRsvdIpArray, [MAX_DHCP_RSVD_IP_NUM], DHCPRSVDIP_TBL, DHCPRSVDIP_ARRY_T, APMIB_T, 0, mib_dhcpRsvdIp_tbl) - -#ifdef WLAN_PROFILE -MIBDEF(unsigned char, wlan_profile_enable1, , PROFILE_ENABLED1, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wlan_profile_num1, , PROFILE_NUM1, BYTE_T, APMIB_T, 0, 0) -MIBDEF(WLAN_PROFILE_T, wlan_profile_arrary1, [MAX_WLAN_PROFILE_NUM],PROFILE_TBL1,PROFILE_ARRAY_T, APMIB_T, 0, mib_wlan_profile_tbl1) - -MIBDEF(unsigned char, wlan_profile_enable2, , PROFILE_ENABLED2, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, wlan_profile_num2, , PROFILE_NUM2, BYTE_T, APMIB_T, 0, 0) -MIBDEF(WLAN_PROFILE_T, wlan_profile_arrary2, [MAX_WLAN_PROFILE_NUM],PROFILE_TBL2,PROFILE_ARRAY_T, APMIB_T, 0, mib_wlan_profile_tbl2) -#endif - -MIBDEF(unsigned char, VlanConfigEnabled, , VLANCONFIG_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, VlanConfigNum, , VLANCONFIG_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -#if defined(VLAN_CONFIG_SUPPORTED) -MIBDEF(VLAN_CONFIG_T, VlanConfigArray, [MAX_IFACE_VLAN_CONFIG], VLANCONFIG_TBL, VLANCONFIG_ARRAY_T, APMIB_T, 0, mib_vlanconfig_tbl) -#endif - -#ifdef HOME_GATEWAY -MIBDEF(unsigned char, portFwEnabled, , PORTFW_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, portFwNum, , PORTFW_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(PORTFW_T, portFwArray, [MAX_FILTER_NUM], PORTFW_TBL, PORTFW_ARRAY_T, APMIB_T, 0, mib_portfw_tbl) - -MIBDEF(unsigned char, ipFilterEnabled, , IPFILTER_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipFilterNum, , IPFILTER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(IPFILTER_T, ipFilterArray, [MAX_FILTER_NUM], IPFILTER_TBL, IPFILTER_ARRAY_T, APMIB_T, 0, mib_ipfilter_tbl) - -MIBDEF(unsigned char, portFilterEnabled, , PORTFILTER_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, portFilterNum, , PORTFILTER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(PORTFILTER_T, portFilterArray, [MAX_FILTER_NUM], PORTFILTER_TBL, PORTFILTER_ARRAY_T, APMIB_T, 0, mib_portfilter_tbl) - -MIBDEF(unsigned char, macFilterEnabled, , MACFILTER_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, macFilterNum, , MACFILTER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(MACFILTER_T, macFilterArray, [MAX_FILTER_NUM], MACFILTER_TBL, MACFILTER_ARRAY_T, APMIB_T, 0, mib_macfilter_tbl) - -MIBDEF(unsigned char, triggerPortEnabled, , TRIGGERPORT_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, triggerPortNum, , TRIGGERPORT_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(TRIGGERPORT_T, triggerPortArray, [MAX_FILTER_NUM], TRIGGERPORT_TBL, TRIGGERPORT_ARRAY_T, APMIB_T, 0, mib_triggerport_tbl) - -MIBDEF(unsigned char, urlFilterEnabled, , URLFILTER_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, urlFilterMode, , URLFILTER_MODE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, urlFilterNum, , URLFILTER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(URLFILTER_T, urlFilterArray, [MAX_URLFILTER_NUM], URLFILTER_TBL, URLFILTER_ARRAY_T, APMIB_T, 0, mib_urlfilter_tbl) - -#if defined(_PRMT_X_TELEFONICA_ES_DHCPOPTION_) -MIBDEF(unsigned char, dhcpServerOptionNum, , DHCP_SERVER_OPTION_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(MIB_CE_DHCP_OPTION_T, dhcpServerOptionArray, [MAX_DHCP_SERVER_OPTION_NUM], DHCP_SERVER_OPTION_TBL, DHCP_SERVER_OPTION_ARRAY_T, APMIB_T, 0, mib_dhcpServerOption_tbl) - -MIBDEF(unsigned char, dhcpClientOptionNum, , DHCP_CLIENT_OPTION_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(MIB_CE_DHCP_OPTION_T, dhcpClientOptionArray, [MAX_DHCP_CLIENT_OPTION_NUM], DHCP_CLIENT_OPTION_TBL, DHCP_CLIENT_OPTION_ARRAY_T, APMIB_T, 0, mib_dhcpClientOption_tbl) - -MIBDEF(unsigned char, dhcpsServingPoolNum, , DHCPS_SERVING_POOL_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(DHCPS_SERVING_POOL_T, dhcpsServingPoolArray, [MAX_DHCPS_SERVING_POOL_NUM], DHCPS_SERVING_POOL_TBL, DHCPS_SERVING_POOL_ARRAY_T, APMIB_T, 0, mib_dhcpsServingPool_tbl) -#endif /* #if defined(_PRMT_X_TELEFONICA_ES_DHCPOPTION_) */ - -#ifdef ROUTE_SUPPORT -MIBDEF(unsigned char, staticRouteEnabled, , STATICROUTE_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, staticRouteNum, , STATICROUTE_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(STATICROUTE_T, staticRouteArray, [MAX_ROUTE_NUM], STATICROUTE_TBL, STATICROUTE_ARRAY_T, APMIB_T, 0, mib_staticroute_tbl) -MIBDEF(unsigned char, ripEnabled, , RIP_ENABLED, BYTE_T, APMIB_T, 0, 0) -#ifdef RIP6_SUPPORT -MIBDEF(unsigned char, rip6Enabled, , RIP6_ENABLED, BYTE_T, APMIB_T, 0, 0) -#endif -MIBDEF(unsigned char, ripLanTx, , RIP_LAN_TX, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ripLanRx, , RIP_LAN_RX, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ripWanTx, , RIP_WAN_TX, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ripWanRx, , RIP_WAN_RX, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, natEnabled, , NAT_ENABLED, BYTE_T, APMIB_T, 0, 0) -#endif // #ifdef ROUTE_SUPPORT -MIBDEF(unsigned char, sambaEnabled, , SAMBA_ENABLED, BYTE_T, APMIB_T, 0, 0) -#ifdef VPN_SUPPORT -MIBDEF(unsigned char, ipsecTunnelEnabled, , IPSECTUNNEL_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipsecTunnelNum, , IPSECTUNNEL_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(IPSECTUNNEL_T, ipsecTunnelArray, [MAX_TUNNEL_NUM], IPSECTUNNEL_TBL, IPSECTUNNEL_ARRAY_T, APMIB_T, 0, mib_ipsectunnel_tbl) -MIBDEF(unsigned char, ipsecNattEnabled, , IPSEC_NATT_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, ipsecRsaKeyFile, [MAX_RSA_FILE_LEN], IPSEC_RSA_FILE, BYTE_ARRAY_T, APMIB_T, 0, 0) -#endif // #ifdef VPN_SUPPORT - -MIBDEF(unsigned short, pppSessionNum, , PPP_SESSION_NUM, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, pppServerMac, [6], PPP_SERVER_MAC, BYTE6_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, l2tpPayload, [MAX_L2TP_BUFF_LEN], L2TP_PAYLOAD, BYTE_ARRAY_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, l2tpPayloadLength, , L2TP_PAYLOAD_LENGTH, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, l2tpNs, , L2TP_NS, WORD_T, APMIB_T, 0, 0) -#endif // #ifdef HOME_GATEWAY - -#ifdef CONFIG_APP_SIMPLE_CONFIG -MIBDEF(unsigned char, scDeviceType, , SC_DEVICE_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, scDeviceName, [MAX_SC_DEVICE_NAME], SC_DEVICE_NAME, STRING_T, APMIB_T, 0, 0) -#endif - -#ifdef RTK_CAPWAP -MIBDEF(unsigned char, capwapMode, , CAPWAP_MODE, BYTE_T, APMIB_T, 0, 0) -// for WTP -MIBDEF(unsigned char, wtpId, , CAPWAP_WTP_ID, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, acIpAddr,[4], CAPWAP_AC_IP, IA_T, APMIB_T, 0, 0) -// for AC -MIBDEF(unsigned char, wtpConfigNum, , CAPWAP_WTP_CONFIG_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(CAPWAP_WTP_CONFIG_T, wtpConfigArray, [MAX_CAPWAP_WTP_NUM], CAPWAP_WTP_CONFIG_TBL, CAPWAP_WTP_CONFIG_ARRAY_T, APMIB_T, 0, mib_capwap_wtp_config_tbl) -#endif // #ifdef RTK_CAPWAP - -#ifdef CONFIG_RTL_ETH_802DOT1X_SUPPORT -MIBDEF(unsigned long, rs_reauth_to, , ELAN_RS_REAUTH_TO, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rsIpAddr, [4], ELAN_RS_IP, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, rsPort, , ELAN_RS_PORT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rsPassword, [MAX_RS_PASS_LEN], ELAN_RS_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, enable1X, , ELAN_ENABLE_1X, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, accountRsEnabled, , ELAN_ACCOUNT_RS_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, accountRsIpAddr, [4], ELAN_ACCOUNT_RS_IP, IA_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, accountRsPort, , ELAN_ACCOUNT_RS_PORT, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, accountRsPassword, [MAX_RS_PASS_LEN], ELAN_ACCOUNT_RS_PASSWORD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, accountRsUpdateEnabled, , ELAN_ACCOUNT_RS_UPDATE_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, accountRsUpdateDelay, , ELAN_ACCOUNT_RS_UPDATE_DELAY, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, macAuthEnabled, , ELAN_MAC_AUTH_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rsMaxRetry, , ELAN_RS_MAXRETRY, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, rsIntervalTime, , ELAN_RS_INTERVAL_TIME, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, accountRsMaxRetry, , ELAN_ACCOUNT_RS_MAXRETRY, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, accountRsIntervalTime, , ELAN_ACCOUNT_RS_INTERVAL_TIME, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, dot1xMode, , ELAN_DOT1X_MODE, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, dot1xProxyType, , ELAN_DOT1X_PROXY_TYPE, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, dot1xProxyClientModePortMask, , ELAN_DOT1X_CLIENT_MODE_PORT_MASK, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned short, dot1xProxyProxyModePortMask, , ELAN_DOT1X_PROXY_MODE_PORT_MASK, WORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, dot1xEapolUnicastEnabled, , ELAN_EAPOL_UNICAST_ENABLED, BYTE_T, APMIB_T, 0, 0) -#ifdef CONFIG_RTL_ETH_802DOT1X_CLIENT_MODE_SUPPORT -MIBDEF(unsigned char, eapType, , ELAN_EAP_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, eapInsideType, , ELAN_EAP_INSIDE_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, eapPhase2Type, , ELAN_EAP_PHASE2_TYPE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, phase2EapMethod, , ELAN_PHASE2_EAP_METHOD, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, eapUserId, [MAX_EAP_USER_ID_LEN+1], ELAN_EAP_USER_ID, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rsUserName, [MAX_RS_USER_NAME_LEN+1], ELAN_RS_USER_NAME, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rsUserPasswd, [MAX_RS_USER_PASS_LEN+1], ELAN_RS_USER_PASSWD, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, rsUserCertPasswd, [MAX_RS_USER_CERT_PASS_LEN+1], ELAN_RS_USER_CERT_PASSWD, STRING_T, APMIB_T, 0, 0) -#endif -MIBDEF(unsigned char, serverPortNum, , ELAN_DOT1X_SERVER_PORT, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, entryNum, , ELAN_DOT1X_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(ETHDOT1X_T, ethdot1xArray, [MAX_ELAN_DOT1X_PORTNUM+1], ELAN_DOT1X_TBL, ETHDOT1X_ARRAY_T, APMIB_T, 0, mib_ethdot1xconfig_tbl) -#endif - - -#ifdef TLS_CLIENT -MIBDEF(unsigned char, certRootNum, , CERTROOT_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(CERTROOT_T, certRootArray, [MAX_CERTROOT_NUM], CERTROOT_TBL, CERTROOT_ARRAY_T, APMIB_T, 0, mib_certroot_tbl) -MIBDEF(unsigned char, certUserNum, , CERTUSER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(CERTUSER_T, certUserArray, [MAX_CERTUSER_NUM], CERTUSER_TBL, CERTUSER_ARRAY_T, APMIB_T, 0, mib_certuser_tbl) -MIBDEF(unsigned char, rootIdx, , ROOT_IDX, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, userIdx, , USER_IDX, BYTE_T, APMIB_T, 0, 0) -#endif // #ifdef TLS_CLIENT - -#if defined(GW_QOS_ENGINE) || defined(QOS_BY_BANDWIDTH) -MIBDEF(unsigned char, qosEnabled, , QOS_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, qosAutoUplinkSpeed, , QOS_AUTO_UPLINK_SPEED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned long, qosManualUplinkSpeed, , QOS_MANUAL_UPLINK_SPEED, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, qosAutoDownLinkSpeed, , QOS_AUTO_DOWNLINK_SPEED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned long, qosManualDownLinkSpeed, , QOS_MANUAL_DOWNLINK_SPEED, DWORD_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, qosRuleNum, , QOS_RULE_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -#endif // #if defined(GW_QOS_ENGINE) || defined(QOS_BY_BANDWIDTH) - -#if defined(GW_QOS_ENGINE) -MIBDEF(QOS_T, qosRuleArray, [MAX_QOS_RULE_NUM], QOS_RULE_TBL, QOS_ARRAY_T, APMIB_T, 0, mib_qos_tbl) -#endif // #if defined(GW_QOS_ENGINE) - -#if defined(QOS_BY_BANDWIDTH) -MIBDEF(IPQOS_T, qosRuleArray, [MAX_QOS_RULE_NUM], QOS_RULE_TBL, QOS_ARRAY_T, APMIB_T, 0, mib_qos_tbl) -#endif // #if defined(GW_QOS_ENGINE) - -MIBDEF(unsigned char, snmpROcommunity, [MAX_SNMP_COMMUNITY_LEN], SNMP_RO_COMMUNITY, STRING_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, snmpRWcommunity, [MAX_SNMP_COMMUNITY_LEN], SNMP_RW_COMMUNITY, STRING_T, APMIB_T, 0, 0) - -MIBDEF(CONFIG_WLAN_SETTING_T, wlan, [NUM_WLAN_INTERFACE][NUM_VWLAN_INTERFACE+1], WLAN_ROOT, TABLE_LIST_T, APMIB_T, 0, mib_wlan_table) - -//#ifdef CONFIG_RTL_FLASH_DUAL_IMAGE_ENABLE -MIBDEF(unsigned char, dualBankEnabled, , DUALBANK_ENABLED, BYTE_T, APMIB_T, 0, 0) //default test -MIBDEF(unsigned char, wlanBand2G5GSelect, , WLAN_BAND2G5G_SELECT, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, LanDhcpConfigurable, , LAN_DHCP_CONFIGURABLE, BYTE_T, APMIB_T, 0, 0) - -#if defined(WLAN_SUPPORT) - -MIBDEF(unsigned char, cwmp_WlanConf_Enabled, , CWMP_WLANCONF_ENABLED, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, cwmp_WlanConf_EntryNum, , CWMP_WLANCONF_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(CWMP_WLANCONF_T, cwmp_WlanConfArray, [MAX_CWMP_WLANCONF_NUM], CWMP_WLANCONF_TBL, CWMP_WLANCONF_ARRAY_T, APMIB_T, 0, mib_cwmp_wlanconf_tbl) -#endif - -#ifdef SAMBA_WEB_SUPPORT -MIBDEF(unsigned char, StorageUserNum, , STORAGE_USER_TBL_NUM, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, StorageGroupNum, , STORAGE_GROUP_TBL_NUM, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(unsigned char, StorageAnonEnable, , STORAGE_ANON_ENABLE, BYTE_T, APMIB_T, 0, 0) -//MIBDEF(unsigned char, StorageAnonFtpEnable, , STORAGE_ANON_FTP_ENABLE, BYTE_T, APMIB_T, 0, 0) -MIBDEF(unsigned char, StorageAnonDiskEnable, , STORAGE_ANON_DISK_ENABLE, BYTE_T, APMIB_T, 0, 0) - -MIBDEF(STORAGE_USER_T, StorageUserArray, [MAX_USER_NUM], STORAGE_USER_TBL, STORAGE_USER_ARRAY_T, APMIB_T,0,mib_storage_user_tbl) -MIBDEF(STORAGE_GROUP_T, StorageGroupArray, [MAX_GROUP_NUM], STORAGE_GROUP_TBL, STORAGE_GROUP_ARRAY_T, APMIB_T,0,mib_storage_group_tbl) - -MIBDEF(char, StorageFolderLocal, [20], STORAGE_FOLDER_LOCAL, STRING_T,APMIB_T,0,0) -MIBDEF(unsigned char, StorageEditUserIndex, , STORAGE_USER_EDIT_INDEX, BYTE_T,APMIB_T,0,0) -MIBDEF(unsigned char, StorageEditGroupIndex, , STORAGE_GROUP_EDIT_INDEX, BYTE_T,APMIB_T,0,0) -MIBDEF(char, StorageEditSambaFolder, [MAX_GROUP_NAME_LEN], STORAGE_FOLDER_EDIT_NAME, STRING_T,APMIB_T,0,0) -#endif - -#endif // #ifdef MIB_IMPORT - -#ifdef MIB_DHCPRSVDIP_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -#ifdef _PRMT_X_TELEFONICA_ES_DHCPOPTION_ -MIBDEF(unsigned char, dhcpRsvdIpEntryEnabled, , DHCPRSVDIP_ENTRY_ENABLED, BYTE_T, DHCPRSVDIP_T, 0, 0) -#endif -MIBDEF(unsigned char, ipAddr, [4], DHCPRSVDIP_IPADDR, IA_T, DHCPRSVDIP_T, 0, 0) -MIBDEF(unsigned char, macAddr, [6], DHCPRSVDIP_MACADDR, BYTE6_T, DHCPRSVDIP_T, 0, 0) -MIBDEF(unsigned char, hostName, [32], DHCPRSVDIP_HOSTNAME, STRING_T, DHCPRSVDIP_T, 0, 0) -MIBDEF(unsigned int, InstanceNum, , DHCPRSVDIP_INSTANCENUM, DWORD_T, DHCPRSVDIP_T, 0, 0) -#endif // #ifdef MIB_DHCPRSVDIP_IMPORT -#ifdef CONFIG_IPV6 -#ifdef TR181_SUPPORT -#ifdef MIB_IPV6_DHCPC_SENDOPT_IMPORT -MIBDEF(unsigned char, index, , IPV6_DHCPC_SENDOPT_INDEX, BYTE_T, DHCPV6C_SENDOPT_T, 0, 0) -MIBDEF(unsigned char, enable, , IPV6_DHCPC_SENDOPT_ENABLE, BYTE_T, DHCPV6C_SENDOPT_T, 0, 0) -MIBDEF(unsigned long, tag, , IPV6_DHCPC_SENDOPT_TAG, DWORD_T, DHCPV6C_SENDOPT_T, 0, 0) -MIBDEF(unsigned char, value, [64], IPV6_DHCPC_SENDOPT_VALUE,STRING_T , DHCPV6C_SENDOPT_T, 0, 0) -#endif -#endif -#endif -#ifdef TR181_SUPPORT -#ifdef MIB_DNS_CLIENT_SERVER_IMPORT -MIBDEF(unsigned char, index, , DNS_CLIENT_SERVER_INDEX, BYTE_T, DNS_CLIENT_SERVER_T, 0, 0) -MIBDEF(unsigned char, enable, , DNS_CLIENT_SERVER_ENABLE, BYTE_T, DNS_CLIENT_SERVER_T, 0, 0) -MIBDEF(unsigned char, status, , DNS_CLIENT_SERVER_STATUS, BYTE_T, DNS_CLIENT_SERVER_T, 0, 0) -//MIBDEF(unsigned char, alias, [64], DNS_CLIENT_SERVER_ALIAS, STRING_T, DNS_CLIENT_SERVER_T, 0, 0) -MIBDEF(unsigned char, ipAddr, [40], DNS_CLIENT_SERVER_IPADDR, STRING_T, DNS_CLIENT_SERVER_T, 0, 0) -//MIBDEF(unsigned char, interface, [64], DNS_CLIENT_SERVER_IF, STRING_T, DNS_CLIENT_SERVER_T, 0, 0) -MIBDEF(unsigned char, type, , DNS_CLIENT_SERVER_TYPE, BYTE_T, DNS_CLIENT_SERVER_T, 0, 0) -#endif -#endif -#ifdef WLAN_PROFILE -#ifdef MIB_WLAN_PROFILE_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, ssid, [MAX_SSID_LEN], PROFILE_SSID, STRING_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, encryption, , PROFILE_ENC, BYTE_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, auth, , PROFILE_AUTH, BYTE_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wpa_cipher, , PROFILE_WPA_CIPHER, BYTE_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wpaPSK, [MAX_PSK_LEN+1],PROFILE_WPA_PSK,STRING_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wep_default_key, , PROFILE_WEP_DEFAULT_KEY,BYTE_T,WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wepKey1, [WEP128_KEY_LEN*2+1],PROFILE_WEP_KEY1,BYTE_ARRAY_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wepKey2, [WEP128_KEY_LEN*2+1],PROFILE_WEP_KEY2,BYTE_ARRAY_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wepKey3, [WEP128_KEY_LEN*2+1],PROFILE_WEP_KEY3,BYTE_ARRAY_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wepKey4, [WEP128_KEY_LEN*2+1],PROFILE_WEP_KEY4,BYTE_ARRAY_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wepKeyType, , PROFILE_WEP_KEY_TYPE, BYTE_T, WLAN_PROFILE_T, 0, 0) -MIBDEF(unsigned char, wpaPSKFormat, , PROFILE_PSK_FORMAT, BYTE_T, WLAN_PROFILE_T, 0, 0) -#endif // #ifdef MIB_WLAN_PROFILE_IMPORT -#endif - -#ifdef MIB_SCHEDULE_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, text, [SCHEDULE_NAME_LEN], SCHEDULE_TEXT, STRING_T, SCHEDULE_T, 0, 0) -MIBDEF(unsigned short, eco, , SCHEDULE_ECO, WORD_T, SCHEDULE_T, 0, 0) -MIBDEF(unsigned short, fTime, , SCHEDULE_FTIME, WORD_T, SCHEDULE_T, 0, 0) -MIBDEF(unsigned short, tTime, , SCHEDULE_TTIME, WORD_T, SCHEDULE_T, 0, 0) -MIBDEF(unsigned short, day, , SCHEDULE_DAY, WORD_T, SCHEDULE_T, 0, 0) -#endif // #ifdef MIB_SCHEDULE_IMPORT - -#ifdef MIB_MACFILTER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, macAddr, [6], MACFILTER_MACADDR, BYTE6_T, MACFILTER_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], MACFILTER_COMMENT, STRING_T, MACFILTER_T, 0, 0) -#endif // #ifdef MIB_MACFILTER_IMPORT - -#ifdef VLAN_CONFIG_SUPPORTED -#ifdef MIB_VLAN_CONFIG_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, enabled, , VLANCONFIG_ENTRY_ENABLED, BYTE_T, VLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, netIface, [IFNAMSIZE], VLANCONFIG_NETIFACE, STRING_T, VLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, tagged, , VLANCONFIG_TAGGED, BYTE_T, VLAN_CONFIG_T, 0, 0) -//MIBDEF(unsigned char, untagged, , VLANCONFIG_UNTAGGED, BYTE_T, VLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, priority, , VLANCONFIG_PRIORITY, BYTE_T, VLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, cfi, , VLANCONFIG_CFI, BYTE_T, VLAN_CONFIG_T, 0, 0) -//MIBDEF(unsigned char, groupId, , VLANCONFIG_GROUPID, BYTE_T, VLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned short, vlanId, , VLANCONFIG_VLANID, WORD_T, VLAN_CONFIG_T, 0, 0) -#if defined(CONFIG_RTK_VLAN_NEW_FEATURE) ||defined(CONFIG_RTL_HW_VLAN_SUPPORT) -MIBDEF(unsigned char, forwarding_rule, , VLANCONFIG_FORWARDING_RULE, BYTE_T, VLAN_CONFIG_T, 0, 0) -#endif -#endif // #ifdef MIB_VLAN_CONFIG_IMPORT -#endif // #ifdef VLAN_CONFIG_SUPPORTED - -#ifdef HOME_GATEWAY -#ifdef MIB_PORTFW_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, ipAddr, [4], PORTFW_IPADDR, IA_T, PORTFW_T, 0, 0) -MIBDEF(unsigned short, fromPort, , PORTFW_FROMPORT, WORD_T, PORTFW_T, 0, 0) -MIBDEF(unsigned short, toPort, , PORTFW_TOPORT, WORD_T, PORTFW_T, 0, 0) -MIBDEF(unsigned char, protoType, , PORTFW_PROTOTYPE, BYTE_T, PORTFW_T, 0, 0) -MIBDEF(unsigned short, svrport, , PORTFW_SVRPORT, WORD_T, PORTFW_T, 0, 0) -MIBDEF(unsigned char, svrName, [COMMENT_LEN], PORTFW_SVRNAME, STRING_T, PORTFW_T, 0, 0) -MIBDEF(unsigned int, InstanceNum, , PORTFW_INSTANCENUM, DWORD_T, PORTFW_T, 0, 0) -MIBDEF(unsigned int, WANIfIndex, , PORTFW_WANIFACE_ID, DWORD_T, PORTFW_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], PORTFW_COMMENT, STRING_T, PORTFW_T, 0, 0) -#endif // #ifdef MIB_PORTFW_IMPORT - -#ifdef MIB_IPFILTER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, ipAddr, [4], IPFILTER_IPADDR, IA_T, IPFILTER_T, 0, 0) -MIBDEF(unsigned char, protoType, , IPFILTER_PROTOTYPE, BYTE_T, IPFILTER_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], IPFILTER_COMMENT, STRING_T, IPFILTER_T, 0, 0) -#ifdef CONFIG_IPV6 -MIBDEF(unsigned char, ip6Addr, [48], IPFILTER_IP6ADDR, STRING_T, IPFILTER_T, 0, 0) -MIBDEF(unsigned char, ipVer, , IPFILTER_IP_VERSION, BYTE_T, IPFILTER_T, 0, 0) -#endif -#endif // #ifdef MIB_IPFILTER_IMPORT - -#ifdef MIB_STORAGE_GROUP_IMPORT -MIBDEF(char, storage_group_name, [MAX_GROUP_NAME_LEN], STORAGE_GROUP_NAME, STRING_T, STORAGE_GROUP_T,0,0) -MIBDEF(char, storage_group_access, [10], STORAGE_GROUP_ACCESS, STRING_T, STORAGE_GROUP_T,0,0) - -MIBDEF(unsigned char, storage_group_sharefolder_flag, , STORAGE_GROUP_SHAREFOLDER_FLAG, BYTE_T, STORAGE_GROUP_T,0,0) -MIBDEF(char, storage_group_sharefolder, [MAX_FOLDER_NAME_LEN], STORAGE_GROUP_SHAREFOLDER, STRING_T, STORAGE_GROUP_T,0,0) -MIBDEF(char, storage_group_displayname, [MAX_DISPLAY_NAME_LEN], STORAGE_GROUP_DISPLAYNAME, STRING_T, STORAGE_GROUP_T,0,0) -#endif - -#ifdef MIB_STORAGE_USER_IMPORT -MIBDEF(char, storage_user_name, [MAX_USER_NAME_LEN], STORAGE_USER_NAME, STRING_T, STORAGE_USER_T,0,0) -MIBDEF(char, storage_user_password, [MAX_USER_PASSWD_LEN], STORAGE_USER_PASSWD,STRING_T, STORAGE_USER_T,0,0) -MIBDEF(char, storage_user_group, [MAX_GROUP_NAME_LEN], STORAGE_USER_GROUP, STRING_T, STORAGE_USER_T,0,0) -#endif - -#ifdef MIB_PORTFILTER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned short, fromPort, , PORTFILTER_FROMPORT, WORD_T, PORTFILTER_T, 0, 0) -MIBDEF(unsigned short, toPort, , PORTFILTER_TOPORT, WORD_T, PORTFILTER_T, 0, 0) -MIBDEF(unsigned char, protoType, , PORTFILTER_PROTOTYPE, BYTE_T, PORTFILTER_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], PORTFILTER_COMMENT, STRING_T, PORTFILTER_T, 0, 0) -MIBDEF(unsigned char, ipVer, , PORTFILTER_IPVERSION, BYTE_T, PORTFILTER_T, 0, 0) -#endif // #ifdef MIB_PORTFILTER_IMPORT - -#ifdef MIB_TRIGGERPORT_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned short, tri_fromPort, , TRIGGERPORT_TRI_FROMPORT, WORD_T, TRIGGERPORT_T, 0, 0) -MIBDEF(unsigned short, tri_toPort, , TRIGGERPORT_TRI_TOPORT, WORD_T, TRIGGERPORT_T, 0, 0) -MIBDEF(unsigned char, tri_protoType, , TRIGGERPORT_TRI_PROTOTYPE, BYTE_T, TRIGGERPORT_T, 0, 0) -MIBDEF(unsigned short, inc_fromPort, , TRIGGERPORT_INC_FROMPORT, WORD_T, TRIGGERPORT_T, 0, 0) -MIBDEF(unsigned short, inc_toPort, , TRIGGERPORT_INC_TOPORT, WORD_T, TRIGGERPORT_T, 0, 0) -MIBDEF(unsigned char, inc_protoType, , TRIGGERPORT_INC_PROTOTYPE, BYTE_T, TRIGGERPORT_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], TRIGGERPORT_COMMENT, STRING_T, TRIGGERPORT_T, 0, 0) -#endif // #ifdef MIB_TRIGGERPORT_IMPORT - -#ifdef MIB_URLFILTER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, urlAddr, [31], URLFILTER_URLADDR, STRING_T, URLFILTER_T, 0, 0) -MIBDEF(unsigned char, ruleMode, , URLFILTER_RULE_MODE, BYTE_T, URLFILTER_T, 0, 0) -#ifdef URL_FILTER_USER_MODE_SUPPORT -MIBDEF(unsigned char, usrMode, , URLFILTER_USR_MODE, BYTE_T,URLFILTER_T, 0, 0) -MIBDEF(unsigned char, ipAddr, [4], URLFILTER_IPADDR, IA_T, URLFILTER_T, 0, 0) -MIBDEF(unsigned char, macAddr,[6], URLFILTER_MACADDR, BYTE6_T,URLFILTER_T, 0, 0) -#endif -#endif // #ifdef MIB_URLFILTER_IMPORT - - -#ifdef ROUTE_SUPPORT -#ifdef MIB_STATICROUTE_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, dstAddr, [4], STATICROUTE_DSTADDR, IA_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, netmask, [4], STATICROUTE_NETMASK, IA_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, gateway, [4], STATICROUTE_GATEWAY, IA_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, interface, , STATICROUTE_INTERFACE, BYTE_T, STATICROUTE_T, 0, 0) -MIBDEF(int, metric, , STATICROUTE_METRIC, DWORD_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, Enable, , STATICROUTE_ENABLE, BYTE_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, Type, , STATICROUTE_TYPE, BYTE_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, SourceIP, [4], STATICROUTE_SRCADDR, IA_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, SourceMask, [4], STATICROUTE_SRCNETMASK, IA_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned int, ifIndex, , STATICROUTE_IFACEINDEX, DWORD_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned int, InstanceNum, , STATICROUTE_INSTANCENUM, DWORD_T, STATICROUTE_T, 0, 0) -MIBDEF(unsigned char, Flags, , STATICROUTE_FLAGS, BYTE_T, STATICROUTE_T, 0, 0) -#endif // #ifdef MIB_STATICROUTE_IMPORT -#endif // #ifdef ROUTE_SUPPORT - -#ifdef VPN_SUPPORT -#ifdef MIB_IPSECTUNNEL_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, tunnelId, , IPSECTUNNEL_TUNNELID, IA_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, authType, , IPSECTUNNEL_AUTHTYPE, IA_T, IPSECTUNNEL_T, 0, 0) -//local info -MIBDEF(unsigned char, lcType, , IPSECTUNNEL_LCTYPE, IA_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, lc_ipAddr, [4], IPSECTUNNEL_LC_IPADDR, IA_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, lc_maskLen, , IPSECTUNNEL_LC_MASKLEN, BYTE_T, IPSECTUNNEL_T, 0, 0) -//remote Info -MIBDEF(unsigned char, rtType, , IPSECTUNNEL_RTTYPE, IA_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, rt_ipAddr, [4], IPSECTUNNEL_RT_IPADDR, IA_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, rt_maskLen, , IPSECTUNNEL_RT_MASKLEN, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, rt_gwAddr, [4], IPSECTUNNEL_RT_GWADDR, IA_T, IPSECTUNNEL_T, 0, 0) -// Key mode common -MIBDEF(unsigned char, keyMode, , IPSECTUNNEL_KEYMODE, BYTE_T, IPSECTUNNEL_T, 0, 0) -//MIBDEF(unsigned char, espAh, , IPSECTUNNEL_ESPAH, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, espEncr, , IPSECTUNNEL_ESPENCR, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, espAuth, , IPSECTUNNEL_ESPAUTH, BYTE_T, IPSECTUNNEL_T, 0, 0) -//MIBDEF(unsigned char, ahAuth, , IPSECTUNNEL_AHAUTH, BYTE_T, IPSECTUNNEL_T, 0, 0) -//IKE mode -MIBDEF(unsigned char, conType, , IPSECTUNNEL_CONTYPE, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, psKey, [MAX_NAME_LEN], IPSECTUNNEL_PSKEY, STRING_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, rsaKey, [MAX_RSA_KEY_LEN], IPSECTUNNEL_RSAKEY, STRING_T, IPSECTUNNEL_T, 0, 0) -//Manual Mode -MIBDEF(unsigned char, spi, [MAX_SPI_LEN], IPSECTUNNEL_SPI, STRING_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, encrKey, [MAX_ENCRKEY_LEN], IPSECTUNNEL_ENCRKEY, STRING_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, authKey, [MAX_AUTHKEY_LEN], IPSECTUNNEL_AUTHKEY, STRING_T, IPSECTUNNEL_T, 0, 0) -// tunnel info -MIBDEF(unsigned char, enable, , IPSECTUNNEL_ENABLE, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, connName, [MAX_NAME_LEN], IPSECTUNNEL_CONNNAME, STRING_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, lcIdType, , IPSECTUNNEL_LCIDTYPE, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, rtIdType, , IPSECTUNNEL_LCIDTYPE, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, lcId, [MAX_NAME_LEN], IPSECTUNNEL_LCID, STRING_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, rtId, [MAX_NAME_LEN], IPSECTUNNEL_RTID, STRING_T, IPSECTUNNEL_T, 0, 0) -// ike Advanced setup -MIBDEF(unsigned long, ikeLifeTime, , IPSECTUNNEL_IKELIFETIME, DWORD_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, ikeEncr, , IPSECTUNNEL_IKEENCR, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, ikeAuth, , IPSECTUNNEL_IKEAUTH, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, ikeKeyGroup, , IPSECTUNNEL_IKEKEYGROUP, BYTE_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned long, ipsecLifeTime, , IPSECTUNNEL_IPSECLIFETIME, DWORD_T, IPSECTUNNEL_T, 0, 0) -MIBDEF(unsigned char, ipsecPfs, , IPSECTUNNEL_IPSECPFS, BYTE_T, IPSECTUNNEL_T, 0, 0) -#endif // #ifdef MIB_IPSECTUNNEL_IMPORT -#endif //#ifdef VPN_SUPPORT - -#if defined(_PRMT_X_TELEFONICA_ES_DHCPOPTION_) -#ifdef MIB_DHCPDOPTION_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, enable, , DHCP_SERVER_OPTION_ENABLED, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, usedFor, , DHCP_SERVER_OPTION_USEDFOR, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, order, , DHCP_SERVER_OPTION_ORDER, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, tag, , DHCP_SERVER_OPTION_TAG, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, len, , DHCP_SERVER_OPTION_LEN, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, value, [DHCP_OPT_VAL_LEN], DHCP_SERVER_OPTION_VALUE, BYTE_ARRAY_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, ifIndex, , DHCP_SERVER_OPTION_IFINDEX, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, dhcpOptInstNum, , DHCP_SERVER_OPTION_DHCPOPTINSTNUM, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, dhcpConSPInstNum, , DHCP_SERVER_OPTION_DHCPCONSPINSTNUM, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -#endif // #ifdef MIB_DHCPDOPTION_IMPORT - -#ifdef MIB_DHCPCOPTION_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, enable, , DHCP_CLIENT_OPTION_ENABLED, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, usedFor, , DHCP_CLIENT_OPTION_USEDFOR, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, order, , DHCP_CLIENT_OPTION_ORDER, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, tag, , DHCP_CLIENT_OPTION_TAG, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, len, , DHCP_CLIENT_OPTION_LEN, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, value, [DHCP_OPT_VAL_LEN], DHCP_CLIENT_OPTION_VALUE, BYTE_ARRAY_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, ifIndex, , DHCP_CLIENT_OPTION_IFINDEX, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, dhcpOptInstNum, , DHCP_CLIENT_OPTION_DHCPOPTINSTNUM, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -MIBDEF(unsigned char, dhcpConSPInstNum, , DHCP_CLIENT_OPTION_DHCPCONSPINSTNUM, BYTE_T, MIB_CE_DHCP_OPTION_T, 0, 0) -#endif // #ifdef MIB_DHCPCOPTION_IMPORT - -#ifdef MIB_DHCPS_SERVING_POOL_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, enable, , DHCPS_SERVING_POOL_ENABLE, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned int, poolorder, , DHCPS_SERVING_POOL_POOLORDER, DWORD_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, poolname, [MAX_NAME_LEN], DHCPS_SERVING_POOL_POOLNAME, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, deviceType, , DHCPS_SERVING_POOL_DEVICETYPE, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, rsvOptCode, , DHCPS_SERVING_POOL_RSVOPTCODE, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, sourceinterface, , DHCPS_SERVING_POOL_SOURCEINTERFACE, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, vendorclass,[OPTION_60_LEN+1], DHCPS_SERVING_POOL_VENDORCLASS, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, vendorclassflag, , DHCPS_SERVING_POOL_VENDORCLASSFLAG, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, vendorclassmode, [MODE_LEN], DHCPS_SERVING_POOL_VENDORCLASSMODE, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, clientid, [OPTION_LEN], DHCPS_SERVING_POOL_CLIENTID, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, clientidflag, , DHCPS_SERVING_POOL_CLIENTIDFLAG, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, userclass, [OPTION_LEN], DHCPS_SERVING_POOL_USERCLASS, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, userclassflag, , DHCPS_SERVING_POOL_USERCLASSFLAG, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, chaddr, [MAC_ADDR_LEN], DHCPS_SERVING_POOL_CHADDR, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, chaddrmask, [MAC_ADDR_LEN], DHCPS_SERVING_POOL_CHADDRMASK, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, chaddrflag, , DHCPS_SERVING_POOL_CHADDRFLAG, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, localserved, , DHCPS_SERVING_POOL_LOCALSERVED, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, startaddr, [IP_ADDR_LEN], DHCPS_SERVING_POOL_STARTADDR, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, endaddr, [IP_ADDR_LEN], DHCPS_SERVING_POOL_ENDADDR, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, subnetmask, [IP_ADDR_LEN], DHCPS_SERVING_POOL_SUBNETMASK, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, iprouter, [IP_ADDR_LEN], DHCPS_SERVING_POOL_IPROUTER, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, dnsserver1, [IP_ADDR_LEN], DHCPS_SERVING_POOL_DNSSERVER1, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, dnsserver2, [IP_ADDR_LEN], DHCPS_SERVING_POOL_DNSSERVER2, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, dnsserver3, [IP_ADDR_LEN], DHCPS_SERVING_POOL_DNSSERVER3, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, domainname, [GENERAL_LEN], DHCPS_SERVING_POOL_DOMAINNAME, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned int, leasetime, , DHCPS_SERVING_POOL_LEASETIME, DWORD_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, dhcprelayip,[IP_ADDR_LEN], DHCPS_SERVING_POOL_DHCPRELAYIP, BYTE_ARRAY_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned char, dnsservermode, , DHCPS_SERVING_POOL_DNSSERVERMODE, BYTE_T, DHCPS_SERVING_POOL_T, 0, 0) -MIBDEF(unsigned int, InstanceNum, , DHCPS_SERVING_POOL_INSTANCENUM, DWORD_T, DHCPS_SERVING_POOL_T, 0, 0) -#endif // #ifdef MIB_DHCPS_SERVING_POOL_IMPORT - -#endif /* #if defined(_PRMT_X_TELEFONICA_ES_DHCPOPTION_) */ -#endif // #ifdef HOME_GATEWAY - -#ifdef TLS_CLIENT -#ifdef MIB_CERTROOT_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, comment, [COMMENT_LEN], CERTROOT_COMMENT, STRING_T, CERTROOT_T, 0, 0) -#endif // #ifdef MIB_CERTROOT_IMPORT - -#ifdef MIB_CERTUSER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, comment, [COMMENT_LEN], CERTUSER_COMMENT, STRING_T, CERTUSER_T, 0, 0) -MIBDEF(unsigned char, pass, [MAX_RS_PASS_LEN], CERTROOT_PASS, STRING_T, CERTUSER_T, 0, 0) -#endif // #ifdef MIB_CERTUSER_IMPORT -#endif //#ifdef TLS_CLIENT - -#if defined(GW_QOS_ENGINE) -#ifdef MIB_QOS_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, entry_name, [MAX_QOS_NAME_LEN+1], QOS_ENTRY_NAME, STRING_T, QOS_T, 0, 0) -MIBDEF(unsigned char, enabled, , QOS_ENTRY_ENABLED, STRING_T, QOS_T, 0, 0) -MIBDEF(unsigned char, priority, , QOS_PRIORITY, STRING_T, QOS_T, 0, 0) -MIBDEF(unsigned short, protocol, , QOS_PROTOCOL, WORD_T, QOS_T, 0, 0) -MIBDEF(unsigned char, local_ip_start, [4], QOS_LOCAL_IP_START, IA_T, QOS_T, 0, 0) -MIBDEF(unsigned char, local_ip_end, [4], QOS_LOCAL_IP_END, IA_T, QOS_T, 0, 0) -MIBDEF(unsigned short, local_port_start, , QOS_LOCAL_PORT_START, WORD_T, QOS_T, 0, 0) -MIBDEF(unsigned short, local_port_end, , QOS_LOCAL_PORT_END, WORD_T, QOS_T, 0, 0) -MIBDEF(unsigned char, remote_ip_start, [4], QOS_REMOTE_IP_START, IA_T, QOS_T, 0, 0) -MIBDEF(unsigned char, remote_ip_end, [4], QOS_REMOTE_IP_END, IA_T, QOS_T, 0, 0) -MIBDEF(unsigned short, remote_port_start, , QOS_REMOTE_PORT_START, WORD_T, QOS_T, 0, 0) -MIBDEF(unsigned short, remote_port_end, , QOS_REMOTE_PORT_END, WORD_T, QOS_T, 0, 0) - -#endif // #ifdef MIB_QOS_IMPORT -#endif // #if defined(GW_QOS_ENGINE) - -#if defined(CONFIG_RTL_ETH_802DOT1X_SUPPORT) -#ifdef MIB_ETH_DOT1X_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, enabled, , ELAN_DOT1X_PORT_ENABLED, STRING_T, ETHDOT1X_T, 0, 0) -MIBDEF(unsigned short, portnum, , ELAN_DOT1X_PORT_NUMBER, WORD_T, ETHDOT1X_T, 0, 0) -#endif // #ifdef MIB_ETH_DOT1X_IMPORT -#endif // #if defined(CONFIG_RTL_ETH_802DOT1X_SUPPORT) - -#if defined(QOS_BY_BANDWIDTH) -#ifdef MIB_IPQOS_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, entry_name, [MAX_QOS_NAME_LEN+1], IPQOS_ENTRY_NAME, STRING_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, enabled, , IPQOS_ENABLED, BYTE_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, mac, [MAC_ADDR_LEN], IPQOS_MAC, BYTE6_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, mode, , IPQOS_MODE, BYTE_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, local_ip_start, [4], IPQOS_LOCAL_IP_START, IA_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, local_ip_end, [4], IPQOS_LOCAL_IP_END, IA_T, IPQOS_T, 0, 0) -MIBDEF(unsigned long, bandwidth, , IPQOS_BANDWIDTH, DWORD_T, IPQOS_T, 0, 0) -MIBDEF(unsigned long, bandwidth_downlink, , IPQOS_BANDWIDTH_DOWNLINK, DWORD_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, l7_protocol, [64+1], IPQOS_LAYER7_PROTOCOL, STRING_T, IPQOS_T, 0, 0) -MIBDEF(unsigned char, ip6_src, [40], IPQOS_IPV6_SRC, STRING_T, IPQOS_T, 0, 0) -#endif // #ifdef MIB_IPQOS_IMPORT -#endif // #if defined(QOS_BY_BANDWIDTH) - -#ifdef MIB_MESH_MACFILTER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, macAddr, [6], MECH_ACL_MACADDR, BYTE6_T, MACFILTER_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], MECH_ACL_COMMENT, STRING_T, MACFILTER_T, 0, 0) -#endif // #ifdef MIB_MESH_MACFILTER_IMPORT - -#ifdef MIB_WLAN_MACFILTER_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, macAddr, [6], WLAN_ACL_ADDR_MACADDR, BYTE6_T, MACFILTER_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], WLAN_ACL_ADDR_COMMENT, STRING_T, MACFILTER_T, 0, 0) -#endif // #ifdef MIB_WLAN_MACFILTER_IMPORT - -#ifdef MIB_WDS_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, macAddr, [6], WLAN_WDS_MACADDR, BYTE6_T, WDS_T, 0, 0) -MIBDEF(unsigned int, fixedTxRate, , WLAN_WDS_FIXEDTXRATE, DWORD_T, WDS_T, 0, 0) -MIBDEF(unsigned char, comment, [COMMENT_LEN], WLAN_WDS_COMMENT, STRING_T, WDS_T, 0, 0) -#endif // #ifdef MIB_WDS_IMPORT - -#ifdef MIB_CONFIG_WLAN_SETTING_IMPORT -/* _ctype, _cname, _crepeat, _mib_name, _mib_type, _mib_parents_ctype, _default_value, _next_tbl */ -MIBDEF(unsigned char, ssid, [MAX_SSID_LEN], SSID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, channel, , CHANNEL, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wlanMacAddr, [6], WLAN_MAC_ADDR, BYTE6_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep, , WEP, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -//MIBDEF(unsigned char, wep64Key, [WEP64_KEY_LEN], WEP64_KEY, BYTE5_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep64Key1, [WEP64_KEY_LEN], WEP64_KEY1, BYTE5_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep64Key2, [WEP64_KEY_LEN], WEP64_KEY2, BYTE5_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep64Key3, [WEP64_KEY_LEN], WEP64_KEY3, BYTE5_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep64Key4, [WEP64_KEY_LEN], WEP64_KEY4, BYTE5_T, CONFIG_WLAN_SETTING_T, 0, 0) -//MIBDEF(unsigned char, wep128Key, [WEP128_KEY_LEN], WEP128_KEY, BYTE13_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep128Key1, [WEP128_KEY_LEN], WEP128_KEY1, BYTE13_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep128Key2, [WEP128_KEY_LEN], WEP128_KEY2, BYTE13_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep128Key3, [WEP128_KEY_LEN], WEP128_KEY3, BYTE13_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wep128Key4, [WEP128_KEY_LEN], WEP128_KEY4, BYTE13_T, CONFIG_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, wepDefaultKey, , WEP_DEFAULT_KEY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wepKeyType, , WEP_KEY_TYPE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned short, fragThreshold, , FRAG_THRESHOLD, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, rtsThreshold, , RTS_THRESHOLD, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, supportedRates, , SUPPORTED_RATES, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, basicRates, , BASIC_RATES, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, beaconInterval, , BEACON_INTERVAL, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, preambleType, , PREAMBLE_TYPE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, authType, , AUTH_TYPE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, ackTimeout, , ACK_TIMEOUT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, acEnabled, , MACAC_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acNum, , MACAC_NUM, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(MACFILTER_T, acAddrArray, [MAX_WLAN_AC_NUM], MACAC_ADDR, WLAC_ARRAY_T, CONFIG_WLAN_SETTING_T, 0, wlan_acl_addr_tbl) - -MIBDEF(unsigned char, scheduleRuleEnabled, , SCHEDULE_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, scheduleRuleNum, , SCHEDULE_TBL_NUM, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(SCHEDULE_T, scheduleRuleArray, [MAX_SCHEDULE_NUM], SCHEDULE_TBL, SCHEDULE_ARRAY_T, CONFIG_WLAN_SETTING_T, 0, mib_schedule_tbl) - -MIBDEF(unsigned char, hiddenSSID, , HIDDEN_SSID, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wlanDisabled, , WLAN_DISABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, inactivityTime, , INACTIVITY_TIME, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rateAdaptiveEnabled, , RATE_ADAPTIVE_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, dtimPeriod, , DTIM_PERIOD, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wlanMode, , MODE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, networkType, , NETWORK_TYPE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, iappDisabled, , IAPP_DISABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, protectionDisabled, , PROTECTION_DISABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, defaultSsid, [MAX_SSID_LEN], DEFAULT_SSID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, blockRelay, , BLOCK_RELAY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, maccloneEnabled, , MACCLONE_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wlanBand, , BAND, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned int, fixedTxRate, , FIX_RATE, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, turboMode, , TURBO_MODE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, RFPowerScale, , RFPOWER_SCALE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, retryLimit, , RETRY_LIMIT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, regulatoryDomain, [MAX_REGULATORY_DOMAIN], REGULATORY_DOMAIN, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) - - -//Mutilcast -MIBDEF(unsigned int, lowestMlcstRate, , LOWEST_MLCST_RATE, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned int, mc2u_disable, , MC2U_DISABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -// WPA stuffs -MIBDEF(unsigned char, encrypt, , ENCRYPT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, enableSuppNonWpa, , ENABLE_SUPP_NONWPA, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, suppNonWpa, , SUPP_NONWPA, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpaAuth, , WPA_AUTH, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpaCipher, , WPA_CIPHER_SUITE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpaPSK, [MAX_PSK_LEN+1], WPA_PSK, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, rs_reauth_to, , RS_REAUTH_TO, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, func_off, , FUNC_OFF, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, wpaGroupRekeyTime, , WPA_GROUP_REKEY_TIME, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsIpAddr, [4], RS_IP, IA_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, rsPort, , RS_PORT, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsPassword, [MAX_RS_PASS_LEN], RS_PASSWORD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rs2IpAddr, [4], RS2_IP, IA_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, rs2Port, , RS2_PORT, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rs2Password, [MAX_RS_PASS_LEN], RS2_PASSWORD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, enable1X, , ENABLE_1X, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpaPSKFormat, , PSK_FORMAT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRsEnabled, , ACCOUNT_RS_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRsIpAddr, [4], ACCOUNT_RS_IP, IA_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, accountRsPort, , ACCOUNT_RS_PORT, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRsPassword, [MAX_RS_PASS_LEN], ACCOUNT_RS_PASSWORD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRs2IpAddr, [4], ACCOUNT_RS2_IP, IA_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, accountRs2Port, , ACCOUNT_RS2_PORT, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRs2Password, [MAX_RS_PASS_LEN], ACCOUNT_RS2_PASSWORD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRsUpdateEnabled, , ACCOUNT_RS_UPDATE_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, accountRsUpdateDelay, , ACCOUNT_RS_UPDATE_DELAY, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, macAuthEnabled, , MAC_AUTH_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsMaxRetry, , RS_MAXRETRY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, rsIntervalTime, , RS_INTERVAL_TIME, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, accountRsMaxRetry, , ACCOUNT_RS_MAXRETRY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, accountRsIntervalTime, , ACCOUNT_RS_INTERVAL_TIME, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpa2PreAuth, , WPA2_PRE_AUTH, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpa2Cipher, , WPA2_CIPHER_SUITE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -#ifdef CONFIG_IEEE80211W -MIBDEF(unsigned char, wpa11w, , IEEE80211W, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wpa2EnableSHA256, , SHA256_ENABLE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif -// WDS stuffs -MIBDEF(unsigned char, wdsEnabled, , WDS_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wdsNum, , WDS_NUM, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(WDS_T, wdsArray, [MAX_WDS_NUM], WDS, WDS_ARRAY_T, CONFIG_WLAN_SETTING_T, 0, wlan_wds_tbl) -MIBDEF(unsigned char, wdsEncrypt, , WDS_ENCRYPT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wdsWepKeyFormat, , WDS_WEP_FORMAT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wdsWepKey, [WEP128_KEY_LEN*2+1], WDS_WEP_KEY, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wdsPskFormat, , WDS_PSK_FORMAT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wdsPsk, [MAX_PSK_LEN+1], WDS_PSK, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) - -//=========add for MESH========= -MIBDEF(unsigned char, meshEnabled, , MESH_ENABLE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshRootEnabled, , MESH_ROOT_ENABLE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshID, [33], MESH_ID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -// for backbone security -MIBDEF(unsigned char, meshEncrypt, , MESH_ENCRYPT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshWpaPSKFormat, , MESH_PSK_FORMAT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshWpaPSK, [MAX_PSK_LEN+1], MESH_WPA_PSK, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshWpaAuth, , MESH_WPA_AUTH, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshWpa2Cipher, , MESH_WPA2_CIPHER_SUITE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshAclEnabled, , MESH_ACL_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshAclNum, , MESH_ACL_NUM, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -//#if defined(CONFIG_RTK_MESH) && defined(_MESH_ACL_ENABLE_) // below code copy above ACL code -MIBDEF(MACFILTER_T, meshAclAddrArray, [MAX_MESH_ACL_NUM], MESH_ACL_ADDR, MESH_ACL_ARRAY_T, CONFIG_WLAN_SETTING_T, 0, mib_mech_acl_tbl) -//#endif -#ifdef _11s_TEST_MODE_ -MIBDEF(unsigned short, meshTestParam1, , MESH_TEST_PARAM1, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam2, , MESH_TEST_PARAM2, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam3, , MESH_TEST_PARAM3, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam4, , MESH_TEST_PARAM4, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam5, , MESH_TEST_PARAM5, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam6, , MESH_TEST_PARAM6, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam7, , MESH_TEST_PARAM7, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam8, , MESH_TEST_PARAM8, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParam9, , MESH_TEST_PARAM9, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParama, , MESH_TEST_PARAMA, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParamb, , MESH_TEST_PARAMB, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParamc, , MESH_TEST_PARAMC WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParamd, , MESH_TEST_PARAMD, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParame, , MESH_TEST_PARAME WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned short, meshTestParamf, , MESH_TEST_PARAMF, WORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, meshTestParamStr1, [16], MESH_TEST_PARAMSTR1, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif // #ifdef _11s_TEST_MODE_ - -// for WMM -MIBDEF(unsigned char, wmmEnabled, , WMM_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, uapsdEnabled, , UAPSD_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -#ifdef WLAN_EASY_CONFIG -MIBDEF(unsigned char, acfEnabled, , EASYCFG_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfMode, , EASYCFG_MODE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfSSID, [MAX_SSID_LEN], EASYCFG_SSID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfKey, [MAX_ACF_KEY_LEN+1], EASYCFG_KEY, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfDigest, [MAX_ACF_DIGEST_LEN+1], EASYCFG_DIGEST, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfAlgReq, , EASYCFG_ALG_REQ, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfAlgSupp, , EASYCFG_ALG_SUPP, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfRole, , EASYCFG_ROLE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfScanSSID, [MAX_SSID_LEN], EASYCFG_SCAN_SSID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, acfWlanMode, , EASYCFG_WLAN_MODE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif // #ifdef WLAN_EASY_CONFIG - -/*for P2P_SUPPORT*/ -MIBDEF(unsigned int, p2p_type , , P2P_TYPE, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, p2p_intent , , P2P_INTENT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, p2p_listen_channel, , P2P_LISTEN_CHANNEL, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, p2p_op_channel, , P2P_OPERATION_CHANNEL, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - - - -#ifdef WIFI_SIMPLE_CONFIG -MIBDEF(unsigned char, wscDisable, , WSC_DISABLE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscMethod, , WSC_METHOD, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscConfigured, , WSC_CONFIGURED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscAuth, , WSC_AUTH, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscEnc, , WSC_ENC, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscManualEnabled, , WSC_MANUAL_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscUpnpEnabled, , WSC_UPNP_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscRegistrarEnabled, , WSC_REGISTRAR_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscSsid, [MAX_SSID_LEN], WSC_SSID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscPsk, [MAX_PSK_LEN+1], WSC_PSK, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wscConfigByExtReg, , WSC_CONFIGBYEXTREG, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif // #ifdef WIFI_SIMPLE_CONFIG - -#ifdef WLAN_HS2_CONFIG -MIBDEF(unsigned char, hs2Enabled, , HS2_ENABLE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif - -//for 11N -MIBDEF(unsigned char, channelbonding, , CHANNEL_BONDING, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, controlsideband, , CONTROL_SIDEBAND, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, aggregation, , AGGREGATION, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, shortgiEnabled, , SHORT_GI, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, access, , ACCESS, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, priority, , PRIORITY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -// for WAPI -#if CONFIG_RTL_WAPI_SUPPORT -MIBDEF(unsigned char, wapiPsk, [MAX_PSK_LEN+1], WAPI_PSK, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiPskLen, , WAPI_PSKLEN, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiAuth, , WAPI_AUTH, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiPskFormat, , WAPI_PSK_FORMAT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiAsIpAddr, [4], WAPI_ASIPADDR, IA_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiMcastkey, , WAPI_MCASTREKEY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, wapiMcastRekeyTime, , WAPI_MCAST_TIME, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, wapiMcastRekeyPackets, , WAPI_MCAST_PACKETS, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiUcastkey, , WAPI_UCASTREKEY, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, wapiUcastRekeyTime, , WAPI_UCAST_TIME, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned long, wapiUcastRekeyPackets, , WAPI_UCAST_PACKETS, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -//internal use -MIBDEF(unsigned char, wapiSearchCertInfo, [32], WAPI_SEARCHINFO, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiSearchIndex, , WAPI_SEARCHINDEX, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, wapiCAInit, , WAPI_CA_INIT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, wapiCertSel, , WAPI_CERT_SEL, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -MIBDEF(unsigned char, wapiAuthMode2or3Cert, , WAPI_AUTH_MODE_2or3_CERT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) - -#endif // #if CONFIG_RTL_WAPI_SUPPORT - -MIBDEF(unsigned char, STBCEnabled, , STBC_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, LDPCEnabled, , LDPC_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, CoexistEnabled, , COEXIST_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, phyBandSelect, , PHY_BAND_SELECT, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) //bit1:2G bit2:5G -MIBDEF(unsigned char, macPhyMode, , MAC_PHY_MODE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) //bit0:SmSphy. bit1:DmSphy. bit2:DmDphy. -//### add by sen_liu 2011.3.29 add TX Beamforming in 92D -MIBDEF(unsigned char, TxBeamforming, , TX_BEAMFORMING, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -//### end -MIBDEF(unsigned char, tdls_prohibited, , TDLS_PROHIBITED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, tdls_cs_prohibited, , TDLS_CS_PROHIBITED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, CountryStr, [4], COUNTRY_STRING, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -#ifdef CONFIG_RTL_802_1X_CLIENT_SUPPORT -MIBDEF(unsigned char, eapType, , EAP_TYPE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, eapInsideType, , EAP_INSIDE_TYPE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, eapUserId, [MAX_EAP_USER_ID_LEN+1], EAP_USER_ID, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsUserName, [MAX_RS_USER_NAME_LEN+1], RS_USER_NAME, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsUserPasswd, [MAX_RS_USER_PASS_LEN+1], RS_USER_PASSWD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsUserCertPasswd, [MAX_RS_USER_CERT_PASS_LEN+1], RS_USER_CERT_PASSWD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, rsBandSel, , RS_BAND_SEL, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif -MIBDEF(unsigned int, tx_restrict , , TX_RESTRICT, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned int, rx_restrict , , RX_RESTRICT, DWORD_T, CONFIG_WLAN_SETTING_T, 0, 0) - -#ifdef CONFIG_APP_SIMPLE_CONFIG -MIBDEF(unsigned char, ScEnabled, , SC_ENABLED, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, ScSaveProfile, , SC_SAVE_PROFILE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, ScSyncProfile, , SC_SYNC_PROFILE, BYTE_T, CONFIG_WLAN_SETTING_T, 0, 0) -MIBDEF(unsigned char, ScPasswd, [MAX_PSK_LEN+1], SC_PASSWD, STRING_T, CONFIG_WLAN_SETTING_T, 0, 0) -#endif -#endif // #ifdef MIB_CONFIG_WLAN_SETTING_IMPORT - -#if defined(MIB_CWMP_WLANCONF_IMPORT) -MIBDEF(unsigned char, InstanceNum, , CWMP_WLANCONF_INSTANCENUM, BYTE_T, CWMP_WLANCONF_T, 0, 0) -MIBDEF(unsigned char, RootIdx, , CWMP_WLANCONF_ROOT_IDX, BYTE_T, CWMP_WLANCONF_T, 0, 0) -MIBDEF(unsigned char, VWlanIdx, , CWMP_WLANCONF_VWLAN_IDX, BYTE_T, CWMP_WLANCONF_T, 0, 0) -MIBDEF(unsigned char, IsConfigured, ,CWMP_WLANCONF_ISCONFIGURED, BYTE_T, CWMP_WLANCONF_T, 0, 0) -MIBDEF(unsigned char, RfBandAvailable, ,CWMP_WLANCONF_RFBAND, BYTE_T, CWMP_WLANCONF_T, 0, 0) -#endif //#if defined(MIB_CWMP_WLANCONF_IMPORT) - - -#ifdef MIB_CAPWAP_WLAN_CONFIG_IMPORT -MIBDEF(unsigned char, enable, , CAPWAP_CFG_WLAN_ENABLE, BYTE_T, CAPWAP_WLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, keyType, , CAPWAP_CFG_KEY_TYPE, BYTE_T, CAPWAP_WLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, pskFormat, , CAPWAP_CFG_PSK_FORMAT, BYTE_T, CAPWAP_WLAN_CONFIG_T, 0, 0) -MIBDEF(char, key, [MAX_PSK_LEN+1], CAPWAP_CFG_KEY, STRING_T, CAPWAP_WLAN_CONFIG_T, 0, 0) -MIBDEF(char, ssid,[MAX_SSID_LEN], CAPWAP_CFG_SSID, STRING_T, CAPWAP_WLAN_CONFIG_T, 0, 0) -MIBDEF(unsigned char, bssid, [6], CAPWAP_CFG_BSSID, BYTE6_T, CAPWAP_WLAN_CONFIG_T, 0, 0) -#endif // #ifdef MIB_CAPWAP_WLAN_CONFIG_IMPORT - -#ifdef MIB_CAPWAP_WTP_CONFIG_IMPORT -MIBDEF(unsigned char, wtpId, , CAPWAP_CFG_WTP_ID, BYTE_T, CAPWAP_WTP_CONFIG_T, 0, 0) -MIBDEF(unsigned char, radioNum, , CAPWAP_CFG_RADIO_NUM, BYTE_T, CAPWAP_WTP_CONFIG_T, 0, 0) -MIBDEF(unsigned char, wlanNum, , CAPWAP_CFG_WLAN_NUM, BYTE_T, CAPWAP_WTP_CONFIG_T, 0, 0) -MIBDEF(unsigned char, powerScale, [MAX_CAPWAP_RADIO_NUM], CAPWAP_CFG_RFPOWER_SCALE, BYTE_ARRAY_T, CAPWAP_WTP_CONFIG_T, 0, 0) -MIBDEF(unsigned char, channel, [MAX_CAPWAP_RADIO_NUM], CAPWAP_CFG_CHANNEL, BYTE_ARRAY_T, CAPWAP_WTP_CONFIG_T, 0, 0) -MIBDEF(CAPWAP_WLAN_CONFIG_T, wlanConfig, [MAX_CAPWAP_RADIO_NUM][MAX_CAPWAP_WLAN_NUM], CAPWAP_CFG_WLAN, CAPWAP_ALL_WLANS_CONFIG_T, CAPWAP_WTP_CONFIG_T, 0, 0) -#endif //#ifdef MIB_CAPWAP_WTP_CONFIG_IMPORT - diff --git a/feeds/rtkmipsel/rtk_app/src/mibhw.c b/feeds/rtkmipsel/rtk_app/src/mibhw.c deleted file mode 100755 index dee53bc7d..000000000 --- a/feeds/rtkmipsel/rtk_app/src/mibhw.c +++ /dev/null @@ -1,1028 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "mibtbl.h" -#include "apmib.h" -#ifndef _DEBUG_ -#include -#else -#define syslog(x,fmt,args...) printf(fmt,## args) -#endif - -#define PIN_LEN 8 -#define HW_WLAN_SETTING_OFFSET 13 - -#define SIGNATURE_LEN 4 - -/* Config file header */ -#if 0 -#ifdef RTK_HW_OFFSET -#define HW_SETTING_OFFSET RTK_HW_OFFSET -#else -#define HW_SETTING_OFFSET 0x6000 -#endif -#endif - -typedef enum { - MIB_READ = 1, - MIB_WRITE, - MIB_SHOW, - MIB_DEFAULT -} FLASH_OP_T; - -static unsigned int hw_setting_off=0x6000; - -static void read_hw_setting_offset(void) -{ - FILE *hwpart_proc; - hwpart_proc = fopen ( "/proc/flash/hwpart", "r" ); - if ( hwpart_proc != NULL ) - { - char buf[16]; - - fgets(buf, sizeof(buf), hwpart_proc); /* eat line */ - sscanf(buf, "%x",&hw_setting_off); -#ifndef CONFIG_MTD_NAND - if(hw_setting_off == 0) - hw_setting_off = HW_SETTING_OFFSET; -#endif - fclose(hwpart_proc); - //printf("read_hw_setting_offset = %x \n",hw_setting_off); - } -} - -static int flash_read(char *buf, int offset, int len) -{ - int fh; - int ok=1; -#ifdef CONFIG_MTD_NAND - fh = open(FLASH_DEVICE_NAME, O_RDWR|O_CREAT); -#else - fh = open(FLASH_DEVICE_NAME, O_RDWR); -#endif - if ( fh == -1 ) - { - printf("open file error\n"); - return 0; - } - - lseek(fh, offset, SEEK_SET); - - if ( read(fh, buf, len) != len) - ok = 0; - - close(fh); - - return ok; -} - -static int flash_write(char *buf, int offset, int len) -{ - int fh; - int ok=1; - -#ifdef CONFIG_MTD_NAND - fh = open(FLASH_DEVICE_NAME, O_RDWR|O_CREAT); -#else - fh = open(FLASH_DEVICE_NAME, O_RDWR); -#endif - - if ( fh == -1 ) - return 0; - - lseek(fh, offset, SEEK_SET); - - if ( write(fh, buf, len) != len) - ok = 0; - - close(fh); - sync(); - - return ok; -} - -static int reset_hw_setting(void) -{ - PARAM_HEADER_Tp header; - unsigned char *buf = NULL, checksum;; - - buf = calloc(1, sizeof(PARAM_HEADER_T)+sizeof(HW_SETTING_T)); - - if(buf) { - //printf("Flash offset:%lx, Write with Tag:%s\n",hw_setting_off,HW_SETTING_HEADER_TAG); - header = (PARAM_HEADER_Tp)buf; - sprintf((char *)header->signature, "%s%02d", HW_SETTING_HEADER_TAG, HW_SETTING_VER); - header->len = sizeof(HW_SETTING_T); - - flash_write(buf, hw_setting_off, header->len+sizeof(PARAM_HEADER_T)); - printf("Reset HW settings done\n"); - free(buf); - } else { - printf("Allocate memory for reset HW settings failed\n"); - } - - return 0; -} - -static int load_hw_setting(char *buf) -{ - PARAM_HEADER_T header; - - if(flash_read(&header,hw_setting_off,sizeof(PARAM_HEADER_T))==0){ - printf("Read wlan hw setting header failed\n"); - return -1; - } - //printf("Tag:%s, match with %s; Length:%d\n",header.signature,HW_SETTING_HEADER_TAG,header.len); - if(memcmp(header.signature, HW_SETTING_HEADER_TAG, TAG_LEN)){ - printf("Invild wlan hw setting signature!\n"); - return -1; - } - if(flash_read(buf,hw_setting_off+sizeof(PARAM_HEADER_T),header.len)==0){ - printf("Read wlan hw setting to memory failed\n"); - - return -1; - } - return 0; - -} - -static int read_hw_setting_length() -{ - PARAM_HEADER_T header; - int len, reason=0; - unsigned short target_signature[SIGNATURE_LEN+1]; - - if(flash_read(&header,hw_setting_off,sizeof(PARAM_HEADER_T))==0){ - printf("Read wlan hw setting header failed\n"); - return -1; - } - - sprintf(target_signature,"%s%02d",HW_SETTING_HEADER_TAG,HW_SETTING_VER); - if((reason = memcmp(header.signature, target_signature, SIGNATURE_LEN)) || - (reason = ((header.len < sizeof(HW_SETTING_T))? 2:0)) ) { - printf("Invild wlan hw setting signature %s, reset!\n",header.signature); - printf("Reset reason: %s\n", (reason==2)? "Length is too short!":"Signature mismatch!"); - reset_hw_setting(); - flash_read(&header,hw_setting_off,sizeof(PARAM_HEADER_T)); - } - - len = header.len; - return len; - -} - -static int hex_to_string(unsigned char *hex,char *str,int len) -{ - int i; - char *d,*s; - const static char hexdig[] = "0123456789abcdef"; - if(hex == NULL||str == NULL) - return -1; - d = str; - s = hex; - - for(i = 0;i < len;i++,s++){ - *d++ = hexdig[(*s >> 4) & 0xf]; - *d++ = hexdig[*s & 0xf]; - } - *d = 0; - return 0; -} - -static int _is_hex(char c) -{ - return (((c >= '0') && (c <= '9')) || - ((c >= 'A') && (c <= 'F')) || - ((c >= 'a') && (c <= 'f'))); -} - -static int string_to_hex(char *string, unsigned char *key, int len) -{ - char tmpBuf[4]; - int idx, ii=0; - for (idx=0; idxwlan[wlan_index]); - pTbl = hwmib_wlan_table; - } else { - printf("HW MIB index:%d not found\n",id); - return 0; - } - - switch (pTbl[i].type) { - case BYTE_T: -// *((int *)value) =(int)(*((unsigned char *)(((long)pMibTbl) + pTbl[i].offset))); - memcpy((char *)&ch, ((char *)pMibTbl) + pTbl[i].offset, 1); - *((int *)value) = (int)ch; - break; - - case BYTE6_T: - memcpy( (unsigned char *)value, (unsigned char *)(((long)pMibTbl) + pTbl[i].offset), 6); - break; - - case BYTE_ARRAY_T: - memcpy( (unsigned char *)value, (unsigned char *)(((long)pMibTbl) + pTbl[i].offset), pTbl[i].size); - break; - - case STRING_T: - strcpy( (char *)value, (const char *)(((long)pMibTbl) + pTbl[i].offset) ); - break; - - default: - break; - } - - return 1; -} - -static void getMIB(unsigned char *mibBuf, char *name, int id, TYPE_T type, int num, int array_separate, char **val, unsigned char wlan_idx) -{ - unsigned char array_val[2048]; - void *value; - unsigned char tmpBuf[2048]={0}, *format=NULL, *buf, tmp1[400]; - int int_val, i; - int index=1, tbl=0; - char mibName[100]={0}; - - if (num ==0) - goto ret; - - strcat(mibName, name); - -getval: - buf = &tmpBuf[strlen((char *)tmpBuf)]; - switch (type) { - case BYTE_T: - value = (void *)&int_val; - format = (unsigned char *)DEC_FORMAT; - break; - case BYTE6_T: - value = (void *)array_val; - format = (unsigned char *)BYTE6_FORMAT; - break; - case STRING_T: - value = (void *)array_val; - format = (unsigned char *)STR_FORMAT; - break; - case BYTE_ARRAY_T: - value = (void *)array_val; - break; - default: - printf("invalid mib!\n"); return; - } - - if ( !hwmib_get(id, value, mibBuf, wlan_idx)) { - printf("Get MIB failed!\n"); - return; - } - - if (type == BYTE_T || type == WORD_T) - sprintf((char *)buf, (char *)format, int_val); - else if ( type == STRING_T ) { - sprintf((char *)buf, (char *)format, value); - - if (type == STRING_T ) { - unsigned char tmpBuf1[1024]; - int srcIdx, dstIdx; - for (srcIdx=0, dstIdx=0; buf[srcIdx]; srcIdx++, dstIdx++) { - if ( buf[srcIdx] == '"' || buf[srcIdx] == '\\' || buf[srcIdx] == '$' || buf[srcIdx] == '`' || buf[srcIdx] == ' ' ) - tmpBuf1[dstIdx++] = '\\'; - - tmpBuf1[dstIdx] = buf[srcIdx]; - } - if (dstIdx != srcIdx) { - memcpy(buf, tmpBuf1, dstIdx); - buf[dstIdx] ='\0'; - } - } - } - else if (type == BYTE6_T ) { - sprintf((char *)buf, (char *)format, array_val[0],array_val[1],array_val[2], - array_val[3],array_val[4],array_val[5],array_val[6]); - convert_lower((char *)buf); - } - else if(type == BYTE_ARRAY_T ) { - int max_chan_num=MAX_2G_CHANNEL_NUM_MIB; - int chan; - - if((id >= MIB_HW_TX_POWER_CCK_A && id <=MIB_HW_TX_POWER_DIFF_OFDM) -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - ||(id >= MIB_HW_TX_POWER_CCK_C && id <=MIB_HW_TX_POWER_CCK_D) - ||(id >= MIB_HW_TX_POWER_HT40_1S_C && id <=MIB_HW_TX_POWER_HT40_1S_D) -#endif - ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - else if((id >= MIB_HW_TX_POWER_5G_HT40_1S_A && id <=MIB_HW_TX_POWER_DIFF_5G_OFDM) -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - ||(id >= MIB_HW_TX_POWER_5G_HT40_1S_C && id <=MIB_HW_TX_POWER_5G_HT40_1S_D) -#endif - ) - max_chan_num = MAX_5G_CHANNEL_NUM_MIB; - else if(id == MIB_L2TP_PAYLOAD) - max_chan_num = MAX_L2TP_BUFF_LEN; - -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - if(((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_A) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_A)) - || ((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_B) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_B)) ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - - if(((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_A) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_A)) - || ((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_B) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_B)) ) - max_chan_num = MAX_5G_DIFF_NUM; -#endif - -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - if(((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_C) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_C)) - || ((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_D) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_D)) ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - - if(((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_C) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_C)) - || ((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_D) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_D)) ) - max_chan_num = MAX_5G_DIFF_NUM; -#endif - - - if(val == NULL || val[0] == NULL){ - for(i=0;i< max_chan_num;i++){ - sprintf((char *)tmp1, "%02x", array_val[i]); - strcat((char *)buf, (char *)tmp1); - } - convert_lower((char *)buf); - } - else{ - chan = atoi(val[0]); - if(chan < 1 || chan > max_chan_num){ - printf("invalid channel number\n"); - return; - } - sprintf((char *)buf, "%d", *(((unsigned char *)value)+chan-1) ); - } - } - - if (--num > 0) { - if (!array_separate) - strcat((char *)tmpBuf, " "); - else { - if (tbl){ - if(type == STRING_T) - printf("%s%d=\"%s\"\n", mibName, index-1, tmpBuf); - else - printf("%s%d=%s\n", mibName, index-1, tmpBuf); - } - else{ - if(type == STRING_T) - printf("%s=\"%s\"\n", mibName, tmpBuf); - else - printf("%s=%s\n", mibName, tmpBuf); - } - tmpBuf[0] = '\0'; - } - goto getval; - } -ret: - if (tbl) { - if(type == STRING_T) - printf("%s%d=\"%s\"\n", mibName, index-1, tmpBuf); - else - printf("%s%d=%s\n", mibName, index-1, tmpBuf); - } - else{ - if(type == STRING_T) - printf("%s=\"%s\"\n", mibName, tmpBuf); - else - printf("%s=%s\n", mibName, tmpBuf); - } -} - -static void dumpAllHW(unsigned char *buf) -{ - int idx=0, num, wlan_idx=0; - mib_table_entry_T *pTbl=NULL; - config_area=0; - -next_tbl: - if (++config_area > HW_MIB_WLAN_AREA) - return; - if (config_area == HW_MIB_AREA) - pTbl = hwmib_table; - else if (config_area == HW_MIB_WLAN_AREA) - pTbl = hwmib_wlan_table; - -next_wlan: - while (pTbl[idx].id) { - num = 1; - if (num >0) { -#ifdef MIB_TLV - if(pTbl[idx].type == TABLE_LIST_T) // ignore table root entry. keith - { - idx++; - continue; - } -#endif // #ifdef MIB_TLV - if ( config_area == HW_MIB_AREA || config_area == HW_MIB_WLAN_AREA) - { - printf("HW_"); - if (config_area == HW_MIB_WLAN_AREA) { - printf("WLAN%d_", wlan_idx); - } - } - getMIB(buf, pTbl[idx].name, pTbl[idx].id, pTbl[idx].type, num, 1 , NULL, wlan_idx); - } - idx++; - } - idx = 0; - - if (config_area == HW_MIB_WLAN_AREA ) { - if (++wlan_idx < NUM_WLAN_INTERFACE) - goto next_wlan; - else - wlan_idx = 0; - } - goto next_tbl; -} - -int hwmib_set(int id, void *value, unsigned char *mibBuf, unsigned char wlan_idx) -{ - int i, ret=1; - void *pMibTbl; - mib_table_entry_T *pTbl; - unsigned char ch; - unsigned short wd; - unsigned long dwd; - unsigned char* tmp; - int max_chan_num=MAX_2G_CHANNEL_NUM_MIB; -#ifdef MIB_TLV - //unsigned int offset=0; - unsigned int mib_num_id=0; - unsigned int num; - unsigned int id_orig; - #if defined(MIB_MOD_TBL_ENTRY) - unsigned int mod_tbl=0; - #endif -#endif - - if ( search_tbl(id, hwmib_table, &i) ) { - pMibTbl = (void *)mibBuf; - pTbl = hwmib_table; - } - else if ( search_tbl(id, hwmib_wlan_table, &i) ) { - pMibTbl = (void *)&(((HW_SETTING_Tp)mibBuf)->wlan[wlan_idx]); - pTbl = hwmib_wlan_table; - } - else { - printf("id not found\n"); - ret=0; - goto hwmib_set_errorout; - } - - switch (pTbl[i].type) { - case BYTE_T: -// *((unsigned char *)(((long)pMibTbl) + pTbl[i].offset)) = (unsigned char)(*((int *)value)); - ch = (unsigned char)(*((int *)value)); - memcpy( ((char *)pMibTbl) + pTbl[i].offset, &ch, 1); - break; - - case STRING_T: - if ( strlen(value)+1 > pTbl[i].size ) - { - return 0; - } - if (value==NULL || strlen(value)==0) - *((char *)(((long)pMibTbl) + pTbl[i].offset)) = '\0'; - else - strcpy((char *)(((long)pMibTbl) + pTbl[i].offset), (char *)value); - break; - - case BYTE6_T: - memcpy((unsigned char *)(((long)pMibTbl) + pTbl[i].offset), (unsigned char *)value, 6); - break; - - case BYTE_ARRAY_T: - tmp = (unsigned char *) value; - - { - if((id >= MIB_HW_TX_POWER_CCK_A && id <=MIB_HW_TX_POWER_DIFF_OFDM) -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - ||(id >= MIB_HW_TX_POWER_CCK_C && id <=MIB_HW_TX_POWER_CCK_D) - ||(id >= MIB_HW_TX_POWER_HT40_1S_C && id <=MIB_HW_TX_POWER_HT40_1S_D) -#endif - ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - else if((id >= MIB_HW_TX_POWER_5G_HT40_1S_A && id <=MIB_HW_TX_POWER_DIFF_5G_OFDM) -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - ||(id >= MIB_HW_TX_POWER_5G_HT40_1S_C && id <=MIB_HW_TX_POWER_5G_HT40_1S_D) -#endif - ) - max_chan_num = MAX_5G_CHANNEL_NUM_MIB; - -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - if(((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_A) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_A)) - || ((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_B) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_B)) ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - - if(((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_A) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_A)) - || ((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_B) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_B)) ) - max_chan_num = MAX_5G_DIFF_NUM; -#endif - - if(tmp[0]==2){ - if(tmp[3] == 0xff){ // set one channel value - memcpy((unsigned char *)(((long)pMibTbl) + pTbl[i].offset + (long)tmp[1] -1), (unsigned char *)(tmp+2), 1); - } - }else{ - memcpy((unsigned char *)(((long)pMibTbl) + pTbl[i].offset), (unsigned char *)(value+1), max_chan_num); - } - } - break; - - default: - break; - } - -hwmib_set_errorout: - return ret; -} - -int hwmib_update(unsigned char *buf) -{ - int i, len; -#ifndef MIB_TLV - int j, k; -#endif - unsigned char checksum; - unsigned char *data; - PARAM_HEADER_T header; -#ifdef MIB_TLV - unsigned char *pfile = NULL; - unsigned char *mib_tlv_data = NULL; - unsigned int tlv_content_len = 0; - unsigned int mib_tlv_max_len = 0; -#endif - - int write_hw_tlv = 0; - // always Write HW setting uncompressed - // if(compress_hw_setting == 0) - // write_hw_tlv = 0; - if(flash_read(&header,hw_setting_off,sizeof(PARAM_HEADER_T))==0){ - printf("Read wlan hw setting header failed\n"); - return -1; - } - len=header.len; - - if ( flash_write((char *)buf, hw_setting_off+sizeof(header), header.len)==0 ) { - printf("write hs MIB failed!\n"); -#if CONFIG_APMIB_SHARED_MEMORY == 1 - apmib_sem_unlock(); -#endif -#ifdef MIB_TLV - if(write_hw_tlv) { - - if(mib_tlv_data) - free(mib_tlv_data); - - if(pfile) - free(pfile); - } -#endif - return 0; - } - -#ifdef MIB_TLV - if(mib_tlv_data) - free(mib_tlv_data); - if(pfile) - free(pfile); -#endif - - return 1; -} - - -static void setMIB(unsigned char *mibBuf, char *name, int id, TYPE_T type, int len, int valNum, char **val, unsigned char wlan_idx) -{ - unsigned char key[200]; - void *value=NULL; - int int_val, i; - int entryNum; - int max_chan_num=0, tx_power_cnt=0; - - switch (type) { - case BYTE_T: - int_val = atoi(val[0]); - value = (void *)&int_val; - break; - - case BYTE6_T: - if ( strlen(val[0])!=12 || !string_to_hex(val[0], key, 12)) { - printf("invalid value!\n"); - return; - } - value = (void *)key; - break; - - case BYTE_ARRAY_T: - if(!(id >= MIB_HW_TX_POWER_CCK_A && id <=MIB_HW_TX_POWER_DIFF_OFDM) && - !(id >= MIB_HW_TX_POWER_5G_HT40_1S_A && id <=MIB_HW_TX_POWER_DIFF_5G_OFDM) -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - && !(id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_A && id <=MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_B) -#endif -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - && !(id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_C && id <=MIB_HW_TX_POWER_5G_HT40_1S_D) -#endif - ){ - printf("invalid mib!\n"); - return; - } - - if((id >= MIB_HW_TX_POWER_CCK_A && id <=MIB_HW_TX_POWER_DIFF_OFDM) -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - ||(id >= MIB_HW_TX_POWER_CCK_C && id <=MIB_HW_TX_POWER_CCK_D) - ||(id >= MIB_HW_TX_POWER_HT40_1S_C && id <=MIB_HW_TX_POWER_HT40_1S_D) -#endif - ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - else if((id >= MIB_HW_TX_POWER_5G_HT40_1S_A && id <=MIB_HW_TX_POWER_DIFF_5G_OFDM) -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - ||(id >= MIB_HW_TX_POWER_5G_HT40_1S_C && id <=MIB_HW_TX_POWER_5G_HT40_1S_D) -#endif - ) - max_chan_num = MAX_5G_CHANNEL_NUM_MIB; - -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - if(((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_A) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_A)) - || ((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_B) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_B)) ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - - if(((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_A) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_A)) - || ((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_B) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_B)) ) - max_chan_num = MAX_5G_DIFF_NUM; -#endif - -#if defined(CONFIG_WLAN_HAL_8814AE) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - if(((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_C) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_C)) - || ((id >= MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_D) && (id <= MIB_HW_TX_POWER_DIFF_OFDM4T_CCK4T_D)) ) - max_chan_num = MAX_2G_CHANNEL_NUM_MIB; - - if(((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_C) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_C)) - || ((id >= MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_D) && (id <= MIB_HW_TX_POWER_DIFF_5G_80BW4S_160BW4S_D)) ) - max_chan_num = MAX_5G_DIFF_NUM; -#endif - - for (i=0; i max_chan_num){ - if((key[1]<1) || ((id >= MIB_HW_TX_POWER_CCK_A && id <=MIB_HW_TX_POWER_DIFF_OFDM)) || - ((id >= MIB_HW_TX_POWER_5G_HT40_1S_A && id <=MIB_HW_TX_POWER_DIFF_5G_OFDM) && (key[1]>216))){ - printf("invalid channel number\n"); - return; - } - } - key[3] = 0xff ; - } - key[0] = tx_power_cnt; - value = (void *)key; - break; - - case STRING_T: - if ( strlen(val[0]) > len) { - printf("string value too long!\n"); - return; - } - value = (void *)val[0]; - break; - default: - printf("invalid mib!\n"); - return; - } - - if ( !hwmib_set(id, value, mibBuf, wlan_idx)) - printf("set MIB failed!\n"); - //printf("setMIB end...\n"); - hwmib_update(mibBuf); -} - -static int searchMIB(char *token, unsigned int *wlan_idx) -{ - int idx = 0; - char tmpBuf[100]; - int desired_config=0; - - if (!memcmp(token, "HW_", 3)) { - config_area = HW_MIB_AREA; - if (!memcmp(&token[3], "WLAN", 4) && token[8] == '_') { - *wlan_idx = token[7] - '0'; - if (*wlan_idx >= NUM_WLAN_INTERFACE) { - printf("WLAN%d is not supported\n",*wlan_idx); - return -1; - } - strcpy(tmpBuf, &token[9]); - desired_config = config_area+1; - } - else - strcpy(tmpBuf, &token[3]); - } else { - printf("Invalid HW MIB name:%s\n",token); - return -1; - } - - while (hwmib_table[idx].id) { - if ( !strcmp(hwmib_table[idx].name, tmpBuf)) { - if (desired_config && config_area != desired_config) - return -1; - return idx; - } - idx++; - } - idx=0; - while (hwmib_wlan_table[idx].id) { - if ( !strcmp(hwmib_wlan_table[idx].name, tmpBuf)) { - config_area++; - if (desired_config && config_area != desired_config) - return -1; - return idx; - } - idx++; - } - return -1; -} - -int main(int argc, char *argv[]) -{ - PARAM_HEADER_T header; - unsigned int mibIdx=0, valNum=0; - char *buf = NULL, mib[100]={0}, valueArray[170][100], *value[170], *ptr; - int hw_len = 0, action=0, argNum=1, wlan_idx=0; - HW_WLAN_SETTING_Tp phw; - - read_hw_setting_offset(); //mark_hw - - argNum=1; - if ( argc > 1 ) { - if ( !strcmp(argv[argNum], "sethw") || !strcmp(argv[argNum], "set") ) { - action = MIB_WRITE; - if (++argNum < argc) { - if (argc > 4 && !memcmp(argv[argNum], "wlan", 4)) { - wlan_idx = atoi(&argv[argNum++][4]); - if (wlan_idx >= NUM_WLAN_INTERFACE) { - printf("invalid wlan interface index number!\n"); - return 0; - } - } - sscanf(argv[argNum], "%s", mib); - while (++argNum < argc) { - sscanf(argv[argNum], "%s", valueArray[valNum]); - value[valNum] = valueArray[valNum]; - valNum++; - } - value[valNum]= NULL; - } - } else if ( !strcmp(argv[argNum], "gethw") || !strcmp(argv[argNum], "get") ) { - action = MIB_READ; - if (++argNum < argc) { - if (argc > 3 && !memcmp(argv[argNum], "wlan", 4)) { - wlan_idx = atoi(&argv[argNum++][4]); - if (wlan_idx >= NUM_WLAN_INTERFACE) { - printf("invalid wlan interface index number!\n"); - return 0; - } - } - sscanf(argv[argNum], "%s", mib); - while (++argNum < argc) { - sscanf(argv[argNum], "%s", valueArray[valNum]); - value[valNum] = valueArray[valNum]; - valNum++; - } - value[valNum]= NULL; - } - } else if ( !strcmp(argv[argNum], "allhw") ) { - action = MIB_SHOW; - } else if ( !strcmp(argv[argNum], "resethw") || !strcmp(argv[argNum], "reset") ) { - action = MIB_DEFAULT; - } - } - - if(action < MIB_DEFAULT) { - hw_len = read_hw_setting_length(); -#if 0 - if(hw_len < NUM_WLAN_INTERFACE*sizeof(HW_WLAN_SETTING_T)+HW_WLAN_SETTING_OFFSET){ - printf("Wlan HW setting length invalid!\n"); - return -1; - } -#endif - if(hw_len > 0) { - buf = malloc(hw_len); - if(!buf){ - printf("Can't allocate memory for loading wlan HW setting!\n"); - return -1; - } - - if(load_hw_setting(buf) < 0) { - free(buf); - return -1; - } - - switch(action) { - case MIB_SHOW: - dumpAllHW(buf); - break; - case MIB_WRITE: - { - unsigned int mibIdx=0; - mib_table_entry_T *pTbl=NULL; - - mibIdx = searchMIB(mib, &wlan_idx); - - if ( mibIdx == -1 ) { - //showHelp(); - //showAllMibName(); - printf("MIB not found!\n"); - goto error_return; - } - - if ( valNum < 1) { - //showHelp(); - printf("Invalid input value!\n"); - goto error_return; - } - - if (config_area == HW_MIB_AREA) - pTbl = hwmib_table; - else if (config_area == HW_MIB_WLAN_AREA) - pTbl = hwmib_wlan_table; - else { - printf("Unknown HW setting area!\n"); - goto error_return; - } - setMIB(buf, mib, pTbl[mibIdx].id, pTbl[mibIdx].type, pTbl[mibIdx].size, valNum, value, wlan_idx); - break; - } - case MIB_READ: - { - unsigned int mibIdx=0, num=1; - mib_table_entry_T *pTbl=NULL; - - mibIdx = searchMIB(mib,&wlan_idx); - if ( mibIdx == -1 ) { - //showHelp(); - //showAllMibName(); - printf("MIB not found!\n"); - return -1; - } - - if (config_area == HW_MIB_AREA) - pTbl = hwmib_table; - else if (config_area == HW_MIB_WLAN_AREA) - pTbl = hwmib_wlan_table; - else { - printf("Unknown HW setting area!\n"); - goto error_return; - } - - getMIB(buf, mib, pTbl[mibIdx].id, pTbl[mibIdx].type, num, 1 ,value, wlan_idx); - break; - } - default: - printf("Unknown MIB operation!\n"); - break; - } - - free(buf); - } else { - printf("Unknown HW settings header!\n"); - } - } else { - reset_hw_setting(); - } - -error_return: - return 0; -} - diff --git a/feeds/rtkmipsel/rtk_app/src/mibtbl.h b/feeds/rtkmipsel/rtk_app/src/mibtbl.h deleted file mode 100755 index 7a222bce4..000000000 --- a/feeds/rtkmipsel/rtk_app/src/mibtbl.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Include file of mibtbl.c - * - * Authors: David Hsu - * - * $Id: mibtbl.h,v 1.9 2009/07/30 11:32:12 keith_huang Exp $ - * - */ - -#ifndef INCLUDE_MIBTBL_H -#define INCLUDE_MIBTBL_H - -#include "apmib.h" - -#ifdef WIN32 -#ifdef FIELD_OFFSET -#undef FIELD_OFFSET -#endif -#endif - -#define FIELD_OFFSET(type, field) ((unsigned long)(long *)&(((type *)0)->field)) -#define FIELD_SIZE(type, field) sizeof(((type *)0)->field) - -#define _OFFSET(field) ((int)FIELD_OFFSET(APMIB_T,field)) -#define _SIZE(field) sizeof(((APMIB_T *)0)->field) -#define _OFFSET_WLAN(field) ((int)FIELD_OFFSET(CONFIG_WLAN_SETTING_T,field)) -#define _SIZE_WLAN(field) sizeof(((CONFIG_WLAN_SETTING_T *)0)->field) - -#define _OFFSET_HW(field) ((int)FIELD_OFFSET(HW_SETTING_T,field)) -#define _SIZE_HW(field) sizeof(((HW_SETTING_T *)0)->field) -#define _OFFSET_HW_WLAN(field) ((int)FIELD_OFFSET(HW_WLAN_SETTING_T,field)) -#define _SIZE_HW_WLAN(field) sizeof(((HW_WLAN_SETTING_T *)0)->field) - -#ifdef MIB_TLV -#define _TOTAL_SIZE(type, field) sizeof(((type *)0)->field) -#define _UNIT_SIZE(field) sizeof(field) - -#define _MIBHWID_NAME(name) MIB_HW_##name, #name -#define _MIBID_NAME(name) MIB_##name, #name -#define _MIBWLANID_NAME(name) MIB_WLAN_##name, #name - -#define _OFFSET_SIZE_FIELD(type, field) \ - FIELD_OFFSET(type, field), \ - FIELD_SIZE(type, field), \ - _TOTAL_SIZE(type, field) -#endif //#ifdef MIB_TLV - -// MIB value, id mapping table -typedef struct _mib_table_entry mib_table_entry_T; -struct _mib_table_entry { - int id; -#if defined(CONFIG_RTL_8812_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - char name[40]; -#else - char name[32]; -#endif - TYPE_T type; - int offset; - int size; -#ifdef MIB_TLV - unsigned short total_size; - unsigned short unit_size; - const unsigned char *default_value; - mib_table_entry_T * next_mib_table; -#endif //#ifdef MIB_TLV -}; - -extern mib_table_entry_T mib_table[], mib_wlan_table[], hwmib_table[], hwmib_wlan_table[]; - -#endif // INCLUDE_MIBTBL_H diff --git a/feeds/rtkmipsel/rtk_app/src/packet_capture.c b/feeds/rtkmipsel/rtk_app/src/packet_capture.c deleted file mode 100644 index 1f7849ffc..000000000 --- a/feeds/rtkmipsel/rtk_app/src/packet_capture.c +++ /dev/null @@ -1,185 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "pcap/pcap.h" - - -/*************************************** - Global Variable -***************************************/ - -#define PCAP_DEBUG -#ifdef PCAP_DEBUG -#define pcap_printf(fmt,...) do{printf("PCAP: ");printf(fmt,##__VA_ARGS__);}while(0) -#else -#define pcap_printf(fmt,...) -#endif - -struct rtl_wifi_header{ - unsigned char frame_type; // Frame type - unsigned char sub_frame_type; //mac subframe type => BEACON_FRAME 0x80, PROBE_RESP 0x50 - unsigned char rssi; //rssi. - unsigned char wi_add1[6]; //DA mac addr - unsigned char wi_add2[6]; //SA mac addr - unsigned char data_rate; //rx rate - unsigned char channel_num; //present channel num -}__attribute__((packed)); - -#define ASSOCIATION_REQUEST 0x00 -#define ASSOCIATION_RESPONSE 0x10 -#define REASSICIATION_REQUEST 0x20 -#define REASSICIATION_RESPONSE 0x30 -#define PROBE_REQUEST 0x40 -#define PROBE_RESPONSE 0x50 -#define BEACON_FRAME 0x80 -#define DIASSOCIATION 0xA0 -#define AUTHENTICAION 0xB0 -#define DEAUTHENTICAION 0xc0 - -#define MANAGEMENT_FRAME 0x00 -#define DATA_FRAME 0x08 - -pcap_t *descr = NULL; -/*************************************** - Function -***************************************/ - -void macSubFrameType(struct rtl_wifi_header *rh) -{ - //printf("rh->sub_frame_type = %x\n", rh->sub_frame_type); - switch(rh->sub_frame_type) - { - case ASSOCIATION_REQUEST: - pcap_printf("SubType: ASSOCIATION_REQUEST\n"); - break; - case ASSOCIATION_RESPONSE: - pcap_printf("SubType: ASSOCIATION_RESPONSE\n"); - break; - case REASSICIATION_REQUEST: - pcap_printf("SubType: REASSICIATION_REQUEST\n"); - break; - case REASSICIATION_RESPONSE: - pcap_printf("SubType: REASSICIATION_RESPONSE\n"); - break; - case PROBE_REQUEST: - pcap_printf("SubType: PROBE_REQUEST\n"); - break; - case PROBE_RESPONSE: - pcap_printf("SubType: PROBE_RESPONSE\n"); - break; - case BEACON_FRAME : - pcap_printf("SubType: BEACON \n"); - pcap_printf("Present Channel Num: %u \n", rh->channel_num); - break; - case DIASSOCIATION: - pcap_printf("SubType: DIASSOCIATION\n"); - break; - case AUTHENTICAION: - pcap_printf("SubType: AUTHENTICAION\n"); - break; - case DEAUTHENTICAION: - pcap_printf("SubType: DEAUTHENTICAION\n"); - break; - default: - pcap_printf("Unknown Subtype\n"); - break; - } -} - -void macFrameType(struct rtl_wifi_header *rh) -{ - //printf("rh->frame_type = %x\n", rh->frame_type); - switch(rh->frame_type) - { - case MANAGEMENT_FRAME: - pcap_printf("FrameType: Management Frame\n"); - macSubFrameType(rh); - break; - case DATA_FRAME: - pcap_printf("FrameType: Data Frame\n"); - pcap_printf("SubType: none\n"); - break; - default: - pcap_printf("Unknown Frametype\n"); - break; - } -} - -void processPacket(u_char *argu, const struct pcap_pkthdr* pkthdr, const u_char* packet) -{ - struct rtl_wifi_header *rh = (struct rtl_wifi_header* )packet; - char mac[32] = {0}; - static int count = 0; - - pcap_printf("Packet Count: %d\n", ++count); - macFrameType(rh); - pcap_printf("RX Data Rate: %d bps\n", rh->data_rate); - pcap_printf("RSSI: %d dBm\n", (-100)+rh->rssi); - - sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X", - (unsigned char)rh->wi_add1[0], - (unsigned char)rh->wi_add1[1], - (unsigned char)rh->wi_add1[2], - (unsigned char)rh->wi_add1[3], - (unsigned char)rh->wi_add1[4], - (unsigned char)rh->wi_add1[5]); - pcap_printf("DA: %s\n", mac); - - sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X", - (unsigned char)rh->wi_add2[0], - (unsigned char)rh->wi_add2[1], - (unsigned char)rh->wi_add2[2], - (unsigned char)rh->wi_add2[3], - (unsigned char)rh->wi_add2[4], - (unsigned char)rh->wi_add2[5]); - pcap_printf("SA: %s\n", mac); - - pcap_printf("Packet Info End:\n\n"); - return; -} - -void terminal_process(int signum) -{ - printf("Terminal Capture Process\n"); - pcap_breakloop(descr); - pcap_close(descr); - descr = NULL; -} - -int main(int argc, char **argv) -{ - char errbuf[PCAP_ERRBUF_SIZE]; - - descr = pcap_create(argv[1],errbuf); //depends on wlan interface - if (descr == NULL) - { - printf("pcap_create failed\n"); - return (1); - } - if(pcap_set_rfmon(descr,1)==0 ) - printf("monitor mode enabled\n"); - - pcap_set_snaplen(descr, 2048); - pcap_set_promisc(descr, 1); - - int status = pcap_activate(descr); - if(status < 0) - printf("WLAN status = %d\n",status); - - //int dl = pcap_datalink(descr); - //printf("The Data Link Type = %s\n", pcap_datalink_val_to_name(dl)); - - signal(SIGINT, terminal_process); - pcap_loop(descr, -1, processPacket, NULL); - return 0; -} - diff --git a/feeds/rtkmipsel/rtk_app/src/rtk_bootinfo.c b/feeds/rtkmipsel/rtk_app/src/rtk_bootinfo.c deleted file mode 100755 index 83686c069..000000000 --- a/feeds/rtkmipsel/rtk_app/src/rtk_bootinfo.c +++ /dev/null @@ -1,292 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#define TAG_LEN 4 -#define RTK_BOOTINFO_SIGN "hwbt" -#define RTK_MAX_VALID_BOOTCNT 16 - -#define BOOT_NORMAL_MODE 0 -#define BOOT_DUALIMAGE_TOGGLE_MODE 1 -#define BOOT_DEFAULT_MAXCNT 3 -/* Config file header */ - -typedef struct bootinfo_header { - unsigned char tag[TAG_LEN] ; // Tag + version - unsigned int len ; -} BOOTINFO_HEADER_T, *BOOTINFO_HEADER_Tp; - -typedef union bootinfo_data{ - unsigned int val; - struct { - unsigned char bootbank; - unsigned char bootmaxcnt; - unsigned char bootcnt; - unsigned char bootmode; - } field; -} BOOTINFO_DATA_T, *BOOTINFO_DATA_P; - -typedef struct bootinfo { - BOOTINFO_HEADER_T header; - BOOTINFO_DATA_T data; -}BOOTINFO_T, *BOOTINFO_P; - - -#define FLASH_DEVICE_NAME ("/dev/mtdblock0") - -#define BOOTBANK_TMP_FILE ("/tmp/bootbank") -#define BOOTMODE_TMP_FILE ("/tmp/bootmode") - - -#ifdef CONFIG_RTL_8198C -static unsigned int FLASH_BOOTINFO_OFFSET=0x2a000; -#else -#ifdef CONFIG_RTL_8197F //97F , is possible to use 64k erase flash , hence don't reuse 2a000 as bootinfo offset , use 30000 as new one -static unsigned int FLASH_BOOTINFO_OFFSET=0x30000; -#else //9XD/8881A/96E -static unsigned int FLASH_BOOTINFO_OFFSET=0xc000; -#endif -#endif - -static BOOTINFO_T bootinfo_ram; - -static int flash_read(char *buf, int offset, int len) -{ - int fh; - int ok=1; - - fh = open(FLASH_DEVICE_NAME, O_RDWR ); - - if ( fh == -1 ) - { - printf("open file error\n"); - return 0; - } - - lseek(fh, offset, SEEK_SET); - - if ( read(fh, buf, len) != len) - ok = 0; - - close(fh); - - return ok; -} - - -static int flash_write(char *buf, int offset, int len) -{ - int fh; - int ok=1; - - fh = open(FLASH_DEVICE_NAME, O_RDWR); - - if ( fh == -1 ) - { - printf("open file error\n"); - return 0; - } - - lseek(fh, offset, SEEK_SET); - - if ( write(fh, buf, len) != len) - ok = 0; - - close(fh); - - return ok; -} - -static int tmp_bootinfo_file_write(BOOTINFO_P bootinfo_ram_p) -{ - int fh, ok=1; - char buf[8]; - - fh = open(BOOTBANK_TMP_FILE, O_RDWR | O_CREAT); - - if ( fh == -1 ) - { - printf("open file error\n"); - return 0; - } - - sprintf(buf, "%d",bootinfo_ram_p->data.field.bootbank); - write(fh, buf, strlen(buf)+1); - close(fh); - - fh = open(BOOTMODE_TMP_FILE, O_RDWR | O_CREAT); - - if ( fh == -1 ) - { - printf("open file error\n"); - return 0; - } - - sprintf(buf, "%d",bootinfo_ram_p->data.field.bootmode); - write(fh, buf, strlen(buf)+1); - - close(fh); - return ok; -} - - -void rtk_read_bootinfo_from_flash(BOOTINFO_P bootinfo_ram_p) -{ - - unsigned int bootinfo_offset = FLASH_BOOTINFO_OFFSET; - - memset((char *)bootinfo_ram_p,0,sizeof(BOOTINFO_T)); - - //flash(spi...etc) can be read directly - //memcpy((char *)bootinfo_ram_p,(char *)bootinfo_addr,sizeof(BOOTINFO_T)); - flash_read(bootinfo_ram_p,bootinfo_offset,sizeof(BOOTINFO_T)); - -} - -void rtk_write_bootinfo_to_flash(BOOTINFO_P bootinfo_ram_p) -{ - unsigned int bootinfo_offset = FLASH_BOOTINFO_OFFSET; - - flash_write(bootinfo_ram_p,bootinfo_offset,sizeof(BOOTINFO_T)); -} - -static int read_bootinfo_offset(void) -{ - FILE *offset_proc; - - offset_proc = fopen ( "/proc/flash/bootoffset", "r" ); - - if ( offset_proc != NULL ) - { - char buf[16]; - unsigned int offset_setting_off=0; - - fgets(buf, sizeof(buf), offset_proc); /* eat line */ - sscanf(buf, "%x",&offset_setting_off); - - if(offset_setting_off == 0) - offset_setting_off = FLASH_BOOTINFO_OFFSET; - - FLASH_BOOTINFO_OFFSET = offset_setting_off; - fclose(offset_proc); - //printf("read_hw_setting_offset = %x \n",HW_SETTING_OFFSET); - } - else - return 1; //not bootinfo mode - - return 0; -} - -// bootinfo setbank 0/1 , -// bootinfo setbootcnt 0/1 , -int main(int argc, char *argv[]) -{ - char *cmd =NULL; - unsigned char val=0; - BOOTINFO_P bootinfo_ram_p=&bootinfo_ram; - - //check bootinfo proc exit and read bootoffset - if(read_bootinfo_offset()) - return 0; - - //decide command - if(argc==3) - { - cmd = argv[1]; - - if(!strcmp(cmd, "setbootcnt")) - { - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - val = (unsigned char)(atoi(argv[2])); - - bootinfo_ram_p->data.field.bootcnt = val ; - - rtk_write_bootinfo_to_flash(bootinfo_ram_p); - } - else if(!strcmp(cmd, "setbootbank")) - { - - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - val = (unsigned char)(atoi(argv[2])); - - bootinfo_ram_p->data.field.bootbank = val ; - - rtk_write_bootinfo_to_flash(bootinfo_ram_p); - - } - else if(!strcmp(cmd, "setbootmode")) - { - - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - val = (unsigned char)(atoi(argv[2])); - - bootinfo_ram_p->data.field.bootmode = val ; - - rtk_write_bootinfo_to_flash(bootinfo_ram_p); - - } - else if(!strcmp(cmd, "setbootmaxcnt")) - { - - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - val = (unsigned char)(atoi(argv[2])); - - bootinfo_ram_p->data.field.bootmaxcnt = val ; - - rtk_write_bootinfo_to_flash(bootinfo_ram_p); - - } - - } - if(argc==2) - { - cmd = argv[1]; - if(!strcmp(cmd, "update")) - { - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - tmp_bootinfo_file_write(bootinfo_ram_p); - - //optional , reset bootcnt - bootinfo_ram_p->data.field.bootcnt = 0 ; - rtk_write_bootinfo_to_flash(bootinfo_ram_p); - - } - else if(!strcmp(cmd, "getbootmode")) - { - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - printf("%d", bootinfo_ram_p->data.field.bootmode); - } - else if(!strcmp(cmd, "getbootbank")) - { - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - printf("%d", bootinfo_ram_p->data.field.bootbank); - } - else if(!strcmp(cmd, "getbootmaxcnt")) - { - //read bootinfo from mtd0 - rtk_read_bootinfo_from_flash(bootinfo_ram_p); - - printf("%d", bootinfo_ram_p->data.field.bootmaxcnt); - } - - } - -} - diff --git a/feeds/rtkmipsel/rtk_app/src/rtk_tx_calibration.c b/feeds/rtkmipsel/rtk_app/src/rtk_tx_calibration.c deleted file mode 100755 index 5eea90f0e..000000000 --- a/feeds/rtkmipsel/rtk_app/src/rtk_tx_calibration.c +++ /dev/null @@ -1,981 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef _DEBUG_ -#include -#else -#define syslog(x,fmt,args...) printf(fmt,## args) -#endif - -#define CMD_SET_ETHERNET 0x01 -#define CMD_SET_WIFI 0x02 - -#define MAX_2G_CHANNEL_NUM_MIB 14 -#define MAX_5G_CHANNEL_NUM_MIB 196 - - -#define MAX_5G_DIFF_NUM 14 - -#define PIN_LEN 8 -#ifdef HAVE_RTK_DUAL_BAND_SUPPORT -#define NUM_WLAN_INTERFACE 2 -#else -#define NUM_WLAN_INTERFACE 1 -#endif -#define HW_SETTING_HEADER_TAG ((char *)"H6") -#define HW_WLAN_SETTING_OFFSET 13 - -#define HW_SETTING_HEADER_OFFSET 6 -#define HW_SETTING_ETHMAC_OFFSET 1 -#define ETH_ALEN 6 - -#define __PACK__ __attribute__ ((packed)) - - -typedef struct hw_wlan_setting { - unsigned char macAddr[6] __PACK__; - unsigned char macAddr1[6] __PACK__; - unsigned char macAddr2[6] __PACK__; - unsigned char macAddr3[6] __PACK__; - unsigned char macAddr4[6] __PACK__; - unsigned char macAddr5[6] __PACK__; - unsigned char macAddr6[6] __PACK__; - unsigned char macAddr7[6] __PACK__; - unsigned char pwrlevelCCK_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelCCK_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelHT40_1S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelHT40_1S_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiffHT40_2S[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiffHT20[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiffOFDM[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char regDomain __PACK__; - unsigned char rfType __PACK__; - unsigned char ledType __PACK__; // LED type, see LED_TYPE_T for definition - unsigned char xCap __PACK__; - unsigned char TSSI1 __PACK__; - unsigned char TSSI2 __PACK__; - unsigned char Ther __PACK__; - unsigned char Reserved1 __PACK__; - unsigned char Reserved2 __PACK__; - unsigned char Reserved3 __PACK__; - unsigned char Reserved4 __PACK__; - unsigned char Reserved5 __PACK__; - unsigned char Reserved6 __PACK__; - unsigned char Reserved7 __PACK__; - unsigned char Reserved8 __PACK__; - unsigned char Reserved9 __PACK__; - unsigned char Reserved10 __PACK__; - unsigned char pwrlevel5GHT40_1S_A[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevel5GHT40_1S_B[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff5GHT40_2S[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff5GHT20[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff5GOFDM[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - - - unsigned char wscPin[PIN_LEN+1] __PACK__; - -#if defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - unsigned char pwrdiff_20BW1S_OFDM1T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_4OFDM3T_CCK3T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_A[MAX_5G_DIFF_NUM] __PACK__; - - - unsigned char pwrdiff_20BW1S_OFDM1T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM3T_CCK3T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_B[MAX_5G_DIFF_NUM] __PACK__; -#endif - -#if defined(HAVE_RTK_4T4R_AC_SUPPORT) - unsigned char pwrdiff_20BW1S_OFDM1T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_4OFDM3T_CCK3T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_C[MAX_5G_DIFF_NUM] __PACK__; - - unsigned char pwrdiff_20BW1S_OFDM1T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM3T_CCK3T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_D[MAX_5G_DIFF_NUM] __PACK__; - - unsigned char pwrlevelCCK_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelCCK_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelHT40_1S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelHT40_1S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevel5GHT40_1S_C[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevel5GHT40_1S_D[MAX_5G_CHANNEL_NUM_MIB] __PACK__; -#endif -} HW_WLAN_SETTING_T, *HW_WLAN_SETTING_Tp; -typedef struct hw_wlan_ac_setting{ - unsigned char pwrdiff_20BW1S_OFDM1T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_4OFDM3T_CCK3T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_A[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_A[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_A[MAX_5G_DIFF_NUM] __PACK__; - - - unsigned char pwrdiff_20BW1S_OFDM1T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM3T_CCK3T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_B[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_B[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_B[MAX_5G_DIFF_NUM] __PACK__; -#if defined(HAVE_RTK_4T4R_AC_SUPPORT) - unsigned char pwrdiff_20BW1S_OFDM1T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_4OFDM3T_CCK3T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_C[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_C[MAX_5G_DIFF_NUM] __PACK__; - - - unsigned char pwrdiff_20BW1S_OFDM1T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW2S_20BW2S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM2T_CCK2T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW3S_20BW3S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM3T_CCK3T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_40BW4S_20BW4S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrdiff_OFDM4T_CCK4T_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - - unsigned char pwrdiff_5G_20BW1S_OFDM1T_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW2S_20BW2S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW3S_20BW3S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_40BW4S_20BW4S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_RSVD_OFDM4T_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW1S_160BW1S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW2S_160BW2S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW3S_160BW3S_D[MAX_5G_DIFF_NUM] __PACK__; - unsigned char pwrdiff_5G_80BW4S_160BW4S_D[MAX_5G_DIFF_NUM] __PACK__; - - unsigned char pwrlevelCCK_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelCCK_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelHT40_1S_C[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevelHT40_1S_D[MAX_2G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevel5GHT40_1S_C[MAX_5G_CHANNEL_NUM_MIB] __PACK__; - unsigned char pwrlevel5GHT40_1S_D[MAX_5G_CHANNEL_NUM_MIB] __PACK__; -#endif -}HW_WLAN_AC_SETTING_T, *HW_WLAN_AC_SETTING_Tp; -typedef struct hw_setting { - unsigned char boardVer __PACK__; // h/w board version - unsigned char nic0Addr[6] __PACK__; - unsigned char nic1Addr[6] __PACK__; - HW_WLAN_SETTING_T wlan[NUM_WLAN_INTERFACE]; -} HW_SETTING_T, *HW_SETTING_Tp; -#define TAG_LEN 2 -#define SIGNATURE_LEN 4 -#define HW_SETTING_VER 3 // hw setting version -/* Config file header */ -typedef struct param_header { - unsigned char signature[SIGNATURE_LEN] __PACK__; // Tag + version - unsigned short len __PACK__; -} PARAM_HEADER_T, *PARAM_HEADER_Tp; - -#ifdef CONFIG_MTD_NAND -#define FLASH_DEVICE_NAME ("/hw_setting/hw.bin") -#define FLASH_DEVICE_NAME1 ("/hw_setting/hw1.bin") -#else -#define FLASH_DEVICE_NAME ("/dev/mtdblock0") -#define FLASH_DEVICE_NAME1 ("/dev/mtdblock1") -#endif -#if 0 -#ifdef RTK_HW_OFFSET -#define HW_SETTING_OFFSET RTK_HW_OFFSET -#else -#define HW_SETTING_OFFSET 0x6000 -#endif -#endif -unsigned int HW_SETTING_OFFSET = 0x6000; //mark_hw , non-8198c default hw setting - -static void read_hw_setting_offset(void) -{ - FILE *hwpart_proc; - hwpart_proc = fopen ( "/proc/flash/hwpart", "r" ); - if ( hwpart_proc != NULL ) - { - char buf[16]; - unsigned int hw_setting_off=0; - - fgets(buf, sizeof(buf), hwpart_proc); /* eat line */ - sscanf(buf, "%x",&hw_setting_off); -#ifndef CONFIG_MTD_NAND - if(hw_setting_off == 0) - hw_setting_off = HW_SETTING_OFFSET; -#endif - HW_SETTING_OFFSET = hw_setting_off; - fclose(hwpart_proc); - //printf("read_hw_setting_offset = %x \n",HW_SETTING_OFFSET); - } -} -static int flash_read(char *buf, int offset, int len) -{ - int fh; - int ok=1; - -#ifdef CONFIG_MTD_NAND - fh = open(FLASH_DEVICE_NAME, O_RDWR|O_CREAT); -#else - fh = open(FLASH_DEVICE_NAME, O_RDWR); -#endif - - if ( fh == -1 ) - { - printf("open file error\n"); - return 0; - } - - lseek(fh, offset, SEEK_SET); - - if ( read(fh, buf, len) != len) - ok = 0; - - close(fh); - - return ok; -} -static int read_hw_setting(char *buf) -{ - PARAM_HEADER_T header; - if(flash_read(&header,HW_SETTING_OFFSET,sizeof(PARAM_HEADER_T))==0){ - syslog(LOG_ERR,"Read wlan hw setting header failed\n"); - return -1; - } - if(memcmp(header.signature, HW_SETTING_HEADER_TAG, TAG_LEN)){ - syslog(LOG_ERR,"Invild wlan hw setting signature!\n"); - return -1; - } - if(flash_read(buf,HW_SETTING_OFFSET+sizeof(PARAM_HEADER_T),header.len)==0){ - syslog(LOG_ERR,"Read wlan hw setting to memory failed\n"); - - return -1; - } - return 0; - -} -static int read_hw_setting_length() -{ - PARAM_HEADER_T header; - int len; - if(flash_read(&header,HW_SETTING_OFFSET,sizeof(PARAM_HEADER_T))==0){ - syslog(LOG_ERR,"Read wlan hw setting header failed\n"); - return -1; - } - if(memcmp(header.signature, HW_SETTING_HEADER_TAG, TAG_LEN)){ - syslog(LOG_ERR,"Invild wlan hw setting signature %s!\n",header.signature); - return -1; - } - len = header.len; - return len; - -} - -static int hex_to_string(unsigned char *hex,char *str,int len) -{ - int i; - char *d,*s; - const static char hexdig[] = "0123456789abcdef"; - if(hex == NULL||str == NULL) - return -1; - d = str; - s = hex; - - for(i = 0;i < len;i++,s++){ - *d++ = hexdig[(*s >> 4) & 0xf]; - *d++ = hexdig[*s & 0xf]; - } - *d = 0; - return 0; -} -#if defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - -#define B1_G1 40 -#define B1_G2 48 - -#define B2_G1 56 -#define B2_G2 64 - -#define B3_G1 104 -#define B3_G2 112 -#define B3_G3 120 -#define B3_G4 128 -#define B3_G5 136 -#define B3_G6 144 - -#define B4_G1 153 -#define B4_G2 161 -#define B4_G3 169 -#define B4_G4 177 - -void assign_diff_AC(unsigned char* pMib, unsigned char* pVal) -{ - int x=0, y=0; - - memset((pMib+35), pVal[0], (B1_G1-35)); - memset((pMib+B1_G1), pVal[1], (B1_G2-B1_G1)); - memset((pMib+B1_G2), pVal[2], (B2_G1-B1_G2)); - memset((pMib+B2_G1), pVal[3], (B2_G2-B2_G1)); - memset((pMib+B2_G2), pVal[4], (B3_G1-B2_G2)); - memset((pMib+B3_G1), pVal[5], (B3_G2-B3_G1)); - memset((pMib+B3_G2), pVal[6], (B3_G3-B3_G2)); - memset((pMib+B3_G3), pVal[7], (B3_G4-B3_G3)); - memset((pMib+B3_G4), pVal[8], (B3_G5-B3_G4)); - memset((pMib+B3_G5), pVal[9], (B3_G6-B3_G5)); - memset((pMib+B3_G6), pVal[10], (B4_G1-B3_G6)); - memset((pMib+B4_G1), pVal[11], (B4_G2-B4_G1)); - memset((pMib+B4_G2), pVal[12], (B4_G3-B4_G2)); - memset((pMib+B4_G3), pVal[13], (B4_G4-B4_G3)); - -} -void assign_diff_AC_hex_to_string(unsigned char* pmib,char* str,int len) -{ - char mib_buf[MAX_5G_CHANNEL_NUM_MIB]; - memset(mib_buf,0,sizeof(mib_buf)); - assign_diff_AC(mib_buf, pmib); - hex_to_string(mib_buf,str,MAX_5G_CHANNEL_NUM_MIB); -} -#endif - -int set_led_type(HW_WLAN_SETTING_Tp phw) -{ - unsigned char tmpbuff[100] = {0}; -#ifdef HAVE_RTK_DUAL_BAND_SUPPORT - HW_WLAN_SETTING_Tp phw_5g = (HW_WLAN_SETTING_Tp)((unsigned char *)phw+sizeof(HW_WLAN_SETTING_T)); -#endif - - sprintf(tmpbuff,"iwpriv wlan0 set_mib led_type=%d",phw->ledType); - system(tmpbuff); - printf("%s\n",tmpbuff); -#ifdef HAVE_RTK_DUAL_BAND_SUPPORT - sprintf(tmpbuff,"iwpriv wlan1 set_mib led_type=%d",phw_5g->ledType); - system(tmpbuff); - printf("%s\n",tmpbuff); -#endif - return 0; -} - -int set_tx_calibration(HW_WLAN_SETTING_Tp phw,char* interface) -{ - char tmpbuff[1024],p[MAX_5G_CHANNEL_NUM_MIB*2+1]; - if(!phw) - return -1; - - sprintf(tmpbuff,"iwpriv %s set_mib ther=%d",interface,phw->Ther); - system(tmpbuff); - printf("%s\n",tmpbuff); - - sprintf(tmpbuff,"iwpriv %s set_mib xcap=%d",interface,phw->xCap); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrlevelCCK_A,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelCCK_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrlevelCCK_B,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelCCK_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrlevelHT40_1S_A,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelHT40_1S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrlevelHT40_1S_B,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelHT40_1S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiffHT40_2S,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiffHT40_2S=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiffHT20,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiffHT20=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiffOFDM,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiffOFDM=%s",interface,p); - system(tmpbuff); - - hex_to_string(phw->pwrlevel5GHT40_1S_A,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevel5GHT40_1S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrlevel5GHT40_1S_B,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevel5GHT40_1S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - -#if defined(HAVE_RTK_92D_SUPPORT) || defined(HAVE_RTK_AC_SUPPORT) - hex_to_string(phw->pwrdiff5GHT40_2S,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff5GHT40_2S=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiff5GHT20,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff5GHT20=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiff5GOFDM,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff5GOFDM=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); -#endif - -#if defined(HAVE_RTK_AC_SUPPORT) || defined(HAVE_RTK_4T4R_AC_SUPPORT) - hex_to_string(phw->pwrdiff_20BW1S_OFDM1T_A,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_20BW1S_OFDM1T_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiff_40BW2S_20BW2S_A,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW2S_20BW2S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_20BW1S_OFDM1T_A,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_20BW1S_OFDM1T_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW2S_20BW2S_A,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW2S_20BW2S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW1S_160BW1S_A,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW1S_160BW1S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW2S_160BW2S_A,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW2S_160BW2S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiff_20BW1S_OFDM1T_B,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_20BW1S_OFDM1T_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - hex_to_string(phw->pwrdiff_40BW2S_20BW2S_B,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW2S_20BW2S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_20BW1S_OFDM1T_B,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_20BW1S_OFDM1T_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW2S_20BW2S_B,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW2S_20BW2S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW1S_160BW1S_B,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW1S_160BW1S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW2S_160BW2S_B,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW2S_160BW2S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); -#endif - -//#if defined(CONFIG_WLAN_HAL_8814AE) -#if defined(HAVE_RTK_4T4R_AC_SUPPORT) - //3 5G - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_A, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_40BW3S_20BW3S_A, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW3S_20BW3S_A,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW3S_20BW3S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_A, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW3S_160BW3S_A, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW3S_160BW3S_A,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW3S_160BW3S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_B, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_40BW3S_20BW3S_B, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW3S_20BW3S_B,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW3S_20BW3S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_B, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW3S_160BW3S_B, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW3S_160BW3S_B,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW3S_160BW3S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_C, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_20BW1S_OFDM1T_C, (unsigned char*) buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_20BW1S_OFDM1T_C,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_20BW1S_OFDM1T_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_40BW2S_20BW2S_C, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_40BW2S_20BW2S_C, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW2S_20BW2S_C,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW2S_20BW2S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW1S_160BW1S_C, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW1S_160BW1S_C, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW1S_160BW1S_C,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW1S_160BW1S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW2S_160BW2S_C, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW2S_160BW2S_C, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW2S_160BW2S_C,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW2S_160BW2S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_C, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_40BW3S_20BW3S_C, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW3S_20BW3S_C,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW3S_20BW3S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_C, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW3S_160BW3S_C, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW3S_160BW3S_C,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW3S_160BW3S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_20BW1S_OFDM1T_D, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_20BW1S_OFDM1T_D, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_20BW1S_OFDM1T_D,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_20BW1S_OFDM1T_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_40BW2S_20BW2S_D, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_40BW2S_20BW2S_D, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW2S_20BW2S_D,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW2S_20BW2S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_40BW3S_20BW3S_D, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_40BW3S_20BW3S_D, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_40BW3S_20BW3S_D,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_40BW3S_20BW3S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW1S_160BW1S_D, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW1S_160BW1S_D, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW1S_160BW1S_D,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW1S_160BW1S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW2S_160BW2S_D, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW2S_160BW2S_D, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW2S_160BW2S_D,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW2S_160BW2S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_5G_80BW3S_160BW3S_D, (void *)buf1); - //assign_diff_AC(pmib->dot11RFEntry.pwrdiff_5G_80BW3S_160BW3S_D, (unsigned char*)buf1); - assign_diff_AC_hex_to_string(phw->pwrdiff_5G_80BW3S_160BW3S_D,p,MAX_5G_DIFF_NUM); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_5G_80BW3S_160BW3S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - //3 2G - - //apmib_get(MIB_HW_TX_POWER_HT40_1S_C, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrlevelHT40_1S_C, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrlevelHT40_1S_C,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelHT40_1S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_HT40_1S_D, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrlevelHT40_1S_D, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrlevelHT40_1S_D,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelHT40_1S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_CCK_C, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrlevelCCK_C, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrlevelCCK_C,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelCCK_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_CCK_D, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrlevelCCK_D, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrlevelCCK_D,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevelCCK_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_A, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_40BW3S_20BW3S_A, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_40BW3S_20BW3S_A,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW3S_20BW3S_A=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_B, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_40BW3S_20BW3S_B, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_40BW3S_20BW3S_B,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW3S_20BW3S_B=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_C, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_20BW1S_OFDM1T_C, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_20BW1S_OFDM1T_C,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_20BW1S_OFDM1T_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_40BW2S_20BW2S_C, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_40BW2S_20BW2S_C, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_40BW2S_20BW2S_C,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW2S_20BW2S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_C, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_40BW3S_20BW3S_C, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_40BW3S_20BW3S_C,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW3S_20BW3S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_20BW1S_OFDM1T_D, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_20BW1S_OFDM1T_D, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_20BW1S_OFDM1T_D,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_20BW1S_OFDM1T_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_40BW2S_20BW2S_D, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_40BW2S_20BW2S_D, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_40BW2S_20BW2S_D,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW2S_20BW2S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_DIFF_40BW3S_20BW3S_D, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrdiff_40BW3S_20BW3S_D, buf1, MAX_2G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrdiff_40BW3S_20BW3S_D,p,MAX_2G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrdiff_40BW3S_20BW3S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_5G_HT40_1S_C, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrlevel5GHT40_1S_C, buf1, MAX_5G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrlevel5GHT40_1S_C,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevel5GHT40_1S_C=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //apmib_get(MIB_HW_TX_POWER_5G_HT40_1S_D, (void *)buf1); - //memcpy(pmib->dot11RFEntry.pwrlevel5GHT40_1S_D, buf1, MAX_5G_CHANNEL_NUM_MIB); - hex_to_string(phw->pwrlevel5GHT40_1S_D,p,MAX_5G_CHANNEL_NUM_MIB); - sprintf(tmpbuff,"iwpriv %s set_mib pwrlevel5GHT40_1S_D=%s",interface,p); - system(tmpbuff); - printf("%s\n",tmpbuff); - - //printf("pmib->dot11RFEntry.pwrlevel5GHT40_1S_A=%s\n",pmib->dot11RFEntry.pwrlevel5GHT40_1S_A); - //printf("pmib->dot11RFEntry.pwrlevel5GHT40_1S_B=%s\n",pmib->dot11RFEntry.pwrlevel5GHT40_1S_B); - //printf("pmib->dot11RFEntry.pwrlevel5GHT40_1S_C=%s\n",pmib->dot11RFEntry.pwrlevel5GHT40_1S_C); - //printf("pmib->dot11RFEntry.pwrlevel5GHT40_1S_D=%s\n",pmib->dot11RFEntry.pwrlevel5GHT40_1S_D); -#endif - return 0; -} - - -int set_wifi_mac(char* buf) -{ - unsigned int offset, wifi_count; - unsigned char tmpbuff[64]; - unsigned char mactmp[ETH_ALEN+1]; - int idx; - - /* wifi mac */ - memset(mactmp,0,ETH_ALEN+1); - idx = 0; - offset = HW_WLAN_SETTING_OFFSET + sizeof(struct hw_wlan_setting) * idx; - if(!memcmp(mactmp,(unsigned char *)(buf+offset),ETH_ALEN)) { - printf("wlan0's MAC Adddress is not calibrated, dismissed!!"); - } else { - memcpy(mactmp,(unsigned char *)(buf+offset),ETH_ALEN); - sprintf(tmpbuff,"ifconfig wlan0 hw ether %02x%02x%02x%02x%02x%02x",mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - //printf("cmd=%s\n",tmpbuff); - system(tmpbuff); - } -//#if defined(HAVE_WIFI_MBSSID) -#if 0 - for(wifi_count=0;wifi_count<7;wifi_count++){ - memset(mactmp,0,ETH_ALEN+1); - if(!memcmp(mactmp,(unsigned char *)(buf+offset+ETH_ALEN*(wifi_count+1)),ETH_ALEN)) { - printf("wlan0-%d's MAC Adddress is not calibrated, dismissed!!",wifi_count+1); - } else { - memcpy(mactmp,(unsigned char *)(buf+offset+ETH_ALEN*(wifi_count+1)),ETH_ALEN); - sprintf(tmpbuff,"ifconfig wlan0-%d hw ether %02x%02x%02x%02x%02x%02x",wifi_count+1,mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - //printf("cmd=%s\n",tmpbuff); - system(tmpbuff); - } - } -#endif -#ifdef HAVE_RTK_DUAL_BAND_SUPPORT - memset(mactmp,0,ETH_ALEN+1); - idx = 1; - offset = HW_WLAN_SETTING_OFFSET + sizeof(struct hw_wlan_setting) * idx; - if(!memcmp(mactmp,(unsigned char *)(buf+offset),ETH_ALEN)) { - printf("wlan1's MAC Adddress is not calibrated, dismissed!!"); - } else { - memcpy(mactmp,(unsigned char *)(buf+offset),ETH_ALEN); - sprintf(tmpbuff,"ifconfig wlan1 hw ether %02x%02x%02x%02x%02x%02x",mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - //printf("cmd=%s\n",tmpbuff); - system(tmpbuff); - } -//#if defined(HAVE_WIFI_MBSSID) -#if 0 - for(wifi_count=0;wifi_count<7;wifi_count++){ - memset(mactmp,0,ETH_ALEN+1); - if(!memcmp(mactmp,(unsigned char *)(buf+offset+ETH_ALEN*(wifi_count+1)),ETH_ALEN)) { - printf("wlan1-%d's MAC Adddress is not calibrated, dismissed!!",wifi_count+1); - } else { - memcpy(mactmp,(unsigned char *)(buf+offset+ETH_ALEN*(wifi_count+1)),ETH_ALEN); - sprintf(tmpbuff,"ifconfig wlan1-%d hw ether %02x%02x%02x%02x%02x%02x",wifi_count+1,mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - //printf("cmd=%s\n",tmpbuff); - system(tmpbuff); - } - } -#endif //MBSSID -#endif //HAVE_RTK_DUAL_BAND_SUPPORT -} - -int set_ethernet_mac(char* buf) -{ - unsigned int offset; - unsigned char tmpbuff[64]; - unsigned char mactmp[ETH_ALEN+1]; - int idx; - - memset(mactmp,0,ETH_ALEN+1); - /* ethernet mac */ - - idx = 0; - offset = HW_SETTING_ETHMAC_OFFSET + idx*ETH_ALEN; - - if(memcmp(mactmp,(unsigned char *)(buf+offset),ETH_ALEN)) { - memcpy(mactmp,(unsigned char *)(buf+offset),ETH_ALEN); - sprintf(tmpbuff,"ifconfig br-lan hw ether %02x%02x%02x%02x%02x%02x",mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - system(tmpbuff); - sprintf(tmpbuff,"ifconfig eth0 hw ether %02x%02x%02x%02x%02x%02x",mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - system(tmpbuff); - } else { - printf("br-lan/eth0's MAC Adddress is not calibrated, aborded!!\n"); - } - memset(mactmp,0,ETH_ALEN+1); - idx = 1; - offset = HW_SETTING_ETHMAC_OFFSET + idx*ETH_ALEN; - if(memcmp(mactmp,(unsigned char *)(buf+offset),ETH_ALEN)) { - memcpy(mactmp,(unsigned char *)(buf+offset),ETH_ALEN); - sprintf(tmpbuff,"ifconfig eth1 hw ether %02x%02x%02x%02x%02x%02x",mactmp[0],mactmp[1],mactmp[2],mactmp[3],mactmp[4],mactmp[5]); - system(tmpbuff); - } else { - printf("eth1's MAC Adddress is not calibrated, aborded!!\n"); - } -} - -int main(int argc, char *argv[]) -{ - PARAM_HEADER_T header; - char *buf = NULL; - int hw_len = 0; - HW_WLAN_SETTING_Tp phw; - - int ch,cmd = 0; - while((ch = getopt(argc,argv,"we")) != -1) - { - switch(ch) - { - case 'w': - cmd = CMD_SET_WIFI; - break; - case 'e': - cmd = CMD_SET_ETHERNET; - break; - default: - printf("cmd not support\n"); - } - } - - -#ifdef CONFIG_MTD_NAND - if(cmd == CMD_SET_ETHERNET){ - if(access("/hw_setting",0) != 0) - { - system("mkdir /hw_setting;chmod 777 /hw_setting"); - } - system("mount -t yaffs2 -o tags-ecc-off -o inband-tags /dev/mtdblock1 /hw_setting"); - } -#endif - read_hw_setting_offset(); //mark_hw - hw_len = read_hw_setting_length(); -#if 0 - if(hw_len < NUM_WLAN_INTERFACE*sizeof(HW_WLAN_SETTING_T)+HW_WLAN_SETTING_OFFSET){ - syslog(LOG_ERR,"Wlan HW setting length invalid!\n"); - return -1; - } -#endif - buf = malloc(hw_len); - if(!buf){ - syslog(LOG_ERR,"Can't allocate memory for reading wlan HW setting!\n"); - return -1; - } - if(read_hw_setting(buf) < 0){ - free(buf); - return -1; - } - - if(cmd == CMD_SET_ETHERNET) - set_ethernet_mac(buf); - else if(cmd == CMD_SET_WIFI){ - phw = (HW_WLAN_SETTING_Tp)(buf+HW_WLAN_SETTING_OFFSET); - set_led_type(phw); -#ifdef HAVE_RTK_EFUSE - syslog(LOG_WARNING,"Efuse enabled. Calibration aborded!\n"); -#else - set_wifi_mac(buf); - set_tx_calibration(phw,"wlan0"); -#ifdef HAVE_RTK_DUAL_BAND_SUPPORT - phw = (HW_WLAN_SETTING_Tp)(buf+HW_WLAN_SETTING_OFFSET+sizeof(HW_WLAN_SETTING_T)); - set_tx_calibration(phw,"wlan1"); -#endif -#endif - } - free(buf); - - -#ifdef CONFIG_MTD_NAND - if(cmd == CMD_SET_WIFI){ - system("umount /hw_setting"); - system("rm -rf /hw_setting"); - } -#endif - return 0; -} - diff --git a/feeds/rtkmipsel/rtk_app/src/rtk_wpsled.c b/feeds/rtkmipsel/rtk_app/src/rtk_wpsled.c deleted file mode 100644 index 65ec39a2a..000000000 --- a/feeds/rtkmipsel/rtk_app/src/rtk_wpsled.c +++ /dev/null @@ -1,139 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef _DEBUG_ -#include -#else -#define syslog(x,fmt,args...) printf(fmt,## args) -#endif -#include - - - -int tmp_cnt = 0; -int led_can_blink =0; -struct itimerval value, ovalue; - - -struct cmdobj { - char cmd_name[32]; - int (*cmdfun)(int argc, char**argv); -}; - -void wps_led_blink_timer(int signo) -{ - if(led_can_blink){ - - if(tmp_cnt%2) - system("echo 1 > /sys/class/leds/rtl819x\:green\:wps/brightness"); - else - system("echo 0 > /sys/class/leds/rtl819x\:green\:wps/brightness"); - - tmp_cnt ++; - - } else { - - value.it_value.tv_sec = 0; - value.it_value.tv_usec = 0; - value.it_interval.tv_sec = 0; - value.it_interval.tv_usec = 0; - - } - - -} - - -void rtk_wps_led_on(int argc, char**argv) -{ - led_can_blink = 0; - system("echo 1 > /sys/class/leds/rtl819x\:green\:wps/brightness"); - -} - -void rtk_wps_led_off(int argc, char**argv) -{ - led_can_blink = 0; - system("echo 0 > /sys/class/leds/rtl819x\:green\:wps/brightness"); - -} - -void rtk_wps_led_blink(int argc, char**argv) -{ - int sec = atoi(argv[2]); - - led_can_blink = 1; - - if(!sec) - sec=1; - - if(1){ - - //printf("process id is %d\n", getpid()); - tmp_cnt = 0; - - value.it_value.tv_sec = 1; - - value.it_value.tv_usec = 0; - - value.it_interval.tv_sec = sec; - - value.it_interval.tv_usec = 0; - - signal(SIGALRM, wps_led_blink_timer); - setitimer(ITIMER_REAL, &value, &ovalue); - - } - -} - - -struct cmdobj rtk_wpsled_cmds[] = -{ - {"on", rtk_wps_led_on}, - {"off", rtk_wps_led_off}, - {"blink", rtk_wps_led_blink}, - - {"LAST", NULL} //This must put in the end of this struct !! -}; - - -int main(int argc, char *argv[]) -{ - int i = 0; - int (*cmdcallback)(int argc, char**argv) = NULL; - - if ( argc > 1 ) { - - while(1) { - if(!strcmp("LAST", rtk_wpsled_cmds[i].cmd_name)) - break; - - if(!strcmp(argv[1], rtk_wpsled_cmds[i].cmd_name)){ - cmdcallback = rtk_wpsled_cmds[i].cmdfun; - break; - } - - i ++; - } - - if(cmdcallback) { - cmdcallback(argc, argv); - return 0; - } - - } - - return -1; - -} - diff --git a/feeds/rtkmipsel/rtkmipsel/Makefile b/feeds/rtkmipsel/rtkmipsel/Makefile deleted file mode 100755 index df2f5d0f4..000000000 --- a/feeds/rtkmipsel/rtkmipsel/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# -# Copyright (C) 2006-2008 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk - -ARCH:=mipsel -BOARD:=rtkmipsel -BOARDNAME:=Realtek mipsel SOC -SUBTARGETS:=rtl8197f -#FEATURES:=squashfs usb -FEATURES:=squashfs usb -#LINUX_VERSION:=3.10.49 -KERNEL_PATCHVER:=3.18 -KERNEL_NAME_SUFFIX=-rtkmipsel - -include $(INCLUDE_DIR)/target.mk - -#DEFAULT_PACKAGES += kmod-gpio-button-hotplug - -define Target/Description - Build firmware images for Realtek based boards -endef - -$(eval $(call BuildTarget)) diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/00_model b/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/00_model deleted file mode 100755 index 30d5fc1b4..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/00_model +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -. /lib/functions/uci-defaults.sh - -board_config_update - -ucidef_set_board_id "sp-w2m-ac1200" -ucidef_set_model_name "IgniteNet sp w2m ac1200" - -board_config_flush - -exit 0 diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/01_leds b/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/01_leds deleted file mode 100755 index e42ecd89e..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/01_leds +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -. /lib/functions/uci-defaults.sh -. /lib/realtek.sh - -board=$(realtek_board_name) - -board_config_update - -case $board in - sp-w2m-ac1200) - ucidef_set_led_netdev "wifi2" "wifi2" "led1" "wlan1" - ucidef_set_led_netdev "wifi5" "wifi5" "led2" "wlan0" - ucidef_set_led_netdev "wan" "WAN" "led3" "eth0" - ucidef_set_led_netdev "lan" "LAN" "led4" "eth1" - - ;; -esac - -board_config_flush - -exit 0 diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/02_network b/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/02_network deleted file mode 100755 index e1ea7b535..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/board.d/02_network +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh -. /lib/realtek.sh -. /lib/functions/uci-defaults.sh -. /lib/functions/system.sh - -realtek_setup_interfaces() -{ - local board="$1" - - case $board in - sp-w2m-ac1200) - ucidef_set_interfaces_lan_wan "eth1" "eth0" - ;; - - esac -} - -board_config_update -board=$(realtek_board_name) -realtek_setup_interfaces $board -board_config_flush - -exit 0 diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/init.d/swdone b/feeds/rtkmipsel/rtkmipsel/base-files/etc/init.d/swdone deleted file mode 100755 index 27b9da44f..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/init.d/swdone +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh /etc/rc.common -START=99 - -start() { - #config watchdog to be kicked per second - #ubus call system watchdog '{"frequency":1}' - #reset bootting counter in hw info to indicate booting succesfully - rtk_bootinfo update - - echo 4096 > /proc/sys/vm/min_free_kbytes - - #mount yaffs on mtdblock1 for nand - if [ -f "/proc/nandinfo" ]; then - mkdir /hw_setting - mount -t yaffs2 -o tags-ecc-off -o inband-tags /dev/mtdblock1 /hw_setting - fi - #BT networking fine-tune from turnkey SDK - #echo "24576" > /proc/sys/net/ipv4/route/max_size - echo "16384" > /proc/sys/net/ipv4/route/max_size - echo "180" > /proc/sys/net/ipv4/route/gc_thresh - echo 20 > /proc/sys/net/ipv4/route/gc_elasticity - #echo "12288" > /proc/sys/net/netfilter/nf_conntrack_max - echo "8192" > /proc/sys/net/netfilter/nf_conntrack_max - echo "32" > /proc/sys/net/netfilter/nf_conntrack_expect_max - -} - - diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/11-fix_mgmt_url.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/11-fix_mgmt_url.sh deleted file mode 100644 index 0e61a0832..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/11-fix_mgmt_url.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -url=$(uci -q get acn.register.url) - -if [ "$url" == "https://staging.ignitenet.com/register" ]; then - uci set acn.register.url="https://regsvc.ignitenet.com/register" - uci commit acn.register -fi diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/2-min_signal_defaults.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/2-min_signal_defaults.sh deleted file mode 100755 index d07a7f86a..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/2-min_signal_defaults.sh +++ /dev/null @@ -1,16 +0,0 @@ -add_min_signal_defaults () { - - local min_signal_allowed - - config_get min_signal_allowed "$1" min_signal_allowed - - [ -z "$min_signal_allowed" ] && { - uci set wireless."$1".min_signal_allowed=0 - } -} - -. /lib/functions.sh - -config_load wireless -config_foreach add_min_signal_defaults wifi-iface -uci commit wireless diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/3-hotspot_not_forced.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/3-hotspot_not_forced.sh deleted file mode 100755 index 54f37d190..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/3-hotspot_not_forced.sh +++ /dev/null @@ -1,3 +0,0 @@ -uci set network.hotspot.force_link=0 -uci commit network - diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/5-add-hotspot-to-firewall.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/5-add-hotspot-to-firewall.sh deleted file mode 100755 index ee7a65b91..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/5-add-hotspot-to-firewall.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh - -check_interface() { - if [ "$1" == "hotspot_tunnel" ]; then - hstunnel=1 - fi -} - -check_zone() { - local name - - config_get name $1 name - if [ "$name" == "hotspot" ]; then - hszone=1 - fi -} - -update_include() { - local path - - config_get path $1 path - if [ "$path" == "/etc/firewall.chilli" ]; then - uci_set firewall $1 reload 1 - uci_set firewall $1 path /etc/firewall.hotspot - fi -} - -add_tunnel_interface() { - local hstunnel - - config_load network - config_foreach check_interface interface - - if [ "$hstunnel" ]; then - return - fi - - uci_add network interface hotspot_tunnel - uci_set network hotspot_tunnel ifname tun0 - uci_set network hotspot_tunnel proto none - uci_commit network -} - -add_firewall_zone() { - local hszone - - config_load firewall - config_foreach check_zone zone - - if [ "$hszone" ]; then - return - fi - - uci batch <<-EOF - add firewall zone - set firewall.@zone[-1].name=hotspot - add_list firewall.@zone[-1].network=hotspot - add_list firewall.@zone[-1].network=hotspot_tunnel - set firewall.@zone[-1].input=ACCEPT - set firewall.@zone[-1].output=ACCEPT - set firewall.@zone[-1].forward=ACCEPT - EOF - - uci batch <<-EOF - add firewall forwarding - set firewall.@forwarding[-1].src=hotspot - set firewall.@forwarding[-1].dest=wan - EOF - - config_foreach update_include include - uci_commit firewall -} - -add_tunnel_interface -add_firewall_zone diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/6-add-smart-isolation-to-firewall.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/6-add-smart-isolation-to-firewall.sh deleted file mode 100755 index dc1159079..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/6-add-smart-isolation-to-firewall.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh - -check_interface() { - local smi - - if [ "$1" == "hotspot" ]; then - config_get smi $1 smart_isolation - if [ -z "$smi" ]; then - uci_set network $1 smart_isolation 0 - fi - fi -} - -delete_forwarding() { - uci_remove firewall $1 -} - -check_include() { - local path - - config_get path $1 path - if [ "$path" == "/etc/firewall.smart_isolation" ]; then - smi_include=1 - fi -} - -add_hotspot_policy() { - config_load network - config_foreach check_interface interface - uci_commit network -} - -update_firewall_rules() { - local smi_include - - config_load firewall - config_foreach delete_forwarding forwarding - - config_foreach check_include include - if [ "$smi_include" != "1" ]; then - uci batch <<-EOF - add firewall include - set firewall.@include[-1].path=/etc/firewall.smart_isolation - set firewall.@include[-1].reload=1 - EOF - fi - - uci_commit firewall -} - -add_hotspot_policy -update_firewall_rules diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/7-add-dae-to-firewall.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/7-add-dae-to-firewall.sh deleted file mode 100755 index 4e8938fb0..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/7-add-dae-to-firewall.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh - -check_include() { - local path - - config_get path $1 path - if [ "$path" == "/etc/firewall.dae" ]; then - dae_include=1 - fi -} - -update_firewall_rules() { - local dae_include - - config_load firewall - config_foreach check_include include - - if [ "$dae_include" != "1" ]; then - uci batch <<-EOF - add firewall include - set firewall.@include[-1].path=/etc/firewall.dae - set firewall.@include[-1].reload=1 - EOF - fi - - uci_commit firewall - -} - -update_firewall_rules diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/8-snmpd-to-mini-snmpd.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/8-snmpd-to-mini-snmpd.sh deleted file mode 100755 index 4e40aa4c5..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/8-snmpd-to-mini-snmpd.sh +++ /dev/null @@ -1,14 +0,0 @@ -[ -n "$(uci -q show snmpd)" ] \ -&& [ -n "$(uci -q show mini_snmpd)" ] \ -&& { - community="$(uci -q get snmpd.public.community)" - location="$(uci -q get snmpd.@system[0].sysLocation)" - contact="$(uci -q get snmpd.@system[0].sysContact)" - uci set mini_snmpd.@mini_snmpd[0].community="$community" - uci set mini_snmpd.@mini_snmpd[0].location="$location" - uci set mini_snmpd.@mini_snmpd[0].contact="$contact" - #firewall rule is in another config, it won't be affected - uci commit mini_snmpd - rm /etc/config/snmpd -} - diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/9-wanvlan_defaults.sh b/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/9-wanvlan_defaults.sh deleted file mode 100644 index 5a0b2000f..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/etc/migrate/9-wanvlan_defaults.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -wanvlan_interface="`uci get network.wanvlan 2>/dev/null`" - -[ -z "$wanvlan_interface" ] && { - uci set network.wanvlan=interface - uci set network.wanvlan.enabled=0 - uci commit network -} - - diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/lib/preinit/03_preinit_do_realtek.sh b/feeds/rtkmipsel/rtkmipsel/base-files/lib/preinit/03_preinit_do_realtek.sh deleted file mode 100644 index a91245ad1..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/lib/preinit/03_preinit_do_realtek.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -do_realtek() { - . /lib/realtek.sh - - realtek_board_detect - - if [ -z "$(grep SP-W2M-AC1200-POE /dev/mtd6)" ]; then - modprobe rtl819x_8211f - else - modprobe rtl819x_83xx - fi -} - -boot_hook_add preinit_main do_realtek diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/lib/realtek.sh b/feeds/rtkmipsel/rtkmipsel/base-files/lib/realtek.sh deleted file mode 100755 index 850ff69c7..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/lib/realtek.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -realtek_board_detect() { - [ -e /tmp/sysinfo/ ] || mkdir /tmp/sysinfo/ - echo "sp-w2m-ac1200" > /tmp/sysinfo/board_name - echo "IgniteNet SP-W2M-AC1200" > /tmp/sysinfo/model -} - -realtek_board_name() { - local name - - [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) - [ -z "$name" ] && name="unknown" - - echo "$name" -} diff --git a/feeds/rtkmipsel/rtkmipsel/base-files/lib/upgrade/platform.sh b/feeds/rtkmipsel/rtkmipsel/base-files/lib/upgrade/platform.sh deleted file mode 100755 index 8350998df..000000000 --- a/feeds/rtkmipsel/rtkmipsel/base-files/lib/upgrade/platform.sh +++ /dev/null @@ -1,114 +0,0 @@ -RAMDISK_SWITCH=1 -#NO_LDD_SUPPORT=1 - -get_fwhw_string() { - local seek=$(($(wc -c < "$1")-64)) - 2>/dev/null hexdump -n 64 -s $seek -e "64 \"%_c\"" $1 | cut -d '\' -f 1 - return 0; -} - -sysupgrade_l() { - logger -t sysupgrade -p info $1 - return 0 -} - -image_fw_product_matches() { - # get DISTRIB_PRODUCT value as current_prod - local current_prod=$(2>/dev/null grep DISTRIB_PRODUCT /etc/release | cut -d= -f2 | sed -e 's/^"//' -e 's/"$//') - local candidate=$(get_fwhw_string $1) - # allow all firmwares if product in /etc/release is not set - [ -z "$current_prod" ] && {\ - sysupgrade_l "Empty product value. Allowing all firmwares." - return 0; - } - # candidate must have non empty custom fw string - [ -z "$candidate" ] && {\ - sysupgrade_l "Firmware without fw string set. Aborting..." - return 1; - } - - local candidate_prod=$(echo -n $candidate | cut -d. -f1) - - [ "$candidate_prod" = "$current_prod" ] && return 0; - - sysupgrade_l "Not matching fw products found $candidate_prod and $current_prod" - # not an exact product match - return 1; -} - -platform_check_image() { - [ "$ARGC" -gt 1 ] && return 1 - - case "$(get_magic_word "$1")" in - # .cvimg files - 6373) - image_fw_product_matches $1 || return 1 - return 0;; - *) - echo "Invalid image type. Please use only .trx files" - return 1 - ;; - esac -} - -platform_do_upgrade() { - - default_do_upgrade "$ARGV" -} -# use default for platform_do_upgrade() - -# without toolchain ldd support(NO_LDD_SUPPORT=1) , you have to below before switch root to ramdisk -#realtek pre upgrade -install_ram_libs() { - echo "- install_ram_libs -" - ramlib="$RAM_ROOT/lib" - mkdir -p "$ramlib" - cp /lib/*.so.* $ramlib - cp /lib/*.so $ramlib -} - -disable_watchdog() { - killall watchdog - ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && { - echo 'Could not disable watchdog' - return 1 - } -} -rtk_dualimage_check() { - local bootmode_cmd=`cat /tmp/bootmode` - local bootbank_cmd=`cat /tmp/bootbank` - local bootmode=0 - local cur_bootbank=0 - local next_bootbank=$cur_bootbank - PART_NAME=linux - - [ -f /proc/flash/bootoffset ] && { - bootmode=$bootmode_cmd - cur_bootbank=$bootbank_cmd - if [ $bootmode = '1' ];then - echo "It's dualimage toggle mode,always burn image to backup and next boot from it" - PART_NAME=linux_backup - if [ $cur_bootbank = '0' ];then - next_bootbank=1 - else - next_bootbank=0 - fi - fi - rtk_bootinfo setbootbank $next_bootbank - sleep 1 - } -} - - -rtk_pre_upgrade() { - echo "- rtk_pre_upgrade -" - rtk_dualimage_check - if [ -n "$RAMDISK_SWITCH" ]; then - if [ -n "$NO_LDD_SUPPORT" ]; then - install_ram_libs - fi - fi - disable_watchdog -} - -append sysupgrade_pre_upgrade rtk_pre_upgrade diff --git a/feeds/rtkmipsel/rtkmipsel/config-3.18 b/feeds/rtkmipsel/rtkmipsel/config-3.18 deleted file mode 100644 index 6038692b7..000000000 --- a/feeds/rtkmipsel/rtkmipsel/config-3.18 +++ /dev/null @@ -1,4641 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_6LOWPAN is not set -# CONFIG_6PACK is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_9P_FS is not set -# CONFIG_AB3100_CORE is not set -# CONFIG_AB8500_CORE is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_ACCESSIBILITY is not set -# CONFIG_ACENIC is not set -# CONFIG_ACERHDF is not set -# CONFIG_ACORN_PARTITION is not set -# CONFIG_ACPI_APEI is not set -# CONFIG_ACPI_CUSTOM_METHOD is not set -# CONFIG_ACPI_EXTLOG is not set -# CONFIG_ACPI_HED is not set -# CONFIG_ACPI_INT3403_THERMAL is not set -# CONFIG_ACPI_POWER_METER is not set -# CONFIG_ACPI_QUICKSTART is not set -# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set -# CONFIG_AD2S1200 is not set -# CONFIG_AD2S1210 is not set -# CONFIG_AD2S90 is not set -# CONFIG_AD5064 is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_AD5360 is not set -# CONFIG_AD5380 is not set -# CONFIG_AD5421 is not set -# CONFIG_AD5446 is not set -# CONFIG_AD5449 is not set -# CONFIG_AD5504 is not set -# CONFIG_AD5624R_SPI is not set -# CONFIG_AD5686 is not set -# CONFIG_AD5755 is not set -# CONFIG_AD5764 is not set -# CONFIG_AD5791 is not set -# CONFIG_AD5930 is not set -# CONFIG_AD5933 is not set -# CONFIG_AD7150 is not set -# CONFIG_AD7152 is not set -# CONFIG_AD7192 is not set -# CONFIG_AD7266 is not set -# CONFIG_AD7280 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7303 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7606 is not set -# CONFIG_AD7746 is not set -# CONFIG_AD7780 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7816 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X is not set -# CONFIG_AD8366 is not set -# CONFIG_AD9523 is not set -# CONFIG_AD9832 is not set -# CONFIG_AD9834 is not set -# CONFIG_AD9850 is not set -# CONFIG_AD9852 is not set -# CONFIG_AD9910 is not set -# CONFIG_AD9951 is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_ADE7753 is not set -# CONFIG_ADE7754 is not set -# CONFIG_ADE7758 is not set -# CONFIG_ADE7759 is not set -# CONFIG_ADE7854 is not set -# CONFIG_ADF4350 is not set -# CONFIG_ADFS_FS is not set -# CONFIG_ADIS16060 is not set -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16201 is not set -# CONFIG_ADIS16203 is not set -# CONFIG_ADIS16204 is not set -# CONFIG_ADIS16209 is not set -# CONFIG_ADIS16220 is not set -# CONFIG_ADIS16240 is not set -# CONFIG_ADIS16255 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_ADJD_S311 is not set -# CONFIG_ADM6996_PHY is not set -# CONFIG_ADM8211 is not set -# CONFIG_ADT7316 is not set -# CONFIG_ADVISE_SYSCALLS is not set -# CONFIG_ADXRS450 is not set -CONFIG_AEABI=y -# CONFIG_AFFS_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AGP is not set -# CONFIG_AHCI_MVEBU is not set -CONFIG_AIO=y -# CONFIG_AIRO is not set -# CONFIG_AIRO_CS is not set -# CONFIG_AIX_PARTITION is not set -# CONFIG_AK09911 is not set -# CONFIG_AK8975 is not set -# CONFIG_AL3320A is not set -# CONFIG_ALCHEMY_GPIO_INDIRECT is not set -# CONFIG_ALIM7101_WDT is not set -CONFIG_ALLOW_DEV_COREDUMP=y -# CONFIG_ALTERA_STAPL is not set -# CONFIG_ALTERA_TSE is not set -# CONFIG_ALX is not set -# CONFIG_AM335X_PHY_USB is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_AMD_XGBE is not set -# CONFIG_AMD_XGBE_PHY is not set -# CONFIG_AMD_PHY is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_AMILO_RFKILL is not set -# CONFIG_ANDROID is not set -CONFIG_ANON_INODES=y -# CONFIG_APDS9300 is not set -# CONFIG_APDS9802ALS is not set -# CONFIG_APM8018X is not set -# CONFIG_APPLICOM is not set -# CONFIG_AR5523 is not set -# CONFIG_AR7 is not set -# CONFIG_AR8216_PHY is not set -# CONFIG_AR8216_PHY_LEDS is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_BCM is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_BCMRING is not set -# CONFIG_ARCH_BERLIN is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CNS3XXX is not set -# CONFIG_ARCH_DAVINCI is not set -# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set -# CONFIG_ARCH_DOVE is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_EXYNOS is not set -CONFIG_ARCH_FLATMEM_ENABLE=y -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_GEMINI is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -# CONFIG_ARCH_HI3xxx is not set -# CONFIG_ARCH_HIGHBANK is not set -# CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KEYSTONE is not set -# CONFIG_ARCH_KIRKWOOD is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set -# CONFIG_ARCH_MEDIATEK is not set -# CONFIG_ARCH_MESON is not set -# CONFIG_ARCH_MMP is not set -# CONFIG_ARCH_MSM is not set -# CONFIG_ARCH_MSM_DT is not set -# CONFIG_ARCH_MSM_NODT is not set -# CONFIG_ARCH_MULTIPLATFORM is not set -# CONFIG_ARCH_MULTI_V6 is not set -# CONFIG_ARCH_MULTI_V7 is not set -# CONFIG_ARCH_MV78XX0 is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_MXC is not set -# CONFIG_ARCH_MXS is not set -# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_NOMADIK is not set -# CONFIG_ARCH_NSPIRE is not set -# CONFIG_ARCH_NUC93X is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_OMAP1 is not set -# CONFIG_ARCH_OMAP2PLUS is not set -# CONFIG_ARCH_OMAP3 is not set -# CONFIG_ARCH_OMAP4 is not set -# CONFIG_ARCH_ORION5X is not set -# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set -# CONFIG_ARCH_PICOXCELL is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PRIMA2 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_ROCKCHIP is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_S3C24XX is not set -# CONFIG_ARCH_S3C64XX is not set -# CONFIG_ARCH_S5P64X0 is not set -# CONFIG_ARCH_S5PC100 is not set -# CONFIG_ARCH_S5PV210 is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_SHMOBILE is not set -# CONFIG_ARCH_SHMOBILE_LEGACY is not set -# CONFIG_ARCH_SHMOBILE_MULTI is not set -# CONFIG_ARCH_SIRF is not set -# CONFIG_ARCH_SOCFPGA is not set -# CONFIG_ARCH_STI is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_ARCH_TCC_926 is not set -# CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_U300 is not set -# CONFIG_ARCH_U8500 is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_VEXPRESS is not set -# CONFIG_ARCH_VIRT is not set -# CONFIG_ARCH_VT8500 is not set -# CONFIG_ARCH_W90X900 is not set -# CONFIG_ARCH_WM8505 is not set -# CONFIG_ARCH_WM8850 is not set -# CONFIG_ARCH_ZYNQ is not set -# CONFIG_ARCNET is not set -# CONFIG_ARC_EMAC is not set -# CONFIG_ARM_APPENDED_DTB is not set -# CONFIG_ARM_ARCH_TIMER is not set -# CONFIG_ARM_AT91_ETHER is not set -# CONFIG_ARM_CCI is not set -# CONFIG_ARM_CCN is not set -CONFIG_ARM_CPU_TOPOLOGY=y -CONFIG_ARM_DMA_MEM_BUFFERABLE=y -# CONFIG_ARM_ERRATA_326103 is not set -# CONFIG_ARM_ERRATA_364296 is not set -# CONFIG_ARM_ERRATA_411920 is not set -# CONFIG_ARM_ERRATA_430973 is not set -# CONFIG_ARM_ERRATA_458693 is not set -# CONFIG_ARM_ERRATA_460075 is not set -# CONFIG_ARM_ERRATA_643719 is not set -# CONFIG_ARM_ERRATA_720789 is not set -# CONFIG_ARM_ERRATA_742230 is not set -# CONFIG_ARM_ERRATA_742231 is not set -# CONFIG_ARM_ERRATA_743622 is not set -# CONFIG_ARM_ERRATA_751472 is not set -# CONFIG_ARM_ERRATA_754322 is not set -# CONFIG_ARM_ERRATA_754327 is not set -# CONFIG_ARM_ERRATA_764369 is not set -# CONFIG_ARM_ERRATA_773022 is not set -# CONFIG_ARM_ERRATA_775420 is not set -# CONFIG_ARM_ERRATA_798181 is not set -# CONFIG_ARM_KPROBES_TEST is not set -# CONFIG_ARM_PATCH_PHYS_VIRT is not set -# CONFIG_ARM_PSCI is not set -# CONFIG_ARM_PTDUMP is not set -# CONFIG_ARM_UNWIND is not set -# CONFIG_ARM_VIRT_EXT is not set -CONFIG_ARPD=y -# CONFIG_ARTHUR is not set -# CONFIG_AS3935 is not set -# CONFIG_ASUS_OLED is not set -# CONFIG_ASYMMETRIC_KEY_TYPE is not set -# CONFIG_ASYNC_RAID6_TEST is not set -# CONFIG_ASYNC_TX_DMA is not set -# CONFIG_AT76C50X_USB is not set -# CONFIG_AT803X_PHY is not set -# CONFIG_ATA is not set -# CONFIG_ATAGS is not set -CONFIG_ATAGS_PROC=y -# CONFIG_ATALK is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_ATA_ACPI is not set -CONFIG_ATA_BMDMA=y -# CONFIG_ATA_GENERIC is not set -# CONFIG_ATA_NONSTANDARD is not set -# CONFIG_ATA_OVER_ETH is not set -# CONFIG_ATA_PIIX is not set -CONFIG_ATA_SFF=y -# CONFIG_ATA_VERBOSE_ERROR is not set -# CONFIG_ATH10K is not set -# CONFIG_ATH5K is not set -# CONFIG_ATH6KL is not set -# CONFIG_ATH6K_LEGACY is not set -# CONFIG_ATH79 is not set -# CONFIG_ATH9K is not set -# CONFIG_ATH9K_HTC is not set -# CONFIG_ATH_CARDS is not set -# CONFIG_ATH_DEBUG is not set -# CONFIG_ATL1 is not set -# CONFIG_ATL1C is not set -# CONFIG_ATL1E is not set -# CONFIG_ATL2 is not set -# CONFIG_ATM is not set -# CONFIG_ATMEL is not set -# CONFIG_ATMEL_PIT is not set -# CONFIG_ATMEL_PWM is not set -# CONFIG_ATMEL_SSC is not set -# CONFIG_ATM_AMBASSADOR is not set -# CONFIG_ATM_BR2684 is not set -CONFIG_ATM_BR2684_IPFILTER=y -# CONFIG_ATM_CLIP is not set -CONFIG_ATM_CLIP_NO_ICMP=y -# CONFIG_ATM_DRIVERS is not set -# CONFIG_ATM_DUMMY is not set -# CONFIG_ATM_ENI is not set -# CONFIG_ATM_FIRESTREAM is not set -# CONFIG_ATM_FORE200E is not set -# CONFIG_ATM_HE is not set -# CONFIG_ATM_HORIZON is not set -# CONFIG_ATM_IA is not set -# CONFIG_ATM_IDT77252 is not set -# CONFIG_ATM_LANAI is not set -# CONFIG_ATM_LANE is not set -# CONFIG_ATM_MPOA is not set -# CONFIG_ATM_NICSTAR is not set -# CONFIG_ATM_SOLOS is not set -# CONFIG_ATM_TCP is not set -# CONFIG_ATM_ZATM is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_ATP is not set -# CONFIG_AUDIT is not set -# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set -# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_AUTO_ZRELADDR is not set -# CONFIG_AUXDISPLAY is not set -# CONFIG_AVERAGE is not set -# CONFIG_AX25 is not set -# CONFIG_AX25_DAMA_SLAVE is not set -# CONFIG_AX88796 is not set -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -# CONFIG_B44 is not set -# CONFIG_B53 is not set -# CONFIG_B53_SPI_DRIVER is not set -# CONFIG_BACKLIGHT_BD6107 is not set -# CONFIG_BACKLIGHT_GPIO is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -# CONFIG_BACKLIGHT_LM3630 is not set -# CONFIG_BACKLIGHT_LM3630A is not set -# CONFIG_BACKLIGHT_LM3639 is not set -# CONFIG_BACKLIGHT_LP855X is not set -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_PANDORA is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -CONFIG_BASE_FULL=y -CONFIG_BASE_SMALL=0 -# CONFIG_BATMAN_ADV is not set -# CONFIG_BATTERY_BQ27x00 is not set -# CONFIG_BATTERY_DS2760 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GOLDFISH is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_BATTERY_SBS is not set -# CONFIG_BAYCOM_EPP is not set -# CONFIG_BAYCOM_PAR is not set -# CONFIG_BAYCOM_SER_FDX is not set -# CONFIG_BAYCOM_SER_HDX is not set -# CONFIG_BCACHE is not set -# CONFIG_BCM47XX is not set -# CONFIG_BCM63XX is not set -# CONFIG_BCM63XX_PHY is not set -# CONFIG_BCM7XXX_PHY is not set -# CONFIG_BCM87XX_PHY is not set -# CONFIG_BCMA is not set -# CONFIG_BCMA_DRIVER_GPIO is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCMGENET is not set -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_BCM_WIMAX is not set -# CONFIG_BDI_SWITCH is not set -# CONFIG_BE2ISCSI is not set -# CONFIG_BE2NET is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_BGMAC is not set -# CONFIG_BIG_KEYS is not set -# CONFIG_BIG_LITTLE is not set -# CONFIG_BINARY_PRINTF is not set -# CONFIG_BINFMT_AOUT is not set -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_MISC is not set -CONFIG_BINFMT_SCRIPT=y -CONFIG_BITREVERSE=y -# CONFIG_BLK_CMDLINE_PARSER is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_CPQ_DA is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_BLK_DEV_4DRIVES is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI14XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_ATIIXP is not set -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_CMD640 is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -# CONFIG_BLK_DEV_CS5535 is not set -# CONFIG_BLK_DEV_CS5536 is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_DELKIN is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_DTC2278 is not set -# CONFIG_BLK_DEV_FD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_HD is not set -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_HT6560B is not set -# CONFIG_BLK_DEV_IDEACPI is not set -# CONFIG_BLK_DEV_IDECD is not set -# CONFIG_BLK_DEV_IDECS is not set -# CONFIG_BLK_DEV_IDEPCI is not set -# CONFIG_BLK_DEV_IDEPNP is not set -# CONFIG_BLK_DEV_IDETAPE is not set -# CONFIG_BLK_DEV_IDE_AU1XXX is not set -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_BLK_DEV_INITRD=y -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_BLK_DEV_IT8172 is not set -# CONFIG_BLK_DEV_IT8213 is not set -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_JMICRON is not set -# CONFIG_BLK_DEV_LOOP is not set -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_NULL_BLK is not set -# CONFIG_BLK_DEV_NVME is not set -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PIIX is not set -# CONFIG_BLK_DEV_PLATFORM is not set -# CONFIG_BLK_DEV_QD65XX is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set -# CONFIG_BLK_DEV_RZ1000 is not set -# CONFIG_BLK_DEV_SC1200 is not set -# CONFIG_BLK_DEV_SD is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SIS5513 is not set -# CONFIG_BLK_DEV_SKD is not set -# CONFIG_BLK_DEV_SL82C105 is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_TC86C001 is not set -# CONFIG_BLK_DEV_THROTTLING is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_UMC8672 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set -# CONFIG_BLK_DEV_XIP is not set -CONFIG_BLOCK=y -# CONFIG_BMA180 is not set -# CONFIG_BMC150_ACCEL is not set -# CONFIG_BMG160 is not set -# CONFIG_BMP085 is not set -# CONFIG_BMP085_I2C is not set -# CONFIG_BMP085_SPI is not set -# CONFIG_BNA is not set -# CONFIG_BNX2 is not set -# CONFIG_BNX2X is not set -# CONFIG_BONDING is not set -# CONFIG_BOOKE_WDT is not set -CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3 -# CONFIG_BOOT_PRINTK_DELAY is not set -CONFIG_BOOT_RAW=y -# CONFIG_BPCTL is not set -CONFIG_BPF=y -# CONFIG_BPF_JIT is not set -CONFIG_BPF_SYSCALL=y -# CONFIG_BPQETHER is not set -CONFIG_BQL=y -CONFIG_BRANCH_PROFILE_NONE=y -# CONFIG_BRCMFMAC is not set -# CONFIG_BRCMSMAC is not set -# CONFIG_BRCMSTB_GISB_ARB is not set -CONFIG_BRIDGE=y -# CONFIG_BRIDGE_EBT_802_3 is not set -# CONFIG_BRIDGE_EBT_AMONG is not set -# CONFIG_BRIDGE_EBT_ARP is not set -# CONFIG_BRIDGE_EBT_ARPREPLY is not set -# CONFIG_BRIDGE_EBT_BROUTE is not set -# CONFIG_BRIDGE_EBT_DNAT is not set -# CONFIG_BRIDGE_EBT_IP is not set -# CONFIG_BRIDGE_EBT_IP6 is not set -# CONFIG_BRIDGE_EBT_LIMIT is not set -# CONFIG_BRIDGE_EBT_LOG is not set -# CONFIG_BRIDGE_EBT_MARK is not set -# CONFIG_BRIDGE_EBT_MARK_T is not set -# CONFIG_BRIDGE_EBT_NFLOG is not set -# CONFIG_BRIDGE_EBT_PKTTYPE is not set -# CONFIG_BRIDGE_EBT_REDIRECT is not set -# CONFIG_BRIDGE_EBT_SNAT is not set -# CONFIG_BRIDGE_EBT_STP is not set -# CONFIG_BRIDGE_EBT_T_FILTER is not set -# CONFIG_BRIDGE_EBT_T_NAT is not set -# CONFIG_BRIDGE_EBT_ULOG is not set -# CONFIG_BRIDGE_EBT_VLAN is not set -CONFIG_BRIDGE_IGMP_SNOOPING=y -# CONFIG_BRIDGE_NETFILTER is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_BRIDGE_VLAN_FILTERING is not set -# CONFIG_BROADCOM_PHY is not set -CONFIG_BROKEN_ON_SMP=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_BSD_PROCESS_ACCT_V3 is not set -# CONFIG_BT is not set -# CONFIG_BTRFS_ASSERT is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_FS is not set -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -# CONFIG_BT_ATH3K is not set -# CONFIG_BT_BNEP is not set -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_CMTP is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIBLUECARD is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBT3C is not set -# CONFIG_BT_HCIBTSDIO is not set -# CONFIG_BT_HCIBTUART is not set -# CONFIG_BT_HCIBTUSB is not set -# CONFIG_BT_HCIDTL1 is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIUART_3WIRE is not set -# CONFIG_BT_HCIUART_ATH3K is not set -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_H4=y -# CONFIG_BT_HCIUART_LL is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_BT_HIDP is not set -CONFIG_BT_L2CAP=y -# CONFIG_BT_MRVL is not set -# CONFIG_BT_RFCOMM is not set -# CONFIG_BUILD_BIN2C is not set -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_SCO=y -CONFIG_BUG=y -CONFIG_BUILDTIME_EXTABLE_SORT=y -# CONFIG_C2PORT is not set -# CONFIG_CADENCE_WATCHDOG is not set -# CONFIG_CAIF is not set -# CONFIG_CAN is not set -# CONFIG_CAN_GS_USB is not set -# CONFIG_CAN_M_CAN is not set -# CONFIG_CAN_RCAR is not set -# CONFIG_CAPI_AVM is not set -# CONFIG_CAPI_EICON is not set -# CONFIG_CAPI_TRACE is not set -CONFIG_CARDBUS=y -# CONFIG_CARDMAN_4000 is not set -# CONFIG_CARDMAN_4040 is not set -# CONFIG_CARL9170 is not set -# CONFIG_CARMA_FPGA is not set -# CONFIG_CARMA_FPGA_PROGRAM is not set -# CONFIG_CASSINI is not set -CONFIG_CAVIUM_OCTEON_HELPER=y -# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set -# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set -# CONFIG_CAVIUM_OCTEON_SOC is not set -# CONFIG_CB710_CORE is not set -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -# CONFIG_CC_STACKPROTECTOR is not set -CONFIG_CC_STACKPROTECTOR_NONE=y -# CONFIG_CC_STACKPROTECTOR_REGULAR is not set -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_CED1401 is not set -# CONFIG_CEPH_FS is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_CFG80211 is not set -# CONFIG_CFG80211_CERTIFICATION_ONUS is not set -# CONFIG_CFG80211_DEBUGFS is not set -# CONFIG_CFG80211_DEFAULT_PS is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -# CONFIG_CFG80211_INTERNAL_REGDB is not set -# CONFIG_CFG80211_REG_DEBUG is not set -# CONFIG_CFG80211_WEXT is not set -# CONFIG_CGROUPS is not set -# CONFIG_CGROUP_DEBUG is not set -# CONFIG_CGROUP_NET_PRIO is not set -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set -# CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_GPIO is not set -# CONFIG_CHARGER_ISP1704 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_MANAGER is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_CHARGER_TWL4030 is not set -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_CHELSIO_T1 is not set -# CONFIG_CHELSIO_T3 is not set -# CONFIG_CHELSIO_T4 is not set -# CONFIG_CHELSIO_T4VF is not set -# CONFIG_CHROME_PLATFORMS is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_CHR_DEV_SCH is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CICADA_PHY is not set -# CONFIG_CIFS is not set -# CONFIG_CIFS_ACL is not set -# CONFIG_CIFS_DEBUG is not set -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_FSCACHE is not set -# CONFIG_CIFS_NFSD_EXPORT is not set -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_SMB2 is not set -CONFIG_CIFS_STATS=y -# CONFIG_CIFS_STATS2 is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CLEANCACHE is not set -# CONFIG_CLKSRC_VERSATILE is not set -CONFIG_CLS_U32_MARK=y -# CONFIG_CLS_U32_PERF is not set -# CONFIG_CM32181 is not set -# CONFIG_CM36651 is not set -# CONFIG_CMA is not set -CONFIG_CMDLINE="" -# CONFIG_CMDLINE_BOOL is not set -# CONFIG_CMDLINE_EXTEND is not set -# CONFIG_CMDLINE_FORCE is not set -# CONFIG_CMDLINE_FROM_BOOTLOADER is not set -# CONFIG_CMDLINE_PARTITION is not set -# CONFIG_CNIC is not set -# CONFIG_CODA_FS is not set -# CONFIG_CODE_PATCHING_SELFTEST is not set -# CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_DEBUG is not set -# CONFIG_COMMON_CLK_PXA is not set -# CONFIG_COMMON_CLK_QCOM is not set -# CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_SI570 is not set -# CONFIG_COMPACTION is not set -# CONFIG_COMPAL_LAPTOP is not set -# CONFIG_COMPAT_BRK is not set -# CONFIG_COMPILE_TEST is not set -# CONFIG_CONFIGFS_FS is not set -# CONFIG_CONNECTOR is not set -CONFIG_CONSTRUCTORS=y -# CONFIG_CONTEXT_SWITCH_TRACER is not set -# CONFIG_COPS is not set -# CONFIG_CORDIC is not set -# CONFIG_COREDUMP is not set -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -# CONFIG_CPA_DEBUG is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_FREQ is not set -# CONFIG_CPU_IDLE is not set -# CONFIG_CPU_IDLE_GOV_MENU is not set -# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set -# CONFIG_CRAMFS is not set -CONFIG_CRASHLOG=y -# CONFIG_CRASH_DUMP is not set -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_CRC32_BIT is not set -CONFIG_CRC32_SARWATE=y -# CONFIG_CRC32_SELFTEST is not set -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SLICEBY8 is not set -# CONFIG_CRC7 is not set -# CONFIG_CRC8 is not set -# CONFIG_CRC_CCITT is not set -# CONFIG_CRC_ITU_T is not set -# CONFIG_CRC_T10DIF is not set -CONFIG_CROSS_COMPILE="" -# CONFIG_CROSS_MEMORY_ATTACH is not set -CONFIG_CRYPTO=y -# CONFIG_CRYPTO_AEAD is not set -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_586 is not set -# CONFIG_CRYPTO_AES_ARM is not set -# CONFIG_CRYPTO_AES_ARM_BS is not set -# CONFIG_CRYPTO_AES_NI_INTEL is not set -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_AUTHENC is not set -# CONFIG_CRYPTO_BLKCIPHER is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_CBC is not set -# CONFIG_CRYPTO_CCM is not set -# CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CRC32C_INTEL is not set -# CONFIG_CRYPTO_CRCT10DIF is not set -# CONFIG_CRYPTO_CRYPTD is not set -# CONFIG_CRYPTO_CTR is not set -# CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_DES is not set -# CONFIG_CRYPTO_DEV_ATMEL_AES is not set -# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set -# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set -# CONFIG_CRYPTO_DEV_CCP is not set -# CONFIG_CRYPTO_DEV_FSL_CAAM is not set -# CONFIG_CRYPTO_DEV_HIFN_795X is not set -# CONFIG_CRYPTO_DEV_MV_CESA is not set -# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set -# CONFIG_CRYPTO_DEV_QCE is not set -# CONFIG_CRYPTO_DEV_SAHARA is not set -# CONFIG_CRYPTO_DEV_TALITOS is not set -# CONFIG_CRYPTO_DRBG_MENU is not set -# CONFIG_CRYPTO_ECB is not set -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_FIPS is not set -# CONFIG_CRYPTO_GCM is not set -# CONFIG_CRYPTO_GF128MUL is not set -# CONFIG_CRYPTO_GHASH is not set -# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set -# CONFIG_CRYPTO_HASH is not set -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_HW is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MANAGER is not set -# CONFIG_CRYPTO_MANAGER2 is not set -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -# CONFIG_CRYPTO_MCRYPTD is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_PCOMP is not set -# CONFIG_CRYPTO_PCOMP2 is not set -# CONFIG_CRYPTO_PCRYPT is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -# CONFIG_CRYPTO_RNG is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_SALSA20_586 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SEQIV is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SHA1 is not set -# CONFIG_CRYPTO_SHA1_ARM is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_TWOFISH_586 is not set -# CONFIG_CRYPTO_TWOFISH_COMMON is not set -# CONFIG_CRYPTO_USER is not set -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set -# CONFIG_CRYPTO_VMAC is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_XTS is not set -# CONFIG_CRYPTO_XZ is not set -# CONFIG_CRYPTO_ZLIB is not set -# CONFIG_CRYSTALHD is not set -# CONFIG_CS5535_MFGPT is not set -# CONFIG_CS89x0 is not set -# CONFIG_CUSE is not set -# CONFIG_CW1200 is not set -# CONFIG_CXL_BASE is not set -# CONFIG_CXT1E1 is not set -# CONFIG_CYPRESS_FIRMWARE is not set -# CONFIG_DAVICOM_PHY is not set -# CONFIG_DCB is not set -# CONFIG_DDR is not set -# CONFIG_DE600 is not set -# CONFIG_DE620 is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_CREDENTIALS is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_DEBUG_FS=y -# CONFIG_DEBUG_GPIO is not set -# CONFIG_DEBUG_HIGHMEM is not set -# CONFIG_DEBUG_ICEDCC is not set -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -CONFIG_DEBUG_INFO_REDUCED=y -# CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_KOBJECT_RELEASE is not set -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_LL is not set -# CONFIG_DEBUG_LL_UART_8250 is not set -# CONFIG_DEBUG_LL_UART_PL01X is not set -# CONFIG_DEBUG_LOCKDEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_NX_TEST is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_PINCTRL is not set -# CONFIG_DEBUG_PREEMPT is not set -# CONFIG_DEBUG_RODATA is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -# CONFIG_DEBUG_SEMIHOSTING is not set -# CONFIG_DEBUG_SET_MODULE_RONX is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_SHIRQ is not set -# CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_STACKOVERFLOW is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set -# CONFIG_DEBUG_UART_BCM63XX is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_WRITECOUNT is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_ZBOOT is not set -# CONFIG_DECNET is not set -CONFIG_DEFAULT_CUBIC=y -CONFIG_DEFAULT_DEADLINE=y -CONFIG_DEFAULT_HOSTNAME="(none)" -CONFIG_DEFAULT_IOSCHED="deadline" -CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -# CONFIG_DEFAULT_NOOP is not set -# CONFIG_DEFAULT_RENO is not set -CONFIG_DEFAULT_SECURITY="" -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -# CONFIG_DELL_SMO8800 is not set -# CONFIG_DEPRECATED_PARAM_STRUCT is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_DEVKMEM is not set -CONFIG_DEVPORT=y -# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set -# CONFIG_DEVTMPFS is not set -# CONFIG_DEVTMPFS_MOUNT is not set -# CONFIG_DGAP is not set -# CONFIG_DGNC is not set -# CONFIG_DGRP is not set -# CONFIG_DHT11 is not set -# CONFIG_DIRECT_IO is not set -CONFIG_DISABLE_DEV_COREDUMP=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_DISPLAY_CONNECTOR_ANALOG_TV is not set -# CONFIG_DISPLAY_CONNECTOR_DVI is not set -# CONFIG_DISPLAY_CONNECTOR_HDMI is not set -# CONFIG_DISPLAY_ENCODER_TFP410 is not set -# CONFIG_DISPLAY_ENCODER_TPD12S015 is not set -# CONFIG_DISPLAY_PANEL_DPI is not set -# CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02 is not set -# CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1 is not set -# CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1 is not set -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_DL2K is not set -# CONFIG_DLM is not set -# CONFIG_DM9000 is not set -# CONFIG_DMADEVICES is not set -# CONFIG_DMADEVICES_DEBUG is not set -# CONFIG_DMASCC is not set -# CONFIG_DMATEST is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_DMA_ENGINE is not set -# CONFIG_DMA_SHARED_BUFFER is not set -# CONFIG_DM_CACHE is not set -# CONFIG_DM_DEBUG is not set -# CONFIG_DM_DELAY is not set -# CONFIG_DM_ERA is not set -# CONFIG_DM_FLAKEY is not set -# CONFIG_DM_LOG_USERSPACE is not set -# CONFIG_DM_MULTIPATH is not set -# CONFIG_DM_RAID is not set -# CONFIG_DM_SWITCH is not set -# CONFIG_DM_THIN_PROVISIONING is not set -# CONFIG_DM_UEVENT is not set -# CONFIG_DM_VERITY is not set -# CONFIG_DM_ZERO is not set -# CONFIG_DNET is not set -# CONFIG_DNOTIFY is not set -# CONFIG_DNS_RESOLVER is not set -CONFIG_DOUBLEFAULT=y -CONFIG_DQL=y -# CONFIG_DRAGONRISE_FF is not set -# CONFIG_DRM is not set -# CONFIG_DS1682 is not set -# CONFIG_DTLK is not set -# CONFIG_DUMMY is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_DVB_AU8522_V4L is not set -# CONFIG_DVB_CORE is not set -# CONFIG_DVB_DUMMY_FE is not set -# CONFIG_DVB_TUNER_DIB0070 is not set -# CONFIG_DVB_TUNER_DIB0090 is not set -# CONFIG_DW_DMAC is not set -# CONFIG_DW_WATCHDOG is not set -# CONFIG_DWC3_HOST_USB3_LPM_ENABLE is not set -# CONFIG_DX_SEP is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_E100 is not set -# CONFIG_E1000 is not set -# CONFIG_E1000E is not set -# CONFIG_E2100 is not set -# CONFIG_EARLY_PRINTK_8250 is not set -# CONFIG_EASYCAP is not set -# CONFIG_ECHO is not set -# CONFIG_ECONET is not set -# CONFIG_ECRYPT_FS is not set -# CONFIG_EDAC is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_DIGSY_MTC_CFG is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -# CONFIG_EEXPRESS is not set -# CONFIG_EEXPRESS_PRO is not set -CONFIG_EFI_PARTITION=y -# CONFIG_EFS_FS is not set -# CONFIG_ELF_CORE is not set -# CONFIG_EMAC_ROCKCHIP is not set -CONFIG_EMBEDDED=y -# CONFIG_EM_TIMER_STI is not set -# CONFIG_ENABLE_MUST_CHECK is not set -CONFIG_ENABLE_WARN_DEPRECATED=y -# CONFIG_ENC28J60 is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_ENCRYPTED_KEYS is not set -# CONFIG_ENIC is not set -# CONFIG_EPAPR_PARAVIRT is not set -# CONFIG_EPIC100 is not set -CONFIG_EPOLL=y -# CONFIG_EQUALIZER is not set -# CONFIG_ET131X is not set -# CONFIG_GATEWORKS_GW16083 is not set -# CONFIG_GLOB_SELFTEST is not set -# CONFIG_GS_FPGABOOT is not set -# CONFIG_ETH16I is not set -CONFIG_ETHERNET=y -# CONFIG_ETHOC is not set -CONFIG_EVENTFD=y -# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set -# CONFIG_EWRK3 is not set -CONFIG_EXPERIMENTAL=y -CONFIG_EXPERT=y -# CONFIG_EXPORTFS is not set -# CONFIG_EXT2_FS is not set -# CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS is not set -# CONFIG_EXT3_FS_XATTR is not set -# CONFIG_EXT4_DEBUG is not set -# CONFIG_EXT4_FS is not set -# CONFIG_EXT4_FS_POSIX_ACL is not set -# CONFIG_EXT4_FS_SECURITY is not set -CONFIG_EXT4_FS_XATTR=y -CONFIG_EXT4_USE_FOR_EXT23=y -# CONFIG_EXTCON is not set -CONFIG_EXTRA_FIRMWARE="" -CONFIG_EXTRA_TARGETS="" -# CONFIG_EXYNOS_ADC is not set -# CONFIG_EXYNOS_VIDEO is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_F2FS_FS is not set -# CONFIG_FAIR_GROUP_SCHED is not set -# CONFIG_FANOTIFY is not set -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_FAT_FS is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_FB is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_ARC is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_ARMCLCD is not set -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_ATY128 is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_BOOT_VESA_SUPPORT is not set -# CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_CARMINE is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_CYBER2000 is not set -# CONFIG_FB_DA8XX is not set -# CONFIG_FB_DDC is not set -# CONFIG_FB_FOREIGN_ENDIAN is not set -# CONFIG_FB_GEODE is not set -# CONFIG_FB_GOLDFISH is not set -# CONFIG_FB_HGA is not set -# CONFIG_FB_I740 is not set -# CONFIG_FB_IBM_GXT4500 is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_IMX is not set -# CONFIG_FB_KYRO is not set -# CONFIG_FB_LE80578 is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_MATROX is not set -# CONFIG_FB_MB862XX is not set -# CONFIG_FB_METRONOME is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_N411 is not set -# CONFIG_FB_NEOMAGIC is not set -# CONFIG_FB_NVIDIA is not set -# CONFIG_FB_OF is not set -# CONFIG_FB_OPENCORES is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_PS3 is not set -# CONFIG_FB_PXA is not set -# CONFIG_FB_RADEON is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_SM7XX is not set -# CONFIG_FB_SMSCUFX is not set -# CONFIG_FB_SSD1307 is not set -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_SYS_COPYAREA is not set -# CONFIG_FB_SYS_FILLRECT is not set -# CONFIG_FB_SYS_FOPS is not set -# CONFIG_FB_SYS_IMAGEBLIT is not set -# CONFIG_FB_TILEBLITTING is not set -# CONFIG_FB_TMIO is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_UDL is not set -# CONFIG_FB_UVESA is not set -# CONFIG_FB_VGA16 is not set -# CONFIG_FB_VIA is not set -# CONFIG_FB_VIRTUAL is not set -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_XGI is not set -# CONFIG_FCOE is not set -# CONFIG_FCOE_FNIC is not set -# CONFIG_FDDI is not set -# CONFIG_FEALNX is not set -# CONFIG_FENCE_TRACE is not set -# CONFIG_FHANDLE is not set -CONFIG_FIB_RULES=y -CONFIG_FILE_LOCKING=y -# CONFIG_FIREWIRE is not set -# CONFIG_FIREWIRE_NOSY is not set -# CONFIG_FIREWIRE_SERIAL is not set -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FIRMWARE_IN_KERNEL is not set -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_FIXED_PHY is not set -CONFIG_FLATMEM=y -CONFIG_FLATMEM_MANUAL=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_FM10K is not set -# CONFIG_FMC is not set -# CONFIG_FORCEDETH is not set -CONFIG_FORCE_MAX_ZONEORDER=11 -# CONFIG_FRAMEBUFFER_CONSOLE is not set -# CONFIG_FRAME_POINTER is not set -CONFIG_FRAME_WARN=1024 -# CONFIG_FREEZER is not set -# CONFIG_FRONTSWAP is not set -# CONFIG_FSCACHE is not set -# CONFIG_FSL_EDMA is not set -# CONFIG_FSL_XGMAC_MDIO is not set -CONFIG_FSNOTIFY=y -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_FT1000 is not set -# CONFIG_FTGMAC100 is not set -# CONFIG_FTL is not set -# CONFIG_FTMAC100 is not set -# CONFIG_FTRACE is not set -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_FTR_FIXUP_SELFTEST is not set -# CONFIG_FUJITSU_TABLET is not set -# CONFIG_FUNCTION_TRACER is not set -# CONFIG_FUSE_FS is not set -# CONFIG_FUSION is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set -# CONFIG_FUSION_SPI is not set -CONFIG_FUTEX=y -CONFIG_FW_LOADER=y -CONFIG_FW_LOADER_USER_HELPER=y -CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y -CONFIG_GACT_PROB=y -# CONFIG_GADGET_UAC1 is not set -# CONFIG_GAMEPORT is not set -# CONFIG_GCOV is not set -# CONFIG_GCOV_KERNEL is not set -# CONFIG_GENEVE is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -CONFIG_GENERIC_CALIBRATE_DELAY=y -# CONFIG_GENERIC_CPU_DEVICES is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_NET_UTILS=y -# CONFIG_GENERIC_PHY is not set -CONFIG_GENERIC_TIME=y -# CONFIG_GENWQE is not set -# CONFIG_GFS2_FS is not set -# CONFIG_GIGASET_CAPI is not set -# CONFIG_GIGASET_DEBUG is not set -# CONFIG_GP2AP020A00F is not set -# CONFIG_GPIOLIB is not set -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_AMD8111 is not set -# CONFIG_GPIO_BCM_KONA is not set -# CONFIG_GPIO_BT8XX is not set -# CONFIG_GPIO_CS5535 is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_EM is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_ICH is not set -# CONFIG_GPIO_IT8761E is not set -# CONFIG_GPIO_LANGWELL is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MAX732X is not set -# CONFIG_GPIO_MC33880 is not set -# CONFIG_GPIO_MCP23S08 is not set -# CONFIG_GPIO_ML_IOH is not set -# CONFIG_GPIO_PCA953X is not set -# CONFIG_GPIO_PCF857X is not set -# CONFIG_GPIO_PCH is not set -# CONFIG_GPIO_PL061 is not set -# CONFIG_GPIO_RCAR is not set -# CONFIG_GPIO_RDC321X is not set -# CONFIG_GPIO_SCH is not set -# CONFIG_GPIO_SCH311X is not set -# CONFIG_GPIO_SX150X is not set -# CONFIG_GPIO_SYSCON is not set -# CONFIG_GPIO_SYSFS is not set -# CONFIG_GPIO_TS5500 is not set -# CONFIG_GPIO_VX855 is not set -# CONFIG_GPIO_WATCHDOG is not set -# CONFIG_GPIO_WDT is not set -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_ZEVIO is not set -# CONFIG_GREENASIA_FF is not set -# CONFIG_HAMACHI is not set -# CONFIG_HAMRADIO is not set -# CONFIG_HAPPYMEAL is not set -# CONFIG_HARDLOCKUP_DETECTOR is not set -# CONFIG_HAVE_AOUT is not set -# CONFIG_HAVE_ARM_ARCH_TIMER is not set -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -# CONFIG_HCALL_STATS is not set -# CONFIG_HDLC is not set -# CONFIG_HDLC_CISCO is not set -# CONFIG_HDLC_FR is not set -# CONFIG_HDLC_PPP is not set -# CONFIG_HDLC_RAW is not set -# CONFIG_HDLC_RAW_ETH is not set -# CONFIG_HDQ_MASTER_OMAP is not set -# CONFIG_HEADERS_CHECK is not set -# CONFIG_HERMES is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_HFSPLUS_FS_POSIX_ACL is not set -# CONFIG_HFS_FS is not set -# CONFIG_HIBERNATION is not set -# CONFIG_HID is not set -# CONFIG_HIDRAW is not set -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_ACRUX_FF is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CP2112 is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GENERIC is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_GT683R is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_HUION is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_LENOVO_TPKBD is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_LOGITECH_DJ is not set -# CONFIG_HID_LOGITECH_HIDPP is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PENMOUNT is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PID is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_PRODIKEYS is not set -# CONFIG_HID_PS3REMOTE is not set -# CONFIG_HID_QUANTA is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_ROCCAT_ARVO is not set -# CONFIG_HID_ROCCAT_KONE is not set -# CONFIG_HID_ROCCAT_KONEPLUS is not set -# CONFIG_HID_ROCCAT_KOVAPLUS is not set -# CONFIG_HID_ROCCAT_PYRA is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_SUPPORT is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HIGHMEM is not set -CONFIG_HIGH_RES_TIMERS=y -# CONFIG_HIPPI is not set -# CONFIG_HIX5HD2_GMAC is not set -# CONFIG_HMC6352 is not set -# CONFIG_HOSTAP is not set -# CONFIG_HOSTAP_CS is not set -# CONFIG_HOSTAP_PCI is not set -# CONFIG_HOSTAP_PLX is not set -CONFIG_HOTPLUG=y -# CONFIG_HOTPLUG_CPU is not set -# CONFIG_HOTPLUG_PCI is not set -# CONFIG_HP100 is not set -CONFIG_HPET_MMAP_DEFAULT=y -# CONFIG_HPFS_FS is not set -# CONFIG_HPLAN is not set -# CONFIG_HPLAN_PLUS is not set -# CONFIG_HP_ILO is not set -# CONFIG_HP_WIRELESS is not set -# CONFIG_HSI is not set -# CONFIG_HSR is not set -# CONFIG_HTC_EGPIO is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_HUGETLB_PAGE is not set -# CONFIG_HVC_DCC is not set -# CONFIG_HVC_UDBG is not set -# CONFIG_HWMON is not set -# CONFIG_HWMON_DEBUG_CHIP is not set -# CONFIG_HWMON_VID is not set -# CONFIG_HWSPINLOCK_OMAP is not set -CONFIG_HW_PERF_EVENTS=y -# CONFIG_HW_RANDOM is not set -# CONFIG_HW_RANDOM_AMD is not set -# CONFIG_HW_RANDOM_ATMEL is not set -# CONFIG_HW_RANDOM_EXYNOS is not set -# CONFIG_HW_RANDOM_GEODE is not set -# CONFIG_HW_RANDOM_INTEL is not set -# CONFIG_HW_RANDOM_OMAP3_ROM is not set -# CONFIG_HW_RANDOM_PPC4XX is not set -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_HW_RANDOM_VIA is not set -# CONFIG_HYPERV is not set -# CONFIG_HYSDN is not set -CONFIG_HZ=100 -CONFIG_HZ_100=y -# CONFIG_HZ_1000 is not set -# CONFIG_HZ_1024 is not set -# CONFIG_HZ_128 is not set -# CONFIG_HZ_200 is not set -# CONFIG_HZ_250 is not set -# CONFIG_HZ_256 is not set -# CONFIG_HZ_300 is not set -# CONFIG_HZ_48 is not set -# CONFIG_HZ_500 is not set -# CONFIG_HZ_PERIODIC is not set -# CONFIG_I2C is not set -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCA is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_AU1550 is not set -# CONFIG_I2C_BCM2835 is not set -# CONFIG_I2C_CBUS_GPIO is not set -# CONFIG_I2C_CHARDEV is not set -# CONFIG_I2C_COMPAT is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DESIGNWARE is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set -# CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_EG20T is not set -# CONFIG_I2C_ELEKTOR is not set -# CONFIG_I2C_GPIO is not set -# CONFIG_I2C_HELPER_AUTO is not set -# CONFIG_I2C_HID is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_IBM_IIC is not set -# CONFIG_I2C_INTEL_MID is not set -# CONFIG_I2C_ISCH is not set -# CONFIG_I2C_ISMT is not set -# CONFIG_I2C_MPC is not set -# CONFIG_I2C_MUX is not set -# CONFIG_I2C_MUX_PINCTRL is not set -# CONFIG_I2C_MV64XXX is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_NOMADIK is not set -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_OCTEON is not set -# CONFIG_I2C_PARPORT is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PCA_ISA is not set -# CONFIG_I2C_PCA_PLATFORM is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_PXA_PCI is not set -# CONFIG_I2C_RCAR is not set -# CONFIG_I2C_RK3X is not set -# CONFIG_I2C_ROBOTFUZZ_OSIF is not set -# CONFIG_I2C_SCMI is not set -# CONFIG_I2C_SH_MOBILE is not set -# CONFIG_I2C_SIMTEC is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_SMBUS is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_TAOS_EVM is not set -# CONFIG_I2C_TINY_USB is not set -# CONFIG_I2C_VERSATILE is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_XILINX is not set -# CONFIG_I2O is not set -# CONFIG_I40E is not set -# CONFIG_I40EVF is not set -# CONFIG_I6300ESB_WDT is not set -# CONFIG_I82092 is not set -# CONFIG_I82365 is not set -# CONFIG_IBM_ASM is not set -# CONFIG_IBM_EMAC_DEBUG is not set -# CONFIG_IBM_EMAC_EMAC4 is not set -# CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_EMAC_MAL_COMMON_ERR is not set -# CONFIG_IBM_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IBM_EMAC_RGMII is not set -# CONFIG_IBM_EMAC_TAH is not set -# CONFIG_IBM_EMAC_ZMII is not set -# CONFIG_ICPLUS_PHY is not set -# CONFIG_ICS932S401 is not set -# CONFIG_IDE is not set -# CONFIG_IDEAPAD_LAPTOP is not set -# CONFIG_IDE_GD is not set -# CONFIG_IDE_PHISON is not set -# CONFIG_IDE_PROC_FS is not set -# CONFIG_IDE_TASK_IOCTL is not set -# CONFIG_IEEE802154 is not set -# CONFIG_IEEE802154_FAKEHARD is not set -# CONFIG_IFB is not set -# CONFIG_IGB is not set -# CONFIG_IGBVF is not set -# CONFIG_IIO is not set -# CONFIG_IIO_BUFFER_CB is not set -CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 -# CONFIG_IIO_GPIO_TRIGGER is not set -# CONFIG_IIO_INTERRUPT_TRIGGER is not set -# CONFIG_IIO_PERIODIC_RTC_TRIGGER is not set -# CONFIG_IIO_SIMPLE_DUMMY is not set -# CONFIG_IIO_ST_ACCEL_3AXIS is not set -# CONFIG_IIO_ST_GYRO_3AXIS is not set -# CONFIG_IIO_ST_MAGN_3AXIS is not set -# CONFIG_IIO_ST_PRESS is not set -# CONFIG_IIO_SYSFS_TRIGGER is not set -# CONFIG_IKCONFIG is not set -# CONFIG_IKCONFIG_PROC is not set -# CONFIG_IMAGE_CMDLINE_HACK is not set -# CONFIG_IMX_IPUV3_CORE is not set -CONFIG_INET=y -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_BEET is not set -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET6_XFRM_MODE_TUNNEL is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_DIAG is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_TCP_DIAG is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_UDP_DIAG is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INFINIBAND is not set -# CONFIG_INFTL is not set -# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set -# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set -# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set -CONFIG_INITRAMFS_COMPRESSION_NONE=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_INLINE_READ_LOCK is not set -# CONFIG_INLINE_READ_LOCK_BH is not set -# CONFIG_INLINE_READ_LOCK_IRQ is not set -# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set -# CONFIG_INLINE_READ_TRYLOCK is not set -CONFIG_INLINE_READ_UNLOCK=y -# CONFIG_INLINE_READ_UNLOCK_BH is not set -CONFIG_INLINE_READ_UNLOCK_IRQ=y -# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set -# CONFIG_INLINE_SPIN_LOCK is not set -# CONFIG_INLINE_SPIN_LOCK_BH is not set -# CONFIG_INLINE_SPIN_LOCK_IRQ is not set -# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set -# CONFIG_INLINE_SPIN_TRYLOCK is not set -# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set -CONFIG_INLINE_SPIN_UNLOCK=y -# CONFIG_INLINE_SPIN_UNLOCK_BH is not set -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set -# CONFIG_INLINE_WRITE_LOCK is not set -# CONFIG_INLINE_WRITE_LOCK_BH is not set -# CONFIG_INLINE_WRITE_LOCK_IRQ is not set -# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set -# CONFIG_INLINE_WRITE_TRYLOCK is not set -CONFIG_INLINE_WRITE_UNLOCK=y -# CONFIG_INLINE_WRITE_UNLOCK_BH is not set -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set -CONFIG_INOTIFY_USER=y -# CONFIG_INPUT is not set -# CONFIG_INPUT_AD714X is not set -# CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_APANEL is not set -# CONFIG_INPUT_ATI_REMOTE is not set -# CONFIG_INPUT_ATI_REMOTE2 is not set -# CONFIG_INPUT_ATLAS_BTNS is not set -# CONFIG_INPUT_BMA150 is not set -# CONFIG_INPUT_CM109 is not set -# CONFIG_INPUT_CMA3000 is not set -# CONFIG_INPUT_DRV260X_HAPTICS is not set -# CONFIG_INPUT_DRV2667_HAPTICS is not set -# CONFIG_INPUT_EVBUG is not set -# CONFIG_INPUT_EVDEV is not set -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_GP2A is not set -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set -# CONFIG_INPUT_GPIO_TILT_POLLED is not set -# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set -# CONFIG_INPUT_IMS_PCU is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_KEYSPAN_REMOTE is not set -# CONFIG_INPUT_KXTJ9 is not set -# CONFIG_INPUT_MATRIXKMAP is not set -CONFIG_INPUT_MISC=y -# CONFIG_INPUT_MMA8450 is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_MPU3050 is not set -# CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PCSPKR is not set -# CONFIG_INPUT_POLLDEV is not set -# CONFIG_INPUT_POWERMATE is not set -# CONFIG_INPUT_PWM_BEEPER is not set -# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_UINPUT is not set -# CONFIG_INPUT_WISTRON_BTNS is not set -# CONFIG_INPUT_YEALINK is not set -# CONFIG_INT340X_THERMAL is not set -# CONFIG_INTEL_IDLE is not set -# CONFIG_INTEL_MEI is not set -# CONFIG_INTEL_MEI_ME is not set -# CONFIG_INTEL_MEI_TXE is not set -# CONFIG_INTEL_MIC_CARD is not set -# CONFIG_INTEL_MIC_HOST is not set -# CONFIG_INTEL_MID_PTI is not set -# CONFIG_INTEL_OAKTRAIL is not set -# CONFIG_INTEL_RST is not set -# CONFIG_INTEL_SMARTCONNECT is not set -# CONFIG_INTEL_SOC_PMIC is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_INV_MPU6050_IIO is not set -# CONFIG_IOMMU_SUPPORT is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_NOOP=y -# CONFIG_IP1000 is not set -# CONFIG_IP17XX_PHY is not set -# CONFIG_IP6_NF_FILTER is not set -# CONFIG_IP6_NF_IPTABLES is not set -# CONFIG_IP6_NF_MANGLE is not set -# CONFIG_IP6_NF_MATCH_AH is not set -# CONFIG_IP6_NF_MATCH_EUI64 is not set -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_RPFILTER is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_NAT is not set -# CONFIG_IP6_NF_QUEUE is not set -# CONFIG_IP6_NF_RAW is not set -# CONFIG_IP6_NF_TARGET_HL is not set -# CONFIG_IP6_NF_TARGET_LOG is not set -# CONFIG_IP6_NF_TARGET_REJECT is not set -# CONFIG_IP6_NF_TARGET_SYNPROXY is not set -# CONFIG_IPACK_BUS is not set -# CONFIG_IPC_NS is not set -# CONFIG_IPMI_HANDLER is not set -# CONFIG_IPV6 is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_IPV6_MROUTE is not set -# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set -# CONFIG_IPV6_MULTIPLE_TABLES is not set -CONFIG_IPV6_NDISC_NODETYPE=y -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -# CONFIG_IPV6_PRIVACY is not set -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_ROUTE_INFO is not set -# CONFIG_IPV6_SIT is not set -# CONFIG_IPV6_SIT_6RD is not set -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_IPV6_VTI is not set -# CONFIG_IPW2100 is not set -# CONFIG_IPW2100_DEBUG is not set -CONFIG_IPW2100_MONITOR=y -# CONFIG_IPW2200 is not set -# CONFIG_IPW2200_DEBUG is not set -CONFIG_IPW2200_MONITOR=y -# CONFIG_IPW2200_PROMISCUOUS is not set -# CONFIG_IPW2200_QOS is not set -# CONFIG_IPW2200_RADIOTAP is not set -# CONFIG_IPWIRELESS is not set -# CONFIG_IPX is not set -CONFIG_IP_ADVANCED_ROUTER=y -# CONFIG_IP_DCCP is not set -# CONFIG_IP_FIB_TRIE_STATS is not set -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_MULTIPLE_TABLES=y -# CONFIG_IP_NF_ARPFILTER is not set -# CONFIG_IP_NF_ARPTABLES is not set -# CONFIG_IP_NF_ARP_MANGLE is not set -# CONFIG_IP_NF_FILTER is not set -# CONFIG_IP_NF_IPTABLES is not set -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_RPFILTER is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_QUEUE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_SECURITY is not set -# CONFIG_IP_NF_TARGET_CLUSTERIP is not set -# CONFIG_IP_NF_TARGET_ECN is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_MASQUERADE is not set -# CONFIG_IP_NF_TARGET_NETMAP is not set -# CONFIG_IP_NF_TARGET_REDIRECT is not set -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_SYNPROXY is not set -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_PIMSM_V1 is not set -# CONFIG_IP_PIMSM_V2 is not set -# CONFIG_IP_PNP is not set -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -# CONFIG_IP_SCTP is not set -# CONFIG_IP_SET is not set -# CONFIG_IP_VS is not set -# CONFIG_IRDA is not set -# CONFIG_IRQSOFF_TRACER is not set -# CONFIG_IRQ_ALL_CPUS is not set -# CONFIG_IRQ_DOMAIN_DEBUG is not set -# CONFIG_IRQ_TIME_ACCOUNTING is not set -# CONFIG_IR_GPIO_CIR is not set -# CONFIG_IR_HIX5HD2 is not set -# CONFIG_IR_IGUANA is not set -# CONFIG_IR_IMG is not set -# CONFIG_IR_IMON is not set -# CONFIG_IR_JVC_DECODER is not set -# CONFIG_IR_LIRC_CODEC is not set -# CONFIG_IR_MCEUSB is not set -# CONFIG_IR_NEC_DECODER is not set -# CONFIG_IR_RC5_DECODER is not set -# CONFIG_IR_RC5_SZ_DECODER is not set -# CONFIG_IR_RC6_DECODER is not set -# CONFIG_IR_REDRAT3 is not set -# CONFIG_IR_SONY_DECODER is not set -# CONFIG_IR_STREAMZAP is not set -# CONFIG_IR_TTUSBIR is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_ISCSI_TCP is not set -CONFIG_ISDN=y -# CONFIG_ISDN_AUDIO is not set -# CONFIG_ISDN_CAPI is not set -# CONFIG_ISDN_CAPI_CAPIDRV is not set -# CONFIG_ISDN_DIVERSION is not set -# CONFIG_ISDN_DRV_ACT2000 is not set -# CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set -# CONFIG_ISDN_DRV_GIGASET is not set -# CONFIG_ISDN_DRV_HISAX is not set -# CONFIG_ISDN_DRV_ICN is not set -# CONFIG_ISDN_DRV_LOOP is not set -# CONFIG_ISDN_DRV_PCBIT is not set -# CONFIG_ISDN_DRV_SC is not set -# CONFIG_ISDN_I4L is not set -# CONFIG_ISL29003 is not set -# CONFIG_ISL29020 is not set -# CONFIG_ISL29125 is not set -# CONFIG_ISO9660_FS is not set -# CONFIG_ISS4xx is not set -# CONFIG_ITG3200 is not set -# CONFIG_IWL3945 is not set -# CONFIG_IWLAGN is not set -# CONFIG_IWLWIFI is not set -# CONFIG_IWMC3200TOP is not set -# CONFIG_IXGB is not set -# CONFIG_IXGBE is not set -# CONFIG_IXGBEVF is not set -# CONFIG_JBD is not set -# CONFIG_JBD2_DEBUG is not set -# CONFIG_JBD_DEBUG is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -# CONFIG_JFFS2_FS_POSIX_ACL is not set -# CONFIG_JFFS2_FS_SECURITY is not set -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_LZMA=y -# CONFIG_JFFS2_LZO is not set -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_ZLIB is not set -# CONFIG_JFS_DEBUG is not set -# CONFIG_JFS_FS is not set -# CONFIG_JFS_POSIX_ACL is not set -# CONFIG_JFS_SECURITY is not set -# CONFIG_JFS_STATISTICS is not set -# CONFIG_JME is not set -CONFIG_JOLIET=y -# CONFIG_JUMP_LABEL is not set -# CONFIG_KALLSYMS is not set -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_UNCOMPRESSED is not set -# CONFIG_KARMA_PARTITION is not set -# CONFIG_KERNEL_BZIP2 is not set -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_LZ4 is not set -# CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_LZO is not set -CONFIG_KERNEL_MODE_NEON=y -CONFIG_KERNEL_XZ=y -CONFIG_KERNFS=y -# CONFIG_KEXEC is not set -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_CAP1106 is not set -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_OPENCORES is not set -# CONFIG_KEYBOARD_PXA27x is not set -# CONFIG_KEYBOARD_QT1070 is not set -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_SH_KEYSC is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYS is not set -# CONFIG_KEYS_DEBUG_PROC_KEYS is not set -# CONFIG_KGDB is not set -# CONFIG_KMEMCHECK is not set -# CONFIG_KPROBES is not set -# CONFIG_KPROBES_SANITY_TEST is not set -# CONFIG_KS8842 is not set -# CONFIG_KS8851 is not set -# CONFIG_KS8851_MLL is not set -# CONFIG_KSM is not set -# CONFIG_KSZ884X_PCI is not set -CONFIG_KUSER_HELPERS=y -# CONFIG_KVM_GUEST is not set -# CONFIG_KXCJK1013 is not set -# CONFIG_KXSD9 is not set -# CONFIG_L2TP is not set -# CONFIG_L2TP_ETH is not set -# CONFIG_L2TP_IP is not set -# CONFIG_L2TP_V3 is not set -# CONFIG_LANMEDIA is not set -# CONFIG_LANTIQ is not set -# CONFIG_LAPB is not set -# CONFIG_LASAT is not set -# CONFIG_LATENCYTOP is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -CONFIG_LBDAF=y -# CONFIG_LCD_HX8357 is not set -# CONFIG_LCD_ILI922X is not set -# CONFIG_LCD_ILI9320 is not set -# CONFIG_LCD_LMS501KF03 is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_LEDS_ATMEL_PWM is not set -# CONFIG_LEDS_BD2802 is not set -# CONFIG_LEDS_BLINKM is not set -CONFIG_LEDS_CLASS=y -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_GPIO is not set -CONFIG_LEDS_GPIO_OF=y -CONFIG_LEDS_GPIO_PLATFORM=y -# CONFIG_LEDS_INTEL_SS4200 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3556 is not set -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LP3944 is not set -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LT3593 is not set -# CONFIG_LEDS_NET5501 is not set -# CONFIG_LEDS_OT200 is not set -# CONFIG_LEDS_PCA9532 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA9633 is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_PCA9685 is not set -# CONFIG_LEDS_PWM is not set -# CONFIG_LEDS_RENESAS_TPU is not set -# CONFIG_LEDS_SYSCON is not set -# CONFIG_LEDS_TCA6507 is not set -CONFIG_LEDS_TRIGGERS=y -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_LEDS_TRIGGER_CPU is not set -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -# CONFIG_LEDS_TRIGGER_GPIO is not set -# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set -# CONFIG_LEDS_TRIGGER_IDE_DISK is not set -# CONFIG_LEDS_TRIGGER_MORSE is not set -CONFIG_LEDS_TRIGGER_NETDEV=y -# CONFIG_LEDS_TRIGGER_ONESHOT is not set -CONFIG_LEDS_TRIGGER_TIMER=y -# CONFIG_LEDS_TRIGGER_TRANSIENT is not set -# CONFIG_LEDS_TRIGGER_USBDEV is not set -# CONFIG_LEGACY_PTYS is not set -# CONFIG_LIB80211 is not set -# CONFIG_LIB80211_CRYPT_CCMP is not set -# CONFIG_LIB80211_CRYPT_TKIP is not set -# CONFIG_LIB80211_CRYPT_WEP is not set -# CONFIG_LIB80211_DEBUG is not set -# CONFIG_LIBCRC32C is not set -# CONFIG_LIBERTAS is not set -# CONFIG_LIBERTAS_THINFIRM is not set -# CONFIG_LIBERTAS_USB is not set -# CONFIG_LIBFC is not set -# CONFIG_LIBFCOE is not set -# CONFIG_LIBIPW_DEBUG is not set -# CONFIG_LINE6_USB is not set -# CONFIG_LIRC_STAGING is not set -# CONFIG_LIS3L02DQ is not set -# CONFIG_LKDTM is not set -CONFIG_LLC=y -# CONFIG_LLC2 is not set -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_LOCKD is not set -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_LOCKD_V4=y -# CONFIG_LOCKUP_DETECTOR is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_LOGFS is not set -# CONFIG_LOGIG940_FF is not set -# CONFIG_LOGIRUMBLEPAD2_FF is not set -# CONFIG_LOGITECH_FF is not set -# CONFIG_LOGIWHEELS_FF is not set -# CONFIG_LOGO is not set -CONFIG_LOG_BUF_SHIFT=17 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -# CONFIG_LOONGSON_MC146818 is not set -# CONFIG_LP486E is not set -# CONFIG_LPC_ICH is not set -# CONFIG_LPC_SCH is not set -# CONFIG_LP_CONSOLE is not set -# CONFIG_LSI_ET1011C_PHY is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_LTR501 is not set -# CONFIG_LTPC is not set -# CONFIG_LUSTRE_FS is not set -# CONFIG_LXT_PHY is not set -CONFIG_LZMA_COMPRESS=y -CONFIG_LZMA_DECOMPRESS=y -# CONFIG_LZO_COMPRESS is not set -# CONFIG_LZO_DECOMPRESS is not set -# CONFIG_LZ4_COMPRESS is not set -# CONFIG_LZ4_DECOMPRESS is not set -# CONFIG_LZ4HC_COMPRESS is not set -# CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE is not set -# CONFIG_MAC80211 is not set -# CONFIG_MAC80211_MESSAGE_TRACING is not set -# CONFIG_MACB is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_JZ4740 is not set -# CONFIG_MACH_LOONGSON is not set -# CONFIG_MACH_LOONGSON1 is not set -# CONFIG_MACH_NO_WESTBRIDGE is not set -# CONFIG_MACH_TX39XX is not set -# CONFIG_MACH_TX49XX is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_MACINTOSH_DRIVERS is not set -# CONFIG_MACVLAN is not set -# CONFIG_MACVTAP is not set -# CONFIG_MAC_EMUMOUSEBTN is not set -# CONFIG_MAC_PARTITION is not set -# CONFIG_MAG3110 is not set -# CONFIG_MAGIC_SYSRQ is not set -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 -# CONFIG_MAILBOX is not set -# CONFIG_MANGLE_BOOTARGS is not set -# CONFIG_MARVELL_PHY is not set -# CONFIG_MAX1027 is not set -# CONFIG_MAX1363 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX5821 is not set -# CONFIG_MAX63XX_WATCHDOG is not set -# CONFIG_MCB is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCP4922 is not set -# CONFIG_MCPM is not set -# CONFIG_MD is not set -# CONFIG_MDIO_BCM_UNIMAC is not set -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -# CONFIG_MD_FAULTY is not set -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_ATTACH is not set -# CONFIG_MEDIA_CAMERA_SUPPORT is not set -# CONFIG_MEDIA_CONTROLLER is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_PARPORT_SUPPORT is not set -# CONFIG_MEDIA_PCI_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_RC_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set -# CONFIG_MEDIA_SUPPORT is not set -# CONFIG_MEDIA_TUNER_CUSTOMISE is not set -# CONFIG_MEDIA_USB_SUPPORT is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_MEMORY is not set -# CONFIG_MEMORY_FAILURE is not set -# CONFIG_MEMSTICK is not set -# CONFIG_MEN_A21_WDT is not set -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_MFD_88PM800 is not set -# CONFIG_MFD_88PM805 is not set -# CONFIG_MFD_88PM860X is not set -# CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_AS3722 is not set -# CONFIG_MFD_ASIC3 is not set -# CONFIG_MFD_AXP20X is not set -# CONFIG_MFD_BCM590XX is not set -# CONFIG_MFD_CORE is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_CS5535 is not set -# CONFIG_MFD_DA9052_I2C is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_DA9055 is not set -# CONFIG_MFD_DA9063 is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_MFD_JANZ_CMODIO is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_LP3943 is not set -# CONFIG_MFD_LP8788 is not set -# CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX8907 is not set -# CONFIG_MFD_MAX8925 is not set -# CONFIG_MFD_MAX8997 is not set -# CONFIG_MFD_MAX8998 is not set -# CONFIG_MFD_MC13783 is not set -# CONFIG_MFD_MC13XXX is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_MFD_OMAP_USB_HOST is not set -# CONFIG_MFD_PALMAS is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_PM8921_CORE is not set -# CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_RK808 is not set -# CONFIG_MFD_RN5T618 is not set -# CONFIG_MFD_RTSX_PCI is not set -# CONFIG_MFD_RTSX_USB is not set -# CONFIG_MFD_S5M_CORE is not set -# CONFIG_MFD_SEC_CORE is not set -# CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_MFD_SMSC is not set -# CONFIG_MFD_STMPE is not set -CONFIG_MFD_SUPPORT=y -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_T7L66XB is not set -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TC6387XB is not set -# CONFIG_MFD_TC6393XB is not set -# CONFIG_MFD_TIMBERDALE is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TMIO is not set -# CONFIG_MFD_TPS65090 is not set -# CONFIG_MFD_TPS65217 is not set -# CONFIG_MFD_TPS65218 is not set -# CONFIG_MFD_TPS6586X is not set -# CONFIG_MFD_TPS65910 is not set -# CONFIG_MFD_TPS65912 is not set -# CONFIG_MFD_TPS65912_I2C is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_VX855 is not set -# CONFIG_MFD_WL1273_CORE is not set -# CONFIG_MFD_WM831X is not set -# CONFIG_MFD_WM831X_I2C is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM8994 is not set -# CONFIG_MG_DISK is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_MICREL_PHY is not set -# CONFIG_MIGRATION is not set -CONFIG_MII=y -# CONFIG_MIKROTIK_RB532 is not set -# CONFIG_MINIX_FS is not set -# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_MIPS_ALCHEMY is not set -# CONFIG_MIPS_COBALT is not set -# CONFIG_MIPS_FPU_EMULATOR is not set -# CONFIG_MIPS_MALTA is not set -# CONFIG_MIPS_O32_FP64_SUPPORT is not set -# CONFIG_MIPS_PARAVIRT is not set -# CONFIG_MIPS_SEAD3 is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MISC_DEVICES=y -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_MISDN is not set -# CONFIG_MISDN_AVMFRITZ is not set -# CONFIG_MISDN_HFCPCI is not set -# CONFIG_MISDN_HFCUSB is not set -# CONFIG_MISDN_INFINEON is not set -# CONFIG_MISDN_NETJET is not set -# CONFIG_MISDN_SPEEDFAX is not set -# CONFIG_MISDN_W6692 is not set -# CONFIG_MKISS is not set -# CONFIG_MLX4_CORE is not set -# CONFIG_MLX4_EN is not set -# CONFIG_MLX5_CORE is not set -# CONFIG_MLX90614 is not set -# CONFIG_MMA8452 is not set -# CONFIG_MMC is not set -# CONFIG_MMC_ARMMMCI is not set -# CONFIG_MMC_AU1X is not set -# CONFIG_MMC_BLOCK is not set -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_MMC_BLOCK_MINORS=8 -# CONFIG_MMC_CB710 is not set -# CONFIG_MMC_CLKGATE is not set -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_DW is not set -# CONFIG_MMC_MVSDIO is not set -# CONFIG_MMC_S3C is not set -# CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_SDHCI_ACPI is not set -# CONFIG_MMC_SDHCI_BCM_KONA is not set -# CONFIG_MMC_SDHCI_MSM is not set -# CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_ESDHC is not set -# CONFIG_MMC_SDHCI_OF_HLWD is not set -# CONFIG_MMC_SDHCI_PXAV2 is not set -# CONFIG_MMC_SDHCI_PXAV3 is not set -# CONFIG_MMC_SDRICOH_CS is not set -# CONFIG_MMC_SPI is not set -# CONFIG_MMC_TEST is not set -# CONFIG_MMC_UNSAFE_RESUME is not set -# CONFIG_MMC_USDHI6ROL0 is not set -# CONFIG_MMC_USHC is not set -# CONFIG_MMC_VIA_SDMMC is not set -# CONFIG_MMC_VUB300 is not set -# CONFIG_MMIOTRACE is not set -CONFIG_MMU=y -CONFIG_MODULES=y -# CONFIG_MODULE_COMPRESS is not set -# CONFIG_MODULE_FORCE_LOAD is not set -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_MODULE_STRIPPED=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MOUSE_APPLETOUCH is not set -# CONFIG_MOUSE_GPIO is not set -# CONFIG_MOUSE_INPORT is not set -# CONFIG_MOUSE_LOGIBM is not set -# CONFIG_MOUSE_PC110PAD is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_SYNAPTICS_I2C is not set -# CONFIG_MOUSE_SYNAPTICS_USB is not set -# CONFIG_MPL115 is not set -# CONFIG_MPL3115 is not set -# CONFIG_MSDOS_FS is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_MSI_BITMAP_SELFTEST is not set -# CONFIG_MSI_LAPTOP is not set -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_AFS_PARTS is not set -# CONFIG_MTD_ALAUDA is not set -# CONFIG_MTD_AR7_PARTS is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_MTD_BLOCK2MTD is not set -CONFIG_MTD_CFI=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set -CONFIG_MTD_CFI_NOSWAP=y -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -# CONFIG_MTD_DOCG3 is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_GPIO_ADDR is not set -# CONFIG_MTD_INTEL_VR_NOR is not set -# CONFIG_MTD_JEDECPROBE is not set -# CONFIG_MTD_LATCH_ADDR is not set -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_LPDDR2_NVM is not set -# CONFIG_MTD_M25P80 is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_MYLOADER_PARTS is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_NAND_AMS_DELTA is not set -# CONFIG_MTD_NAND_AR934X is not set -# CONFIG_MTD_NAND_AR934X_HW_ECC is not set -# CONFIG_MTD_NAND_ATMEL is not set -# CONFIG_MTD_NAND_AU1550 is not set -# CONFIG_MTD_NAND_AUTCPU12 is not set -# CONFIG_MTD_NAND_BCH is not set -# CONFIG_MTD_NAND_BCM_UMI is not set -# CONFIG_MTD_NAND_BF5XX is not set -# CONFIG_MTD_NAND_CAFE is not set -# CONFIG_MTD_NAND_CM_X270 is not set -# CONFIG_MTD_NAND_CS553X is not set -# CONFIG_MTD_NAND_DAVINCI is not set -# CONFIG_MTD_NAND_DENALI is not set -CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xff108018 -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_DOCG4 is not set -# CONFIG_MTD_NAND_ECC is not set -# CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -# CONFIG_MTD_NAND_FSL_ELBC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set -# CONFIG_MTD_NAND_FSL_UPM is not set -# CONFIG_MTD_NAND_FSMC is not set -# CONFIG_MTD_NAND_GPIO is not set -# CONFIG_MTD_NAND_GPMI_NAND is not set -# CONFIG_MTD_NAND_H1900 is not set -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_NAND_JZ4740 is not set -# CONFIG_MTD_NAND_MPC5121_NFC is not set -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -# CONFIG_MTD_NAND_MXC is not set -# CONFIG_MTD_NAND_NANDSIM is not set -# CONFIG_MTD_NAND_NDFC is not set -# CONFIG_MTD_NAND_NOMADIK is not set -# CONFIG_MTD_NAND_NUC900 is not set -# CONFIG_MTD_NAND_OMAP2 is not set -# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set -# CONFIG_MTD_NAND_ORION is not set -# CONFIG_MTD_NAND_PASEMI is not set -# CONFIG_MTD_NAND_PLATFORM is not set -# CONFIG_MTD_NAND_PPCHAMELEONEVB is not set -# CONFIG_MTD_NAND_PXA3xx is not set -# CONFIG_MTD_NAND_RB4XX is not set -# CONFIG_MTD_NAND_RB750 is not set -# CONFIG_MTD_NAND_RICOH is not set -# CONFIG_MTD_NAND_RTC_FROM4 is not set -# CONFIG_MTD_NAND_S3C2410 is not set -# CONFIG_MTD_NAND_SHARPSL is not set -# CONFIG_MTD_NAND_SH_FLCTL is not set -# CONFIG_MTD_NAND_SOCRATES is not set -# CONFIG_MTD_NAND_SPIA is not set -# CONFIG_MTD_NAND_TMIO is not set -# CONFIG_MTD_NAND_TXX9NDFMC is not set -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -CONFIG_MTD_OF_PARTS=y -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_OTP is not set -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PCMCIA is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_PHYSMAP_COMPAT is not set -CONFIG_MTD_PHYSMAP_OF=y -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_RAM is not set -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_ROM is not set -CONFIG_MTD_ROOTFS_ROOT_DEV=y -CONFIG_MTD_ROOTFS_SPLIT=y -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_SM_COMMON is not set -# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set -# CONFIG_MTD_SPI_NOR is not set -# CONFIG_MTD_SPINAND_MT29F is not set -CONFIG_MTD_SPLIT=y -# CONFIG_MTD_SPLIT_FIRMWARE is not set -CONFIG_MTD_SPLIT_FIRMWARE_NAME="firmware" -# CONFIG_MTD_SPLIT_FIT_FW is not set -# CONFIG_MTD_SPLIT_LZMA_FW is not set -# CONFIG_MTD_SPLIT_SEAMA_FW is not set -CONFIG_MTD_SPLIT_SQUASHFS_ROOT=y -CONFIG_MTD_SPLIT_SUPPORT=y -# CONFIG_MTD_SPLIT_TRX_FW is not set -# CONFIG_MTD_SPLIT_TPLINK_FW is not set -# CONFIG_MTD_SPLIT_UIMAGE_FW is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_UBI is not set -# CONFIG_MTD_UIMAGE_SPLIT is not set -# CONFIG_MUTEX_SPIN_ON_OWNER is not set -# CONFIG_MV643XX_ETH is not set -# CONFIG_MVMDIO is not set -# CONFIG_MVSW61XX_PHY is not set -# CONFIG_MVSW6171_PHY is not set -# CONFIG_MVSWITCH_PHY is not set -# CONFIG_MWAVE is not set -# CONFIG_MWIFIEX is not set -# CONFIG_MWL8K is not set -# CONFIG_MYRI10GE is not set -# CONFIG_NAMESPACES is not set -# CONFIG_NATIONAL_PHY is not set -# CONFIG_NATSEMI is not set -# CONFIG_NAU7802 is not set -# CONFIG_NBPFAXI_DMA is not set -# CONFIG_NCP_FS is not set -# CONFIG_NE2000 is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_NEC_MARKEINS is not set -CONFIG_NET=y -# CONFIG_NETCONSOLE is not set -CONFIG_NETDEVICES=y -CONFIG_NETDEV_1000=y -# CONFIG_NETDEV_10000 is not set -# CONFIG_NETFILTER is not set -# CONFIG_NETFILTER_ADVANCED is not set -# CONFIG_NETFILTER_DEBUG is not set -# CONFIG_NETFILTER_NETLINK is not set -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set -# CONFIG_NETFILTER_TPROXY is not set -# CONFIG_NETFILTER_XTABLES is not set -# CONFIG_NETFILTER_XT_CONNMARK is not set -# CONFIG_NETFILTER_XT_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set -# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ECN is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_HELPER is not set -# CONFIG_NETFILTER_XT_MATCH_HL is not set -# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set -# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set -# CONFIG_NETFILTER_XT_MATCH_L2TP is not set -# CONFIG_NETFILTER_XT_MATCH_LAYER7 is not set -# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OSF is not set -# CONFIG_NETFILTER_XT_MATCH_OWNER is not set -# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_RECENT is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set -# CONFIG_NETFILTER_XT_MATCH_STATE is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_TIME is not set -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set -# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set -# CONFIG_NETFILTER_XT_TARGET_CT is not set -# CONFIG_NETFILTER_XT_TARGET_DSCP is not set -# CONFIG_NETFILTER_XT_TARGET_HL is not set -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -# CONFIG_NETFILTER_XT_TARGET_LED is not set -# CONFIG_NETFILTER_XT_TARGET_LOG is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set -# CONFIG_NETFILTER_XT_TARGET_TEE is not set -# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set -# CONFIG_NETFILTER_XT_TARGET_TRACE is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_NETLINK_MMAP is not set -# CONFIG_NETPOLL is not set -# CONFIG_NETROM is not set -CONFIG_NETWORK_FILESYSTEMS=y -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -# CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETXEN_NIC is not set -# CONFIG_NET_9P is not set -# CONFIG_NET_ACT_CSUM is not set -# CONFIG_NET_ACT_GACT is not set -# CONFIG_NET_ACT_IPT is not set -# CONFIG_NET_ACT_MIRRED is not set -# CONFIG_NET_ACT_NAT is not set -# CONFIG_NET_ACT_PEDIT is not set -# CONFIG_NET_ACT_POLICE is not set -# CONFIG_NET_ACT_SIMP is not set -# CONFIG_NET_ACT_SKBEDIT is not set -CONFIG_NET_CADENCE=y -# CONFIG_NET_CALXEDA_XGMAC is not set -CONFIG_NET_CLS=y -# CONFIG_NET_CLS_ACT is not set -# CONFIG_NET_CLS_BASIC is not set -# CONFIG_NET_CLS_BPF is not set -# CONFIG_NET_CLS_FLOW is not set -# CONFIG_NET_CLS_FW is not set -CONFIG_NET_CLS_IND=y -# CONFIG_NET_CLS_ROUTE4 is not set -# CONFIG_NET_CLS_RSVP is not set -# CONFIG_NET_CLS_RSVP6 is not set -# CONFIG_NET_CLS_TCINDEX is not set -# CONFIG_NET_CLS_U32 is not set -CONFIG_NET_CORE=y -# CONFIG_NET_DROP_MONITOR is not set -# CONFIG_NET_DSA is not set -# CONFIG_NET_DSA_BCM_SF2 is not set -# CONFIG_NET_DSA_MV88E6060 is not set -# CONFIG_NET_DSA_MV88E6123_61_65 is not set -# CONFIG_NET_DSA_MV88E6131 is not set -# CONFIG_NET_DSA_MV88E6171 is not set -# CONFIG_NET_DSA_MV88E6XXX is not set -# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set -# CONFIG_NET_DSA_TAG_DSA is not set -# CONFIG_NET_DSA_TAG_EDSA is not set -# CONFIG_NET_EMATCH is not set -# CONFIG_NET_EMATCH_CMP is not set -# CONFIG_NET_EMATCH_META is not set -# CONFIG_NET_EMATCH_NBYTE is not set -CONFIG_NET_EMATCH_STACK=32 -# CONFIG_NET_EMATCH_TEXT is not set -# CONFIG_NET_EMATCH_U32 is not set -CONFIG_NET_ETHERNET=y -# CONFIG_NET_FC is not set -# CONFIG_NET_FOU is not set -# CONFIG_NET_IPGRE is not set -CONFIG_NET_IPGRE_BROADCAST=y -# CONFIG_NET_IPGRE_DEMUX is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPVTI is not set -# CONFIG_NET_IP_TUNNEL is not set -# CONFIG_NET_ISA is not set -# CONFIG_NET_KEY is not set -# CONFIG_NET_KEY_MIGRATE is not set -# CONFIG_NET_MPLS_GSO is not set -# CONFIG_NET_PACKET_ENGINE is not set -CONFIG_NET_PCI=y -# CONFIG_NET_PCMCIA is not set -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_POCKET is not set -# CONFIG_NET_POLL_CONTROLLER is not set -# CONFIG_NET_PTP_CLASSIFY is not set -CONFIG_NET_RX_BUSY_POLL=y -# CONFIG_NET_SB1000 is not set -CONFIG_NET_SCHED=y -# CONFIG_NET_SCH_ATM is not set -# CONFIG_NET_SCH_CBQ is not set -# CONFIG_NET_SCH_CHOKE is not set -# CONFIG_NET_SCH_CODEL is not set -# CONFIG_NET_SCH_DRR is not set -# CONFIG_NET_SCH_DSMARK is not set -# CONFIG_NET_SCH_ESFQ is not set -CONFIG_NET_SCH_ESFQ_NFCT=y -CONFIG_NET_SCH_FIFO=y -# CONFIG_NET_SCH_FQ is not set -CONFIG_NET_SCH_FQ_CODEL=y -# CONFIG_NET_SCH_GRED is not set -# CONFIG_NET_SCH_HFSC is not set -# CONFIG_NET_SCH_HHF is not set -# CONFIG_NET_SCH_HTB is not set -# CONFIG_NET_SCH_INGRESS is not set -# CONFIG_NET_SCH_MQPRIO is not set -# CONFIG_NET_SCH_MULTIQ is not set -# CONFIG_NET_SCH_NETEM is not set -# CONFIG_NET_SCH_PIE is not set -# CONFIG_NET_SCH_PLUG is not set -# CONFIG_NET_SCH_PRIO is not set -# CONFIG_NET_SCH_QFQ is not set -# CONFIG_NET_SCH_RED is not set -# CONFIG_NET_SCH_SFB is not set -# CONFIG_NET_SCH_SFQ is not set -# CONFIG_NET_SCH_TBF is not set -# CONFIG_NET_SCH_TEQL is not set -# CONFIG_NET_TCPPROBE is not set -# CONFIG_NET_TEAM is not set -# CONFIG_NET_TULIP is not set -# CONFIG_NET_UDP_TUNNEL is not set -CONFIG_NET_VENDOR_3COM=y -CONFIG_NET_VENDOR_8390=y -CONFIG_NET_VENDOR_ADAPTEC=y -CONFIG_NET_VENDOR_AGERE=y -CONFIG_NET_VENDOR_ALTEON=y -CONFIG_NET_VENDOR_AMD=y -CONFIG_NET_VENDOR_ARC=y -CONFIG_NET_VENDOR_ATHEROS=y -CONFIG_NET_VENDOR_BROADCOM=y -CONFIG_NET_VENDOR_BROCADE=y -CONFIG_NET_VENDOR_CHELSIO=y -CONFIG_NET_VENDOR_CIRRUS=y -CONFIG_NET_VENDOR_CISCO=y -CONFIG_NET_VENDOR_DEC=y -CONFIG_NET_VENDOR_DLINK=y -CONFIG_NET_VENDOR_EMULEX=y -CONFIG_NET_VENDOR_EXAR=y -CONFIG_NET_VENDOR_FARADAY=y -CONFIG_NET_VENDOR_FREESCALE=y -CONFIG_NET_VENDOR_FUJITSU=y -CONFIG_NET_VENDOR_HISILICON=y -CONFIG_NET_VENDOR_HP=y -CONFIG_NET_VENDOR_I825XX=y -CONFIG_NET_VENDOR_IBM=y -CONFIG_NET_VENDOR_INTEL=y -CONFIG_NET_VENDOR_MARVELL=y -CONFIG_NET_VENDOR_MELLANOX=y -CONFIG_NET_VENDOR_MICREL=y -CONFIG_NET_VENDOR_MICROCHIP=y -CONFIG_NET_VENDOR_MYRI=y -CONFIG_NET_VENDOR_NATSEMI=y -CONFIG_NET_VENDOR_NVIDIA=y -CONFIG_NET_VENDOR_OKI=y -CONFIG_NET_VENDOR_QLOGIC=y -CONFIG_NET_VENDOR_QUALCOMM=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_NET_VENDOR_REALTEK=y -CONFIG_NET_VENDOR_SAMSUNG=y -CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -CONFIG_NET_VENDOR_SILICOM=y -CONFIG_NET_VENDOR_SIS=y -CONFIG_NET_VENDOR_SMSC=y -CONFIG_NET_VENDOR_STMICRO=y -CONFIG_NET_VENDOR_SUN=y -CONFIG_NET_VENDOR_TEHUTI=y -CONFIG_NET_VENDOR_TI=y -CONFIG_NET_VENDOR_TOSHIBA=y -CONFIG_NET_VENDOR_VIA=y -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_NET_VENDOR_XILINX=y -CONFIG_NET_VENDOR_XIRCOM=y -# CONFIG_NET_XGENE is not set -CONFIG_NEW_LEDS=y -# CONFIG_NFC is not set -# CONFIG_NFC_DEVICES is not set -# CONFIG_NFSD is not set -# CONFIG_NFSD_DEPRECATED is not set -# CONFIG_NFSD_V2_ACL is not set -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -# CONFIG_NFSD_V4 is not set -# CONFIG_NFS_ACL_SUPPORT is not set -CONFIG_NFS_COMMON=y -# CONFIG_NFS_FS is not set -# CONFIG_NFS_FSCACHE is not set -# CONFIG_NFS_SWAP is not set -# CONFIG_NFS_V2 is not set -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_V4_1 is not set -# CONFIG_NFTL is not set -# CONFIG_NF_CONNTRACK is not set -# CONFIG_NF_CONNTRACK_AMANDA is not set -# CONFIG_NF_CONNTRACK_EVENTS is not set -# CONFIG_NF_CONNTRACK_FTP is not set -# CONFIG_NF_CONNTRACK_H323 is not set -# CONFIG_NF_CONNTRACK_IPV4 is not set -# CONFIG_NF_CONNTRACK_IPV6 is not set -# CONFIG_NF_CONNTRACK_IRC is not set -# CONFIG_NF_CONNTRACK_MARK is not set -# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set -# CONFIG_NF_CONNTRACK_PPTP is not set -CONFIG_NF_CONNTRACK_PROCFS=y -# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set -# CONFIG_NF_CONNTRACK_RTSP is not set -# CONFIG_NF_CONNTRACK_SANE is not set -# CONFIG_NF_CONNTRACK_SIP is not set -# CONFIG_NF_CONNTRACK_SNMP is not set -# CONFIG_NF_CONNTRACK_TFTP is not set -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -# CONFIG_NF_CONNTRACK_ZONES is not set -# CONFIG_NF_CT_NETLINK is not set -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -# CONFIG_NF_CT_PROTO_DCCP is not set -# CONFIG_NF_CT_PROTO_GRE is not set -# CONFIG_NF_CT_PROTO_SCTP is not set -# CONFIG_NF_CT_PROTO_UDPLITE is not set -# CONFIG_NF_DEFRAG_IPV4 is not set -# CONFIG_NF_LOG_ARP is not set -# CONFIG_NF_LOG_IPV4 is not set -# CONFIG_NF_NAT is not set -# CONFIG_NF_NAT_AMANDA is not set -# CONFIG_NF_NAT_FTP is not set -# CONFIG_NF_NAT_H323 is not set -# CONFIG_NF_NAT_IPV6 is not set -# CONFIG_NF_NAT_IRC is not set -# CONFIG_NF_NAT_MASQUERADE_IPV4 is not set -# CONFIG_NF_NAT_MASQUERADE_IPV6 is not set -# CONFIG_NF_NAT_NEEDED is not set -# CONFIG_NF_NAT_PPTP is not set -# CONFIG_NF_NAT_PROTO_GRE is not set -# CONFIG_NF_NAT_RTSP is not set -# CONFIG_NF_NAT_SIP is not set -# CONFIG_NF_NAT_SNMP_BASIC is not set -# CONFIG_NF_NAT_TFTP is not set -# CONFIG_NF_REJECT_IPV4 is not set -# CONFIG_NF_TABLES is not set -# CONFIG_NI52 is not set -# CONFIG_NI65 is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_NIU is not set -# CONFIG_NL80211_TESTMODE is not set -CONFIG_NLATTR=y -# CONFIG_NLMON is not set -# CONFIG_NLM_XLP_BOARD is not set -# CONFIG_NLM_XLR_BOARD is not set -# CONFIG_NLS is not set -# CONFIG_NLS_ASCII is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_CODEPAGE_437 is not set -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -CONFIG_NLS_DEFAULT="iso8859-1" -# CONFIG_NLS_ISO8859_1 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_MAC_CELTIC is not set -# CONFIG_NLS_MAC_CENTEURO is not set -# CONFIG_NLS_MAC_CROATIAN is not set -# CONFIG_NLS_MAC_CYRILLIC is not set -# CONFIG_NLS_MAC_GAELIC is not set -# CONFIG_NLS_MAC_GREEK is not set -# CONFIG_NLS_MAC_ICELAND is not set -# CONFIG_NLS_MAC_INUIT is not set -# CONFIG_NLS_MAC_ROMAN is not set -# CONFIG_NLS_MAC_ROMANIAN is not set -# CONFIG_NLS_MAC_TURKISH is not set -# CONFIG_NLS_UTF8 is not set -# CONFIG_NOP_USB_XCEIV is not set -# CONFIG_NORTEL_HERMES is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_NOZOMI is not set -# CONFIG_NO_BOOTMEM is not set -# CONFIG_NO_HZ is not set -# CONFIG_NO_HZ_FULL is not set -# CONFIG_NO_HZ_IDLE is not set -# CONFIG_NO_IOPORT is not set -# CONFIG_NS83820 is not set -# CONFIG_NTFS_DEBUG is not set -# CONFIG_NTFS_FS is not set -# CONFIG_NTFS_RW is not set -# CONFIG_NTP_PPS is not set -# CONFIG_NVRAM is not set -# CONFIG_NV_TCO is not set -# CONFIG_NXP_STB220 is not set -# CONFIG_NXP_STB225 is not set -# CONFIG_N_GSM is not set -# CONFIG_OABI_COMPAT is not set -# CONFIG_OBS600 is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_OCF_BENCH is not set -# CONFIG_OCF_C7108 is not set -# CONFIG_OCF_CRYPTOCTEON is not set -# CONFIG_OCF_EP80579 is not set -# CONFIG_OCF_HIFN is not set -# CONFIG_OCF_HIFNHIPP is not set -# CONFIG_OCF_IXP4XX is not set -# CONFIG_OCF_KIRKWOOD is not set -# CONFIG_OCF_OCF is not set -# CONFIG_OCF_OCFNULL is not set -# CONFIG_OCF_SAFE is not set -# CONFIG_OCF_TALITOS is not set -# CONFIG_OCF_UBSEC_SSB is not set -# CONFIG_OC_ETM is not set -# CONFIG_OF_SELFTEST is not set -# CONFIG_OMAP2_DSS_DEBUG is not set -# CONFIG_OMAP2_DSS_DEBUGFS is not set -# CONFIG_OMAP2_DSS_SDI is not set -# CONFIG_OMAP_CONTROL_USB is not set -# CONFIG_OMAP_OCP2SCP is not set -# CONFIG_OMAP_USB2 is not set -# CONFIG_OMAP_USB3 is not set -# CONFIG_OMFS_FS is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set -# CONFIG_ORION_WATCHDOG is not set -# CONFIG_OSF_PARTITION is not set -CONFIG_OVERLAY_FS=y -# CONFIG_P54_COMMON is not set -CONFIG_PACKET=y -# CONFIG_PACKET_DIAG is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_PAGE_SIZE_16KB is not set -# CONFIG_PAGE_SIZE_32KB is not set -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PANEL is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -# CONFIG_PANTHERLORD_FF is not set -# CONFIG_PARPORT is not set -# CONFIG_PARPORT_1284 is not set -# CONFIG_PARPORT_AX88796 is not set -# CONFIG_PARPORT_PC is not set -CONFIG_PARTITION_ADVANCED=y -# CONFIG_PATA_ALI is not set -# CONFIG_PATA_AMD is not set -# CONFIG_PATA_ARASAN_CF is not set -# CONFIG_PATA_ARTOP is not set -# CONFIG_PATA_ATIIXP is not set -# CONFIG_PATA_ATP867X is not set -# CONFIG_PATA_CMD640_PCI is not set -# CONFIG_PATA_CMD64X is not set -# CONFIG_PATA_CS5520 is not set -# CONFIG_PATA_CS5530 is not set -# CONFIG_PATA_CS5535 is not set -# CONFIG_PATA_CS5536 is not set -# CONFIG_PATA_CYPRESS is not set -# CONFIG_PATA_EFAR is not set -# CONFIG_PATA_HPT366 is not set -# CONFIG_PATA_HPT37X is not set -# CONFIG_PATA_HPT3X2N is not set -# CONFIG_PATA_HPT3X3 is not set -# CONFIG_PATA_ISAPNP is not set -# CONFIG_PATA_IT8213 is not set -# CONFIG_PATA_IT821X is not set -# CONFIG_PATA_JMICRON is not set -# CONFIG_PATA_LEGACY is not set -# CONFIG_PATA_MARVELL is not set -# CONFIG_PATA_MPIIX is not set -# CONFIG_PATA_NETCELL is not set -# CONFIG_PATA_NINJA32 is not set -# CONFIG_PATA_NS87410 is not set -# CONFIG_PATA_NS87415 is not set -# CONFIG_PATA_OCTEON_CF is not set -# CONFIG_PATA_OF_PLATFORM is not set -# CONFIG_PATA_OLDPIIX is not set -# CONFIG_PATA_OPTI is not set -# CONFIG_PATA_OPTIDMA is not set -# CONFIG_PATA_PCMCIA is not set -# CONFIG_PATA_PDC2027X is not set -# CONFIG_PATA_PDC_OLD is not set -# CONFIG_PATA_PLATFORM is not set -# CONFIG_PATA_QDI is not set -# CONFIG_PATA_RADISYS is not set -# CONFIG_PATA_RDC is not set -# CONFIG_PATA_RZ1000 is not set -# CONFIG_PATA_SC1200 is not set -# CONFIG_PATA_SCH is not set -# CONFIG_PATA_SERVERWORKS is not set -# CONFIG_PATA_SIL680 is not set -# CONFIG_PATA_SIS is not set -# CONFIG_PATA_TOSHIBA is not set -# CONFIG_PATA_TRIFLEX is not set -# CONFIG_PATA_VIA is not set -# CONFIG_PATA_WINBOND is not set -# CONFIG_PATA_WINBOND_VLB is not set -# CONFIG_PC300TOO is not set -# CONFIG_PCCARD is not set -# CONFIG_PCH_GBE is not set -# CONFIG_PCH_PHUB is not set -# CONFIG_PCI200SYN is not set -# CONFIG_PCIEAER_INJECT is not set -# CONFIG_PCIEASPM is not set -# CONFIG_PCIEPORTBUS is not set -# CONFIG_PCIE_ECRC is not set -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_PCI_ATMEL is not set -# CONFIG_PCI_CNB20LE_QUIRK is not set -# CONFIG_PCI_DEBUG is not set -# CONFIG_PCI_DISABLE_COMMON_QUIRKS is not set -# CONFIG_PCI_HERMES is not set -# CONFIG_PCI_HOST_GENERIC is not set -# CONFIG_PCI_IOV is not set -# CONFIG_PCI_MSI is not set -# CONFIG_PCI_PASID is not set -# CONFIG_PCI_PRI is not set -CONFIG_PCI_QUIRKS=y -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -# CONFIG_PCI_STUB is not set -CONFIG_PCI_SYSCALL=y -# CONFIG_PCMCIA is not set -# CONFIG_PCMCIA_3C574 is not set -# CONFIG_PCMCIA_3C589 is not set -# CONFIG_PCMCIA_AHA152X is not set -# CONFIG_PCMCIA_ATMEL is not set -# CONFIG_PCMCIA_AXNET is not set -# CONFIG_PCMCIA_DEBUG is not set -# CONFIG_PCMCIA_FDOMAIN is not set -# CONFIG_PCMCIA_FMVJ18X is not set -# CONFIG_PCMCIA_HERMES is not set -# CONFIG_PCMCIA_LOAD_CIS is not set -# CONFIG_PCMCIA_NINJA_SCSI is not set -# CONFIG_PCMCIA_NMCLAN is not set -# CONFIG_PCMCIA_PCNET is not set -# CONFIG_PCMCIA_QLOGIC is not set -# CONFIG_PCMCIA_RAYCS is not set -# CONFIG_PCMCIA_SMC91C92 is not set -# CONFIG_PCMCIA_SPECTRUM is not set -# CONFIG_PCMCIA_SYM53C500 is not set -# CONFIG_PCMCIA_WL3501 is not set -# CONFIG_PCMCIA_XIRC2PS is not set -# CONFIG_PCMCIA_XIRCOM is not set -# CONFIG_PCNET32 is not set -# CONFIG_PCSPKR_PLATFORM is not set -# CONFIG_PD6729 is not set -# CONFIG_PDA_POWER is not set -# CONFIG_PDC_ADMA is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_PERF_COUNTERS is not set -# CONFIG_PERF_EVENTS is not set -# CONFIG_PERSISTENT_KEYRINGS is not set -# CONFIG_PHANTOM is not set -# CONFIG_PHONE is not set -# CONFIG_PHONET is not set -# CONFIG_PHYLIB is not set -# CONFIG_PHYS_ADDR_T_64BIT is not set -# CONFIG_PHY_EXYNOS_DP_VIDEO is not set -# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set -# CONFIG_PHY_QCOM_DWC3 is not set -# CONFIG_PHY_SAMSUNG_USB2 is not set -# CONFIG_PID_IN_CONTEXTIDR is not set -# CONFIG_PID_NS is not set -CONFIG_PINCONF=y -# CONFIG_PINCTRL is not set -# CONFIG_PINCTRL_CAPRI is not set -# CONFIG_PINCTRL_EXYNOS is not set -# CONFIG_PINCTRL_EXYNOS5440 is not set -# CONFIG_PINCTRL_MSM8X74 is not set -CONFIG_PINCTRL_SINGLE=y -CONFIG_PINMUX=y -# CONFIG_PLAT_SPEAR is not set -# CONFIG_PLIP is not set -# CONFIG_PLX_HERMES is not set -# CONFIG_PM is not set -# CONFIG_PMBUS is not set -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PMIC_ADP5520 is not set -# CONFIG_PMIC_DA903X is not set -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_DEVFREQ is not set -# CONFIG_PM_RUNTIME is not set -# CONFIG_PM_WAKELOCKS is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_POHMELFS is not set -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_POWERCAP is not set -# CONFIG_POWERTV is not set -# CONFIG_POWER_AVS is not set -# CONFIG_POWER_RESET is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_RESET_VERSATILE is not set -# CONFIG_POWER_SUPPLY is not set -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PPC4xx_GPIO is not set -# CONFIG_PPC_16K_PAGES is not set -# CONFIG_PPC_256K_PAGES is not set -CONFIG_PPC_4K_PAGES=y -# CONFIG_PPC_64K_PAGES is not set -# CONFIG_PPC_DISABLE_WERROR is not set -# CONFIG_PPC_EMULATED_STATS is not set -# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set -# CONFIG_PPP is not set -# CONFIG_PPPOATM is not set -# CONFIG_PPPOE is not set -# CONFIG_PPPOL2TP is not set -# CONFIG_PPP_ASYNC is not set -# CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_DEFLATE is not set -CONFIG_PPP_FILTER=y -# CONFIG_PPP_MPPE is not set -CONFIG_PPP_MULTILINK=y -# CONFIG_PPP_SYNC_TTY is not set -# CONFIG_PPS is not set -# CONFIG_PPS_CLIENT_GPIO is not set -# CONFIG_PPS_CLIENT_KTIMER is not set -# CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_PARPORT is not set -# CONFIG_PPS_DEBUG is not set -# CONFIG_PPTP is not set -# CONFIG_PREEMPT is not set -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_TRACER is not set -# CONFIG_PREEMPT_VOLUNTARY is not set -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_PRINTK=y -# CONFIG_PRINTK_TIME is not set -CONFIG_PRINT_STACK_DEPTH=64 -# CONFIG_PRISM2_USB is not set -# CONFIG_PRISM54 is not set -# CONFIG_PROBE_INITRD_HEADER is not set -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -# CONFIG_PROC_PAGE_MONITOR is not set -CONFIG_PROC_STRIPPED=y -CONFIG_PROC_SYSCTL=y -# CONFIG_PROFILE_ALL_BRANCHES is not set -# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -# CONFIG_PROFILING is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_PROVE_RCU is not set -# CONFIG_PROVE_RCU_DELAY is not set -# CONFIG_PSB6970_PHY is not set -# CONFIG_PSTORE is not set -# CONFIG_PTP_1588_CLOCK is not set -# CONFIG_PTP_1588_CLOCK_IXP46X is not set -# CONFIG_PTP_1588_CLOCK_PCH is not set -# CONFIG_PWM is not set -# CONFIG_PWM_PCA9685 is not set -# CONFIG_QCA7000 is not set -# CONFIG_QLA3XXX is not set -# CONFIG_QLCNIC is not set -# CONFIG_QLGE is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -# CONFIG_QSEMI_PHY is not set -# CONFIG_QUOTA is not set -# CONFIG_QUOTACTL is not set -# CONFIG_QUOTA_DEBUG is not set -# CONFIG_R3964 is not set -# CONFIG_R6040 is not set -# CONFIG_R8169 is not set -# CONFIG_R8187SE is not set -# CONFIG_R8188EU is not set -# CONFIG_R8712U is not set -# CONFIG_R8723AU is not set -# CONFIG_RADIO_ADAPTERS is not set -# CONFIG_RADIO_AZTECH is not set -# CONFIG_RADIO_CADET is not set -# CONFIG_RADIO_GEMTEK is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_RTRACK is not set -# CONFIG_RADIO_RTRACK2 is not set -# CONFIG_RADIO_SF16FMI is not set -# CONFIG_RADIO_SF16FMR2 is not set -# CONFIG_RADIO_TERRATEC is not set -# CONFIG_RADIO_TRUST is not set -# CONFIG_RADIO_TYPHOON is not set -# CONFIG_RADIO_ZOLTRIX is not set -# CONFIG_RAID_ATTRS is not set -# CONFIG_RALINK is not set -# CONFIG_RAMOOPS is not set -# CONFIG_RANDOM32_SELFTEST is not set -# CONFIG_RAPIDIO is not set -# CONFIG_RAR_REGISTER is not set -# CONFIG_RAW_DRIVER is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_RCU_CPU_STALL_INFO is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -CONFIG_RCU_FANOUT=32 -# CONFIG_RCU_FANOUT_EXACT is not set -CONFIG_RCU_FANOUT_LEAF=16 -# CONFIG_RCU_FAST_NO_HZ is not set -# CONFIG_RCU_NOCB_CPU is not set -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_TRACE is not set -# CONFIG_RCU_USER_QS is not set -# CONFIG_RC_ATI_REMOTE is not set -# CONFIG_RC_CORE is not set -# CONFIG_RC_DECODERS is not set -# CONFIG_RC_LOOPBACK is not set -# CONFIG_RC_MAP is not set -# CONFIG_RDS is not set -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_GZIP is not set -# CONFIG_RD_LZ4 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_XZ is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_REALTEK_PHY is not set -# CONFIG_REDWOOD is not set -# CONFIG_REGMAP is not set -# CONFIG_REGMAP_I2C is not set -# CONFIG_REGMAP_SPI is not set -# CONFIG_REGULATOR is not set -# CONFIG_REGULATOR_ACT8865 is not set -# CONFIG_REGULATOR_AD5398 is not set -# CONFIG_REGULATOR_ANATOP is not set -# CONFIG_REGULATOR_BQ24022 is not set -# CONFIG_REGULATOR_DA9210 is not set -# CONFIG_REGULATOR_DA9211 is not set -# CONFIG_REGULATOR_FAN53555 is not set -# CONFIG_REGULATOR_FIXED_VOLTAGE is not set -# CONFIG_REGULATOR_GPIO is not set -# CONFIG_REGULATOR_ISL6271A is not set -# CONFIG_REGULATOR_ISL9305 is not set -# CONFIG_REGULATOR_LP3971 is not set -# CONFIG_REGULATOR_LP3972 is not set -# CONFIG_REGULATOR_LP872X is not set -# CONFIG_REGULATOR_LP8755 is not set -# CONFIG_REGULATOR_LTC3589 is not set -# CONFIG_REGULATOR_MAX1586 is not set -# CONFIG_REGULATOR_MAX8649 is not set -# CONFIG_REGULATOR_MAX8660 is not set -# CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set -# CONFIG_REGULATOR_PFUZE100 is not set -# CONFIG_REGULATOR_TI_ABB is not set -# CONFIG_REGULATOR_TPS51632 is not set -# CONFIG_REGULATOR_TPS62360 is not set -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -# CONFIG_REGULATOR_TPS6524X is not set -# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_FS is not set -# CONFIG_REISERFS_FS_POSIX_ACL is not set -# CONFIG_REISERFS_FS_SECURITY is not set -# CONFIG_REISERFS_FS_XATTR is not set -# CONFIG_REISERFS_PROC_INFO is not set -# CONFIG_RELAY is not set -# CONFIG_RESET_CONTROLLER is not set -# CONFIG_RFD_FTL is not set -# CONFIG_RFKILL is not set -# CONFIG_RFKILL_INPUT is not set -# CONFIG_RFKILL_REGULATOR is not set -# CONFIG_RING_BUFFER_BENCHMARK is not set -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_ROMFS_FS is not set -# CONFIG_ROSE is not set -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RT2X00 is not set -# CONFIG_RTC_CLASS is not set -# CONFIG_RTC_DEBUG is not set -# CONFIG_RTC_DRV_AU1XXX is not set -# CONFIG_RTC_DRV_BQ32K is not set -# CONFIG_RTC_DRV_BQ4802 is not set -CONFIG_RTC_DRV_CMOS=y -# CONFIG_RTC_DRV_DS1286 is not set -# CONFIG_RTC_DRV_DS1305 is not set -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1343 is not set -# CONFIG_RTC_DRV_DS1347 is not set -# CONFIG_RTC_DRV_DS1374 is not set -# CONFIG_RTC_DRV_DS1390 is not set -# CONFIG_RTC_DRV_DS1511 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_DS2404 is not set -# CONFIG_RTC_DRV_DS3232 is not set -# CONFIG_RTC_DRV_DS3234 is not set -# CONFIG_RTC_DRV_EM3027 is not set -# CONFIG_RTC_DRV_EP93XX is not set -# CONFIG_RTC_DRV_FM3130 is not set -# CONFIG_RTC_DRV_GENERIC is not set -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set -# CONFIG_RTC_DRV_HYM8563 is not set -# CONFIG_RTC_DRV_ISL12022 is not set -# CONFIG_RTC_DRV_ISL12057 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_M41T80 is not set -# CONFIG_RTC_DRV_M41T93 is not set -# CONFIG_RTC_DRV_M41T94 is not set -# CONFIG_RTC_DRV_M48T35 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_MAX6900 is not set -# CONFIG_RTC_DRV_MAX6902 is not set -# CONFIG_RTC_DRV_MCP795 is not set -# CONFIG_RTC_DRV_MOXART is not set -# CONFIG_RTC_DRV_MPC5121 is not set -# CONFIG_RTC_DRV_MSM6242 is not set -# CONFIG_RTC_DRV_OMAP is not set -# CONFIG_RTC_DRV_PCF2123 is not set -# CONFIG_RTC_DRV_PCF2127 is not set -# CONFIG_RTC_DRV_PCF85063 is not set -# CONFIG_RTC_DRV_PCF8523 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -# CONFIG_RTC_DRV_PCF8583 is not set -# CONFIG_RTC_DRV_PL030 is not set -# CONFIG_RTC_DRV_PL031 is not set -# CONFIG_RTC_DRV_PS3 is not set -# CONFIG_RTC_DRV_PT7C4338 is not set -# CONFIG_RTC_DRV_R9701 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_RS5C348 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_RTC7301 is not set -# CONFIG_RTC_DRV_RV3029C2 is not set -# CONFIG_RTC_DRV_RX4581 is not set -# CONFIG_RTC_DRV_RX8025 is not set -# CONFIG_RTC_DRV_RX8581 is not set -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_SNVS is not set -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_SUN6I is not set -# CONFIG_RTC_DRV_TEST is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_X1205 is not set -# CONFIG_RTC_DRV_XGENE is not set -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_LIB=y -CONFIG_RTC_SYSTOHC=y -# CONFIG_RTL8180 is not set -# CONFIG_RTL8187 is not set -# CONFIG_RTL8192E is not set -# CONFIG_RTL8192U is not set -# CONFIG_RTL8306_PHY is not set -# CONFIG_RTL8366RB_PHY is not set -# CONFIG_RTL8366S_PHY is not set -# CONFIG_RTL8366_SMI is not set -# CONFIG_RTL8366_SMI_DEBUG_FS is not set -# CONFIG_RTL8367B_PHY is not set -# CONFIG_RTL8367_PHY is not set -# CONFIG_RTLLIB is not set -# CONFIG_RTL_CARDS is not set -# CONFIG_RTS5139 is not set -# CONFIG_RTS5208 is not set -# CONFIG_RTS_PSTOR is not set -CONFIG_RT_MUTEXES=y -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_RUNTIME_DEBUG is not set -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_S2IO is not set -# CONFIG_SAMPLES is not set -# CONFIG_SAMSUNG_LAPTOP is not set -# CONFIG_SAMSUNG_USB2PHY is not set -# CONFIG_SAMSUNG_USB3PHY is not set -# CONFIG_SATA_ACARD_AHCI is not set -# CONFIG_SATA_AHCI is not set -# CONFIG_SATA_AHCI_PLATFORM is not set -# CONFIG_SATA_DWC is not set -# CONFIG_SATA_FSL is not set -# CONFIG_SATA_HIGHBANK is not set -# CONFIG_SATA_INIC162X is not set -# CONFIG_SATA_MV is not set -# CONFIG_SATA_NV is not set -# CONFIG_SATA_PMP is not set -# CONFIG_SATA_PROMISE is not set -# CONFIG_SATA_QSTOR is not set -# CONFIG_SATA_RCAR is not set -# CONFIG_SATA_SIL is not set -# CONFIG_SATA_SIL24 is not set -# CONFIG_SATA_SIS is not set -# CONFIG_SATA_SVW is not set -# CONFIG_SATA_SX4 is not set -# CONFIG_SATA_ULI is not set -# CONFIG_SATA_VIA is not set -# CONFIG_SATA_VITESSE is not set -# CONFIG_SBC_FITPC2_WATCHDOG is not set -# CONFIG_SBE_2T3E3 is not set -# CONFIG_SBYPASS is not set -# CONFIG_SC92031 is not set -# CONFIG_SCA3000 is not set -# CONFIG_SCC is not set -# CONFIG_SCHEDSTATS is not set -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_SCHED_DEBUG is not set -# CONFIG_SCHED_MC is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y -# CONFIG_SCHED_SMT is not set -# CONFIG_SCHED_STACK_END_CHECK is not set -# CONFIG_SCHED_TRACER is not set -# CONFIG_SCSI is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_3W_SAS is not set -# CONFIG_SCSI_7000FASST is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_AHA152X is not set -# CONFIG_SCSI_AHA1542 is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_SCSI_BFA_FC is not set -# CONFIG_SCSI_BNX2X_FCOE is not set -# CONFIG_SCSI_BNX2_ISCSI is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_CHELSIO_FCOE is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_CXGB3_ISCSI is not set -# CONFIG_SCSI_CXGB4_ISCSI is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_DH is not set -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_DTC3280 is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_ESAS2R is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_GENERIC_NCR5380 is not set -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set -# CONFIG_SCSI_HPSA is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_IN2000 is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_ISCI is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -# CONFIG_SCSI_LPFC is not set -CONFIG_SCSI_MOD=y -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_MPT3SAS is not set -# CONFIG_SCSI_MQ_DEFAULT is not set -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_MVSAS is not set -# CONFIG_SCSI_MVSAS_DEBUG is not set -# CONFIG_SCSI_MVUMI is not set -# CONFIG_SCSI_NCR53C406A is not set -# CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_OSD_INITIATOR is not set -# CONFIG_SCSI_PAS16 is not set -# CONFIG_SCSI_PM8001 is not set -# CONFIG_SCSI_PMCRAID is not set -CONFIG_SCSI_PROC_FS=y -# CONFIG_SCSI_QLA_FC is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLOGIC_FAS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SCAN_ASYNC is not set -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_SRP is not set -# CONFIG_SCSI_SRP_ATTRS is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C416 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_T128 is not set -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_U14_34F is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_SCSI_ULTRASTOR is not set -# CONFIG_SCSI_VIRTIO is not set -# CONFIG_SCx200_ACB is not set -# CONFIG_SDIO_UART is not set -# CONFIG_SECCOMP is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SEEQ8005 is not set -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ABITUGURU3 is not set -# CONFIG_SENSORS_ACPI_POWER is not set -# CONFIG_SENSORS_AD7314 is not set -# CONFIG_SENSORS_AD7414 is not set -# CONFIG_SENSORS_AD7418 is not set -# CONFIG_SENSORS_ADC128D818 is not set -# CONFIG_SENSORS_ADCXX is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ADS1015 is not set -# CONFIG_SENSORS_ADS7828 is not set -# CONFIG_SENSORS_ADS7871 is not set -# CONFIG_SENSORS_ADT7310 is not set -# CONFIG_SENSORS_ADT7410 is not set -# CONFIG_SENSORS_ADT7411 is not set -# CONFIG_SENSORS_ADT7462 is not set -# CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7475 is not set -# CONFIG_SENSORS_AMC6821 is not set -# CONFIG_SENSORS_APDS990X is not set -# CONFIG_SENSORS_APPLESMC is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ASC7621 is not set -# CONFIG_SENSORS_ATK0110 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_BH1770 is not set -# CONFIG_SENSORS_BH1780 is not set -# CONFIG_SENSORS_CORETEMP is not set -# CONFIG_SENSORS_DME1737 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_DS620 is not set -# CONFIG_SENSORS_EMC1403 is not set -# CONFIG_SENSORS_EMC2103 is not set -# CONFIG_SENSORS_EMC6W201 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_F71882FG is not set -# CONFIG_SENSORS_F75375S is not set -# CONFIG_SENSORS_FAM15H_POWER is not set -# CONFIG_SENSORS_FSCHMD is not set -# CONFIG_SENSORS_G760A is not set -# CONFIG_SENSORS_G762 is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_GPIO_FAN is not set -# CONFIG_SENSORS_GSC is not set -# CONFIG_SENSORS_HDAPS is not set -# CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_HMC5843 is not set -# CONFIG_SENSORS_HMC5843_I2C is not set -# CONFIG_SENSORS_HMC5843_SPI is not set -# CONFIG_SENSORS_HTU21 is not set -# CONFIG_SENSORS_I5K_AMB is not set -# CONFIG_SENSORS_IIO_HWMON is not set -# CONFIG_SENSORS_INA209 is not set -# CONFIG_SENSORS_INA2XX is not set -# CONFIG_SENSORS_ISL29018 is not set -# CONFIG_SENSORS_ISL29028 is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_K10TEMP is not set -# CONFIG_SENSORS_K8TEMP is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LIS3LV02D is not set -# CONFIG_SENSORS_LIS3_I2C is not set -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM73 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_LM93 is not set -# CONFIG_SENSORS_LM95234 is not set -# CONFIG_SENSORS_LM95241 is not set -# CONFIG_SENSORS_LM95245 is not set -# CONFIG_SENSORS_LTC2945 is not set -# CONFIG_SENSORS_LTC4151 is not set -# CONFIG_SENSORS_LTC4215 is not set -# CONFIG_SENSORS_LTC4222 is not set -# CONFIG_SENSORS_LTC4245 is not set -# CONFIG_SENSORS_LTC4260 is not set -# CONFIG_SENSORS_LTC4261 is not set -# CONFIG_SENSORS_MAX1111 is not set -# CONFIG_SENSORS_MAX16065 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX1668 is not set -# CONFIG_SENSORS_MAX197 is not set -# CONFIG_SENSORS_MAX6639 is not set -# CONFIG_SENSORS_MAX6642 is not set -# CONFIG_SENSORS_MAX6650 is not set -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_MCP3021 is not set -# CONFIG_SENSORS_NCT6683 is not set -# CONFIG_SENSORS_NCT6775 is not set -# CONFIG_SENSORS_NTC_THERMISTOR is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_POWR1220 is not set -# CONFIG_SENSORS_SCH5627 is not set -# CONFIG_SENSORS_SCH5636 is not set -# CONFIG_SENSORS_SCH56XX_COMMON is not set -# CONFIG_SENSORS_SHT15 is not set -# CONFIG_SENSORS_SHT21 is not set -# CONFIG_SENSORS_SHTC1 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMM665 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_THMC50 is not set -# CONFIG_SENSORS_TMP102 is not set -# CONFIG_SENSORS_TMP103 is not set -# CONFIG_SENSORS_TMP401 is not set -# CONFIG_SENSORS_TMP421 is not set -# CONFIG_SENSORS_TSL2550 is not set -# CONFIG_SENSORS_TSL2563 is not set -# CONFIG_SENSORS_VEXPRESS is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_VIA_CPUTEMP is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83795 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83L786NG is not set -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_ACCENT is not set -# CONFIG_SERIAL_8250_BOCA is not set -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_SERIAL_8250_CS is not set -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_DMA=y -# CONFIG_SERIAL_8250_DW is not set -# CONFIG_SERIAL_8250_EM is not set -# CONFIG_SERIAL_8250_EXAR_ST16C554 is not set -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_FOURPORT is not set -# CONFIG_SERIAL_8250_FINTEK is not set -# CONFIG_SERIAL_8250_HUB6 is not set -# CONFIG_SERIAL_8250_MANY_PORTS is not set -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_PCI is not set -# CONFIG_SERIAL_8250_RSA is not set -CONFIG_SERIAL_8250_RUNTIME_UARTS=2 -# CONFIG_SERIAL_8250_SYSRQ is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_ARC is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_EARLYCON=y -# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set -# CONFIG_SERIAL_IFX6X60 is not set -# CONFIG_SERIAL_JSM is not set -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX3107 is not set -# CONFIG_SERIAL_MAX310X is not set -# CONFIG_SERIAL_MFD_HSU is not set -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_SERIAL_OF_PLATFORM is not set -# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set -# CONFIG_SERIAL_PCH_UART is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_SH_SCI is not set -# CONFIG_SERIAL_ST_ASC is not set -# CONFIG_SERIAL_TIMBERDALE is not set -# CONFIG_SERIAL_UARTLITE is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -# CONFIG_SERIO is not set -# CONFIG_SERIO_ALTERA_PS2 is not set -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_ARC_PS2 is not set -# CONFIG_SERIO_I8042 is not set -# CONFIG_SERIO_LIBPS2 is not set -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_PS2MULT is not set -# CONFIG_SERIO_RAW is not set -# CONFIG_SERIO_SERPORT is not set -# CONFIG_SFC is not set -# CONFIG_SFI is not set -# CONFIG_SGETMASK_SYSCALL is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP28 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SGI_PARTITION is not set -CONFIG_SHMEM=y -# CONFIG_SH_ETH is not set -# CONFIG_SH_TIMER_CMT is not set -# CONFIG_SH_TIMER_MTU2 is not set -# CONFIG_SH_TIMER_TMU is not set -# CONFIG_SI7005 is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SIGMA is not set -CONFIG_SIGNALFD=y -# CONFIG_SIMPLE_GPIO is not set -# CONFIG_SIS190 is not set -# CONFIG_SIS900 is not set -# CONFIG_SKGE is not set -# CONFIG_SKY2 is not set -# CONFIG_SKY2_DEBUG is not set -CONFIG_SLAB=y -CONFIG_SLABINFO=y -# CONFIG_SLHC is not set -# CONFIG_SLICOSS is not set -# CONFIG_SLIP is not set -# CONFIG_SLOB is not set -# CONFIG_SLUB is not set -# CONFIG_SLUB_DEBUG is not set -# CONFIG_SLUB_STATS is not set -# CONFIG_SMARTJOYPLUS_FF is not set -# CONFIG_SMC911X is not set -# CONFIG_SMC9194 is not set -# CONFIG_SMC91X is not set -# CONFIG_SMP is not set -# CONFIG_SMSC911X is not set -# CONFIG_SMSC9420 is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_SM_FTL is not set -# CONFIG_SND is not set -# CONFIG_SND_AC97_POWER_SAVE is not set -# CONFIG_SND_AD1816A is not set -# CONFIG_SND_AD1848 is not set -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ADLIB is not set -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ALOOP is not set -# CONFIG_SND_ALS100 is not set -# CONFIG_SND_ALS300 is not set -# CONFIG_SND_ALS4000 is not set -# CONFIG_SND_ARM is not set -# CONFIG_SND_ASIHPI is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_ATMEL_AC97C is not set -# CONFIG_SND_ATMEL_SOC is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AW2 is not set -# CONFIG_SND_AZT2320 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BCD2000 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_CMI8330 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_CS4231 is not set -# CONFIG_SND_CS4236 is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_CS5530 is not set -# CONFIG_SND_CS5535AUDIO is not set -# CONFIG_SND_CTXFI is not set -# CONFIG_SND_DARLA20 is not set -# CONFIG_SND_DARLA24 is not set -# CONFIG_SND_DEBUG is not set -# CONFIG_SND_DESIGNWARE_I2S is not set -CONFIG_SND_DRIVERS=y -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -# CONFIG_SND_ECHO3G is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1688 is not set -# CONFIG_SND_ES18XX is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_FIREWIRE is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_GINA20 is not set -# CONFIG_SND_GINA24 is not set -# CONFIG_SND_GUSCLASSIC is not set -# CONFIG_SND_GUSEXTREME is not set -# CONFIG_SND_GUSMAX is not set -# CONFIG_SND_HDA_INTEL is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_HRTIMER is not set -# CONFIG_SND_HWDEP is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INDIGO is not set -# CONFIG_SND_INDIGODJ is not set -# CONFIG_SND_INDIGODJX is not set -# CONFIG_SND_INDIGOIO is not set -# CONFIG_SND_INDIGOIOX is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_INTERWAVE is not set -# CONFIG_SND_INTERWAVE_STB is not set -# CONFIG_SND_ISA is not set -# CONFIG_SND_KIRKWOOD_SOC is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_LAYLA20 is not set -# CONFIG_SND_LAYLA24 is not set -# CONFIG_SND_LOLA is not set -# CONFIG_SND_LX6464ES is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_MIA is not set -# CONFIG_SND_MIPS is not set -# CONFIG_SND_MIRO is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_MIXER_OSS is not set -# CONFIG_SND_MONA is not set -# CONFIG_SND_MPC52xx_SOC_EFIKA is not set -# CONFIG_SND_MPU401 is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_MTS64 is not set -# CONFIG_SND_MXS_SOC is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_OPL3SA2 is not set -# CONFIG_SND_OPTI92X_AD1848 is not set -# CONFIG_SND_OPTI92X_CS4231 is not set -# CONFIG_SND_OPTI93X is not set -CONFIG_SND_OSSEMUL=y -# CONFIG_SND_OXYGEN is not set -CONFIG_SND_PCI=y -# CONFIG_SND_PCM is not set -# CONFIG_SND_PCMCIA is not set -# CONFIG_SND_PCM_OSS is not set -CONFIG_SND_PCM_OSS_PLUGINS=y -# CONFIG_SND_PCXHR is not set -# CONFIG_SND_PDAUDIOCF is not set -# CONFIG_SND_PORTMAN2X4 is not set -# CONFIG_SND_POWERPC_SOC is not set -# CONFIG_SND_PPC is not set -# CONFIG_SND_RAWMIDI is not set -# CONFIG_SND_RIPTIDE is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_RTCTIMER is not set -# CONFIG_SND_SB16 is not set -# CONFIG_SND_SB8 is not set -# CONFIG_SND_SBAWE is not set -# CONFIG_SND_SEQUENCER is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_SIMPLE_CARD is not set -# CONFIG_SND_SIS7019 is not set -# CONFIG_SND_SOC is not set -# CONFIG_SND_SOC_ADAU1701 is not set -# CONFIG_SND_SOC_AK4104 is not set -# CONFIG_SND_SOC_AK4554 is not set -# CONFIG_SND_SOC_AK4642 is not set -# CONFIG_SND_SOC_AK5386 is not set -# CONFIG_SND_SOC_ALC5623 is not set -# CONFIG_SND_SOC_AU1XAUDIO is not set -# CONFIG_SND_SOC_AU1XPSC is not set -# CONFIG_SND_SOC_CACHE_LZO is not set -# CONFIG_SND_SOC_CS35L32 is not set -# CONFIG_SND_SOC_CS4265 is not set -# CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271 is not set -# CONFIG_SND_SOC_CS42L52 is not set -# CONFIG_SND_SOC_CS42L56 is not set -# CONFIG_SND_SOC_CS42L73 is not set -# CONFIG_SND_SOC_CS42XX8_I2C is not set -# CONFIG_SND_SOC_ES8328 is not set -# CONFIG_SND_SOC_EUKREA_TLV320 is not set -# CONFIG_SND_SOC_FSL_ASOC_CARD is not set -# CONFIG_SND_SOC_FSL_ASRC is not set -# CONFIG_SND_SOC_FSL_ESAI is not set -# CONFIG_SND_SOC_FSL_SAI is not set -# CONFIG_SND_SOC_FSL_SPDIF is not set -# CONFIG_SND_SOC_HDMI_CODEC is not set -# CONFIG_SND_SOC_IMX_ES8328 is not set -# CONFIG_SND_SOC_IMX_SPDIF is not set -# CONFIG_SND_SOC_IMX_WM8962 is not set -# CONFIG_SND_SOC_INTEL_SST is not set -# CONFIG_SND_SOC_MPC5200_AC97 is not set -# CONFIG_SND_SOC_MPC5200_I2S is not set -# CONFIG_SND_SOC_PCM1681 is not set -# CONFIG_SND_SOC_PCM1792A is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set -# CONFIG_SND_SOC_PCM512x_SPI is not set -# CONFIG_SND_SOC_SGTL5000 is not set -# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set -# CONFIG_SND_SOC_SPDIF is not set -# CONFIG_SND_SOC_SSM2602_I2C is not set -# CONFIG_SND_SOC_SSM2602_SPI is not set -# CONFIG_SND_SOC_SSM4567 is not set -# CONFIG_SND_SOC_STA350 is not set -# CONFIG_SND_SOC_TAS2552 is not set -# CONFIG_SND_SOC_TAS5086 is not set -# CONFIG_SND_SOC_TLV320AIC31XX is not set -# CONFIG_SND_SOC_TLV320AIC3X is not set -# CONFIG_SND_SOC_TPA6130A2 is not set -# CONFIG_SND_SOC_WM8510 is not set -# CONFIG_SND_SOC_WM8523 is not set -# CONFIG_SND_SOC_WM8580 is not set -# CONFIG_SND_SOC_WM8711 is not set -# CONFIG_SND_SOC_WM8728 is not set -# CONFIG_SND_SOC_WM8731 is not set -# CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set -# CONFIG_SND_SOC_WM8750 is not set -# CONFIG_SND_SOC_WM8753 is not set -# CONFIG_SND_SOC_WM8770 is not set -# CONFIG_SND_SOC_WM8776 is not set -# CONFIG_SND_SOC_WM8804 is not set -# CONFIG_SND_SOC_WM8903 is not set -# CONFIG_SND_SOC_WM8962 is not set -# CONFIG_SND_SOC_WM8978 is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_SSCAPE is not set -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_TIMER is not set -# CONFIG_SND_TRIDENT is not set -CONFIG_SND_USB=y -# CONFIG_SND_USB_6FIRE is not set -# CONFIG_SND_USB_AUDIO is not set -# CONFIG_SND_USB_CAIAQ is not set -# CONFIG_SND_USB_HIFACE is not set -# CONFIG_SND_USB_UA101 is not set -# CONFIG_SND_USB_US122L is not set -# CONFIG_SND_USB_USX2Y is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VIRTUOSO is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_VXPOCKET is not set -# CONFIG_SND_WAVEFRONT is not set -# CONFIG_SND_YMFPCI is not set -# CONFIG_SNI_RM is not set -# CONFIG_SOC_AM33XX is not set -# CONFIG_SOC_AM43XX is not set -# CONFIG_SOC_CAMERA is not set -# CONFIG_SOC_DRA7XX is not set -# CONFIG_SOC_HAS_OMAP2_SDRC is not set -# CONFIG_SOC_OMAP5 is not set -# CONFIG_SOC_TI is not set -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_SOLO6X10 is not set -# CONFIG_SONYPI is not set -# CONFIG_SONY_LAPTOP is not set -# CONFIG_SOUND is not set -# CONFIG_SOUND_PRIME is not set -# CONFIG_SP5100_TCO is not set -# CONFIG_SPARSEMEM_MANUAL is not set -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -# CONFIG_SPARSE_IRQ is not set -# CONFIG_SPARSE_RCU_POINTER is not set -# CONFIG_SPEAKUP is not set -# CONFIG_SPI is not set -# CONFIG_SPINLOCK_TEST is not set -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_AU1550 is not set -# CONFIG_SPI_BCM2835 is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_BUTTERFLY is not set -# CONFIG_SPI_CADENCE is not set -# CONFIG_SPI_DEBUG is not set -# CONFIG_SPI_DESIGNWARE is not set -# CONFIG_SPI_FSL_DSPI is not set -# CONFIG_SPI_FSL_ESPI is not set -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_GPIO_OLD is not set -# CONFIG_SPI_LM70_LLP is not set -# CONFIG_SPI_MASTER is not set -# CONFIG_SPI_MPC52xx is not set -# CONFIG_SPI_MPC52xx_PSC is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_OCTEON is not set -# CONFIG_SPI_ORION is not set -# CONFIG_SPI_PL022 is not set -# CONFIG_SPI_PPC4xx is not set -# CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_PXA2XX_PCI is not set -# CONFIG_SPI_RAMIPS is not set -# CONFIG_SPI_ROCKCHIP is not set -# CONFIG_SPI_SC18IS602 is not set -# CONFIG_SPI_SPIDEV is not set -# CONFIG_SPI_TI_QSPI is not set -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPI_TOPCLIFF_PCH is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_XWAY is not set -# CONFIG_SPMI is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_SQUASHFS=y -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y -# CONFIG_SQUASHFS_DECOMP_SINGLE is not set -# CONFIG_SQUASHFS_EMBEDDED is not set -# CONFIG_SQUASHFS_FILE_CACHE is not set -CONFIG_SQUASHFS_FILE_DIRECT=y -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# CONFIG_SQUASHFS_LZO is not set -# CONFIG_SQUASHFS_XATTR is not set -CONFIG_SQUASHFS_XZ=y -# CONFIG_SQUASHFS_ZLIB is not set -# CONFIG_SRAM is not set -# CONFIG_SSB is not set -# CONFIG_SSBI is not set -# CONFIG_SSB_DEBUG is not set -# CONFIG_SSB_DRIVER_GPIO is not set -# CONFIG_SSB_PCMCIAHOST is not set -CONFIG_SSB_POSSIBLE=y -# CONFIG_SSB_SDIOHOST is not set -# CONFIG_SSB_SILENT is not set -# CONFIG_SSFDC is not set -CONFIG_STACKTRACE_SUPPORT=y -# CONFIG_STACKTRACE is not set -# CONFIG_STACK_TRACER is not set -CONFIG_STAGING=y -# CONFIG_STAGING_MEDIA is not set -CONFIG_STANDALONE=y -CONFIG_STDBINUTILS=y -# CONFIG_STE10XP is not set -# CONFIG_STE_MODEM_RPROC is not set -# CONFIG_STMMAC_ETH is not set -# CONFIG_STMMAC_PLATFORM is not set -# CONFIG_STMMAC_PCI is not set -CONFIG_STP=y -# CONFIG_STRICT_DEVMEM is not set -CONFIG_STRIP_ASM_SYMS=y -# CONFIG_STUB_POULSBO is not set -# CONFIG_SUNDANCE is not set -# CONFIG_SUNGEM is not set -# CONFIG_SUNRPC is not set -# CONFIG_SUNRPC_DEBUG is not set -# CONFIG_SUNRPC_GSS is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_SUSPEND is not set -CONFIG_SWAP=y -# CONFIG_SWCONFIG is not set -# CONFIG_SWCONFIG_LEDS is not set -# CONFIG_SXGBE_ETH is not set -# CONFIG_SYNCLINK_CS is not set -CONFIG_SYN_COOKIES=y -CONFIG_SYSCTL=y -# CONFIG_SYSCTL_SYSCALL is not set -# CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_SYSFS=y -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_SYSFS_DEPRECATED_V2 is not set -# CONFIG_SYSFS_SYSCALL is not set -# CONFIG_SYSTEMPORT is not set -# CONFIG_SYSTEM_TRUSTED_KEYRING is not set -# CONFIG_SYSV68_PARTITION is not set -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_SYSV_FS is not set -# CONFIG_SYS_HYPERVISOR is not set -# CONFIG_T5403 is not set -# CONFIG_TARGET_CORE is not set -# CONFIG_TASKSTATS is not set -# CONFIG_TASKS_RCU is not set -# CONFIG_TC35815 is not set -# CONFIG_TCG_TPM is not set -# CONFIG_TCIC is not set -CONFIG_TCP_CONG_ADVANCED=y -# CONFIG_TCP_CONG_BIC is not set -CONFIG_TCP_CONG_CUBIC=y -# CONFIG_TCP_CONG_DCTCP is not set -# CONFIG_TCP_CONG_HSTCP is not set -# CONFIG_TCP_CONG_HTCP is not set -# CONFIG_TCP_CONG_HYBLA is not set -# CONFIG_TCP_CONG_ILLINOIS is not set -# CONFIG_TCP_CONG_LP is not set -# CONFIG_TCP_CONG_SCALABLE is not set -# CONFIG_TCP_CONG_VEGAS is not set -# CONFIG_TCP_CONG_VENO is not set -# CONFIG_TCP_CONG_WESTWOOD is not set -# CONFIG_TCP_CONG_YEAH is not set -# CONFIG_TCP_MD5SIG is not set -# CONFIG_TCS3414 is not set -# CONFIG_TCS3472 is not set -# CONFIG_TEGRA_HOST1X is not set -# CONFIG_TEHUTI is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_MODULE is not set -# CONFIG_TEST_POWER is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_USER_COPY is not set -CONFIG_TEXTSEARCH=y -# CONFIG_TEXTSEARCH_BM is not set -# CONFIG_TEXTSEARCH_FSM is not set -# CONFIG_TEXTSEARCH_KMP is not set -# CONFIG_THERMAL is not set -# CONFIG_THERMAL_GOV_BANG_BANG is not set -# CONFIG_THERMAL_HWMON is not set -# CONFIG_THRUSTMASTER_FF is not set -# CONFIG_THUNDERBOLT is not set -# CONFIG_TICK_CPU_ACCOUNTING is not set -CONFIG_TICK_ONESHOT=y -# CONFIG_TIFM_CORE is not set -# CONFIG_TIGON3 is not set -# CONFIG_TIMB_DMA is not set -CONFIG_TIMERFD=y -# CONFIG_TIMER_STATS is not set -CONFIG_TINY_RCU=y -# CONFIG_TIPC is not set -# CONFIG_TI_ADC081C is not set -# CONFIG_TI_ADC128S052 is not set -# CONFIG_TI_AM335X_ADC is not set -# CONFIG_TI_CPSW is not set -# CONFIG_TI_CPTS is not set -# CONFIG_TI_DAC7512 is not set -# CONFIG_TI_DAVINCI_CPDMA is not set -# CONFIG_TI_DAVINCI_MDIO is not set -# CONFIG_TI_ST is not set -# CONFIG_TLAN is not set -# CONFIG_TWL4030_MADC is not set -# CONFIG_TMD_HERMES is not set -# CONFIG_TMP006 is not set -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -CONFIG_TMPFS_XATTR=y -# CONFIG_TORTURE_TEST is not set -# CONFIG_TOSHIBA_HAPS is not set -# CONFIG_TOUCHSCREEN_AD7877 is not set -# CONFIG_TOUCHSCREEN_AD7879 is not set -# CONFIG_TOUCHSCREEN_AD7879_I2C is not set -# CONFIG_TOUCHSCREEN_AD7879_SPI is not set -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_AR1021_I2C is not set -# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set -# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set -# CONFIG_TOUCHSCREEN_BU21013 is not set -# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set -# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set -# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set -# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set -# CONFIG_TOUCHSCREEN_DYNAPRO is not set -# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set -# CONFIG_TOUCHSCREEN_EETI is not set -# CONFIG_TOUCHSCREEN_EGALAX is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_FUJITSU is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set -# CONFIG_TOUCHSCREEN_ILI210X is not set -# CONFIG_TOUCHSCREEN_INEXIO is not set -# CONFIG_TOUCHSCREEN_MAX11801 is not set -# CONFIG_TOUCHSCREEN_MCS5000 is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_MMS114 is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_PIXCIR is not set -# CONFIG_TOUCHSCREEN_S3C2410 is not set -# CONFIG_TOUCHSCREEN_ST1232 is not set -# CONFIG_TOUCHSCREEN_SUR40 is not set -# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set -# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_TPS6507X is not set -# CONFIG_TOUCHSCREEN_TSC2005 is not set -# CONFIG_TOUCHSCREEN_TSC2007 is not set -# CONFIG_TOUCHSCREEN_TSC_SERIO is not set -# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set -# CONFIG_TOUCHSCREEN_W90X900 is not set -# CONFIG_TOUCHSCREEN_WACOM_I2C is not set -# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set -# CONFIG_TOUCHSCREEN_WM97XX is not set -# CONFIG_TOUCHSCREEN_ZFORCE is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS65010 is not set -# CONFIG_TPS6507X is not set -# CONFIG_TR is not set -# CONFIG_TRACEPOINT_BENCHMARK is not set -# CONFIG_TRACER_SNAPSHOT is not set -# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set -# CONFIG_TRACE_BRANCH_PROFILING is not set -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_TRACE_SINK is not set -CONFIG_TRACING_SUPPORT=y -CONFIG_TRAD_SIGNALS=y -# CONFIG_TRANSPARENT_HUGEPAGE is not set -# CONFIG_TRANZPORT is not set -# CONFIG_TREE_PREEMPT_RCU is not set -# CONFIG_TREE_RCU is not set -# CONFIG_TREE_RCU_TRACE is not set -# CONFIG_TSL2583 is not set -# CONFIG_TSL2x7x is not set -# CONFIG_TSL4531 is not set -CONFIG_TTY=y -# CONFIG_TTY_PRINTK is not set -# CONFIG_TUN is not set -# CONFIG_TWL4030_CORE is not set -# CONFIG_TWL6030_GPADC is not set -# CONFIG_TWL6040_CORE is not set -# CONFIG_TYPHOON is not set -# CONFIG_UACCESS_WITH_MEMCPY is not set -# CONFIG_UCB1400_CORE is not set -# CONFIG_UDF_FS is not set -CONFIG_UDF_NLS=y -CONFIG_UEVENT_HELPER=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -# CONFIG_UFS_FS is not set -# CONFIG_UHID is not set -CONFIG_UIDGID_STRICT_TYPE_CHECKS=y -# CONFIG_UIO is not set -# CONFIG_ULTRA is not set -# CONFIG_ULTRIX_PARTITION is not set -CONFIG_UNIX=y -CONFIG_UNIX98_PTYS=y -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_UNIX_DIAG is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_UPROBE_EVENT is not set -# CONFIG_UPROBES is not set -# CONFIG_USB is not set -# CONFIG_USBIP_CORE is not set -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_USB_ACM is not set -# CONFIG_USB_ADUTUX is not set -CONFIG_USB_ALI_M5632=y -# CONFIG_USB_AMD5536UDC is not set -CONFIG_USB_AN2720=y -# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set -# CONFIG_USB_APPLEDISPLAY is not set -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_ATM is not set -CONFIG_USB_BELKIN=y -# CONFIG_USB_BTMTK is not set -# CONFIG_USB_C67X00_HCD is not set -# CONFIG_USB_CATC is not set -# CONFIG_USB_CDC_COMPOSITE is not set -# CONFIG_USB_CHIPIDEA is not set -# CONFIG_USB_CONFIGFS is not set -# CONFIG_USB_CXACRU is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEFAULT_PERSIST=y -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DEVICE_CLASS is not set -# CONFIG_USB_DSBR is not set -# CONFIG_USB_DUMMY_HCD is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC2_DUAL_ROLE is not set -# CONFIG_USB_DWC2_HOST is not set -# CONFIG_USB_DWC2_PERIPHERAL is not set -# CONFIG_USB_DWC3 is not set -# CONFIG_USB_DWC3_EXYNOS is not set -# CONFIG_USB_DWC3_QCOM is not set -# CONFIG_USB_DWC3_PCI is not set -# CONFIG_USB_DWC3_KEYSTONE is not set -# CONFIG_USB_DWC_OTG_LPM is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_EG20T is not set -# CONFIG_USB_EHCI_HCD_AT91 is not set -# CONFIG_USB_EHCI_HCD_PPC_OF is not set -# CONFIG_USB_EHCI_MSM is not set -# CONFIG_USB_EHCI_MV is not set -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -# CONFIG_USB_EHSET_TEST_FIXTURE is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_ENESTORAGE is not set -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_ET61X251 is not set -CONFIG_USB_EZUSB=y -# CONFIG_USB_EZUSB_FX2 is not set -# CONFIG_USB_FILE_STORAGE is not set -# CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_FOTG210_UDC is not set -# CONFIG_USB_FSL_USB2 is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_FUNCTIONFS is not set -# CONFIG_USB_FUSB300 is not set -# CONFIG_USB_FUSBH200_HCD is not set -# CONFIG_USB_GADGET is not set -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET_DEBUG is not set -# CONFIG_USB_GADGET_DEBUG_FILES is not set -# CONFIG_USB_GADGET_DEBUG_FS is not set -CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 -CONFIG_USB_GADGET_VBUS_DRAW=2 -# CONFIG_USB_GADGET_XILINX is not set -# CONFIG_USB_GL860 is not set -# CONFIG_USB_GOKU is not set -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_GR_UDC is not set -# CONFIG_USB_GSPCA is not set -# CONFIG_USB_GSPCA_BENQ is not set -# CONFIG_USB_GSPCA_CONEX is not set -# CONFIG_USB_GSPCA_CPIA1 is not set -# CONFIG_USB_GSPCA_DTCS033 is not set -# CONFIG_USB_GSPCA_ETOMS is not set -# CONFIG_USB_GSPCA_FINEPIX is not set -# CONFIG_USB_GSPCA_JEILINJ is not set -# CONFIG_USB_GSPCA_JL2005BCD is not set -# CONFIG_USB_GSPCA_KINECT is not set -# CONFIG_USB_GSPCA_KONICA is not set -# CONFIG_USB_GSPCA_MARS is not set -# CONFIG_USB_GSPCA_MR97310A is not set -# CONFIG_USB_GSPCA_NW80X is not set -# CONFIG_USB_GSPCA_OV519 is not set -# CONFIG_USB_GSPCA_OV534 is not set -# CONFIG_USB_GSPCA_OV534_9 is not set -# CONFIG_USB_GSPCA_PAC207 is not set -# CONFIG_USB_GSPCA_PAC7302 is not set -# CONFIG_USB_GSPCA_PAC7311 is not set -# CONFIG_USB_GSPCA_SE401 is not set -# CONFIG_USB_GSPCA_SN9C2028 is not set -# CONFIG_USB_GSPCA_SN9C20X is not set -# CONFIG_USB_GSPCA_SONIXB is not set -# CONFIG_USB_GSPCA_SONIXJ is not set -# CONFIG_USB_GSPCA_SPCA1528 is not set -# CONFIG_USB_GSPCA_SPCA500 is not set -# CONFIG_USB_GSPCA_SPCA501 is not set -# CONFIG_USB_GSPCA_SPCA505 is not set -# CONFIG_USB_GSPCA_SPCA506 is not set -# CONFIG_USB_GSPCA_SPCA508 is not set -# CONFIG_USB_GSPCA_SPCA561 is not set -# CONFIG_USB_GSPCA_SQ905 is not set -# CONFIG_USB_GSPCA_SQ905C is not set -# CONFIG_USB_GSPCA_SQ930X is not set -# CONFIG_USB_GSPCA_STK014 is not set -# CONFIG_USB_GSPCA_STK1135 is not set -# CONFIG_USB_GSPCA_STV0680 is not set -# CONFIG_USB_GSPCA_SUNPLUS is not set -# CONFIG_USB_GSPCA_T613 is not set -# CONFIG_USB_GSPCA_TOPRO is not set -# CONFIG_USB_GSPCA_TV8532 is not set -# CONFIG_USB_GSPCA_VC032X is not set -# CONFIG_USB_GSPCA_VICAM is not set -# CONFIG_USB_GSPCA_XIRLINK_CIT is not set -# CONFIG_USB_GSPCA_ZC3XX is not set -# CONFIG_USB_G_ACM_MS is not set -# CONFIG_USB_G_DBGP is not set -# CONFIG_USB_G_HID is not set -# CONFIG_USB_G_MULTI is not set -# CONFIG_USB_G_NCM is not set -# CONFIG_USB_G_NOKIA is not set -# CONFIG_USB_G_PRINTER is not set -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_G_WEBCAM is not set -# CONFIG_USB_HCD_TEST_MODE is not set -# CONFIG_USB_HID is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_HSIC_USB3503 is not set -# CONFIG_USB_HSO is not set -# CONFIG_USB_HWA_HCD is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_INPUT_IMS_PCU is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_IPHETH is not set -# CONFIG_USB_IP_COMMON is not set -# CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ISP1362_HCD is not set -# CONFIG_USB_ISP1760_HCD is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_KBD is not set -# CONFIG_USB_KC2190 is not set -# CONFIG_USB_KONICAWC is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_LED_TRIG is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LIBUSUAL is not set -# CONFIG_USB_LINK_LAYER_TEST is not set -# CONFIG_USB_M5602 is not set -# CONFIG_USB_M66592 is not set -# CONFIG_USB_MASS_STORAGE is not set -# CONFIG_USB_MAX3421_HCD is not set -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USB_MIDI_GADGET is not set -# CONFIG_USB_MON is not set -# CONFIG_USB_MOUSE is not set -# CONFIG_USB_MSM_OTG is not set -# CONFIG_USB_MUSB_HDRC is not set -# CONFIG_USB_MV_U3D is not set -# CONFIG_USB_MV_UDC is not set -# CONFIG_USB_NET2272 is not set -# CONFIG_USB_NET2280 is not set -# CONFIG_USB_NET_AX88179_178A is not set -# CONFIG_USB_NET_AX8817X is not set -# CONFIG_USB_NET_CDCETHER is not set -# CONFIG_USB_NET_CDC_EEM is not set -# CONFIG_USB_NET_CDC_MBIM is not set -# CONFIG_USB_NET_CDC_NCM is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -# CONFIG_USB_NET_CX82310_ETH is not set -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_DRIVERS is not set -# CONFIG_USB_NET_GL620A is not set -# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set -# CONFIG_USB_NET_INT51X1 is not set -# CONFIG_USB_NET_KALMIA is not set -# CONFIG_USB_NET_MCS7830 is not set -# CONFIG_USB_NET_NET1080 is not set -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_QMI_WWAN is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_RNDIS_WLAN is not set -# CONFIG_USB_NET_SMSC75XX is not set -# CONFIG_USB_NET_SMSC95XX is not set -# CONFIG_USB_NET_SR9700 is not set -# CONFIG_USB_NET_SR9800 is not set -# CONFIG_USB_NET_ZAURUS is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_OHCI_HCD_PCI is not set -# CONFIG_USB_OHCI_HCD_PPC_OF is not set -# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set -# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set -# CONFIG_USB_OHCI_HCD_PPC_SOC is not set -# CONFIG_USB_OHCI_HCD_SSB is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_PHY is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_PWC_INPUT_EVDEV is not set -# CONFIG_USB_PXA27X is not set -# CONFIG_USB_R8A66597 is not set -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_RCAR_PHY is not set -# CONFIG_USB_RENESAS_USBHS is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_RTL8152 is not set -# CONFIG_USB_S2255 is not set -# CONFIG_USB_S3C_HSOTG is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_SERIAL is not set -# CONFIG_USB_SERIAL_AIRCABLE is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set -# CONFIG_USB_SERIAL_CH341 is not set -# CONFIG_USB_SERIAL_CP210X is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_DEBUG is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_F81232 is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# CONFIG_USB_SERIAL_FUNSOFT is not set -# CONFIG_USB_SERIAL_GARMIN is not set -CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_HP4X is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_IUU is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -CONFIG_USB_SERIAL_KEYSPAN_MPR=y -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -CONFIG_USB_SERIAL_KEYSPAN_USA18X=y -CONFIG_USB_SERIAL_KEYSPAN_USA19=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y -CONFIG_USB_SERIAL_KEYSPAN_USA19W=y -CONFIG_USB_SERIAL_KEYSPAN_USA28=y -CONFIG_USB_SERIAL_KEYSPAN_USA28X=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y -CONFIG_USB_SERIAL_KEYSPAN_USA49W=y -CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_METRO is not set -# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set -# CONFIG_USB_SERIAL_MOS7720 is not set -# CONFIG_USB_SERIAL_MOS7840 is not set -# CONFIG_USB_SERIAL_MOTOROLA is not set -# CONFIG_USB_SERIAL_MXUPORT is not set -# CONFIG_USB_SERIAL_NAVMAN is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_OPTICON is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OTI6858 is not set -# CONFIG_USB_SERIAL_PL2303 is not set -# CONFIG_USB_SERIAL_QCAUX is not set -# CONFIG_USB_SERIAL_QT2 is not set -# CONFIG_USB_SERIAL_QUALCOMM is not set -# CONFIG_USB_SERIAL_QUATECH2 is not set -# CONFIG_USB_SERIAL_QUATECH_USB2 is not set -# CONFIG_USB_SERIAL_SAFE is not set -CONFIG_USB_SERIAL_SAFE_PADDED=y -# CONFIG_USB_SERIAL_SIEMENS_MPI is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_SIMPLE is not set -# CONFIG_USB_SERIAL_SPCP8X5 is not set -# CONFIG_USB_SERIAL_SSU100 is not set -# CONFIG_USB_SERIAL_SYMBOL is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_ZIO is not set -# CONFIG_USB_SERIAL_ZTE is not set -# CONFIG_USB_SEVSEG is not set -# CONFIG_USB_SIERRA_NET is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_SN9C102 is not set -# CONFIG_USB_SPEEDTOUCH is not set -# CONFIG_USB_STKWEBCAM is not set -# CONFIG_USB_STORAGE is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_REALTEK is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STV06XX is not set -# CONFIG_USB_SUPPORT is not set -# CONFIG_USB_SUSPEND is not set -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_USB_TEST is not set -# CONFIG_USB_TMC is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_UAS is not set -# CONFIG_USB_UEAGLEATM is not set -# CONFIG_USB_ULPI is not set -# CONFIG_USB_USBNET is not set -# CONFIG_USB_USS720 is not set -# CONFIG_USB_VIDEO_CLASS is not set -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -# CONFIG_USB_VL600 is not set -# CONFIG_USB_WDM is not set -# CONFIG_USB_WHCI_HCD is not set -# CONFIG_USB_WPAN_HCD is not set -# CONFIG_USB_WUSB is not set -# CONFIG_USB_WUSB_CBAF is not set -# CONFIG_USB_XHCI_HCD is not set -# CONFIG_USB_XUSBATM is not set -# CONFIG_USB_YUREX is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_ZERO is not set -# CONFIG_USB_ZR364XX is not set -# CONFIG_USELIB is not set -# CONFIG_USE_GENERIC_SMP_HELPERS is not set -# CONFIG_USE_OF is not set -# CONFIG_UTS_NS is not set -# CONFIG_UWB is not set -# CONFIG_V4L_MEM2MEM_DRIVERS is not set -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VETH is not set -# CONFIG_VEXPRESS_CONFIG is not set -# CONFIG_VF610_ADC is not set -# CONFIG_VFAT_FS is not set -# CONFIG_VGASTATE is not set -# CONFIG_VGA_ARB is not set -# CONFIG_VGA_SWITCHEROO is not set -# CONFIG_VIA_RHINE is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_VIDEO_ADV7170 is not set -# CONFIG_VIDEO_ADV7175 is not set -# CONFIG_VIDEO_ADV7180 is not set -# CONFIG_VIDEO_ADV7183 is not set -# CONFIG_VIDEO_ADV7343 is not set -# CONFIG_VIDEO_ADV7393 is not set -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_AK881X is not set -# CONFIG_VIDEO_BT819 is not set -# CONFIG_VIDEO_BT848 is not set -# CONFIG_VIDEO_BT856 is not set -# CONFIG_VIDEO_BT866 is not set -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CAFE_CCIC is not set -# CONFIG_VIDEO_CAPTURE_DRIVERS is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_CS5345 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_CX231XX is not set -# CONFIG_VIDEO_CX2341X is not set -# CONFIG_VIDEO_CX25840 is not set -# CONFIG_VIDEO_CX88 is not set -# CONFIG_VIDEO_DEV is not set -# CONFIG_VIDEO_DM6446_CCDC is not set -# CONFIG_VIDEO_DT3155 is not set -# CONFIG_VIDEO_EM28XX is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_GO7007 is not set -# CONFIG_VIDEO_HDPVR is not set -# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_IR_I2C is not set -# CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_KS0127 is not set -# CONFIG_VIDEO_M52790 is not set -# CONFIG_VIDEO_MEDIA is not set -# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set -# CONFIG_VIDEO_ML86V7667 is not set -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_OMAP2_VOUT is not set -# CONFIG_VIDEO_OUTPUT_CONTROL is not set -# CONFIG_VIDEO_OV7640 is not set -# CONFIG_VIDEO_OV7670 is not set -# CONFIG_VIDEO_PMS is not set -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_SAA6588 is not set -# CONFIG_VIDEO_SAA6752HS is not set -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7134 is not set -# CONFIG_VIDEO_SAA717X is not set -# CONFIG_VIDEO_SAA7185 is not set -# CONFIG_VIDEO_SAA7191 is not set -# CONFIG_VIDEO_SH_MOBILE_CEU is not set -# CONFIG_VIDEO_SONY_BTF_MPX is not set -# CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_TCM825X is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_THS8200 is not set -# CONFIG_VIDEO_TIMBERDALE is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_TM6000 is not set -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 is not set -# CONFIG_VIDEO_TW9903 is not set -# CONFIG_VIDEO_TW9906 is not set -# CONFIG_VIDEO_UDA1342 is not set -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set -# CONFIG_VIDEO_USBTV is not set -# CONFIG_VIDEO_USBVISION is not set -# CONFIG_VIDEO_V4L2 is not set -# CONFIG_VIDEO_V4L2_COMMON is not set -# CONFIG_VIDEO_V4L2_INT_DEVICE is not set -# CONFIG_VIDEO_VIVI is not set -# CONFIG_VIDEO_VP27SMPX is not set -# CONFIG_VIDEO_VPX3220 is not set -# CONFIG_VIDEO_VS6624 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_ZORAN is not set -# CONFIG_VIRQ_DEBUG is not set -# CONFIG_VIRTIO_BALLOON is not set -# CONFIG_VIRTIO_MMIO is not set -# CONFIG_VIRTIO_PCI is not set -# CONFIG_VIRTUALIZATION is not set -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRT_TO_BUS=y -# CONFIG_VITESSE_PHY is not set -CONFIG_VLAN_8021Q=y -# CONFIG_VLAN_8021Q_GVRP is not set -# CONFIG_VLAN_8021Q_MVRP is not set -# CONFIG_VME_BUS is not set -# CONFIG_VMSPLIT_1G is not set -# CONFIG_VMSPLIT_2G is not set -# CONFIG_VMSPLIT_2G_OPT is not set -CONFIG_VMSPLIT_3G=y -# CONFIG_VMSPLIT_3G_OPT is not set -# CONFIG_VMWARE_PVSCSI is not set -# CONFIG_VMXNET3 is not set -# CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_VORTEX is not set -# CONFIG_VSOCKETS is not set -# CONFIG_VT is not set -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -# CONFIG_VXFS_FS is not set -# CONFIG_VXGE is not set -# CONFIG_VXLAN is not set -# CONFIG_W1 is not set -# CONFIG_W1_CON is not set -# CONFIG_W1_MASTER_DS1WM is not set -# CONFIG_W1_MASTER_DS2482 is not set -# CONFIG_W1_MASTER_DS2490 is not set -# CONFIG_W1_MASTER_GPIO is not set -# CONFIG_W1_MASTER_MATROX is not set -# CONFIG_W1_SLAVE_BQ27000 is not set -# CONFIG_W1_SLAVE_DS2406 is not set -# CONFIG_W1_SLAVE_DS2408 is not set -# CONFIG_W1_SLAVE_DS2413 is not set -# CONFIG_W1_SLAVE_DS2423 is not set -# CONFIG_W1_SLAVE_DS2431 is not set -# CONFIG_W1_SLAVE_DS2433 is not set -# CONFIG_W1_SLAVE_DS2760 is not set -# CONFIG_W1_SLAVE_DS2780 is not set -# CONFIG_W1_SLAVE_DS2781 is not set -# CONFIG_W1_SLAVE_DS28E04 is not set -# CONFIG_W1_SLAVE_SMEM is not set -# CONFIG_W1_SLAVE_THERM is not set -# CONFIG_W35UND is not set -# CONFIG_W83627HF_WDT is not set -# CONFIG_W83697HF_WDT is not set -# CONFIG_W83877F_WDT is not set -# CONFIG_W83977F_WDT is not set -# CONFIG_WAN is not set -# CONFIG_WANXL is not set -# CONFIG_WAN_ROUTER is not set -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_CORE is not set -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_WD80x3 is not set -# CONFIG_WDTPCI is not set -CONFIG_WEXT_CORE=y -CONFIG_WEXT_PRIV=y -CONFIG_WEXT_PROC=y -CONFIG_WEXT_SPY=y -CONFIG_WILINK_PLATFORM_DATA=y -# CONFIG_WIMAX is not set -# CONFIG_WIMAX_GDM72XX is not set -CONFIG_WIRELESS=y -CONFIG_WIRELESS_EXT=y -# CONFIG_WIRELESS_EXT_SYSFS is not set -# CONFIG_WL1251 is not set -# CONFIG_WL12XX is not set -# CONFIG_WL18XX is not set -# CONFIG_WLAGS49_H2 is not set -# CONFIG_WLAGS49_H25 is not set -CONFIG_WLAN=y -# CONFIG_WLCORE is not set -CONFIG_WL_TI=y -CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y -# CONFIG_WR_PPMC is not set -# CONFIG_X25 is not set -# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set -# CONFIG_X86_PKG_TEMP_THERMAL is not set -CONFIG_X86_SYSFB=y -CONFIG_XFRM=y -# CONFIG_XFRM_IPCOMP is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_XFRM_STATISTICS is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_USER is not set -# CONFIG_XFS_DEBUG is not set -# CONFIG_XFS_FS is not set -# CONFIG_XFS_POSIX_ACL is not set -# CONFIG_XFS_QUOTA is not set -# CONFIG_XFS_RT is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XILINX_AXI_EMAC is not set -# CONFIG_XILINX_EMACLITE is not set -# CONFIG_XILINX_LL_TEMAC is not set -# CONFIG_XILINX_WATCHDOG is not set -# CONFIG_XILLYBUS is not set -# CONFIG_XIP_KERNEL is not set -# CONFIG_XMON is not set -# CONFIG_XVMALLOC is not set -CONFIG_XZ_DEC=y -# CONFIG_XZ_DEC_ARM is not set -# CONFIG_XZ_DEC_ARMTHUMB is not set -# CONFIG_XZ_DEC_BCJ is not set -# CONFIG_XZ_DEC_IA64 is not set -# CONFIG_XZ_DEC_POWERPC is not set -# CONFIG_XZ_DEC_SPARC is not set -# CONFIG_XZ_DEC_TEST is not set -# CONFIG_XZ_DEC_X86 is not set -# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set -# CONFIG_YAFFS_FS is not set -# CONFIG_YAM is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_YENTA is not set -# CONFIG_YENTA_O2 is not set -# CONFIG_YENTA_RICOH is not set -# CONFIG_YENTA_TI is not set -# CONFIG_YENTA_TOSHIBA is not set -# CONFIG_ZBUD is not set -# CONFIG_ZD1211RW is not set -# CONFIG_ZD1211RW_DEBUG is not set -# CONFIG_ZEROPLUS_FF is not set -# CONFIG_ZISOFS is not set -# CONFIG_ZLIB_DEFLATE is not set -# CONFIG_ZLIB_INFLATE is not set -# CONFIG_ZNET is not set -# CONFIG_ZPOOL is not set -CONFIG_ZONE_DMA=y -CONFIG_ZONE_DMA_FLAG=1 -# CONFIG_ZRAM is not set -# CONFIG_ZRAM_LZ4_COMPRESS is not set -# CONFIG_ZSMALLOC is not set diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/PHY_REG_PG_8197Fmp_Type0.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/PHY_REG_PG_8197Fmp_Type0.txt deleted file mode 100644 index 8f340d2e7..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/PHY_REG_PG_8197Fmp_Type0.txt +++ /dev/null @@ -1,22 +0,0 @@ -//MAC_PHY_Parameter -#Exact -0xe00 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -0xe04 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -0xe08 0 0 22 0 // TXAGC codeword (H-byte->L-byte)={NA NA 1M NA} -0x86c 22 22 22 0 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M NA} -0xe10 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -0xe14 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -0xe18 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -0xe1c 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} - -0x830 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -0x834 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -0x838 22 22 22 0 // TXAGC codeword (H-byte->L-byte)={5.5M 2M 1M NA} -0x86c 0 0 0 22 // TXAGC codeword (H-byte->L-byte)={NA NA NA NA 11M} -0x83c 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -0x848 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -0x84c 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -0x868 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} - -0xffff 0xffff - diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/TXPWR_LMT_8197Fmp_Type0.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/TXPWR_LMT_8197Fmp_Type0.txt deleted file mode 100644 index bb9e079df..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/TXPWR_LMT_8197Fmp_Type0.txt +++ /dev/null @@ -1,229 +0,0 @@ -//RL6302_MAC_PHY_Parameter_v046_20221008 -// Format: -// -// Note: The order of the tables MUST match the definition in WLAN driver. -// -// Power Limit Table Parameter Definition -// Band: 2.4G/5G -// Bandwidth: 20/40/80/220 MHZ -// RF Path: 1/2/3/4 Transmit RF -// Rate Section: CCK/OFDM/HT/VHT -// Regulation: FCC/ETSI/MKK/IC -// -// Description: -// 1. IF in 1T test -// 2. power is real dBm. -// 3. // is for comment. -// -// NA is non-release channel. -// -// -//Table 1: =========================================== -// -## 2.4G, 20M, 1T, CCK, //(1M;2M;5.5M;11M) -## START -## #4# FCC ETSI MKK IC -CH01 14 10 14 14 -CH02 14 10 14 14 -CH03 14 10 14 14 -CH04 15 10 14 15 -CH05 15 11 14 15 -CH06 15 11 14 15 -CH07 14 11 14 14 -CH08 14 11 14 14 -CH09 13 11 14 13 -CH10 13 10 14 13 -CH11 13 10 14 13 -CH12 13 10 14 13 -CH13 13 10 14 13 -CH14 NA NA 14 NA -## END -// -//Table 2: =========================================== -// -## 2.4G, 20M, 1T, OFDM, //(6M;9M;12M;22M;24M;36M;48M;54M) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 16 18 -CH02 18 11 16 18 -CH03 19 11 16 19 -CH04 20 11 16 20 -CH05 21 11 16 21 -CH06 21 11 16 21 -CH07 20 11 16 20 -CH08 19 11 16 19 -CH09 18 11 16 18 -CH10 18 11 16 18 -CH11 18 11 16 18 -CH12 18 12 16 18 -CH13 18 12 16 18 -CH14 NA NA NA NA -## END -// -//Table 3: =========================================== -// -## 2.4G, 20M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 4: =========================================== -// -## 2.4G, 20M, 2T, HT, //(MCS8~MCS22) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 5: =========================================== -// -## 2.4G, 20M, 3T, HT, //(MCS22~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 6: =========================================== -// -## 2.4G, 20M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 7: =========================================== -// -## 2.4G, 40M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END -// -//Table 8: =========================================== -// -## 2.4G, 40M, 2T, HT, //(MCS8~MCS22) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END -// -//Table 9: =========================================== -// -## 2.4G, 40M, 3T, HT, //(MCS22~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END -// -//Table 10: =========================================== -// -## 2.4G, 40M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/PHY_REG_PG_8822Bmp_Type10.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/PHY_REG_PG_8822Bmp_Type10.txt deleted file mode 100644 index 6fd6b4a21..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/PHY_REG_PG_8822Bmp_Type10.txt +++ /dev/null @@ -1,151 +0,0 @@ -//RL6302_MAC_PHY_Parameter_v018_20140708 -#[v1][Exact]# -#[2.4G][A]# -[1Tx] 0xc20 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0xc24 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xc28 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xc2c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc30 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xc34 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xc38 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xcd8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xcdc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xc3c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc40 0xffffffff 13 14 15 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xc44 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xc48 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xc4c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xce0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xce4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xce8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[2.4G][B]# -[1Tx] 0xe20 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0xe24 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xe28 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xe2c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe30 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xe34 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xe38 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xed8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xedc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xe3c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe40 0xffffffff 11 13 14 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xe44 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xe48 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xe4c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xee0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xee4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xee8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[2.4G][C]# -[1Tx] 0x1820 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0x1824 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1828 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x182c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1830 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1834 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1838 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x18d8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x18dc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x183c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1840 0xffffffff 11 13 14 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1844 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1848 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x184c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x18e0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x18e4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x18e8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[2.4G][D]# -[1Tx] 0x1a20 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0x1a24 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1a28 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x1a2c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a30 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1a34 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1a38 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x1ad8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x1adc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x1a3c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a40 0xffffffff 11 13 14 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1a44 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1a48 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x1a4c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x1ae0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x1ae4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x1ae8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][A]# -[1Tx] 0xc24 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xc28 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xc2c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc30 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xc34 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xc38 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xcd8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xcdc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xc3c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc40 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xc44 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xc48 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xc4c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xce0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xce4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xce8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][B]# -[1Tx] 0xe24 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xe28 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xe2c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe30 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xe34 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xe38 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xed8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xedc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xe3c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe40 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xe44 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xe48 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xe4c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xee0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xee4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xee8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][C]# -[1Tx] 0x1824 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1828 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x182c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1830 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1834 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1838 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x18d8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x18dc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x183c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1840 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1844 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1848 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x184c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x18e0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x18e4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x18e8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][D]# -[1Tx] 0x1a24 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1a28 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x1a2c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a30 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1a34 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1a38 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x1ad8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x1adc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x1a3c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a40 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1a44 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1a48 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x1a4c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x1ae0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x1ae4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x1ae8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -0xffff 0xffff diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/TXPWR_LMT_8822Bmp_Type10.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/TXPWR_LMT_8822Bmp_Type10.txt deleted file mode 100644 index bf9267a90..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200-POE/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/TXPWR_LMT_8822Bmp_Type10.txt +++ /dev/null @@ -1,555 +0,0 @@ -// Format: -// -// Note: The order of the tables MUST match the definition in WLAN driver. -// -// Power Limit Table Parameter Definition -// Band: 2.4G/5G -// Bandwidth: 20/40/80/160 MHZ -// RF Path: 1/2/3/4 Transmit RF -// Rate Section: CCK/OFDM/HT/VHT -// Regulation: FCC/ETSI/MKK/IC -// -// Description: -// 1. IF in 1T test -// 2. power is real dBm. -// 3. // is for comment. -// -// NA is non-release channel. -// -// -//Table 1: =========================================== -// -## 2.4G, 20M, 1T, CCK, //(1M;2M;5.5M;11M) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA 22 NA -## END -// -//Table 2: =========================================== -// -## 2.4G, 20M, 1T, OFDM, //(6M;9M;12M;18M;24M;36M;48M;54M) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 3: =========================================== -// -## 2.4G, 20M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 4: =========================================== -// -## 2.4G, 20M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 5: =========================================== -// -## 2.4G, 20M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 6: =========================================== -// -## 2.4G, 20M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 7: =========================================== -// -## 2.4G, 40M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 8: =========================================== -// -## 2.4G, 40M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 9: =========================================== -// -## 2.4G, 40M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 10: =========================================== -// -## 2.4G, 40M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 11: =========================================== -// -## 5G, 20M, 1T, OFDM, //(6M;9M;12M;18M;24M;36M;48M;54M) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 14 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 12: ====================================== -// -## 5G, 20M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 13: =========================================== -// -## 5G, 20M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 14: =========================================== -// -## 5G, 20M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 15: =========================================== -// -## 5G, 20M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 16: =========================================== -// -## 5G, 40M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 17: =========================================== -// -## 5G, 40M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 18: =========================================== -// -## 5G, 40M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 19: =========================================== -// -## 5G, 40M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 20: =========================================== -// -## 5G, 80M, 1T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END -// -//Table 21: =========================================== -// -## 5G, 80M, 2T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END -// -//Table 22: =========================================== -// -## 5G, 80M, 3T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END -// -//Table 23: =========================================== -// -## 5G, 80M, 4T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/PHY_REG_PG_8197Fmp_Type0.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/PHY_REG_PG_8197Fmp_Type0.txt deleted file mode 100644 index 8f340d2e7..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/PHY_REG_PG_8197Fmp_Type0.txt +++ /dev/null @@ -1,22 +0,0 @@ -//MAC_PHY_Parameter -#Exact -0xe00 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -0xe04 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -0xe08 0 0 22 0 // TXAGC codeword (H-byte->L-byte)={NA NA 1M NA} -0x86c 22 22 22 0 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M NA} -0xe10 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -0xe14 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -0xe18 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -0xe1c 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} - -0x830 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -0x834 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -0x838 22 22 22 0 // TXAGC codeword (H-byte->L-byte)={5.5M 2M 1M NA} -0x86c 0 0 0 22 // TXAGC codeword (H-byte->L-byte)={NA NA NA NA 11M} -0x83c 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -0x848 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -0x84c 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -0x868 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} - -0xffff 0xffff - diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/TXPWR_LMT_8197Fmp_Type0.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/TXPWR_LMT_8197Fmp_Type0.txt deleted file mode 100644 index bb9e079df..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8197F/TXPWR_LMT_8197Fmp_Type0.txt +++ /dev/null @@ -1,229 +0,0 @@ -//RL6302_MAC_PHY_Parameter_v046_20221008 -// Format: -// -// Note: The order of the tables MUST match the definition in WLAN driver. -// -// Power Limit Table Parameter Definition -// Band: 2.4G/5G -// Bandwidth: 20/40/80/220 MHZ -// RF Path: 1/2/3/4 Transmit RF -// Rate Section: CCK/OFDM/HT/VHT -// Regulation: FCC/ETSI/MKK/IC -// -// Description: -// 1. IF in 1T test -// 2. power is real dBm. -// 3. // is for comment. -// -// NA is non-release channel. -// -// -//Table 1: =========================================== -// -## 2.4G, 20M, 1T, CCK, //(1M;2M;5.5M;11M) -## START -## #4# FCC ETSI MKK IC -CH01 14 10 14 14 -CH02 14 10 14 14 -CH03 14 10 14 14 -CH04 15 10 14 15 -CH05 15 11 14 15 -CH06 15 11 14 15 -CH07 14 11 14 14 -CH08 14 11 14 14 -CH09 13 11 14 13 -CH10 13 10 14 13 -CH11 13 10 14 13 -CH12 13 10 14 13 -CH13 13 10 14 13 -CH14 NA NA 14 NA -## END -// -//Table 2: =========================================== -// -## 2.4G, 20M, 1T, OFDM, //(6M;9M;12M;22M;24M;36M;48M;54M) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 16 18 -CH02 18 11 16 18 -CH03 19 11 16 19 -CH04 20 11 16 20 -CH05 21 11 16 21 -CH06 21 11 16 21 -CH07 20 11 16 20 -CH08 19 11 16 19 -CH09 18 11 16 18 -CH10 18 11 16 18 -CH11 18 11 16 18 -CH12 18 12 16 18 -CH13 18 12 16 18 -CH14 NA NA NA NA -## END -// -//Table 3: =========================================== -// -## 2.4G, 20M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 4: =========================================== -// -## 2.4G, 20M, 2T, HT, //(MCS8~MCS22) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 5: =========================================== -// -## 2.4G, 20M, 3T, HT, //(MCS22~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 6: =========================================== -// -## 2.4G, 20M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 18 11 17 18 -CH02 18 11 17 18 -CH03 19 11 17 19 -CH04 20 11 17 20 -CH05 21 11 17 21 -CH06 21 11 17 21 -CH07 20 11 17 20 -CH08 19 11 17 19 -CH09 18 11 17 18 -CH10 17 11 17 17 -CH11 17 11 17 17 -CH12 17 12 17 17 -CH13 17 12 17 17 -CH14 NA NA NA NA -## END -// -//Table 7: =========================================== -// -## 2.4G, 40M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END -// -//Table 8: =========================================== -// -## 2.4G, 40M, 2T, HT, //(MCS8~MCS22) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END -// -//Table 9: =========================================== -// -## 2.4G, 40M, 3T, HT, //(MCS22~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END -// -//Table 10: =========================================== -// -## 2.4G, 40M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 18 11 16 18 -CH04 18 11 16 18 -CH05 19 11 16 19 -CH06 19 11 16 19 -CH07 18 12 16 18 -CH08 17 12 16 17 -CH09 16 12 16 16 -CH10 16 12 16 16 -CH11 16 12 16 16 -CH12 NA 12 16 NA -CH13 NA 12 16 NA -CH14 NA NA NA NA -## END diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/PHY_REG_PG_8822Bmp_Type10.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/PHY_REG_PG_8822Bmp_Type10.txt deleted file mode 100644 index 6fd6b4a21..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/PHY_REG_PG_8822Bmp_Type10.txt +++ /dev/null @@ -1,151 +0,0 @@ -//RL6302_MAC_PHY_Parameter_v018_20140708 -#[v1][Exact]# -#[2.4G][A]# -[1Tx] 0xc20 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0xc24 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xc28 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xc2c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc30 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xc34 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xc38 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xcd8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xcdc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xc3c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc40 0xffffffff 13 14 15 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xc44 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xc48 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xc4c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xce0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xce4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xce8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[2.4G][B]# -[1Tx] 0xe20 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0xe24 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xe28 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xe2c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe30 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xe34 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xe38 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xed8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xedc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xe3c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe40 0xffffffff 11 13 14 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xe44 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xe48 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xe4c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xee0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xee4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xee8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[2.4G][C]# -[1Tx] 0x1820 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0x1824 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1828 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x182c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1830 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1834 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1838 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x18d8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x18dc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x183c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1840 0xffffffff 11 13 14 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1844 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1848 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x184c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x18e0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x18e4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x18e8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[2.4G][D]# -[1Tx] 0x1a20 0xffffffff 22 22 22 22 // TXAGC codeword (H-byte->L-byte)={11M 5.5M 2M 1M} -[1Tx] 0x1a24 0xffffffff 20 22 22 22 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1a28 0xffffffff 16 17 18 19 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x1a2c 0xffffffff 20 21 22 22 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a30 0xffffffff 15 17 17 19 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1a34 0xffffffff 19 20 21 21 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1a38 0xffffffff 14 16 16 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x1ad8 0xffffffff 18 19 20 20 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x1adc 0xffffffff 13 15 15 17 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x1a3c 0xffffffff 17 17 17 17 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a40 0xffffffff 11 13 14 16 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1a44 0xffffffff 16 16 11 12 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1a48 0xffffffff 14 15 16 16 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x1a4c 0xffffffff 10 11 12 13 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x1ae0 0xffffffff 15 15 15 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x1ae4 0xffffffff 11 12 13 14 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x1ae8 0x0000ffff 10 10 9 10 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][A]# -[1Tx] 0xc24 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xc28 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xc2c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc30 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xc34 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xc38 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xcd8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xcdc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xc3c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xc40 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xc44 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xc48 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xc4c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xce0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xce4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xce8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][B]# -[1Tx] 0xe24 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0xe28 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0xe2c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe30 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0xe34 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0xe38 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0xed8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0xedc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0xe3c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0xe40 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0xe44 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0xe48 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0xe4c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0xee0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0xee4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0xee8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][C]# -[1Tx] 0x1824 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1828 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x182c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1830 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1834 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1838 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x18d8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x18dc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x183c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1840 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1844 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1848 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x184c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x18e0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x18e4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x18e8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -#[5G][D]# -[1Tx] 0x1a24 0xffffffff 18 18 18 18 // TXAGC codeword (H-byte->L-byte)={18M 12M 9M 6M} -[1Tx] 0x1a28 0xffffffff 13 14 16 18 // TXAGC codeword (H-byte->L-byte)={54M 48M 36M 24M} -[1Tx] 0x1a2c 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a30 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS7 MCS6 MCS5 MCS4} -[2Tx] 0x1a34 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS11 MCS10 MCS9 MCS8} -[2Tx] 0x1a38 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS15 MCS14 MCS13 MCS12} -[3Tx] 0x1ad8 0xffffffff 17 18 18 18 // TXAGC codeword (H-byte->L-byte)=HT_{MCS19 MCS18 MCS17 MCS16} -[3Tx] 0x1adc 0xffffffff 10 12 14 16 // TXAGC codeword (H-byte->L-byte)=HT_{MCS23 MCS22 MCS21 MCS20} -[1Tx] 0x1a3c 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS3 MCS2 MCS1 MCS0} -[1Tx] 0x1a40 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT1SS_{MCS7 MCS6 MCS5 MCS4} -[1Tx] 0x1a44 0xffffffff 18 18 7 9 // TXAGC codeword (H-byte->L-byte)={VHT2SS{MCS1 MCS0} VHT1SS_{MCS9 MCS8}} -[2Tx] 0x1a48 0xffffffff 14 15 16 18 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS5 MCS4 MCS3 MCS2} -[2Tx] 0x1a4c 0xffffffff 7 9 11 11 // TXAGC codeword (H-byte->L-byte)=VHT2SS_{MCS9 MCS8 MCS7 MCS6} -[3Tx] 0x1ae0 0xffffffff 16 18 18 18 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS3 MCS2 MCS1 MCS0} -[3Tx] 0x1ae4 0xffffffff 11 11 14 15 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS7 MCS6 MCS5 MCS4} -[3Tx] 0x1ae8 0x0000ffff 6 6 7 9 // TXAGC codeword (H-byte->L-byte)=VHT3SS_{MCS9 MCS8} -#[END]# -0xffff 0xffff diff --git a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/TXPWR_LMT_8822Bmp_Type10.txt b/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/TXPWR_LMT_8822Bmp_Type10.txt deleted file mode 100644 index bf9267a90..000000000 --- a/feeds/rtkmipsel/rtkmipsel/files-SP-W2M-AC1200/drivers/net/wireless/realtek/rtl8192cd/WlanHAL/Data/8822B/TXPWR_LMT_8822Bmp_Type10.txt +++ /dev/null @@ -1,555 +0,0 @@ -// Format: -// -// Note: The order of the tables MUST match the definition in WLAN driver. -// -// Power Limit Table Parameter Definition -// Band: 2.4G/5G -// Bandwidth: 20/40/80/160 MHZ -// RF Path: 1/2/3/4 Transmit RF -// Rate Section: CCK/OFDM/HT/VHT -// Regulation: FCC/ETSI/MKK/IC -// -// Description: -// 1. IF in 1T test -// 2. power is real dBm. -// 3. // is for comment. -// -// NA is non-release channel. -// -// -//Table 1: =========================================== -// -## 2.4G, 20M, 1T, CCK, //(1M;2M;5.5M;11M) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA 22 NA -## END -// -//Table 2: =========================================== -// -## 2.4G, 20M, 1T, OFDM, //(6M;9M;12M;18M;24M;36M;48M;54M) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 3: =========================================== -// -## 2.4G, 20M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 4: =========================================== -// -## 2.4G, 20M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 5: =========================================== -// -## 2.4G, 20M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 6: =========================================== -// -## 2.4G, 20M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 22 22 22 22 -CH02 22 22 22 22 -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 7: =========================================== -// -## 2.4G, 40M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 8: =========================================== -// -## 2.4G, 40M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 9: =========================================== -// -## 2.4G, 40M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 10: =========================================== -// -## 2.4G, 40M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -CH01 NA NA NA NA -CH02 NA NA NA NA -CH03 22 22 22 22 -CH04 22 22 22 22 -CH05 22 22 22 22 -CH06 22 22 22 22 -CH07 22 22 22 22 -CH08 22 22 22 22 -CH09 22 22 22 22 -CH10 22 22 22 22 -CH11 22 22 22 22 -CH12 NA 22 22 NA -CH13 NA 22 22 NA -CH14 NA NA NA NA -## END -// -//Table 11: =========================================== -// -## 5G, 20M, 1T, OFDM, //(6M;9M;12M;18M;24M;36M;48M;54M) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 14 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 12: ====================================== -// -## 5G, 20M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 13: =========================================== -// -## 5G, 20M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 14: =========================================== -// -## 5G, 20M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 15: =========================================== -// -## 5G, 20M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH36 18 14 15 12 -CH40 18 14 15 12 -CH44 18 14 15 12 -CH48 18 14 15 12 -//5G Band 2 -CH52 18 14 15 13 -CH56 18 14 15 13 -CH60 18 14 15 13 -CH64 18 14 15 13 -//5G Band 3 -CH100 18 14 15 14 -CH104 18 14 15 14 -CH108 18 14 15 14 -CH112 18 14 15 14 -CH116 18 14 15 14 -CH120 18 14 15 14 -CH124 18 14 15 15 -CH128 18 14 15 15 -CH132 18 14 15 15 -CH136 18 14 15 15 -CH140 18 14 15 15 -//5G Band 4 -CH149 18 14 NA 16 -CH153 18 14 NA 16 -CH157 18 14 NA 16 -CH161 18 14 NA 16 -CH165 18 14 NA 16 -## END -// -//Table 16: =========================================== -// -## 5G, 40M, 1T, HT, //(MCS0~MCS7) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 17: =========================================== -// -## 5G, 40M, 2T, HT, //(MCS8~MCS15) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 18: =========================================== -// -## 5G, 40M, 3T, HT, //(MCS16~MCS23) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 19: =========================================== -// -## 5G, 40M, 4T, HT, //(MCS24~MCS31) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH38 16 14 15 15 -CH46 18 14 15 15 -//5G Band 2 -CH54 18 14 15 15 -CH62 18 14 15 15 -//5G Band 3 -CH102 18 14 15 15 -CH110 18 14 15 15 -CH118 18 14 15 16 -CH126 18 14 15 16 -CH134 18 14 15 16 -//5G Band 4 -CH151 18 14 NA 16 -CH159 18 14 NA 16 -## END -// -//Table 20: =========================================== -// -## 5G, 80M, 1T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END -// -//Table 21: =========================================== -// -## 5G, 80M, 2T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END -// -//Table 22: =========================================== -// -## 5G, 80M, 3T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END -// -//Table 23: =========================================== -// -## 5G, 80M, 4T, VHT, //(MCS0~MCS9) -## START -## #4# FCC ETSI MKK IC -//5G Band 1 -CH42 15 14 13 14 -//5G Band 2 -CH58 19 14 13 14 -//5G Band 3 -CH106 19 14 13 15 -CH122 19 14 13 15 -//5G Band 4 -CH155 19 14 NA 16 -## END diff --git a/feeds/rtkmipsel/rtkmipsel/image/Makefile b/feeds/rtkmipsel/rtkmipsel/image/Makefile deleted file mode 100755 index 60375fd09..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/Makefile +++ /dev/null @@ -1,171 +0,0 @@ -# -# Copyright (C) 2006-2010 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/image.mk - -BlockSize=128k -ifeq ($(CONFIG_MTD_NAND_RTK_BLOCK_SIZE),0x80000) -BlockSize=512k -endif -ifeq ($(CONFIG_MTD_NAND_RTK_BLOCK_SIZE),0x20000) -BlockSize=128k -endif - -define mkcmdline -board=$(1) console=$(2),$(3) linuxpart=0x$(4) hwpart=0x$(5) -endef - -FWHW_VERSION_STRING=$(call qstrip, $(CONFIG_VERSION_PRODUCT)).v$(call qstrip,$(CONFIG_VERSION_NUMBER))$(if $(call qstrip,$(CONFIG_VERSION_PHASE)),-$(call qstrip,$(CONFIG_VERSION_PHASE))).r$(BUILD_REVISION) $(call qstrip,$(CONFIG_VERSION_BOARD)) - -SINGLE_PROFILES := - -IMAGE_PREFIX=openwrt -define SingleProfile - - define Image/Build/Profile/$(1)/initramfs - $(call Image/BuildLoader,loader-$(SUBTARGET)-$(1),bin,$(call mkcmdline,$(1),$(2),$(3)) $(4),$(5)) - cvimg-$(SUBTARGET) linux $(KDIR)/loader-$(SUBTARGET)-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-ramfs.bin $(5) $(6) - endef -ifeq ($(CONFIG_MTD_NAND_RTK),y) - define Image/Build/Profile/$(1)/squashfs - $(call Image/BuildLoader,loader-$(SUBTARGET)-$(1),bin,$(call mkcmdline,$(1),$(2),$(3),$(6),$(7)),$(5)) - - cvimg-$(SUBTARGET) linux $(KDIR)/loader-$(SUBTARGET)-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin $(5) $(6) - dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin bs=$(BlockSize) conv=sync - cat $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(KDIR)/root.squashfs-4k > $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin - cvimg-$(SUBTARGET) fix_chksum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw.bin - rm -rf $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin - endef -else - define Image/Build/Profile/$(1)/squashfs - $(call Image/BuildLoader,loader-$(SUBTARGET)-$(1),bin,$(call mkcmdline,$(1),$(2),$(3),$(6),$(7)),$(5)) - - cvimg-$(SUBTARGET) linux $(KDIR)/loader-$(SUBTARGET)-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin $(5) $(6) - echo -n '$(FWHW_VERSION_STRING)' > $(BIN_DIR)/FWHW_FILE - dd if=/dev/zero of=$(BIN_DIR)/FWHW_FILE bs=1 count=0 seek=64 - - dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin bs=4k conv=sync - cat $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(KDIR)/root.squashfs-4k > $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin - cvimg-$(SUBTARGET) fix_chksum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-4k-fw.bin - cat $(BIN_DIR)/FWHW_FILE >> $(BIN_DIR)/$(IMG_PREFIX)-$(1)-4k-fw.bin - mv $(BIN_DIR)/$(IMG_PREFIX)-$(1)-4k-fw.bin $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).bin - rm -rf $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin - - ifeq ($(1),SP-W2M-AC1200) - dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_64k.bin bs=64k conv=sync - cat $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_64k.bin $(KDIR)/root.squashfs-64k > $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_64k_cat.bin - cvimg-$(SUBTARGET) fix_chksum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_64k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-64k-fw.bin - cat $(BIN_DIR)/FWHW_FILE >> $(BIN_DIR)/$(IMG_PREFIX)-$(1)-64k-fw.bin - mv $(BIN_DIR)/$(IMG_PREFIX)-$(1)-64k-fw.bin $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))_64k.bin - rm -rf $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_64k.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_64k_cat.bin - endif - - rm -f $(BIN_DIR)/FWHW_FILE $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin - endef - -endif - SINGLE_PROFILES += $(1) - -endef - -define MultiProfile - - define Image/Build/Profile/$(1)/initramfs - $(foreach p,$(2), - $$(call Image/Build/Profile/$p/initramfs) - ) - endef - - define Image/Build/Profile/$(1)/squashfs - $(foreach p,$(2), - $$(call Image/Build/Profile/$p/squashfs) - ) - endef - -endef - -define Image/Prepare - lzma e $(KDIR)/vmlinux -lc1 -lp2 -pb2 $(KDIR)/vmlinux.bin.lzma -endef - -LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR) LINUX_DIR=$(LINUX_DIR) - -define Build/Clean - $(LOADER_MAKE) clean -endef - -define Image/BuildLoader - -rm -rf $(KDIR)/lzma-loader - $(LOADER_MAKE) LOADER=$(1).$(2) KERNEL_CMDLINE="$(3)" \ - LZMA_TEXT_START=$(4) LOADADDR=0x80000000 \ - LOADER_DATA="$(KDIR)/vmlinux.bin.lzma" BOARD="$(1)" \ - compile loader.$(2) -endef - -# -# rtl819xd profiles -# -# 98c move default linux 60000 -ifeq ($(CONFIG_TARGET_rtkmips_rtl8198c),y) -# linun partition offset = 0x6000 -# hw setting parttion offset = 0x20000 -ifeq ($(CONFIG_MTD_NAND_RTK),y) -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock3,0x80500000,800000,0)) -else -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -endif -endif - -ifeq ($(CONFIG_TARGET_rtkmips_rtl8954e),y) -# linun partition offset = 0x6000 -# hw setting parttion offset = 0x20000 -ifeq ($(CONFIG_MTD_NAND_RTK),y) -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock3,0x80500000,800000,0)) -else -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -endif -endif - -ifeq ($(CONFIG_TARGET_rtkmipsel_rtl8197f),y) -# linun partition offset = 0x6000 -# hw setting parttion offset = 0x20000 -ifeq ($(CONFIG_MTD_NAND_RTK),y) -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock3,0x80500000,800000,0)) -else -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -$(eval $(call SingleProfile,rtk_IOT,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -$(eval $(call SingleProfile,SP-W2M-AC1200,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -$(eval $(call SingleProfile,SP-W2M-AC1200-POE,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -endif -endif - - -# - -# RAMFS -define Image/Build/Initramfs - $(call Image/Build/Profile/$(PROFILE)/initramfs) -endef - -# SQUASHFS -ifeq ($(CONFIG_MTD_NAND_RTK),y) -define Image/Build - dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-4k bs=$(BlockSize) conv=sync - $(call add_jffs2_mark,$(KDIR)/root.squashfs-4k) - $(call Image/Build/Profile/$(PROFILE)/squashfs) -endef -else -define Image/Build - dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-4k bs=4k conv=sync - $(call add_jffs2_mark,$(KDIR)/root.squashfs-4k) - dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-64k bs=64k conv=sync - $(call add_jffs2_mark,$(KDIR)/root.squashfs-64k) - $(call Image/Build/Profile/$(PROFILE)/squashfs) -endef -endif - -$(eval $(call BuildImage)) diff --git a/feeds/rtkmipsel/rtkmipsel/image/Makefile.new b/feeds/rtkmipsel/rtkmipsel/image/Makefile.new deleted file mode 100755 index 136f59603..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/Makefile.new +++ /dev/null @@ -1,147 +0,0 @@ -# -# Copyright (C) 2006-2010 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/image.mk - -BlockSize=128k -ifeq ($(CONFIG_MTD_NAND_RTK_BLOCK_SIZE),0x80000) -BlockSize=512k -endif -ifeq ($(CONFIG_MTD_NAND_RTK_BLOCK_SIZE),0x20000) -BlockSize=128k -endif - -define mkcmdline -board=$(1) console=$(2),$(3) linuxpart=0x$(4) hwpart=0x$(5) -endef - -SINGLE_PROFILES := - -define SingleProfile - - define Image/Build/Profile/$(1)/initramfs - $(call Image/BuildLoader,loader-$(SUBTARGET)-$(1),bin,$(call mkcmdline,$(1),$(2),$(3)) $(4),$(5)) - cvimg-$(SUBTARGET) linux $(KDIR)/loader-$(SUBTARGET)-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-ramfs.bin $(5) $(6) - endef -ifeq ($(CONFIG_MTD_NAND_RTK),y) - define Image/Build/Profile/$(1)/squashfs - $(call Image/BuildLoader,loader-$(SUBTARGET)-$(1),bin,$(call mkcmdline,$(1),$(2),$(3),$(6),$(7)),$(5)) - - cvimg-$(SUBTARGET) linux $(KDIR)/loader-$(SUBTARGET)-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin $(5) $(6) - dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin bs=$(BlockSize) conv=sync - cat $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(KDIR)/root.squashfs-4k > $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin - cvimg-$(SUBTARGET) fix_chksum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw.bin - rm -rf $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin - endef -else - define Image/Build/Profile/$(1)/squashfs - $(call Image/BuildLoader,loader-$(SUBTARGET)-$(1),bin,$(call mkcmdline,$(1),$(2),$(3),$(6),$(7)),$(5)) - - cvimg-$(SUBTARGET) linux $(KDIR)/loader-$(SUBTARGET)-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin $(5) $(6) - dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin bs=4k conv=sync - cat $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(KDIR)/root.squashfs-4k > $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin - cvimg-$(SUBTARGET) fix_chksum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw.bin - rm -rf $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux_4k.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fw_4k_cat.bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-linux.bin - endef - -endif - SINGLE_PROFILES += $(1) - -endef - -define MultiProfile - - define Image/Build/Profile/$(1)/initramfs - $(foreach p,$(2), - $$(call Image/Build/Profile/$p/initramfs) - ) - endef - - define Image/Build/Profile/$(1)/squashfs - $(foreach p,$(2), - $$(call Image/Build/Profile/$p/squashfs) - ) - endef - -endef - -define Image/Prepare - lzma e $(KDIR)/vmlinux -lc1 -lp2 -pb2 $(KDIR)/vmlinux.bin.lzma -endef - -LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR) LINUX_DIR=$(LINUX_DIR) - -define Build/Clean - $(LOADER_MAKE) clean -endef - -define Image/BuildLoader - -rm -rf $(KDIR)/lzma-loader - $(LOADER_MAKE) LOADER=$(1).$(2) KERNEL_CMDLINE="$(3)" \ - LZMA_TEXT_START=$(4) LOADADDR=0x80000000 \ - LOADER_DATA="$(KDIR)/vmlinux.bin.lzma" BOARD="$(1)" \ - compile loader.$(2) -endef - -# -# rtl819xd profiles -# -# 98c move default linux 60000 -ifeq ($(CONFIG_TARGET_rtkmips_rtl8198c),y) -# linun partition offset = 0x6000 -# hw setting parttion offset = 0x20000 -ifeq ($(CONFIG_MTD_NAND_RTK),y) -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock3,0x80500000,800000,0)) -else -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -endif -endif - -ifeq ($(CONFIG_TARGET_rtkmips_rtl8954e),y) -# linun partition offset = 0x6000 -# hw setting parttion offset = 0x20000 -ifeq ($(CONFIG_MTD_NAND_RTK),y) -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock3,0x80500000,800000,0)) -else -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -endif -endif - -ifeq ($(CONFIG_TARGET_rtkmips_rtl8197f),y) -# linun partition offset = 0x6000 -# hw setting parttion offset = 0x20000 -ifeq ($(CONFIG_MTD_NAND_RTK),y) -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock3,0x80500000,800000,0)) -else -$(eval $(call SingleProfile,AP,ttyS0,38400,root=/dev/mtdblock2,0x80500000,60000,20000)) -endif -endif - - -# - -# RAMFS -define Image/Build/Initramfs - $(call Image/Build/Profile/$(PROFILE)/initramfs) -endef - -# SQUASHFS -ifeq ($(CONFIG_MTD_NAND_RTK),y) -define Image/Build - dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-4k bs=$(BlockSize) conv=sync - $(call add_jffs2_mark,$(KDIR)/root.squashfs-4k) - $(call Image/Build/Profile/$(PROFILE)/squashfs) -endef -else -define Image/Build - dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-4k bs=4k conv=sync - $(call add_jffs2_mark,$(KDIR)/root.squashfs-4k) - $(call Image/Build/Profile/$(PROFILE)/squashfs) -endef -endif - -$(eval $(call BuildImage)) diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/Makefile b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/Makefile deleted file mode 100755 index 2e0b9111f..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# -# Copyright (C) 2011 OpenWrt.org -# Copyright (C) 2011 Gabor Juhos -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -LZMA_TEXT_START := 0x80a00000 -LOADER := loader.bin -LOADER_NAME := $(basename $(notdir $(LOADER))) -LOADER_DATA := -TARGET_DIR := -FLASH_OFFS := -FLASH_MAX := -BOARD := - -ifeq ($(TARGET_DIR),) -TARGET_DIR := $(KDIR) -endif - -LOADER_BIN := $(TARGET_DIR)/$(LOADER_NAME).bin -LOADER_GZ := $(TARGET_DIR)/$(LOADER_NAME).gz -LOADER_ELF := $(TARGET_DIR)/$(LOADER_NAME).elf - -PKG_NAME := lzma-loader -PKG_BUILD_DIR := $(KDIR)/$(PKG_NAME) - -.PHONY : loader-compile loader.bin loader.elf loader.gz - -$(PKG_BUILD_DIR)/.prepared: - mkdir $(PKG_BUILD_DIR) - $(CP) ./src/* $(PKG_BUILD_DIR)/ - touch $@ - -loader-compile: $(PKG_BUILD_DIR)/.prepared - $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE="$(TARGET_CROSS)" \ - LZMA_TEXT_START=$(LZMA_TEXT_START) \ - LOADER_DATA=$(LOADER_DATA) \ - FLASH_OFFS=$(FLASH_OFFS) \ - FLASH_MAX=$(FLASH_MAX) \ - BOARD="$(BOARD)" \ - clean all - -loader.gz: $(PKG_BUILD_DIR)/loader.bin - gzip -nc9 $< > $(LOADER_GZ) - -loader.elf: $(PKG_BUILD_DIR)/loader.elf - $(CP) $< $(LOADER_ELF) - -loader.bin: $(PKG_BUILD_DIR)/loader.bin - $(CP) $< $(LOADER_BIN) - -download: -prepare: $(PKG_BUILD_DIR)/.prepared -compile: loader-compile - -install: - -clean: - rm -rf $(PKG_BUILD_DIR) - diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaDecode.c b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaDecode.c deleted file mode 100755 index cb8345377..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaDecode.c +++ /dev/null @@ -1,584 +0,0 @@ -/* - LzmaDecode.c - LZMA Decoder (optimized for Speed version) - - LZMA SDK 4.40 Copyright (c) 1999-2006 Igor Pavlov (2006-05-01) - http://www.7-zip.org/ - - LZMA SDK is licensed under two licenses: - 1) GNU Lesser General Public License (GNU LGPL) - 2) Common Public License (CPL) - It means that you can select one of these two licenses and - follow rules of that license. - - SPECIAL EXCEPTION: - Igor Pavlov, as the author of this Code, expressly permits you to - statically or dynamically link your Code (or bind by name) to the - interfaces of this file without subjecting your linked Code to the - terms of the CPL or GNU LGPL. Any modifications or additions - to this file, however, are subject to the LGPL or CPL terms. -*/ - -#include "LzmaDecode.h" - -#define kNumTopBits 24 -#define kTopValue ((UInt32)1 << kNumTopBits) - -#define kNumBitModelTotalBits 11 -#define kBitModelTotal (1 << kNumBitModelTotalBits) -#define kNumMoveBits 5 - -#define RC_READ_BYTE (*Buffer++) - -#define RC_INIT2 Code = 0; Range = 0xFFFFFFFF; \ - { int i; for(i = 0; i < 5; i++) { RC_TEST; Code = (Code << 8) | RC_READ_BYTE; }} - -#ifdef _LZMA_IN_CB - -#define RC_TEST { if (Buffer == BufferLim) \ - { SizeT size; int result = InCallback->Read(InCallback, &Buffer, &size); if (result != LZMA_RESULT_OK) return result; \ - BufferLim = Buffer + size; if (size == 0) return LZMA_RESULT_DATA_ERROR; }} - -#define RC_INIT Buffer = BufferLim = 0; RC_INIT2 - -#else - -#define RC_TEST { if (Buffer == BufferLim) return LZMA_RESULT_DATA_ERROR; } - -#define RC_INIT(buffer, bufferSize) Buffer = buffer; BufferLim = buffer + bufferSize; RC_INIT2 - -#endif - -#define RC_NORMALIZE if (Range < kTopValue) { RC_TEST; Range <<= 8; Code = (Code << 8) | RC_READ_BYTE; } - -#define IfBit0(p) RC_NORMALIZE; bound = (Range >> kNumBitModelTotalBits) * *(p); if (Code < bound) -#define UpdateBit0(p) Range = bound; *(p) += (kBitModelTotal - *(p)) >> kNumMoveBits; -#define UpdateBit1(p) Range -= bound; Code -= bound; *(p) -= (*(p)) >> kNumMoveBits; - -#define RC_GET_BIT2(p, mi, A0, A1) IfBit0(p) \ - { UpdateBit0(p); mi <<= 1; A0; } else \ - { UpdateBit1(p); mi = (mi + mi) + 1; A1; } - -#define RC_GET_BIT(p, mi) RC_GET_BIT2(p, mi, ; , ;) - -#define RangeDecoderBitTreeDecode(probs, numLevels, res) \ - { int i = numLevels; res = 1; \ - do { CProb *p = probs + res; RC_GET_BIT(p, res) } while(--i != 0); \ - res -= (1 << numLevels); } - - -#define kNumPosBitsMax 4 -#define kNumPosStatesMax (1 << kNumPosBitsMax) - -#define kLenNumLowBits 3 -#define kLenNumLowSymbols (1 << kLenNumLowBits) -#define kLenNumMidBits 3 -#define kLenNumMidSymbols (1 << kLenNumMidBits) -#define kLenNumHighBits 8 -#define kLenNumHighSymbols (1 << kLenNumHighBits) - -#define LenChoice 0 -#define LenChoice2 (LenChoice + 1) -#define LenLow (LenChoice2 + 1) -#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) -#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) -#define kNumLenProbs (LenHigh + kLenNumHighSymbols) - - -#define kNumStates 12 -#define kNumLitStates 7 - -#define kStartPosModelIndex 4 -#define kEndPosModelIndex 14 -#define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) - -#define kNumPosSlotBits 6 -#define kNumLenToPosStates 4 - -#define kNumAlignBits 4 -#define kAlignTableSize (1 << kNumAlignBits) - -#define kMatchMinLen 2 - -#define IsMatch 0 -#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) -#define IsRepG0 (IsRep + kNumStates) -#define IsRepG1 (IsRepG0 + kNumStates) -#define IsRepG2 (IsRepG1 + kNumStates) -#define IsRep0Long (IsRepG2 + kNumStates) -#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) -#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) -#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) -#define LenCoder (Align + kAlignTableSize) -#define RepLenCoder (LenCoder + kNumLenProbs) -#define Literal (RepLenCoder + kNumLenProbs) - -#if Literal != LZMA_BASE_SIZE -StopCompilingDueBUG -#endif - -int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char *propsData, int size) -{ - unsigned char prop0; - if (size < LZMA_PROPERTIES_SIZE) - return LZMA_RESULT_DATA_ERROR; - prop0 = propsData[0]; - if (prop0 >= (9 * 5 * 5)) - return LZMA_RESULT_DATA_ERROR; - { - for (propsRes->pb = 0; prop0 >= (9 * 5); propsRes->pb++, prop0 -= (9 * 5)); - for (propsRes->lp = 0; prop0 >= 9; propsRes->lp++, prop0 -= 9); - propsRes->lc = prop0; - /* - unsigned char remainder = (unsigned char)(prop0 / 9); - propsRes->lc = prop0 % 9; - propsRes->pb = remainder / 5; - propsRes->lp = remainder % 5; - */ - } - - #ifdef _LZMA_OUT_READ - { - int i; - propsRes->DictionarySize = 0; - for (i = 0; i < 4; i++) - propsRes->DictionarySize += (UInt32)(propsData[1 + i]) << (i * 8); - if (propsRes->DictionarySize == 0) - propsRes->DictionarySize = 1; - } - #endif - return LZMA_RESULT_OK; -} - -#define kLzmaStreamWasFinishedId (-1) - -int LzmaDecode(CLzmaDecoderState *vs, - #ifdef _LZMA_IN_CB - ILzmaInCallback *InCallback, - #else - const unsigned char *inStream, SizeT inSize, SizeT *inSizeProcessed, - #endif - unsigned char *outStream, SizeT outSize, SizeT *outSizeProcessed) -{ - CProb *p = vs->Probs; - SizeT nowPos = 0; - Byte previousByte = 0; - UInt32 posStateMask = (1 << (vs->Properties.pb)) - 1; - UInt32 literalPosMask = (1 << (vs->Properties.lp)) - 1; - int lc = vs->Properties.lc; - - #ifdef _LZMA_OUT_READ - - UInt32 Range = vs->Range; - UInt32 Code = vs->Code; - #ifdef _LZMA_IN_CB - const Byte *Buffer = vs->Buffer; - const Byte *BufferLim = vs->BufferLim; - #else - const Byte *Buffer = inStream; - const Byte *BufferLim = inStream + inSize; - #endif - int state = vs->State; - UInt32 rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3]; - int len = vs->RemainLen; - UInt32 globalPos = vs->GlobalPos; - UInt32 distanceLimit = vs->DistanceLimit; - - Byte *dictionary = vs->Dictionary; - UInt32 dictionarySize = vs->Properties.DictionarySize; - UInt32 dictionaryPos = vs->DictionaryPos; - - Byte tempDictionary[4]; - - #ifndef _LZMA_IN_CB - *inSizeProcessed = 0; - #endif - *outSizeProcessed = 0; - if (len == kLzmaStreamWasFinishedId) - return LZMA_RESULT_OK; - - if (dictionarySize == 0) - { - dictionary = tempDictionary; - dictionarySize = 1; - tempDictionary[0] = vs->TempDictionary[0]; - } - - if (len == kLzmaNeedInitId) - { - { - UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + vs->Properties.lp)); - UInt32 i; - for (i = 0; i < numProbs; i++) - p[i] = kBitModelTotal >> 1; - rep0 = rep1 = rep2 = rep3 = 1; - state = 0; - globalPos = 0; - distanceLimit = 0; - dictionaryPos = 0; - dictionary[dictionarySize - 1] = 0; - #ifdef _LZMA_IN_CB - RC_INIT; - #else - RC_INIT(inStream, inSize); - #endif - } - len = 0; - } - while(len != 0 && nowPos < outSize) - { - UInt32 pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - outStream[nowPos++] = dictionary[dictionaryPos] = dictionary[pos]; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - len--; - } - if (dictionaryPos == 0) - previousByte = dictionary[dictionarySize - 1]; - else - previousByte = dictionary[dictionaryPos - 1]; - - #else /* if !_LZMA_OUT_READ */ - - int state = 0; - UInt32 rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1; - int len = 0; - const Byte *Buffer; - const Byte *BufferLim; - UInt32 Range; - UInt32 Code; - - #ifndef _LZMA_IN_CB - *inSizeProcessed = 0; - #endif - *outSizeProcessed = 0; - - { - UInt32 i; - UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + vs->Properties.lp)); - for (i = 0; i < numProbs; i++) - p[i] = kBitModelTotal >> 1; - } - - #ifdef _LZMA_IN_CB - RC_INIT; - #else - RC_INIT(inStream, inSize); - #endif - - #endif /* _LZMA_OUT_READ */ - - while(nowPos < outSize) - { - CProb *prob; - UInt32 bound; - int posState = (int)( - (nowPos - #ifdef _LZMA_OUT_READ - + globalPos - #endif - ) - & posStateMask); - - prob = p + IsMatch + (state << kNumPosBitsMax) + posState; - IfBit0(prob) - { - int symbol = 1; - UpdateBit0(prob) - prob = p + Literal + (LZMA_LIT_SIZE * - ((( - (nowPos - #ifdef _LZMA_OUT_READ - + globalPos - #endif - ) - & literalPosMask) << lc) + (previousByte >> (8 - lc)))); - - if (state >= kNumLitStates) - { - int matchByte; - #ifdef _LZMA_OUT_READ - UInt32 pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - matchByte = dictionary[pos]; - #else - matchByte = outStream[nowPos - rep0]; - #endif - do - { - int bit; - CProb *probLit; - matchByte <<= 1; - bit = (matchByte & 0x100); - probLit = prob + 0x100 + bit + symbol; - RC_GET_BIT2(probLit, symbol, if (bit != 0) break, if (bit == 0) break) - } - while (symbol < 0x100); - } - while (symbol < 0x100) - { - CProb *probLit = prob + symbol; - RC_GET_BIT(probLit, symbol) - } - previousByte = (Byte)symbol; - - outStream[nowPos++] = previousByte; - #ifdef _LZMA_OUT_READ - if (distanceLimit < dictionarySize) - distanceLimit++; - - dictionary[dictionaryPos] = previousByte; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - #endif - if (state < 4) state = 0; - else if (state < 10) state -= 3; - else state -= 6; - } - else - { - UpdateBit1(prob); - prob = p + IsRep + state; - IfBit0(prob) - { - UpdateBit0(prob); - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - state = state < kNumLitStates ? 0 : 3; - prob = p + LenCoder; - } - else - { - UpdateBit1(prob); - prob = p + IsRepG0 + state; - IfBit0(prob) - { - UpdateBit0(prob); - prob = p + IsRep0Long + (state << kNumPosBitsMax) + posState; - IfBit0(prob) - { - #ifdef _LZMA_OUT_READ - UInt32 pos; - #endif - UpdateBit0(prob); - - #ifdef _LZMA_OUT_READ - if (distanceLimit == 0) - #else - if (nowPos == 0) - #endif - return LZMA_RESULT_DATA_ERROR; - - state = state < kNumLitStates ? 9 : 11; - #ifdef _LZMA_OUT_READ - pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - previousByte = dictionary[pos]; - dictionary[dictionaryPos] = previousByte; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - #else - previousByte = outStream[nowPos - rep0]; - #endif - outStream[nowPos++] = previousByte; - #ifdef _LZMA_OUT_READ - if (distanceLimit < dictionarySize) - distanceLimit++; - #endif - - continue; - } - else - { - UpdateBit1(prob); - } - } - else - { - UInt32 distance; - UpdateBit1(prob); - prob = p + IsRepG1 + state; - IfBit0(prob) - { - UpdateBit0(prob); - distance = rep1; - } - else - { - UpdateBit1(prob); - prob = p + IsRepG2 + state; - IfBit0(prob) - { - UpdateBit0(prob); - distance = rep2; - } - else - { - UpdateBit1(prob); - distance = rep3; - rep3 = rep2; - } - rep2 = rep1; - } - rep1 = rep0; - rep0 = distance; - } - state = state < kNumLitStates ? 8 : 11; - prob = p + RepLenCoder; - } - { - int numBits, offset; - CProb *probLen = prob + LenChoice; - IfBit0(probLen) - { - UpdateBit0(probLen); - probLen = prob + LenLow + (posState << kLenNumLowBits); - offset = 0; - numBits = kLenNumLowBits; - } - else - { - UpdateBit1(probLen); - probLen = prob + LenChoice2; - IfBit0(probLen) - { - UpdateBit0(probLen); - probLen = prob + LenMid + (posState << kLenNumMidBits); - offset = kLenNumLowSymbols; - numBits = kLenNumMidBits; - } - else - { - UpdateBit1(probLen); - probLen = prob + LenHigh; - offset = kLenNumLowSymbols + kLenNumMidSymbols; - numBits = kLenNumHighBits; - } - } - RangeDecoderBitTreeDecode(probLen, numBits, len); - len += offset; - } - - if (state < 4) - { - int posSlot; - state += kNumLitStates; - prob = p + PosSlot + - ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << - kNumPosSlotBits); - RangeDecoderBitTreeDecode(prob, kNumPosSlotBits, posSlot); - if (posSlot >= kStartPosModelIndex) - { - int numDirectBits = ((posSlot >> 1) - 1); - rep0 = (2 | ((UInt32)posSlot & 1)); - if (posSlot < kEndPosModelIndex) - { - rep0 <<= numDirectBits; - prob = p + SpecPos + rep0 - posSlot - 1; - } - else - { - numDirectBits -= kNumAlignBits; - do - { - RC_NORMALIZE - Range >>= 1; - rep0 <<= 1; - if (Code >= Range) - { - Code -= Range; - rep0 |= 1; - } - } - while (--numDirectBits != 0); - prob = p + Align; - rep0 <<= kNumAlignBits; - numDirectBits = kNumAlignBits; - } - { - int i = 1; - int mi = 1; - do - { - CProb *prob3 = prob + mi; - RC_GET_BIT2(prob3, mi, ; , rep0 |= i); - i <<= 1; - } - while(--numDirectBits != 0); - } - } - else - rep0 = posSlot; - if (++rep0 == (UInt32)(0)) - { - /* it's for stream version */ - len = kLzmaStreamWasFinishedId; - break; - } - } - - len += kMatchMinLen; - #ifdef _LZMA_OUT_READ - if (rep0 > distanceLimit) - #else - if (rep0 > nowPos) - #endif - return LZMA_RESULT_DATA_ERROR; - - #ifdef _LZMA_OUT_READ - if (dictionarySize - distanceLimit > (UInt32)len) - distanceLimit += len; - else - distanceLimit = dictionarySize; - #endif - - do - { - #ifdef _LZMA_OUT_READ - UInt32 pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - previousByte = dictionary[pos]; - dictionary[dictionaryPos] = previousByte; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - #else - previousByte = outStream[nowPos - rep0]; - #endif - len--; - outStream[nowPos++] = previousByte; - } - while(len != 0 && nowPos < outSize); - } - } - RC_NORMALIZE; - - #ifdef _LZMA_OUT_READ - vs->Range = Range; - vs->Code = Code; - vs->DictionaryPos = dictionaryPos; - vs->GlobalPos = globalPos + (UInt32)nowPos; - vs->DistanceLimit = distanceLimit; - vs->Reps[0] = rep0; - vs->Reps[1] = rep1; - vs->Reps[2] = rep2; - vs->Reps[3] = rep3; - vs->State = state; - vs->RemainLen = len; - vs->TempDictionary[0] = tempDictionary[0]; - #endif - - #ifdef _LZMA_IN_CB - vs->Buffer = Buffer; - vs->BufferLim = BufferLim; - #else - *inSizeProcessed = (SizeT)(Buffer - inStream); - #endif - *outSizeProcessed = nowPos; - return LZMA_RESULT_OK; -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaDecode.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaDecode.h deleted file mode 100755 index 2870eeb9c..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaDecode.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - LzmaDecode.h - LZMA Decoder interface - - LZMA SDK 4.40 Copyright (c) 1999-2006 Igor Pavlov (2006-05-01) - http://www.7-zip.org/ - - LZMA SDK is licensed under two licenses: - 1) GNU Lesser General Public License (GNU LGPL) - 2) Common Public License (CPL) - It means that you can select one of these two licenses and - follow rules of that license. - - SPECIAL EXCEPTION: - Igor Pavlov, as the author of this code, expressly permits you to - statically or dynamically link your code (or bind by name) to the - interfaces of this file without subjecting your linked code to the - terms of the CPL or GNU LGPL. Any modifications or additions - to this file, however, are subject to the LGPL or CPL terms. -*/ - -#ifndef __LZMADECODE_H -#define __LZMADECODE_H - -#include "LzmaTypes.h" - -/* #define _LZMA_IN_CB */ -/* Use callback for input data */ - -/* #define _LZMA_OUT_READ */ -/* Use read function for output data */ - -/* #define _LZMA_PROB32 */ -/* It can increase speed on some 32-bit CPUs, - but memory usage will be doubled in that case */ - -/* #define _LZMA_LOC_OPT */ -/* Enable local speed optimizations inside code */ - -#ifdef _LZMA_PROB32 -#define CProb UInt32 -#else -#define CProb UInt16 -#endif - -#define LZMA_RESULT_OK 0 -#define LZMA_RESULT_DATA_ERROR 1 - -#ifdef _LZMA_IN_CB -typedef struct _ILzmaInCallback -{ - int (*Read)(void *object, const unsigned char **buffer, SizeT *bufferSize); -} ILzmaInCallback; -#endif - -#define LZMA_BASE_SIZE 1846 -#define LZMA_LIT_SIZE 768 - -#define LZMA_PROPERTIES_SIZE 5 - -typedef struct _CLzmaProperties -{ - int lc; - int lp; - int pb; - #ifdef _LZMA_OUT_READ - UInt32 DictionarySize; - #endif -}CLzmaProperties; - -int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char *propsData, int size); - -#define LzmaGetNumProbs(Properties) (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((Properties)->lc + (Properties)->lp))) - -#define kLzmaNeedInitId (-2) - -typedef struct _CLzmaDecoderState -{ - CLzmaProperties Properties; - CProb *Probs; - - #ifdef _LZMA_IN_CB - const unsigned char *Buffer; - const unsigned char *BufferLim; - #endif - - #ifdef _LZMA_OUT_READ - unsigned char *Dictionary; - UInt32 Range; - UInt32 Code; - UInt32 DictionaryPos; - UInt32 GlobalPos; - UInt32 DistanceLimit; - UInt32 Reps[4]; - int State; - int RemainLen; - unsigned char TempDictionary[4]; - #endif -} CLzmaDecoderState; - -#ifdef _LZMA_OUT_READ -#define LzmaDecoderInit(vs) { (vs)->RemainLen = kLzmaNeedInitId; } -#endif - -int LzmaDecode(CLzmaDecoderState *vs, - #ifdef _LZMA_IN_CB - ILzmaInCallback *inCallback, - #else - const unsigned char *inStream, SizeT inSize, SizeT *inSizeProcessed, - #endif - unsigned char *outStream, SizeT outSize, SizeT *outSizeProcessed); - -#endif diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaTypes.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaTypes.h deleted file mode 100755 index 9c2729075..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/LzmaTypes.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -LzmaTypes.h - -Types for LZMA Decoder - -This file written and distributed to public domain by Igor Pavlov. -This file is part of LZMA SDK 4.40 (2006-05-01) -*/ - -#ifndef __LZMATYPES_H -#define __LZMATYPES_H - -#ifndef _7ZIP_BYTE_DEFINED -#define _7ZIP_BYTE_DEFINED -typedef unsigned char Byte; -#endif - -#ifndef _7ZIP_UINT16_DEFINED -#define _7ZIP_UINT16_DEFINED -typedef unsigned short UInt16; -#endif - -#ifndef _7ZIP_UINT32_DEFINED -#define _7ZIP_UINT32_DEFINED -#ifdef _LZMA_UINT32_IS_ULONG -typedef unsigned long UInt32; -#else -typedef unsigned int UInt32; -#endif -#endif - -/* #define _LZMA_NO_SYSTEM_SIZE_T */ -/* You can use it, if you don't want */ - -#ifndef _7ZIP_SIZET_DEFINED -#define _7ZIP_SIZET_DEFINED -#ifdef _LZMA_NO_SYSTEM_SIZE_T -typedef UInt32 SizeT; -#else -#include -typedef size_t SizeT; -#endif -#endif - -#endif diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/Makefile b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/Makefile deleted file mode 100755 index c7bb935a0..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -# -# Makefile for the LZMA compressed kernel loader for -# Atheros AR7XXX/AR9XXX based boards -# -# Copyright (C) 2011 Gabor Juhos -# -# Some parts of this file was based on the OpenWrt specific lzma-loader -# for the BCM47xx and ADM5120 based boards: -# Copyright (C) 2004 Manuel Novoa III (mjn3@codepoet.org) -# Copyright (C) 2005 Mineharu Takahara -# Copyright (C) 2005 by Oleg I. Vdovikin -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published -# by the Free Software Foundation. -# - -LOADADDR := -LZMA_TEXT_START := 0x80a00000 -LOADER_DATA := -KERNEL_MAGIC := -BOARD := -FLASH_OFFS := -FLASH_MAX := - -CC := $(CROSS_COMPILE)gcc -LD := $(CROSS_COMPILE)ld -OBJCOPY := $(CROSS_COMPILE)objcopy -OBJDUMP := $(CROSS_COMPILE)objdump - -BIN_FLAGS := -O binary -R .reginfo -R .note -R .comment -R .mdebug \ - -R .MIPS.abiflags -S - -CFLAGS = -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -Os \ - -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \ - -mno-abicalls -fno-pic -ffunction-sections -pipe -mlong-calls \ - -fno-common -ffreestanding -fhonour-copts -nostartfiles \ - -mabi=32 -march=mips32r2 \ - -Wa,-32 -Wa,-march=mips32r2 -Wa,-mips32r2 -Wa,--trap -CFLAGS += -D_LZMA_PROB32 -CFLAGS += -flto - -ASFLAGS = $(CFLAGS) -D__ASSEMBLY__ - -LDFLAGS = -static -Wl,--gc-sections -Wl,-no-warn-mismatch -LDFLAGS += -Wl,-e,startup -T loader.lds -Wl,-Ttext,$(LZMA_TEXT_START) -LDFLAGS += -flto -fwhole-program - -O_FORMAT = $(shell $(OBJDUMP) -i | head -2 | grep elf32) - -OBJECTS := head.o loader.o cache.o board.o printf.o LzmaDecode.o - -ifneq ($(strip $(LOADER_DATA)),) -OBJECTS += data.o -CFLAGS += -DLZMA_WRAPPER=1 -DLOADADDR=$(LOADADDR) -endif - -ifneq ($(strip $(KERNEL_MAGIC)),) -CFLAGS += -DCONFIG_KERNEL_MAGIC=$(KERNEL_MAGIC) -endif - -ifneq ($(strip $(KERNEL_CMDLINE)),) -CFLAGS += -DCONFIG_KERNEL_CMDLINE='"$(KERNEL_CMDLINE)"' -endif - -ifneq ($(strip $(FLASH_OFFS)),) -CFLAGS += -DCONFIG_FLASH_OFFS=$(FLASH_OFFS) -endif - -ifneq ($(strip $(FLASH_MAX)),) -CFLAGS += -DCONFIG_FLASH_MAX=$(FLASH_MAX) -endif - -BOARD_DEF := $(shell echo $(strip $(BOARD)) | tr a-z A-Z | tr - _) -ifneq ($(BOARD_DEF),) -CFLAGS += -DCONFIG_BOARD_$(BOARD_DEF) -endif - -all: loader.elf - -# Don't build dependencies, this may die if $(CC) isn't gcc -dep: - -install: - -%.o : %.c - $(CC) $(CFLAGS) -c -o $@ $< - -%.o : %.S - $(CC) $(ASFLAGS) -c -o $@ $< - -data.o: $(LOADER_DATA) - $(LD) -r -b binary --oformat $(O_FORMAT) -T lzma-data.lds -o $@ $< - -loader: $(OBJECTS) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) - -loader.bin: loader - $(OBJCOPY) $(BIN_FLAGS) $< $@ - -loader2.o: loader.bin - $(LD) -r -b binary --oformat $(O_FORMAT) -o $@ $< - -loader.elf: loader2.o - $(LD) -z max-page-size=0x1000 -e startup -T loader2.lds -Ttext $(LOADADDR) -o $@ $< - -mrproper: clean - -clean: - rm -f loader *.elf *.bin *.o - - - diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/board.c b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/board.c deleted file mode 100755 index fe67af549..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/board.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * LZMA compressed kernel loader for Realtek 819X - * - * Copyright (C) 2011 Gabor Juhos - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - -#include - -#define BSP_UART0_BASE 0xB8147000 -#define UART_THR (BSP_UART0_BASE + 0x024) -#define UART_LSR (BSP_UART0_BASE + 0x014) -#define REG8(reg) (*(volatile unsigned char *)((unsigned int)reg)) - - -void serial_outc(char c) -{ - int i=0; - - while (1) - { - i++; - if (i >=0x6000) - break; - if (REG8(UART_LSR) & 0x20) - break; - } - REG8(UART_THR) = (c); -} - - -void board_putc(int ch) -{ - serial_outc(ch); -} - -void board_init(void) -{ - //tlwr1043nd_init(); -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cache.c b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cache.c deleted file mode 100755 index 28cc84833..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cache.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos - * - * The cache manipulation routine has been taken from the U-Boot project. - * (C) Copyright 2003 - * Wolfgang Denk, DENX Software Engineering, - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - */ - -#include "cache.h" -#include "cacheops.h" -#include "config.h" - -#define cache_op(op,addr) \ - __asm__ __volatile__( \ - " .set push \n" \ - " .set noreorder \n" \ - " .set mips3\n\t \n" \ - " cache %0, %1 \n" \ - " .set pop \n" \ - : \ - : "i" (op), "R" (*(unsigned char *)(addr))) - -void flush_cache(unsigned long start_addr, unsigned long size) -{ - unsigned long lsize = CONFIG_CACHELINE_SIZE; - unsigned long addr = start_addr & ~(lsize - 1); - unsigned long aend = (start_addr + size - 1) & ~(lsize - 1); - - while (1) { - cache_op(Hit_Writeback_Inv_D, addr); - cache_op(Hit_Invalidate_I, addr); - if (addr == aend) - break; - addr += lsize; - } -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cache.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cache.h deleted file mode 100755 index 506a23588..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cache.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - */ - -#ifndef __CACHE_H -#define __CACHE_H - -void flush_cache(unsigned long start_addr, unsigned long size); - -#endif /* __CACHE_H */ diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cacheops.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cacheops.h deleted file mode 100755 index 70bcad769..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cacheops.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Cache operations for the cache instruction. - * - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file "COPYING" in the main directory of this archive - * for more details. - * - * (C) Copyright 1996, 97, 99, 2002, 03 Ralf Baechle - * (C) Copyright 1999 Silicon Graphics, Inc. - */ -#ifndef __ASM_CACHEOPS_H -#define __ASM_CACHEOPS_H - -/* - * Cache Operations available on all MIPS processors with R4000-style caches - */ -#define Index_Invalidate_I 0x00 -#define Index_Writeback_Inv_D 0x01 -#define Index_Load_Tag_I 0x04 -#define Index_Load_Tag_D 0x05 -#define Index_Store_Tag_I 0x08 -#define Index_Store_Tag_D 0x09 -#if defined(CONFIG_CPU_LOONGSON2) -#define Hit_Invalidate_I 0x00 -#else -#define Hit_Invalidate_I 0x10 -#endif -#define Hit_Invalidate_D 0x11 -#define Hit_Writeback_Inv_D 0x15 - -/* - * R4000-specific cacheops - */ -#define Create_Dirty_Excl_D 0x0d -#define Fill 0x14 -#define Hit_Writeback_I 0x18 -#define Hit_Writeback_D 0x19 - -/* - * R4000SC and R4400SC-specific cacheops - */ -#define Index_Invalidate_SI 0x02 -#define Index_Writeback_Inv_SD 0x03 -#define Index_Load_Tag_SI 0x06 -#define Index_Load_Tag_SD 0x07 -#define Index_Store_Tag_SI 0x0A -#define Index_Store_Tag_SD 0x0B -#define Create_Dirty_Excl_SD 0x0f -#define Hit_Invalidate_SI 0x12 -#define Hit_Invalidate_SD 0x13 -#define Hit_Writeback_Inv_SD 0x17 -#define Hit_Writeback_SD 0x1b -#define Hit_Set_Virtual_SI 0x1e -#define Hit_Set_Virtual_SD 0x1f - -/* - * R5000-specific cacheops - */ -#define R5K_Page_Invalidate_S 0x17 - -/* - * RM7000-specific cacheops - */ -#define Page_Invalidate_T 0x16 - -/* - * R10000-specific cacheops - * - * Cacheops 0x02, 0x06, 0x0a, 0x0c-0x0e, 0x16, 0x1a and 0x1e are unused. - * Most of the _S cacheops are identical to the R4000SC _SD cacheops. - */ -#define Index_Writeback_Inv_S 0x03 -#define Index_Load_Tag_S 0x07 -#define Index_Store_Tag_S 0x0B -#define Hit_Invalidate_S 0x13 -#define Cache_Barrier 0x14 -#define Hit_Writeback_Inv_S 0x17 -#define Index_Load_Data_I 0x18 -#define Index_Load_Data_D 0x19 -#define Index_Load_Data_S 0x1b -#define Index_Store_Data_I 0x1c -#define Index_Store_Data_D 0x1d -#define Index_Store_Data_S 0x1f - -#endif /* __ASM_CACHEOPS_H */ diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/config.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/config.h deleted file mode 100755 index 15b178475..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - */ - -#ifndef _CONFIG_H_ -#define _CONFIG_H_ - -//#define CONFIG_ICACHE_SIZE (32 * 1024) -#define CONFIG_ICACHE_SIZE (64 * 1024) -//#define CONFIG_DCACHE_SIZE (64 * 1024) -#define CONFIG_DCACHE_SIZE (32 * 1024) - -#define CONFIG_CACHELINE_SIZE 32 - -#ifndef CONFIG_FLASH_OFFS -#define CONFIG_FLASH_OFFS 0 -#endif - -#ifndef CONFIG_FLASH_MAX -#define CONFIG_FLASH_MAX 0 -#endif - -#ifndef CONFIG_FLASH_STEP -#define CONFIG_FLASH_STEP 0x1000 -#endif - -#endif /* _CONFIG_H_ */ diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cp0regdef.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cp0regdef.h deleted file mode 100755 index c1188ad8c..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/cp0regdef.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001 by Ralf Baechle - * - * Copyright (C) 2001, Monta Vista Software - * Author: jsun@mvista.com or jsun@junsun.net - */ -#ifndef _cp0regdef_h_ -#define _cp0regdef_h_ - -#define CP0_INDEX $0 -#define CP0_RANDOM $1 -#define CP0_ENTRYLO0 $2 -#define CP0_ENTRYLO1 $3 -#define CP0_CONTEXT $4 -#define CP0_PAGEMASK $5 -#define CP0_WIRED $6 -#define CP0_BADVADDR $8 -#define CP0_COUNT $9 -#define CP0_ENTRYHI $10 -#define CP0_COMPARE $11 -#define CP0_STATUS $12 -#define CP0_CAUSE $13 -#define CP0_EPC $14 -#define CP0_PRID $15 -#define CP0_CONFIG $16 -#define CP0_LLADDR $17 -#define CP0_WATCHLO $18 -#define CP0_WATCHHI $19 -#define CP0_XCONTEXT $20 -#define CP0_FRAMEMASK $21 -#define CP0_DIAGNOSTIC $22 -#define CP0_PERFORMANCE $25 -#define CP0_ECC $26 -#define CP0_CACHEERR $27 -#define CP0_TAGLO $28 -#define CP0_TAGHI $29 -#define CP0_ERROREPC $30 - -#endif diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/head.S b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/head.S deleted file mode 100755 index 543996a0d..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/head.S +++ /dev/null @@ -1,118 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos - * - * Some parts of this code was based on the OpenWrt specific lzma-loader - * for the BCM47xx and ADM5120 based boards: - * Copyright (C) 2004 Manuel Novoa III (mjn3@codepoet.org) - * Copyright (C) 2005 by Oleg I. Vdovikin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - -#include -#include -#include "cp0regdef.h" -#include "cacheops.h" -#include "config.h" - -#define KSEG0 0x80000000 - - .macro ehb - sll zero, 3 - .endm - - .text - -LEAF(startup) - .set noreorder - .set mips32 - - mtc0 zero, CP0_WATCHLO # clear watch registers - mtc0 zero, CP0_WATCHHI - mtc0 zero, CP0_CAUSE # clear before writing status register - - mfc0 t0, CP0_STATUS - li t1, 0x1000001f - or t0, t1 - xori t0, 0x1f - mtc0 t0, CP0_STATUS - ehb - - mtc0 zero, CP0_COUNT - mtc0 zero, CP0_COMPARE - ehb - - la t0, __reloc_label # get linked address of label - bal __reloc_label # branch and link to label to - nop # get actual address -__reloc_label: - subu t0, ra, t0 # get reloc_delta - - beqz t0, __reloc_done # if delta is 0 we are in the right place - nop - - /* Copy our code to the right place */ - la t1, _code_start # get linked address of _code_start - la t2, _code_end # get linked address of _code_end - addu t0, t0, t1 # calculate actual address of _code_start - -__reloc_copy: - lw t3, 0(t0) - sw t3, 0(t1) - add t1, 4 - blt t1, t2, __reloc_copy - add t0, 4 - - /* flush cache */ - la t0, _code_start - la t1, _code_end - - li t2, ~(CONFIG_CACHELINE_SIZE - 1) - and t0, t2 - and t1, t2 - li t2, CONFIG_CACHELINE_SIZE - - b __flush_check - nop - -__flush_line: - cache Hit_Writeback_Inv_D, 0(t0) - cache Hit_Invalidate_I, 0(t0) - add t0, t2 - -__flush_check: - bne t0, t1, __flush_line - nop - - sync - -__reloc_done: - - /* clear bss */ - la t0, _bss_start - la t1, _bss_end - b __bss_check - nop - -__bss_fill: - sw zero, 0(t0) - addi t0, 4 - -__bss_check: - bne t0, t1, __bss_fill - nop - - /* Setup new "C" stack */ - la sp, _stack - - /* jump to the decompressor routine */ - la t0, loader_main - jr t0 - nop - - .set reorder -END(startup) diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader.c b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader.c deleted file mode 100755 index b1c1e803c..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos - * - * Some parts of this code was based on the OpenWrt specific lzma-loader - * for the BCM47xx and ADM5120 based boards: - * Copyright (C) 2004 Manuel Novoa III (mjn3@codepoet.org) - * Copyright (C) 2005 Mineharu Takahara - * Copyright (C) 2005 by Oleg I. Vdovikin - * - * The image_header structure has been taken from the U-Boot project. - * (C) Copyright 2008 Semihalf - * (C) Copyright 2000-2005 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - -#include -#include - -#include "config.h" -#include "cache.h" -#include "printf.h" -#include "LzmaDecode.h" - -#define AR71XX_FLASH_START 0x1f000000 -#define AR71XX_FLASH_END 0x1fe00000 - -#define KSEG0 0x80000000 -#define KSEG1 0xa0000000 - -#define KSEG1ADDR(a) ((((unsigned)(a)) & 0x1fffffffU) | KSEG1) - -#undef LZMA_DEBUG - -#ifdef LZMA_DEBUG -# define DBG(f, a...) printf(f, ## a) -#else -# define DBG(f, a...) do {} while (0) -#endif - -#define IH_MAGIC_OKLI 0x4f4b4c49 /* 'OKLI' */ - -#define IH_NMLEN 32 /* Image Name Length */ - -typedef struct image_header { - uint32_t ih_magic; /* Image Header Magic Number */ - uint32_t ih_hcrc; /* Image Header CRC Checksum */ - uint32_t ih_time; /* Image Creation Timestamp */ - uint32_t ih_size; /* Image Data Size */ - uint32_t ih_load; /* Data Load Address */ - uint32_t ih_ep; /* Entry Point Address */ - uint32_t ih_dcrc; /* Image Data CRC Checksum */ - uint8_t ih_os; /* Operating System */ - uint8_t ih_arch; /* CPU architecture */ - uint8_t ih_type; /* Image Type */ - uint8_t ih_comp; /* Compression Type */ - uint8_t ih_name[IH_NMLEN]; /* Image Name */ -} image_header_t; - -/* beyond the image end, size not known in advance */ -extern unsigned char workspace[]; -extern void board_init(void); - -static CLzmaDecoderState lzma_state; -static unsigned char *lzma_data; -static unsigned long lzma_datasize; -static unsigned long lzma_outsize; -static unsigned long kernel_la; - -#ifdef CONFIG_KERNEL_CMDLINE -#define kernel_argc 1 -static const char kernel_cmdline[] = CONFIG_KERNEL_CMDLINE; -static const char *kernel_argv[] = { - kernel_cmdline, - NULL, -}; -#endif /* CONFIG_KERNEL_CMDLINE */ - -static void halt(void) -{ - printf("\nSystem halted!\n"); - for(;;); -} - -static __inline__ unsigned long get_be32(void *buf) -{ - unsigned char *p = buf; - - return (((unsigned long) p[0] << 24) + - ((unsigned long) p[1] << 16) + - ((unsigned long) p[2] << 8) + - (unsigned long) p[3]); -} - -static __inline__ unsigned char lzma_get_byte(void) -{ - unsigned char c; - - lzma_datasize--; - c = *lzma_data++; - - return c; -} - -static int lzma_init_props(void) -{ - unsigned char props[LZMA_PROPERTIES_SIZE]; - int res; - int i; - - /* read lzma properties */ - for (i = 0; i < LZMA_PROPERTIES_SIZE; i++) - props[i] = lzma_get_byte(); - - /* read the lower half of uncompressed size in the header */ - lzma_outsize = ((SizeT) lzma_get_byte()) + - ((SizeT) lzma_get_byte() << 8) + - ((SizeT) lzma_get_byte() << 16) + - ((SizeT) lzma_get_byte() << 24); - - /* skip rest of the header (upper half of uncompressed size) */ - for (i = 0; i < 4; i++) - lzma_get_byte(); - - res = LzmaDecodeProperties(&lzma_state.Properties, props, - LZMA_PROPERTIES_SIZE); - return res; -} - -static int lzma_decompress(unsigned char *outStream) -{ - SizeT ip, op; - int ret; - - lzma_state.Probs = (CProb *) workspace; - - ret = LzmaDecode(&lzma_state, lzma_data, lzma_datasize, &ip, outStream, - lzma_outsize, &op); - - if (ret != LZMA_RESULT_OK) { - int i; - - DBG("LzmaDecode error %d at %08x, osize:%d ip:%d op:%d\n", - ret, lzma_data + ip, lzma_outsize, ip, op); - - for (i = 0; i < 16; i++) - DBG("%02x ", lzma_data[ip + i]); - - DBG("\n"); - } - - return ret; -} - -#if (LZMA_WRAPPER) -static void lzma_init_data(void) -{ - extern unsigned char _lzma_data_start[]; - extern unsigned char _lzma_data_end[]; - - kernel_la = LOADADDR; - lzma_data = _lzma_data_start; - lzma_datasize = _lzma_data_end - _lzma_data_start; -} -#else -static void lzma_init_data(void) -{ - struct image_header *hdr = NULL; - unsigned char *flash_base; - unsigned long flash_ofs; - unsigned long kernel_ofs; - unsigned long kernel_size; - - flash_base = (unsigned char *) KSEG1ADDR(AR71XX_FLASH_START); - - printf("Looking for OpenWrt image... "); - - for (flash_ofs = CONFIG_FLASH_OFFS; - flash_ofs <= (CONFIG_FLASH_OFFS + CONFIG_FLASH_MAX); - flash_ofs += CONFIG_FLASH_STEP) { - unsigned long magic; - unsigned char *p; - - p = flash_base + flash_ofs; - magic = get_be32(p); - if (magic == IH_MAGIC_OKLI) { - hdr = (struct image_header *) p; - break; - } - } - - if (hdr == NULL) { - printf("not found!\n"); - halt(); - } - - printf("found at 0x%08x\n", flash_base + flash_ofs); - - kernel_ofs = sizeof(struct image_header); - kernel_size = get_be32(&hdr->ih_size); - kernel_la = get_be32(&hdr->ih_load); - - lzma_data = flash_base + flash_ofs + kernel_ofs; - lzma_datasize = kernel_size; -} -#endif /* (LZMA_WRAPPER) */ - -void loader_main(unsigned long reg_a0, unsigned long reg_a1, - unsigned long reg_a2, unsigned long reg_a3) -{ - void (*kernel_entry) (unsigned long, unsigned long, unsigned long, - unsigned long); - int res; - - board_init(); - - printf("\n\nOpenWrt kernel loader for Mips board\n"); - printf("Copyright (C) 2011 Gabor Juhos \n"); - - lzma_init_data(); - - res = lzma_init_props(); - if (res != LZMA_RESULT_OK) { - printf("Incorrect LZMA stream properties!\n"); - halt(); - } - - printf("Decompressing kernel... "); - - res = lzma_decompress((unsigned char *) kernel_la); - if (res != LZMA_RESULT_OK) { - printf("failed, "); - switch (res) { - case LZMA_RESULT_DATA_ERROR: - printf("data error!\n"); - break; - default: - printf("unknown error %d!\n", res); - } - halt(); - } else { - printf("done!\n"); - } - - flush_cache(kernel_la, lzma_outsize); - - printf("Starting kernel at %08x...\n\n", kernel_la); - -#ifdef CONFIG_KERNEL_CMDLINE - reg_a0 = kernel_argc; - reg_a1 = (unsigned long) kernel_argv; - reg_a2 = 0; - reg_a3 = 0; -#endif - - kernel_entry = (void *) kernel_la; - kernel_entry(reg_a0, reg_a1, reg_a2, reg_a3); -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader.lds b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader.lds deleted file mode 100755 index 80cc7ca3e..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader.lds +++ /dev/null @@ -1,35 +0,0 @@ -OUTPUT_ARCH(mips) -SECTIONS { - .text : { - _code_start = .; - *(.text) - *(.text.*) - *(.rodata) - *(.rodata.*) - *(.data.lzma) - } - - . = ALIGN(32); - .data : { - *(.data) - *(.data.*) - . = . + 524288; /* workaround for buggy bootloaders */ - } - - . = ALIGN(32); - _code_end = .; - - _bss_start = .; - .bss : { - *(.bss) - *(.bss.*) - } - - . = ALIGN(32); - _bss_end = .; - - . = . + 8192; - _stack = .; - - workspace = .; -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader2.lds b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader2.lds deleted file mode 100755 index db0bb4642..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/loader2.lds +++ /dev/null @@ -1,10 +0,0 @@ -OUTPUT_ARCH(mips) -SECTIONS { - .text : { - startup = .; - *(.text) - *(.text.*) - *(.data) - *(.data.*) - } -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/lzma-data.lds b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/lzma-data.lds deleted file mode 100755 index abf756ba1..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/lzma-data.lds +++ /dev/null @@ -1,8 +0,0 @@ -OUTPUT_ARCH(mips) -SECTIONS { - .data.lzma : { - _lzma_data_start = .; - *(.data) - _lzma_data_end = .; - } -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/printf.c b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/printf.c deleted file mode 100755 index 7bb5a86e1..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/printf.c +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright (C) 2001 MontaVista Software Inc. - * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - */ - -#include "printf.h" - -extern void board_putc(int ch); - -/* this is the maximum width for a variable */ -#define LP_MAX_BUF 256 - -/* macros */ -#define IsDigit(x) ( ((x) >= '0') && ((x) <= '9') ) -#define Ctod(x) ( (x) - '0') - -/* forward declaration */ -static int PrintChar(char *, char, int, int); -static int PrintString(char *, char *, int, int); -static int PrintNum(char *, unsigned long, int, int, int, int, char, int); - -/* private variable */ -static const char theFatalMsg[] = "fatal error in lp_Print!"; - -/* -*- - * A low level printf() function. - */ -static void -lp_Print(void (*output)(void *, char *, int), - void * arg, - char *fmt, - va_list ap) -{ - -#define OUTPUT(arg, s, l) \ - { if (((l) < 0) || ((l) > LP_MAX_BUF)) { \ - (*output)(arg, (char*)theFatalMsg, sizeof(theFatalMsg)-1); for(;;); \ - } else { \ - (*output)(arg, s, l); \ - } \ - } - - char buf[LP_MAX_BUF]; - - char c; - char *s; - long int num; - - int longFlag; - int negFlag; - int width; - int prec; - int ladjust; - char padc; - - int length; - - for(;;) { - { - /* scan for the next '%' */ - char *fmtStart = fmt; - while ( (*fmt != '\0') && (*fmt != '%')) { - fmt ++; - } - - /* flush the string found so far */ - OUTPUT(arg, fmtStart, fmt-fmtStart); - - /* are we hitting the end? */ - if (*fmt == '\0') break; - } - - /* we found a '%' */ - fmt ++; - - /* check for long */ - if (*fmt == 'l') { - longFlag = 1; - fmt ++; - } else { - longFlag = 0; - } - - /* check for other prefixes */ - width = 0; - prec = -1; - ladjust = 0; - padc = ' '; - - if (*fmt == '-') { - ladjust = 1; - fmt ++; - } - - if (*fmt == '0') { - padc = '0'; - fmt++; - } - - if (IsDigit(*fmt)) { - while (IsDigit(*fmt)) { - width = 10 * width + Ctod(*fmt++); - } - } - - if (*fmt == '.') { - fmt ++; - if (IsDigit(*fmt)) { - prec = 0; - while (IsDigit(*fmt)) { - prec = prec*10 + Ctod(*fmt++); - } - } - } - - - /* check format flag */ - negFlag = 0; - switch (*fmt) { - case 'b': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 2, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'd': - case 'D': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - if (num < 0) { - num = - num; - negFlag = 1; - } - length = PrintNum(buf, num, 10, negFlag, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'o': - case 'O': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 8, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'u': - case 'U': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 10, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'x': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 16, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'X': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 16, 0, width, ladjust, padc, 1); - OUTPUT(arg, buf, length); - break; - - case 'c': - c = (char)va_arg(ap, int); - length = PrintChar(buf, c, width, ladjust); - OUTPUT(arg, buf, length); - break; - - case 's': - s = (char*)va_arg(ap, char *); - length = PrintString(buf, s, width, ladjust); - OUTPUT(arg, buf, length); - break; - - case '\0': - fmt --; - break; - - default: - /* output this char as it is */ - OUTPUT(arg, fmt, 1); - } /* switch (*fmt) */ - - fmt ++; - } /* for(;;) */ - - /* special termination call */ - OUTPUT(arg, "\0", 1); -} - - -/* --------------- local help functions --------------------- */ -static int -PrintChar(char * buf, char c, int length, int ladjust) -{ - int i; - - if (length < 1) length = 1; - if (ladjust) { - *buf = c; - for (i=1; i< length; i++) buf[i] = ' '; - } else { - for (i=0; i< length-1; i++) buf[i] = ' '; - buf[length - 1] = c; - } - return length; -} - -static int -PrintString(char * buf, char* s, int length, int ladjust) -{ - int i; - int len=0; - char* s1 = s; - while (*s1++) len++; - if (length < len) length = len; - - if (ladjust) { - for (i=0; i< len; i++) buf[i] = s[i]; - for (i=len; i< length; i++) buf[i] = ' '; - } else { - for (i=0; i< length-len; i++) buf[i] = ' '; - for (i=length-len; i < length; i++) buf[i] = s[i-length+len]; - } - return length; -} - -static int -PrintNum(char * buf, unsigned long u, int base, int negFlag, - int length, int ladjust, char padc, int upcase) -{ - /* algorithm : - * 1. prints the number from left to right in reverse form. - * 2. fill the remaining spaces with padc if length is longer than - * the actual length - * TRICKY : if left adjusted, no "0" padding. - * if negtive, insert "0" padding between "0" and number. - * 3. if (!ladjust) we reverse the whole string including paddings - * 4. otherwise we only reverse the actual string representing the num. - */ - - int actualLength =0; - char *p = buf; - int i; - - do { - int tmp = u %base; - if (tmp <= 9) { - *p++ = '0' + tmp; - } else if (upcase) { - *p++ = 'A' + tmp - 10; - } else { - *p++ = 'a' + tmp - 10; - } - u /= base; - } while (u != 0); - - if (negFlag) { - *p++ = '-'; - } - - /* figure out actual length and adjust the maximum length */ - actualLength = p - buf; - if (length < actualLength) length = actualLength; - - /* add padding */ - if (ladjust) { - padc = ' '; - } - if (negFlag && !ladjust && (padc == '0')) { - for (i = actualLength-1; i< length-1; i++) buf[i] = padc; - buf[length -1] = '-'; - } else { - for (i = actualLength; i< length; i++) buf[i] = padc; - } - - - /* prepare to reverse the string */ - { - int begin = 0; - int end; - if (ladjust) { - end = actualLength - 1; - } else { - end = length -1; - } - - while (end > begin) { - char tmp = buf[begin]; - buf[begin] = buf[end]; - buf[end] = tmp; - begin ++; - end --; - } - } - - /* adjust the string pointer */ - return length; -} - -static void printf_output(void *arg, char *s, int l) -{ - int i; - - // special termination call - if ((l==1) && (s[0] == '\0')) return; - - for (i=0; i< l; i++) { - board_putc(s[i]); - if (s[i] == '\n') board_putc('\r'); - } -} - -void printf(char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - lp_Print(printf_output, 0, fmt, ap); - va_end(ap); -} diff --git a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/printf.h b/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/printf.h deleted file mode 100755 index 9b1c1df23..000000000 --- a/feeds/rtkmipsel/rtkmipsel/image/lzma-loader/src/printf.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (C) 2001 MontaVista Software Inc. - * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - */ - -#ifndef _printf_h_ -#define _printf_h_ - -#include -void printf(char *fmt, ...); - -#endif /* _printf_h_ */ diff --git a/feeds/rtkmipsel/rtkmipsel/modules.mk b/feeds/rtkmipsel/rtkmipsel/modules.mk deleted file mode 100644 index a036c8fac..000000000 --- a/feeds/rtkmipsel/rtkmipsel/modules.mk +++ /dev/null @@ -1,100 +0,0 @@ -define KernelPackage/crypto-core - SUBMENU:=$(CRYPTO_MENU) - TITLE:=Core CryptoAPI modules - KCONFIG:= \ - CONFIG_CRYPTO=y \ - CONFIG_CRYPTO_HW=y \ - CONFIG_CRYPTO_BLKCIPHER \ - CONFIG_CRYPTO_ALGAPI \ - $(foreach mod,$(CRYPTO_MODULES),$(call crypto_confvar,$(mod))) - FILES:=$(foreach mod,$(CRYPTO_MODULES),$(call crypto_file,$(mod))) -endef - -$(eval $(call KernelPackage,crypto-core)) - - -define KernelPackage/bridge - SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Ethernet bridging support - DEPENDS:=+kmod-stp - KCONFIG:= \ - CONFIG_BRIDGE \ - CONFIG_BRIDGE_IGMP_SNOOPING=y - FILES:=$(LINUX_DIR)/net/bridge/bridge.ko - AUTOLOAD:=$(call AutoLoad,11,bridge) -endef - -define KernelPackage/bridge/description - Kernel module for Ethernet bridging. -endef - -$(eval $(call KernelPackage,bridge)) - -define KernelPackage/llc - SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=ANSI/IEEE 802.2 LLC support - KCONFIG:=CONFIG_LLC - FILES:= \ - $(LINUX_DIR)/net/llc/llc.ko \ - $(LINUX_DIR)/net/802/p8022.ko \ - $(LINUX_DIR)/net/802/psnap.ko - AUTOLOAD:=$(call AutoLoad,09,llc p8022 psnap) -endef - -define KernelPackage/llc/description - Kernel module for ANSI/IEEE 802.2 LLC support. -endef - -$(eval $(call KernelPackage,llc)) - -define KernelPackage/stp - SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Ethernet Spanning Tree Protocol support - DEPENDS:=+kmod-llc - KCONFIG:=CONFIG_STP - FILES:=$(LINUX_DIR)/net/802/stp.ko - AUTOLOAD:=$(call AutoLoad,10,stp) -endef - -define KernelPackage/stp/description - Kernel module for Ethernet Spanning Tree Protocol support. -endef - -$(eval $(call KernelPackage,stp)) - -define KernelPackage/8021q - SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=802.1Q VLAN support - KCONFIG:=CONFIG_VLAN_8021Q \ - CONFIG_VLAN_8021Q_GVRP=n - FILES:=$(LINUX_DIR)/net/8021q/8021q.ko - AUTOLOAD:=$(call AutoLoad,12,8021q) -endef - -define KernelPackage/8021q/description - Kernel module for 802.1Q VLAN support -endef - -$(eval $(call KernelPackage,8021q)) - -define KernelPackage/ipv6 - SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=IPv6 support - KCONFIG:= \ - CONFIG_IPV6 \ - CONFIG_IPV6_PRIVACY=y \ - CONFIG_IPV6_MULTIPLE_TABLES=y \ - CONFIG_IPV6_MROUTE=y \ - CONFIG_IPV6_PIMSM_V2=n \ - CONFIG_IPV6_SUBTREES=y - FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko - AUTOLOAD:=$(call AutoLoad,20,ipv6) -endef - -define KernelPackage/ipv6/description - Kernel modules for IPv6 support -endef - -$(eval $(call KernelPackage,ipv6)) - - diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config-3.18 b/feeds/rtkmipsel/rtkmipsel/rtl8197f/config-3.18 deleted file mode 100755 index 6b87da160..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config-3.18 +++ /dev/null @@ -1,444 +0,0 @@ -# CONFIG_AIO is not set -# CONFIG_ANT_SWITCH is not set -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -# CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -# CONFIG_AUTO_DHCP_CHECK is not set -CONFIG_AVERAGE=y -# CONFIG_BAND_2G_ON_WLAN0 is not set -CONFIG_BAND_5G_ON_WLAN0=y -CONFIG_BINARY_SYSFS_STATS=y -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_NETFILTER=y -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BT=y -CONFIG_BT_BNEP=y -CONFIG_BT_COEXIST=y -CONFIG_BT_COEXIST_SOCKET=y -CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_3WIRE=y -# CONFIG_BT_HCIUART_BCSP is not set -# CONFIG_BT_HCIUART_H4 is not set -# CONFIG_BT_REPEATER_CONFIG is not set -CONFIG_BT_RFCOMM=y -# CONFIG_BT_RFCOMM_TTY is not set -CONFIG_CEVT_R4K=y -CONFIG_CLKDEV_LOOKUP=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CMDLINE="board=AP console=ttyS0,38400 linuxpart=0x60000 hwpart=0x20000" -CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE_OVERRIDE=y -CONFIG_COMPAT_BRK=y -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y -CONFIG_CPU_R4K_CACHE_TLB=y -CONFIG_CPU_R4K_FPU=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CPU_SUPPORTS_MSA=y -CONFIG_CRC16=y -# CONFIG_CRC32_SARWATE is not set -CONFIG_CRC32_SLICEBY8=y -CONFIG_CRC_CCITT=y -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_CRC32C=m -# CONFIG_CRYPTO_DEV_REALTEK is not set -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CSRC_R4K=y -CONFIG_DEBUG_INFO=y -CONFIG_DEFAULTS_KERNEL_2_6=y -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_DEFAULT_NOOP=y -CONFIG_DEVKMEM=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_ETHERNET is not set -CONFIG_EXTRTL8212_PHYID_P1=18 -CONFIG_EXTRTL8212_PHYID_P3=20 -CONFIG_EXTRTL8212_PHYID_P5=22 -CONFIG_FREE_WBB_PIN=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_IO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_BPF_JIT=y -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HZ_PERIODIC=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INPUT=m -CONFIG_INPUT_KEYBOARD=y -CONFIG_INPUT_POLLDEV=m -# CONFIG_IOSCHED_DEADLINE is not set -CONFIG_IPV6=m -# CONFIG_IPV6_GRE is not set -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MULTIPLE_TABLES=y -# CONFIG_IPV6_PIMSM_V2 is not set -CONFIG_IPV6_SUBTREES=y -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_KALLSYMS=y -# CONFIG_KEYBOARD_GPIO is not set -CONFIG_KEYBOARD_GPIO_POLLED=m -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LIBCRC32C=m -CONFIG_LOG_BUF_SHIFT=18 -# CONFIG_M25PXX_USE_AUTO_MODE is not set -# CONFIG_M25PXX_USE_FAST_READ is not set -# CONFIG_M25PXX_USE_MULTI_CHANNEL is not set -CONFIG_M25PXX_USE_USER_MODE=y -CONFIG_MAC_PHY_RF_Parameter_V702B_Skyworth=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_MDIO_BOARDINFO=y -CONFIG_MIPS=y -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MACHINE is not set -CONFIG_MODULES_USE_ELF_REL=y -# CONFIG_MP_PSD_SUPPORT is not set -CONFIG_MRP=y -CONFIG_MTD_BLOCK2MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_M25P80=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_FIRMWARE=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NETFILTER=y -CONFIG_NETFILTER_ADVANCED=y -CONFIG_NETFILTER_XTABLES=m -CONFIG_NETFILTER_XT_MARK=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_ID=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_NAT=m -CONFIG_NETFILTER_XT_TARGET_CT=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IP_TUNNEL=m -CONFIG_NET_UDP_TUNNEL=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_RTCACHE=m -CONFIG_NF_DEFRAG_IPV4=m -# CONFIG_NF_DEFRAG_IPV6 is not set -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_NAT=m -CONFIG_NF_NAT_FTP=m -CONFIG_NF_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m -CONFIG_NF_NAT_NEEDED=y -CONFIG_NF_REJECT_IPV4=m -# CONFIG_NF_REJECT_IPV6 is not set -# CONFIG_NO_IOPORT_MAP is not set -CONFIG_OPENWRT_SDK=y -# CONFIG_PACP_SUPPORT is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PCI_HCI=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -CONFIG_PHY_EAT_40MHZ=y -CONFIG_PHY_WLAN_EAT_40MHZ=y -CONFIG_PPP=m -CONFIG_PPPOE=m -CONFIG_PPP_ASYNC=m -# CONFIG_PREEMPT_RCU is not set -CONFIG_PRINTK_TIME=y -# CONFIG_PROC_STRIPPED is not set -CONFIG_PSTORE=y -CONFIG_PSTORE_CONSOLE=y -CONFIG_PSTORE_RAM=y -# CONFIG_RCU_STALL_COMMON is not set -# CONFIG_REALTEK is not set -CONFIG_REALTEK_97F=y -# CONFIG_RECORD_CLIENT_HOST is not set -CONFIG_REED_SOLOMON=y -CONFIG_REED_SOLOMON_DEC8=y -CONFIG_REED_SOLOMON_ENC8=y -CONFIG_RFKILL=y -CONFIG_RFKILL_GPIO=y -CONFIG_RFKILL_LEDS=y -# CONFIG_RF_DPK_SETTING_SUPPORT is not set -CONFIG_RTK_BOOTINFO_DUALIMAGE=y -CONFIG_RTK_DUALIMAGE_FLASH_OFFSET=0x7F0000 -CONFIG_RTK_READ_ETH_ADDR_FROM_FLASH=y -# CONFIG_RTK_SMART_ROAMING is not set -# CONFIG_RTK_WLAN_EVENT_INDICATE is not set -# CONFIG_RTL8190_PRIV_SKB is not set -CONFIG_RTL8192CD=m -CONFIG_RTL819X_DW_SPI=y -# CONFIG_RTL819X_DW_SPI0 is not set -# CONFIG_RTL819X_DW_SPI1 is not set -# CONFIG_RTL819X_SPI_FLASH is not set -CONFIG_RTL819X_WDT=y -# CONFIG_RTL865X_KERNEL_MIPS16 is not set -CONFIG_RTL865X_MBUF_HEADROOM=128 -# CONFIG_RTL_11R_SUPPORT is not set -# CONFIG_RTL_11W_SUPPORT is not set -CONFIG_RTL_5G_SLOT_0=y -# CONFIG_RTL_802_1X_CLIENT_SUPPORT is not set -CONFIG_RTL_8197F=y -# CONFIG_RTL_8197F_ANT_SWITCH is not set -CONFIG_RTL_8197F_GW=y -CONFIG_RTL_8197F_SP_W2M_AC1200=y -# CONFIG_RTL_8197F_SP_W2M_AC1200_POE is not set -# CONFIG_RTL_8197F_WRT is not set -CONFIG_RTL_819X=y -# CONFIG_RTL_819X_SWCORE is not set -# CONFIG_RTL_8211F_SUPPORT is not set -# CONFIG_RTL_8363NB_SUPPORT is not set -# CONFIG_RTL_8366SC_SUPPORT is not set -# CONFIG_RTL_8367R_SUPPORT is not set -# CONFIG_RTL_A4_STA_SUPPORT is not set -# CONFIG_RTL_ATM_SUPPORT is not set -CONFIG_RTL_AWDS_SUPPORT=y -CONFIG_RTL_CLIENT_MODE_SUPPORT=y -# CONFIG_RTL_COMAPI_CFGFILE is not set -# CONFIG_RTL_COMAPI_WLTOOLS is not set -CONFIG_RTL_DEBUG_TOOL=y -CONFIG_RTL_DFS_SUPPORT=y -# CONFIG_RTL_DOT11K_SUPPORT is not set -CONFIG_RTL_EEE_DISABLED=y -# CONFIG_RTL_ETH_802DOT1X_SUPPORT is not set -# CONFIG_RTL_ETH_PRIV_SKB is not set -# CONFIG_RTL_EXCHANGE_PORTMASK is not set -CONFIG_RTL_EXTPORT_VLANID=9 -CONFIG_RTL_FLASH_SIZE=0x800000 -CONFIG_RTL_GSO=y -# CONFIG_RTL_HARDWARE_NAT is not set -# CONFIG_RTL_HOSTAPD_SUPPORT is not set -# CONFIG_RTL_HS2_SUPPORT is not set -CONFIG_RTL_HW_L2_ONLY=y -# CONFIG_RTL_HW_MULTICAST_ONLY is not set -# CONFIG_RTL_HW_NAPT is not set -# CONFIG_RTL_HW_QOS_SUPPORT is not set -CONFIG_RTL_IGMP_PROXY=y -# CONFIG_RTL_IPTABLES_RULE_2_ACL is not set -CONFIG_RTL_IVL_SUPPORT=y -CONFIG_RTL_LAYERED_ASIC_DRIVER=y -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L4 is not set -CONFIG_RTL_LAYERED_DRIVER=y -CONFIG_RTL_LAYERED_DRIVER_ACL=y -CONFIG_RTL_LAYERED_DRIVER_L2=y -# CONFIG_RTL_LAYERED_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_DRIVER_L4 is not set -CONFIG_RTL_LINKCHG_PROCESS=y -# CONFIG_RTL_MESH_SUPPORT is not set -CONFIG_RTL_MLD_PROXY=y -# CONFIG_RTL_MULTI_CLONE_SUPPORT is not set -CONFIG_RTL_NO_BR_SHORTCUT=y -CONFIG_RTL_ODM_WLAN_DRIVER=y -# CONFIG_RTL_P2P_SUPPORT is not set -# CONFIG_RTL_PMKCACHE_SUPPORT is not set -CONFIG_RTL_PROC_DEBUG=y -CONFIG_RTL_READ_CALDATA_FROM_FLASH=y -CONFIG_RTL_READ_MAC_FROM_FLASH=y -# CONFIG_RTL_REPEATER_MODE_SUPPORT is not set -# CONFIG_RTL_ROMEPERF_24K is not set -# CONFIG_RTL_SENDFILE_PATCH is not set -# CONFIG_RTL_SIMPLE_CONFIG is not set -CONFIG_RTL_STA_CONTROL_SUPPORT=y -# CONFIG_RTL_SUPPORT_MULTI_PROFILE is not set -CONFIG_RTL_TDLS_SUPPORT=y -# CONFIG_RTL_TPT_THREAD is not set -CONFIG_RTL_TSO=y -# CONFIG_RTL_UNKOWN_UNICAST_CONTROL is not set -# CONFIG_RTL_USB_IP_HOST_SPEEDUP is not set -CONFIG_RTL_VAP_SUPPORT=y -# CONFIG_RTL_WAPI_SUPPORT is not set -# CONFIG_RTL_WDS_SUPPORT is not set -# CONFIG_RTL_WLAN_DIAGNOSTIC is not set -# CONFIG_RTL_WLAN_DOS_FILTER is not set -CONFIG_RTL_WPS2_SUPPORT=y -# CONFIG_SCSI_DMA is not set -CONFIG_SERIAL_RTL_UART1=y -# CONFIG_SERIAL_RTL_UART1_PINMUX1 is not set -CONFIG_SERIAL_RTL_UART1_PINMUX2=y -# CONFIG_SERIAL_RTL_UART2 is not set -# CONFIG_SHARE_XCAP_SUPPORT is not set -# CONFIG_SLAB is not set -CONFIG_SLHC=m -# CONFIG_SLOT_0_8192EE is not set -# CONFIG_SLOT_0_8194AE is not set -# CONFIG_SLOT_0_8723B is not set -# CONFIG_SLOT_0_8812 is not set -# CONFIG_SLOT_0_8812AR_VN is not set -# CONFIG_SLOT_0_8814AE is not set -CONFIG_SLOT_0_8822BE=y -# CONFIG_SLOT_0_88E is not set -# CONFIG_SLOT_0_92C is not set -# CONFIG_SLOT_0_92D is not set -# CONFIG_SLOT_0_ENABLE_EFUSE is not set -# CONFIG_SLOT_0_RFE_TYPE_0 is not set -# CONFIG_SLOT_0_RFE_TYPE_1 is not set -CONFIG_SLOT_0_RFE_TYPE_10=y -# CONFIG_SLOT_0_RFE_TYPE_11 is not set -# CONFIG_SLOT_0_RFE_TYPE_13 is not set -# CONFIG_SLOT_0_RFE_TYPE_14 is not set -# CONFIG_SLOT_0_RFE_TYPE_6 is not set -# CONFIG_SLOT_0_RFE_TYPE_7 is not set -# CONFIG_SLOT_0_RFE_TYPE_8 is not set -# CONFIG_SLOT_0_RFE_TYPE_9 is not set -CONFIG_SLOT_0_TX_BEAMFORMING=y -CONFIG_SLUB=y -# CONFIG_SOC_ENABLE_EFUSE is not set -CONFIG_SOC_RFE_TYPE_0=y -# CONFIG_SOC_RFE_TYPE_1 is not set -# CONFIG_SOC_RFE_TYPE_2 is not set -# CONFIG_SOC_RFE_TYPE_3 is not set -# CONFIG_SOC_RFE_TYPE_4 is not set -# CONFIG_SOC_RFE_TYPE_5 is not set -# CONFIG_SOC_RFE_TYPE_6 is not set -CONFIG_SOC_RTL8197F=y -# CONFIG_SOC_TX_BEAMFORMING is not set -CONFIG_SOC_WIFI=y -CONFIG_SPI=y -CONFIG_SPI_DESIGNWARE=y -CONFIG_SPI_DW_MMIO=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_SHEIPA=y -CONFIG_SQUASHFS_EMBEDDED=y -# CONFIG_STA_ROAMING_CHECK is not set -# CONFIG_SWAP is not set -CONFIG_SWCONFIG=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TUN=m -CONFIG_TXPWR_LMT=y -CONFIG_USE_PCIE_SLOT_0=y -CONFIG_VETH=m -CONFIG_VLAN_8021Q_MVRP=y -CONFIG_VXLAN=m -CONFIG_WATCHDOG_CORE=y -CONFIG_WIRELESS_LAN_MODULE=y -CONFIG_WLAN_HAL=y -CONFIG_WLAN_HAL_8197F=y -CONFIG_WLAN_HAL_8822BE=y -CONFIG_WLAN_HAL_88XX=y -CONFIG_WLAN_MACHAL_API=y -# CONFIG_WL_TI is not set -CONFIG_WRT_BARRIER_BREAKER=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_XZ_DEC_BCJ=y -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_SPARC=y -CONFIG_XZ_DEC_X86=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZONE_DMA_FLAG=0 -# CONFIG_RTL_83XX_SUPPORT is not set -# CONFIG_RTL_8363NB_SUPPORT is not set -CONFIG_BRIDGE_EBT_IP6=m diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config-3.18_nand b/feeds/rtkmipsel/rtkmipsel/rtl8197f/config-3.18_nand deleted file mode 100755 index 054031a48..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config-3.18_nand +++ /dev/null @@ -1,290 +0,0 @@ -# CONFIG_98C_NAND_FLASH is not set -# CONFIG_ANT_SWITCH is not set -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -# CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -# CONFIG_AUTO_DHCP_CHECK is not set -# CONFIG_BAND_2G_ON_WLAN0 is not set -CONFIG_BAND_5G_ON_WLAN0=y -CONFIG_CEVT_R4K=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CMDLINE="board=AP console=ttyS0,38400 linuxpart=0x60000 hwpart=0x20000" -CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE_OVERRIDE=y -CONFIG_COMPAT_BRK=y -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y -CONFIG_CPU_R4K_CACHE_TLB=y -CONFIG_CPU_R4K_FPU=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CPU_SUPPORTS_MSA=y -# CONFIG_CRC32_SARWATE is not set -CONFIG_CRC32_SLICEBY8=y -CONFIG_CRC_CCITT=y -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_HW=y -CONFIG_CSRC_R4K=y -CONFIG_DEFAULTS_KERNEL_2_6=y -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_DEFAULT_NOOP=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_ETHERNET is not set -CONFIG_EXTRTL8212_PHYID_P1=18 -CONFIG_EXTRTL8212_PHYID_P3=20 -CONFIG_EXTRTL8212_PHYID_P5=22 -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_IO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_BPF_JIT=y -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HZ_PERIODIC=y -# CONFIG_IMAGE_HEADER_CHECK is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_LEDS_GPIO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LOG_BUF_SHIFT=12 -CONFIG_MAC_PHY_RF_Parameter_V702B_Skyworth=y -CONFIG_MDIO_BOARDINFO=y -CONFIG_MIPS=y -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MACHINE is not set -CONFIG_MODULES_USE_ELF_REL=y -# CONFIG_MP_PSD_SUPPORT is not set -CONFIG_MTD_BLOCK2MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ECC=y -CONFIG_MTD_NAND_RTK=y -CONFIG_MTD_NAND_RTK_BLOCK_SIZE=0x20000 -CONFIG_MTD_NAND_RTK_PAGE_SIZE=0x800 -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_FIRMWARE=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -# CONFIG_NO_IOPORT_MAP is not set -CONFIG_OPENWRT_SDK=y -# CONFIG_PACP_SUPPORT is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PARALLEL_NAND_FLASH=y -CONFIG_PCI_HCI=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -CONFIG_PHY_EAT_40MHZ=y -# CONFIG_PREEMPT_RCU is not set -# CONFIG_RCU_STALL_COMMON is not set -# CONFIG_REALTEK is not set -CONFIG_REALTEK_97F=y -# CONFIG_RTK_BOOTINFO_DUALIMAGE is not set -# CONFIG_RTK_NAND_FLASH_STORAGE is not set -# CONFIG_RTK_NORMAL_BBT is not set -CONFIG_RTK_REMAP_BBT=y -# CONFIG_RTK_WLAN_EVENT_INDICATE is not set -CONFIG_RTK_XHCI_USB=y -# CONFIG_RTL8190_PRIV_SKB is not set -CONFIG_RTL8192CD=m -# CONFIG_RTL819X_SPI_FLASH is not set -CONFIG_RTL819X_WDT=y -# CONFIG_RTL865X_KERNEL_MIPS16 is not set -CONFIG_RTL865X_MBUF_HEADROOM=128 -# CONFIG_RTL_11R_SUPPORT is not set -CONFIG_RTL_11W_SUPPORT=y -CONFIG_RTL_5G_SLOT_0=y -# CONFIG_RTL_802_1X_CLIENT_SUPPORT is not set -CONFIG_RTL_8197F=y -CONFIG_RTL_8197F_GW=y -CONFIG_RTL_8197F_WRT=y -CONFIG_RTL_819X=y -CONFIG_RTL_819X_SWCORE=y -# CONFIG_RTL_8211F_SUPPORT is not set -CONFIG_RTL_8367R_SUPPORT=y -# CONFIG_RTL_A4_STA_SUPPORT is not set -# CONFIG_RTL_ATM_SUPPORT is not set -CONFIG_RTL_CLIENT_MODE_SUPPORT=y -# CONFIG_RTL_COMAPI_CFGFILE is not set -# CONFIG_RTL_COMAPI_WLTOOLS is not set -CONFIG_RTL_DEBUG_TOOL=y -CONFIG_RTL_DFS_SUPPORT=y -CONFIG_RTL_DISABLE_ETH_MIPS16=y -CONFIG_RTL_DISABLE_WLAN_MIPS16=y -# CONFIG_RTL_DOT11K_SUPPORT is not set -CONFIG_RTL_EEE_DISABLED=y -# CONFIG_RTL_ETH_802DOT1X_SUPPORT is not set -# CONFIG_RTL_ETH_PRIV_SKB is not set -CONFIG_RTL_EXTPORT_VLANID=9 -# CONFIG_RTL_GSO is not set -# CONFIG_RTL_HARDWARE_NAT is not set -# CONFIG_RTL_HOSTAPD_SUPPORT is not set -# CONFIG_RTL_HS2_SUPPORT is not set -CONFIG_RTL_HW_L2_ONLY=y -# CONFIG_RTL_HW_MULTICAST_ONLY is not set -# CONFIG_RTL_HW_NAPT is not set -# CONFIG_RTL_HW_QOS_SUPPORT is not set -CONFIG_RTL_IGMP_PROXY=y -# CONFIG_RTL_IPTABLES_RULE_2_ACL is not set -CONFIG_RTL_IVL_SUPPORT=y -CONFIG_RTL_LAYERED_ASIC_DRIVER=y -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L4 is not set -CONFIG_RTL_LAYERED_DRIVER=y -CONFIG_RTL_LAYERED_DRIVER_ACL=y -CONFIG_RTL_LAYERED_DRIVER_L2=y -# CONFIG_RTL_LAYERED_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_DRIVER_L4 is not set -CONFIG_RTL_LINKCHG_PROCESS=y -# CONFIG_RTL_MESH_SUPPORT is not set -CONFIG_RTL_MLD_PROXY=y -CONFIG_RTL_ODM_WLAN_DRIVER=y -# CONFIG_RTL_P2P_SUPPORT is not set -# CONFIG_RTL_PMKCACHE_SUPPORT is not set -CONFIG_RTL_PROC_DEBUG=y -CONFIG_RTL_REPEATER_MODE_SUPPORT=y -# CONFIG_RTL_ROMEPERF_24K is not set -# CONFIG_RTL_SENDFILE_PATCH is not set -# CONFIG_RTL_SIMPLE_CONFIG is not set -# CONFIG_RTL_STA_CONTROL_SUPPORT is not set -CONFIG_RTL_SUPPORT_MULTI_PROFILE=y -CONFIG_RTL_TDLS_SUPPORT=y -# CONFIG_RTL_TPT_THREAD is not set -# CONFIG_RTL_TSO is not set -# CONFIG_RTL_UNKOWN_UNICAST_CONTROL is not set -# CONFIG_RTL_USB_IP_HOST_SPEEDUP is not set -CONFIG_RTL_VAP_SUPPORT=y -# CONFIG_RTL_WAPI_SUPPORT is not set -CONFIG_RTL_WDS_SUPPORT=y -# CONFIG_RTL_WLAN_DIAGNOSTIC is not set -# CONFIG_RTL_WLAN_DOS_FILTER is not set -CONFIG_RTL_WPS2_SUPPORT=y -# CONFIG_SCSI_DMA is not set -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_8250_RUNTIME_UARTS=1 -CONFIG_SERIAL_8250_SYSRQ=y -# CONFIG_SLAB is not set -# CONFIG_SLOT_0_8192EE is not set -# CONFIG_SLOT_0_8194AE is not set -# CONFIG_SLOT_0_8723B is not set -# CONFIG_SLOT_0_8812 is not set -# CONFIG_SLOT_0_8812AR_VN is not set -# CONFIG_SLOT_0_8814AE is not set -CONFIG_SLOT_0_8822BE=y -# CONFIG_SLOT_0_88E is not set -# CONFIG_SLOT_0_92C is not set -# CONFIG_SLOT_0_92D is not set -# CONFIG_SLOT_0_ENABLE_EFUSE is not set -CONFIG_SLOT_0_EXT_LNA=y -CONFIG_SLOT_0_EXT_PA=y -# CONFIG_SLOT_0_RFE_TYPE_0 is not set -CONFIG_SLOT_0_RFE_TYPE_1=y -# CONFIG_SLOT_0_RFE_TYPE_6 is not set -# CONFIG_SLOT_0_RFE_TYPE_7 is not set -CONFIG_SLOT_0_TX_BEAMFORMING=y -CONFIG_SLUB=y -# CONFIG_SOC_ENABLE_EFUSE is not set -CONFIG_SOC_EXT_LNA=y -CONFIG_SOC_EXT_PA=y -# CONFIG_SOC_RFE_TYPE_0 is not set -CONFIG_SOC_RFE_TYPE_1=y -CONFIG_SOC_RTL8197F=y -# CONFIG_SOC_TX_BEAMFORMING is not set -CONFIG_SOC_WIFI=y -# CONFIG_SPI_NAND_FLASH is not set -CONFIG_SQUASHFS_EMBEDDED=y -# CONFIG_SQUASHFS_XZ is not set -CONFIG_SQUASHFS_ZLIB=y -CONFIG_SWCONFIG=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TXPWR_LMT=y -CONFIG_USB_XHCI_PLATFORM=y -CONFIG_USE_PCIE_SLOT_0=y -CONFIG_WATCHDOG_CORE=y -CONFIG_WIRELESS_LAN_MODULE=y -CONFIG_WLAN_HAL=y -CONFIG_WLAN_HAL_8197F=y -CONFIG_WLAN_HAL_8822BE=y -CONFIG_WLAN_HAL_88XX=y -CONFIG_WLAN_MACHAL_API=y -# CONFIG_WL_TI is not set -CONFIG_WRT_BARRIER_BREAKER=y -# CONFIG_XZ_DEC is not set -# CONFIG_YAFFS_9BYTE_TAGS is not set -# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set -CONFIG_YAFFS_AUTO_YAFFS2=y -# CONFIG_YAFFS_DISABLE_BACKGROUND is not set -# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set -# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set -# CONFIG_YAFFS_DOES_ECC is not set -# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set -CONFIG_YAFFS_FS=y -CONFIG_YAFFS_XATTR=y -CONFIG_YAFFS_YAFFS1=y -CONFIG_YAFFS_YAFFS2=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZONE_DMA_FLAG=0 -# CONFIG_PROC_STRIPPED is not set diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config.bkup b/feeds/rtkmipsel/rtkmipsel/rtl8197f/config.bkup deleted file mode 100755 index ae96dc6f1..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config.bkup +++ /dev/null @@ -1,1492 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/mips 3.10.49 Kernel Configuration -# -CONFIG_MIPS=y - -# -# Machine selection -# -# CONFIG_MIPS_ALCHEMY is not set -# CONFIG_AR7 is not set -# CONFIG_ATH79 is not set -# CONFIG_BCM47XX is not set -# CONFIG_BCM63XX is not set -# CONFIG_MIPS_COBALT is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_JZ4740 is not set -# CONFIG_LANTIQ is not set -# CONFIG_LASAT is not set -# CONFIG_MACH_LOONGSON is not set -# CONFIG_MACH_LOONGSON1 is not set -# CONFIG_MIPS_MALTA is not set -# CONFIG_MIPS_SEAD3 is not set -# CONFIG_NEC_MARKEINS is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_NXP_STB220 is not set -# CONFIG_NXP_STB225 is not set -# CONFIG_PMC_MSP is not set -# CONFIG_POWERTV is not set -# CONFIG_RALINK is not set -CONFIG_REALTEK=y -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP28 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SNI_RM is not set -# CONFIG_MACH_TX39XX is not set -# CONFIG_MACH_TX49XX is not set -# CONFIG_MIKROTIK_RB532 is not set -# CONFIG_WR_PPMC is not set -# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set -# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set -# CONFIG_NLM_XLR_BOARD is not set -# CONFIG_NLM_XLP_BOARD is not set -# CONFIG_ALCHEMY_GPIO_INDIRECT is not set -# CONFIG_RTL_8197F_GW is not set -CONFIG_RTL_8197F=y -CONFIG_RTL_819X=y -# CONFIG_OPENWRT_SDK is not set -# CONFIG_WRT_BARRIER_BREAKER is not set -CONFIG_SOC_RTL8197F=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_SCHED_OMIT_FRAME_POINTER=y -CONFIG_CEVT_R4K=y -CONFIG_CSRC_R4K=y -# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set -CONFIG_DMA_NONCOHERENT=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -# CONFIG_MIPS_FPU_EMU is not set -# CONFIG_MIPS_MACHINE is not set -# CONFIG_IMAGE_CMDLINE_HACK is not set -# CONFIG_NO_IOPORT is not set -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_IRQ_CPU=y -CONFIG_MIPS_L1_CACHE_SHIFT=5 - -# -# CPU selection -# -CONFIG_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPSR2=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_HARDWARE_WATCHPOINTS=y - -# -# Kernel type -# -CONFIG_32BIT=y -# CONFIG_KVM_GUEST is not set -# CONFIG_PAGE_SIZE_4KB is not set -CONFIG_PAGE_SIZE_16KB=y -# CONFIG_PAGE_SIZE_64KB is not set -CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_R4K_FPU=y -CONFIG_CPU_R4K_CACHE_TLB=y -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_COMPACTION is not set -# CONFIG_PHYS_ADDR_T_64BIT is not set -CONFIG_ZONE_DMA_FLAG=0 -CONFIG_VIRT_TO_BUS=y -# CONFIG_KSM is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_NEED_PER_CPU_KM=y -# CONFIG_CLEANCACHE is not set -# CONFIG_FRONTSWAP is not set -# CONFIG_HZ_48 is not set -CONFIG_HZ_100=y -# CONFIG_HZ_128 is not set -# CONFIG_HZ_250 is not set -# CONFIG_HZ_256 is not set -# CONFIG_HZ_1000 is not set -# CONFIG_HZ_1024 is not set -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_HZ=100 -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -# CONFIG_SECCOMP is not set -CONFIG_BOOT_RAW=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y - -# -# General setup -# -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="mips-linux-" -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_DEFAULT_HOSTNAME="rlxlinux" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_FHANDLE is not set -# CONFIG_AUDIT is not set -CONFIG_HAVE_GENERIC_HARDIRQS=y - -# -# IRQ subsystem -# -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y - -# -# Timers subsystem -# -CONFIG_HZ_PERIODIC=y -# CONFIG_NO_HZ_IDLE is not set -# CONFIG_NO_HZ is not set -# CONFIG_HIGH_RES_TIMERS is not set - -# -# CPU/Task time and stats accounting -# -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set - -# -# RCU Subsystem -# -CONFIG_TINY_RCU=y -# CONFIG_PREEMPT_RCU is not set -# CONFIG_RCU_STALL_COMMON is not set -# CONFIG_TREE_RCU_TRACE is not set -# CONFIG_IKCONFIG is not set -CONFIG_LOG_BUF_SHIFT=12 -# CONFIG_CGROUPS is not set -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_NAMESPACES is not set -CONFIG_UIDGID_CONVERTED=y -# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -CONFIG_CRASHLOG=y -# CONFIG_BLK_DEV_INITRD is not set -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y -CONFIG_HOTPLUG=y -CONFIG_EXPERT=y -CONFIG_SYSCTL_SYSCALL=y -# CONFIG_KALLSYMS is not set -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -# CONFIG_SHMEM is not set -# CONFIG_AIO is not set -CONFIG_EMBEDDED=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_PERF_USE_VMALLOC=y - -# -# Kernel Performance Events And Counters -# -# CONFIG_PERF_EVENTS is not set -# CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_SLUB_DEBUG is not set -CONFIG_COMPAT_BRK=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -# CONFIG_PROFILING is not set -CONFIG_HAVE_OPROFILE=y -# CONFIG_KPROBES is not set -# CONFIG_JUMP_LABEL is not set -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_MODULES_USE_ELF_REL=y -CONFIG_CLONE_BACKWARDS=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -CONFIG_MODULE_STRIPPED=y -CONFIG_BLOCK=y -CONFIG_LBDAF=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y -CONFIG_EFI_PARTITION=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_INLINE_READ_UNLOCK=y -CONFIG_INLINE_READ_UNLOCK_IRQ=y -CONFIG_INLINE_WRITE_UNLOCK=y -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -# CONFIG_FREEZER is not set - -# -# Bus options (PCI, PCMCIA, EISA, ISA, TC) -# -CONFIG_MMU=y -# CONFIG_PCCARD is not set - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_BINFMT_SCRIPT=y -# CONFIG_HAVE_AOUT is not set -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y -CONFIG_TRAD_SIGNALS=y - -# -# Power management options -# -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -# CONFIG_SUSPEND is not set -# CONFIG_HIBERNATION is not set -# CONFIG_PM_RUNTIME is not set -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=y -# CONFIG_PACKET_DIAG is not set -CONFIG_UNIX=y -# CONFIG_UNIX_DIAG is not set -# CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE_DEMUX is not set -# CONFIG_NET_IP_TUNNEL is not set -CONFIG_IP_MROUTE=y -# CONFIG_IP_PIMSM_V1 is not set -# CONFIG_IP_PIMSM_V2 is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_INET_UDP_DIAG is not set -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m -CONFIG_IPV6_PRIVACY=y -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET6_XFRM_MODE_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_BEET is not set -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -# CONFIG_IPV6_SIT is not set -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_IPV6_GRE is not set -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_MROUTE=y -# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set -# CONFIG_IPV6_PIMSM_V2 is not set -CONFIG_SOCK_DIAG=y -# CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_ADVANCED=y -# CONFIG_BRIDGE_NETFILTER is not set - -# -# Core Netfilter Configuration -# -# CONFIG_NETFILTER_NETLINK is not set -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -CONFIG_NF_CONNTRACK=y -CONFIG_NF_CONNTRACK_MARK=y -# CONFIG_NF_CONNTRACK_ZONES is not set -CONFIG_NF_CONNTRACK_PROCFS=y -# CONFIG_NF_CONNTRACK_EVENTS is not set -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -# CONFIG_NF_CT_PROTO_DCCP is not set -CONFIG_NF_CT_PROTO_GRE=y -# CONFIG_NF_CT_PROTO_SCTP is not set -# CONFIG_NF_CT_PROTO_UDPLITE is not set -# CONFIG_NF_CONNTRACK_AMANDA is not set -CONFIG_NF_CONNTRACK_FTP=y -# CONFIG_NF_CONNTRACK_H323 is not set -CONFIG_NF_CONNTRACK_IRC=m -# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set -# CONFIG_NF_CONNTRACK_SNMP is not set -CONFIG_NF_CONNTRACK_PPTP=y -# CONFIG_NF_CONNTRACK_SANE is not set -CONFIG_NF_CONNTRACK_SIP=y -# CONFIG_NF_CONNTRACK_TFTP is not set -# CONFIG_NF_CT_NETLINK is not set -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -CONFIG_NF_NAT=y -CONFIG_NF_NAT_NEEDED=y -# CONFIG_NF_NAT_AMANDA is not set -CONFIG_NF_NAT_FTP=y -CONFIG_NF_NAT_IRC=m -CONFIG_NF_NAT_SIP=y -# CONFIG_NF_NAT_TFTP is not set -# CONFIG_NETFILTER_TPROXY is not set -CONFIG_NETFILTER_XTABLES=y - -# -# Xtables combined modules -# -CONFIG_NETFILTER_XT_MARK=y -CONFIG_NETFILTER_XT_CONNMARK=m - -# -# Xtables targets -# -# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set -CONFIG_NETFILTER_XT_TARGET_CT=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HL=m -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=y -# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -# CONFIG_NETFILTER_XT_TARGET_TEE is not set -# CONFIG_NETFILTER_XT_TARGET_TRACE is not set -CONFIG_NETFILTER_XT_TARGET_TCPMSS=y -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set - -# -# Xtables matches -# -# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ECN=m -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_HL=m -CONFIG_NETFILTER_XT_MATCH_ID=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=y -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=y -CONFIG_NETFILTER_XT_MATCH_MARK=y -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OWNER is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -CONFIG_NETFILTER_XT_MATCH_RECENT=m -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -CONFIG_NETFILTER_XT_MATCH_STATE=y -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# CONFIG_IP_VS is not set - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=y -CONFIG_NF_CONNTRACK_IPV4=y -CONFIG_NF_CONNTRACK_PROC_COMPAT=y -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_RPFILTER is not set -# CONFIG_IP_NF_MATCH_TTL is not set -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=m -# CONFIG_IP_NF_TARGET_ULOG is not set -CONFIG_NF_NAT_IPV4=y -CONFIG_IP_NF_TARGET_MASQUERADE=y -# CONFIG_IP_NF_TARGET_NETMAP is not set -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_NF_NAT_PROTO_GRE=y -CONFIG_NF_NAT_PPTP=y -# CONFIG_NF_NAT_H323 is not set -CONFIG_IP_NF_MANGLE=y -# CONFIG_IP_NF_TARGET_CLUSTERIP is not set -CONFIG_IP_NF_TARGET_ECN=m -# CONFIG_IP_NF_TARGET_TTL is not set -CONFIG_IP_NF_RAW=m -# CONFIG_IP_NF_ARPTABLES is not set - -# -# IPv6: Netfilter Configuration -# -# CONFIG_NF_DEFRAG_IPV6 is not set -# CONFIG_NF_CONNTRACK_IPV6 is not set -# CONFIG_IP6_NF_IPTABLES is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_RDS is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -CONFIG_L2TP=m -# CONFIG_L2TP_DEBUGFS is not set -# CONFIG_L2TP_V3 is not set -CONFIG_STP=y -CONFIG_BRIDGE=y -CONFIG_BRIDGE_IGMP_SNOOPING=y -# CONFIG_BRIDGE_VLAN_FILTERING is not set -CONFIG_HAVE_NET_DSA=y -CONFIG_VLAN_8021Q=y -# CONFIG_VLAN_8021Q_GVRP is not set -# CONFIG_VLAN_8021Q_MVRP is not set -# CONFIG_DECNET is not set -CONFIG_LLC=y -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_PHONET is not set -# CONFIG_IEEE802154 is not set -CONFIG_NET_SCHED=y - -# -# Queueing/Scheduling -# -# CONFIG_NET_SCH_CBQ is not set -CONFIG_NET_SCH_HTB=y -# CONFIG_NET_SCH_HFSC is not set -# CONFIG_NET_SCH_PRIO is not set -# CONFIG_NET_SCH_MULTIQ is not set -# CONFIG_NET_SCH_RED is not set -# CONFIG_NET_SCH_SFB is not set -CONFIG_NET_SCH_SFQ=y -# CONFIG_NET_SCH_ESFQ is not set -# CONFIG_NET_SCH_TEQL is not set -# CONFIG_NET_SCH_TBF is not set -# CONFIG_NET_SCH_GRED is not set -# CONFIG_NET_SCH_DSMARK is not set -# CONFIG_NET_SCH_NETEM is not set -# CONFIG_NET_SCH_DRR is not set -# CONFIG_NET_SCH_MQPRIO is not set -# CONFIG_NET_SCH_CHOKE is not set -# CONFIG_NET_SCH_QFQ is not set -# CONFIG_NET_SCH_CODEL is not set -CONFIG_NET_SCH_FQ_CODEL=y -# CONFIG_NET_SCH_PLUG is not set - -# -# Classification -# -CONFIG_NET_CLS=y -# CONFIG_NET_CLS_BASIC is not set -# CONFIG_NET_CLS_TCINDEX is not set -# CONFIG_NET_CLS_ROUTE4 is not set -CONFIG_NET_CLS_FW=y -CONFIG_NET_CLS_U32=y -# CONFIG_CLS_U32_PERF is not set -# CONFIG_CLS_U32_MARK is not set -# CONFIG_NET_CLS_RSVP is not set -# CONFIG_NET_CLS_RSVP6 is not set -# CONFIG_NET_CLS_FLOW is not set -# CONFIG_NET_EMATCH is not set -# CONFIG_NET_CLS_ACT is not set -# CONFIG_NET_CLS_IND is not set -CONFIG_NET_SCH_FIFO=y -# CONFIG_DCB is not set -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_MMAP is not set -# CONFIG_NETLINK_DIAG is not set -CONFIG_BQL=y - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_CAN is not set -# CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set -CONFIG_FIB_RULES=y -CONFIG_WIRELESS=y -CONFIG_WIRELESS_EXT=y -CONFIG_WEXT_CORE=y -CONFIG_WEXT_PROC=y -CONFIG_WEXT_SPY=y -CONFIG_WEXT_PRIV=y -# CONFIG_CFG80211 is not set -# CONFIG_LIB80211 is not set -# CONFIG_LIB80211_CRYPT_WEP is not set -# CONFIG_LIB80211_CRYPT_CCMP is not set -# CONFIG_LIB80211_CRYPT_TKIP is not set - -# -# CFG80211 needs to be enabled for MAC80211 -# -# CONFIG_WIMAX is not set -# CONFIG_RFKILL is not set -# CONFIG_NET_9P is not set -# CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_NFC is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -# CONFIG_DEVTMPFS is not set -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -CONFIG_FIRMWARE_IN_KERNEL=y -CONFIG_EXTRA_FIRMWARE="" -CONFIG_FW_LOADER_USER_HELPER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_SYS_HYPERVISOR is not set -# CONFIG_GENERIC_CPU_DEVICES is not set -# CONFIG_REGMAP is not set -# CONFIG_REGMAP_I2C is not set -# CONFIG_REGMAP_SPI is not set -# CONFIG_DMA_SHARED_BUFFER is not set - -# -# Bus devices -# -# CONFIG_CONNECTOR is not set -CONFIG_MTD=y - -# -# OpenWrt specific MTD options -# -CONFIG_MTD_ROOTFS_ROOT_DEV=y -CONFIG_MTD_ROOTFS_SPLIT=y -# CONFIG_MTD_SPLIT_FIRMWARE is not set - -# -# Rootfs partition parsers -# -# CONFIG_MTD_SPLIT_SQUASHFS_ROOT is not set - -# -# Firmware partition parsers -# -# CONFIG_MTD_SPLIT_SEAMA_FW is not set -# CONFIG_MTD_SPLIT_UIMAGE_FW is not set -# CONFIG_MTD_SPLIT_LZMA_FW is not set -CONFIG_MTD_SPLIT=y -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AR7_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -# CONFIG_SM_FTL is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_SWAP is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_RTL819X_SPI_FLASH is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -CONFIG_MTD_M25P80=y -CONFIG_M25PXX_USE_USER_MODE=y -# CONFIG_M25PXX_USE_FAST_READ is not set -# CONFIG_M25PXX_USE_MULTI_CHANNEL is not set -# CONFIG_M25PXX_USE_AUTO_MODE is not set -# CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -CONFIG_MTD_BLOCK2MTD=y - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOCG3 is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_ONENAND is not set - -# -# LPDDR flash memory drivers -# -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_UBI is not set -# CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set -# CONFIG_BLK_DEV_HD is not set -# CONFIG_BLK_DEV_RBD is not set - -# -# Misc devices -# -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_ATMEL_SSC is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_TI_DAC7512 is not set -# CONFIG_BMP085_SPI is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -# CONFIG_SRAM is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set - -# -# Texas Instruments shared transport line discipline -# - -# -# Altera FPGA firmware download module -# -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -# CONFIG_SCSI is not set -# CONFIG_SCSI_DMA is not set -# CONFIG_SCSI_NETLINK is not set -# CONFIG_ATA is not set -# CONFIG_MD is not set -CONFIG_NETDEVICES=y -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -# CONFIG_DUMMY is not set -# CONFIG_EQUALIZER is not set -# CONFIG_MII is not set -# CONFIG_NET_TEAM is not set -CONFIG_MACVLAN=m -# CONFIG_MACVTAP is not set -# CONFIG_VXLAN is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set -CONFIG_TUN=m -# CONFIG_VETH is not set - -# -# CAIF transport drivers -# - -# -# Distributed Switch Architecture drivers -# -# CONFIG_NET_DSA_MV88E6XXX is not set -# CONFIG_NET_DSA_MV88E6060 is not set -# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set -# CONFIG_NET_DSA_MV88E6131 is not set -# CONFIG_NET_DSA_MV88E6123_61_65 is not set -# CONFIG_ETHERNET is not set -# CONFIG_PHYLIB is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_PSB6970_PHY is not set -CONFIG_PPP=y -# CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_DEFLATE is not set -# CONFIG_PPP_FILTER is not set -# CONFIG_PPP_MPPE is not set -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPPOE=y -# CONFIG_PPPOL2TP is not set -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_WLAN is not set - -# -# Enable WiMAX (Networking options) to see the WiMAX drivers -# -# CONFIG_WAN is not set -# CONFIG_RTL_819X_SWCORE is not set -# CONFIG_ISDN is not set - -# -# Input device support -# -# CONFIG_INPUT is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_TTY=y -# CONFIG_VT is not set -# CONFIG_UNIX98_PTYS is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -# CONFIG_DEVKMEM is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_SYSRQ=y -CONFIG_SERIAL_8250_NR_UARTS=2 -CONFIG_SERIAL_8250_RUNTIME_UARTS=1 -# CONFIG_SERIAL_8250_EXTENDED is not set -CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_RTL_UART2 is not set - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX310X is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_TIMBERDALE is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_ARC is not set -# CONFIG_TTY_PRINTK is not set -# CONFIG_IPMI_HANDLER is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set -# CONFIG_TCG_TPM is not set -# CONFIG_I2C is not set -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_PXA2XX_PCI is not set -CONFIG_SPI_SHEIPA=y -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_DESIGNWARE is not set - -# -# SPI Protocol Masters -# -# CONFIG_SPI_SPIDEV is not set -# CONFIG_SPI_TLE62X0 is not set - -# -# Qualcomm MSM SSBI bus support -# -# CONFIG_SSBI is not set -# CONFIG_HSI is not set - -# -# PPS support -# -# CONFIG_PPS is not set - -# -# PPS generators support -# - -# -# PTP clock support -# -# CONFIG_PTP_1588_CLOCK is not set - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -# CONFIG_PTP_1588_CLOCK_PCH is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_GPIO_DEVRES=y -# CONFIG_W1 is not set -# CONFIG_POWER_SUPPLY is not set -# CONFIG_POWER_AVS is not set -# CONFIG_HWMON is not set -# CONFIG_THERMAL is not set -# CONFIG_WATCHDOG is not set -CONFIG_SSB_POSSIBLE=y - -# -# Sonics Silicon Backplane -# -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# -# CONFIG_BCMA is not set - -# -# Multifunction device drivers -# -# CONFIG_MFD_CORE is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TMIO is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_REGULATOR is not set -# CONFIG_MEDIA_SUPPORT is not set - -# -# Graphics support -# -# CONFIG_DRM is not set -# CONFIG_VGASTATE is not set -# CONFIG_VIDEO_OUTPUT_CONTROL is not set -# CONFIG_FB is not set -# CONFIG_EXYNOS_VIDEO is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -# CONFIG_SOUND is not set -# CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB_ARCH_HAS_XHCI is not set -# CONFIG_USB_SUPPORT is not set -# CONFIG_MMC is not set -# CONFIG_MEMSTICK is not set -# CONFIG_NEW_LEDS is not set -# CONFIG_ACCESSIBILITY is not set -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set -# CONFIG_DMADEVICES is not set -# CONFIG_AUXDISPLAY is not set -# CONFIG_UIO is not set -# CONFIG_VIRT_DRIVERS is not set - -# -# Virtio drivers -# -# CONFIG_VIRTIO_MMIO is not set - -# -# Microsoft Hyper-V guest support -# -# CONFIG_STAGING is not set - -# -# Hardware Spinlock drivers -# -# CONFIG_MAILBOX is not set -# CONFIG_IOMMU_SUPPORT is not set - -# -# Remoteproc drivers -# -# CONFIG_STE_MODEM_RPROC is not set - -# -# Rpmsg drivers -# -# CONFIG_PM_DEVFREQ is not set -# CONFIG_EXTCON is not set -# CONFIG_MEMORY is not set -# CONFIG_IIO is not set -# CONFIG_PWM is not set -# CONFIG_IPACK_BUS is not set -# CONFIG_RESET_CONTROLLER is not set - -# -# Firmware Drivers -# -# CONFIG_FIRMWARE_MEMMAP is not set - -# -# File systems -# -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -# CONFIG_EXT4_FS is not set -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_BTRFS_FS is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_YAFFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -CONFIG_FILE_LOCKING=y -# CONFIG_DIRECT_IO is not set -# CONFIG_FSNOTIFY is not set -# CONFIG_DNOTIFY is not set -# CONFIG_INOTIFY_USER is not set -# CONFIG_FANOTIFY is not set -# CONFIG_QUOTA is not set -# CONFIG_QUOTACTL is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set -CONFIG_OVERLAYFS_FS=y - -# -# Caches -# -# CONFIG_FSCACHE is not set - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_SYSCTL=y -# CONFIG_PROC_PAGE_MONITOR is not set -CONFIG_PROC_STRIPPED=y -CONFIG_SYSFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_CONFIGFS_FS=y -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS2_FS is not set -# CONFIG_LOGFS is not set -# CONFIG_CRAMFS is not set -CONFIG_SQUASHFS=y -# CONFIG_SQUASHFS_XATTR is not set -CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SQUASHFS_LZO is not set -# CONFIG_SQUASHFS_XZ is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -CONFIG_SQUASHFS_EMBEDDED=y -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# CONFIG_VXFS_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set -# CONFIG_OMFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -# CONFIG_ROMFS_FS is not set -# CONFIG_PSTORE is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set -# CONFIG_F2FS_FS is not set -CONFIG_NETWORK_FILESYSTEMS=y -# CONFIG_NFS_FS is not set -# CONFIG_NFSD is not set -# CONFIG_CEPH_FS is not set -# CONFIG_CIFS is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_MAC_ROMAN is not set -# CONFIG_NLS_MAC_CELTIC is not set -# CONFIG_NLS_MAC_CENTEURO is not set -# CONFIG_NLS_MAC_CROATIAN is not set -# CONFIG_NLS_MAC_CYRILLIC is not set -# CONFIG_NLS_MAC_GAELIC is not set -# CONFIG_NLS_MAC_GREEK is not set -# CONFIG_NLS_MAC_ICELAND is not set -# CONFIG_NLS_MAC_INUIT is not set -# CONFIG_NLS_MAC_ROMANIAN is not set -# CONFIG_NLS_MAC_TURKISH is not set -# CONFIG_NLS_UTF8 is not set -# CONFIG_DLM is not set - -# -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_PRINTK_TIME=y -CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 -CONFIG_ENABLE_WARN_DEPRECATED=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=1024 -CONFIG_MAGIC_SYSRQ=y -CONFIG_STRIP_ASM_SYMS=y -# CONFIG_READABLE_ASM is not set -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -# CONFIG_LOCKUP_DETECTOR is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -# CONFIG_DETECT_HUNG_TASK is not set -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_STATS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_WRITECOUNT is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_LIST is not set -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_CREDENTIALS is not set -# CONFIG_BOOT_PRINTK_DELAY is not set - -# -# RCU Debugging -# -# CONFIG_SPARSE_RCU_POINTER is not set -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_TRACE is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -# CONFIG_LKDTM is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -CONFIG_EARLY_PRINTK=y -# CONFIG_CMDLINE_BOOL is not set -# CONFIG_DEBUG_STACKOVERFLOW is not set -# CONFIG_RUNTIME_DEBUG is not set -# CONFIG_SPINLOCK_TEST is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -# CONFIG_CRYPTO_FIPS is not set -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -# CONFIG_CRYPTO_AEAD is not set -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y -# CONFIG_CRYPTO_MANAGER is not set -# CONFIG_CRYPTO_MANAGER2 is not set -# CONFIG_CRYPTO_USER is not set -# CONFIG_CRYPTO_GF128MUL is not set -# CONFIG_CRYPTO_NULL is not set -CONFIG_CRYPTO_WORKQUEUE=y -# CONFIG_CRYPTO_CRYPTD is not set -# CONFIG_CRYPTO_AUTHENC is not set -# CONFIG_CRYPTO_TEST is not set - -# -# Authenticated Encryption with Associated Data -# -# CONFIG_CRYPTO_CCM is not set -# CONFIG_CRYPTO_GCM is not set -# CONFIG_CRYPTO_SEQIV is not set - -# -# Block modes -# -# CONFIG_CRYPTO_CBC is not set -# CONFIG_CRYPTO_CTR is not set -# CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_ECB is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set - -# -# Hash modes -# -# CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set - -# -# Digest -# -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_GHASH is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set - -# -# Ciphers -# -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=y -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_DES is not set -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TWOFISH is not set - -# -# Compression -# -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_ZLIB is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_XZ is not set - -# -# Random Number Generation -# -CONFIG_CRYPTO_ANSI_CPRNG=y -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set -CONFIG_CRYPTO_HW=y - -# -# OCF Configuration -# -# CONFIG_OCF_OCF is not set -# CONFIG_BINARY_PRINTF is not set - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_IO=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -# CONFIG_CRC_T10DIF is not set -# CONFIG_CRC_ITU_T is not set -CONFIG_CRC32=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_BIT is not set -# CONFIG_CRC7 is not set -# CONFIG_LIBCRC32C is not set -# CONFIG_CRC8 is not set -CONFIG_ZLIB_INFLATE=y -# CONFIG_ZLIB_DEFLATE is not set -# CONFIG_LZO_COMPRESS is not set -# CONFIG_LZO_DECOMPRESS is not set -# CONFIG_XZ_DEC is not set -# CONFIG_XZ_DEC_BCJ is not set -CONFIG_TEXTSEARCH=y -# CONFIG_TEXTSEARCH_KMP is not set -# CONFIG_TEXTSEARCH_BM is not set -# CONFIG_TEXTSEARCH_FSM is not set -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y -CONFIG_DQL=y -CONFIG_NLATTR=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -CONFIG_AVERAGE=y -# CONFIG_CORDIC is not set -# CONFIG_DDR is not set -CONFIG_HAVE_KVM=y -# CONFIG_VIRTUALIZATION is not set diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config.bkup.kernel_cmdline_can_run b/feeds/rtkmipsel/rtkmipsel/rtl8197f/config.bkup.kernel_cmdline_can_run deleted file mode 100755 index fe7d24c28..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/config.bkup.kernel_cmdline_can_run +++ /dev/null @@ -1,4141 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_6PACK is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_9P_FS is not set -# CONFIG_AB3100_CORE is not set -# CONFIG_AB8500_CORE is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_ACCESSIBILITY is not set -# CONFIG_ACENIC is not set -# CONFIG_ACERHDF is not set -# CONFIG_ACORN_PARTITION is not set -# CONFIG_ACPI_APEI is not set -# CONFIG_ACPI_CUSTOM_METHOD is not set -# CONFIG_ACPI_HED is not set -# CONFIG_ACPI_POWER_METER is not set -# CONFIG_ACPI_QUICKSTART is not set -# CONFIG_AD2S1200 is not set -# CONFIG_AD2S1210 is not set -# CONFIG_AD2S90 is not set -# CONFIG_AD5064 is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_AD5360 is not set -# CONFIG_AD5380 is not set -# CONFIG_AD5421 is not set -# CONFIG_AD5446 is not set -# CONFIG_AD5449 is not set -# CONFIG_AD5504 is not set -# CONFIG_AD5624R_SPI is not set -# CONFIG_AD5686 is not set -# CONFIG_AD5755 is not set -# CONFIG_AD5764 is not set -# CONFIG_AD5791 is not set -# CONFIG_AD5930 is not set -# CONFIG_AD5933 is not set -# CONFIG_AD7150 is not set -# CONFIG_AD7152 is not set -# CONFIG_AD7192 is not set -# CONFIG_AD7266 is not set -# CONFIG_AD7280 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7606 is not set -# CONFIG_AD7746 is not set -# CONFIG_AD7780 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7816 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X is not set -# CONFIG_AD8366 is not set -# CONFIG_AD9523 is not set -# CONFIG_AD9832 is not set -# CONFIG_AD9834 is not set -# CONFIG_AD9850 is not set -# CONFIG_AD9852 is not set -# CONFIG_AD9910 is not set -# CONFIG_AD9951 is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_ADE7753 is not set -# CONFIG_ADE7754 is not set -# CONFIG_ADE7758 is not set -# CONFIG_ADE7759 is not set -# CONFIG_ADE7854 is not set -# CONFIG_ADF4350 is not set -# CONFIG_ADFS_FS is not set -# CONFIG_ADIS16060 is not set -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16201 is not set -# CONFIG_ADIS16203 is not set -# CONFIG_ADIS16204 is not set -# CONFIG_ADIS16209 is not set -# CONFIG_ADIS16220 is not set -# CONFIG_ADIS16240 is not set -# CONFIG_ADIS16255 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_ADJD_S311 is not set -# CONFIG_ADM6996_PHY is not set -# CONFIG_ADM8211 is not set -# CONFIG_ADT7316 is not set -# CONFIG_ADXRS450 is not set -CONFIG_AEABI=y -# CONFIG_AFFS_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AGP is not set -CONFIG_AIO=y -# CONFIG_AIRO is not set -# CONFIG_AIRO_CS is not set -# CONFIG_AK8975 is not set -# CONFIG_ALCHEMY_GPIO_INDIRECT is not set -# CONFIG_ALIM7101_WDT is not set -# CONFIG_ALTERA_STAPL is not set -# CONFIG_ALX is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_AMD_PHY is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_AMILO_RFKILL is not set -# CONFIG_ANDROID is not set -CONFIG_ANON_INODES=y -# CONFIG_APDS9802ALS is not set -# CONFIG_APM8018X is not set -# CONFIG_APPLICOM is not set -# CONFIG_AR7 is not set -# CONFIG_AR8216_PHY is not set -# CONFIG_AR8216_PHY_LEDS is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_BCMRING is not set -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CNS3XXX is not set -# CONFIG_ARCH_DAVINCI is not set -CONFIG_ARCH_DISCARD_MEMBLOCK=y -# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set -# CONFIG_ARCH_DOVE is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_EXYNOS is not set -CONFIG_ARCH_FLATMEM_ENABLE=y -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_GEMINI is not set -# CONFIG_ARCH_H720X is not set -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -# CONFIG_ARCH_HIGHBANK is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KIRKWOOD is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set -# CONFIG_ARCH_MMP is not set -# CONFIG_ARCH_MSM is not set -# CONFIG_ARCH_MULTIPLATFORM is not set -# CONFIG_ARCH_MV78XX0 is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_MXC is not set -# CONFIG_ARCH_MXS is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_NOMADIK is not set -# CONFIG_ARCH_NUC93X is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_OMAP1 is not set -# CONFIG_ARCH_OMAP2PLUS is not set -# CONFIG_ARCH_OMAP3 is not set -# CONFIG_ARCH_OMAP4 is not set -# CONFIG_ARCH_ORION5X is not set -# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set -# CONFIG_ARCH_PICOXCELL is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PRIMA2 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_S3C24XX is not set -# CONFIG_ARCH_S3C64XX is not set -# CONFIG_ARCH_S5P64X0 is not set -# CONFIG_ARCH_S5PC100 is not set -# CONFIG_ARCH_S5PV210 is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_SHMOBILE is not set -# CONFIG_ARCH_SIRF is not set -# CONFIG_ARCH_SOCFPGA is not set -# CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_ARCH_SUSPEND_POSSIBLE=y -# CONFIG_ARCH_TCC_926 is not set -# CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_U300 is not set -# CONFIG_ARCH_U8500 is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_VEXPRESS is not set -# CONFIG_ARCH_VT8500 is not set -# CONFIG_ARCH_W90X900 is not set -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -# CONFIG_ARCH_ZYNQ is not set -# CONFIG_ARCNET is not set -# CONFIG_ARM_ARCH_TIMER is not set -# CONFIG_ARM_AT91_ETHER is not set -CONFIG_ARM_CPU_TOPOLOGY=y -CONFIG_ARM_DMA_MEM_BUFFERABLE=y -# CONFIG_ARM_ERRATA_326103 is not set -# CONFIG_ARM_ERRATA_364296 is not set -# CONFIG_ARM_ERRATA_411920 is not set -# CONFIG_ARM_ERRATA_430973 is not set -# CONFIG_ARM_ERRATA_458693 is not set -# CONFIG_ARM_ERRATA_460075 is not set -# CONFIG_ARM_ERRATA_643719 is not set -# CONFIG_ARM_ERRATA_720789 is not set -# CONFIG_ARM_ERRATA_742230 is not set -# CONFIG_ARM_ERRATA_742231 is not set -# CONFIG_ARM_ERRATA_743622 is not set -# CONFIG_ARM_ERRATA_751472 is not set -# CONFIG_ARM_ERRATA_754322 is not set -# CONFIG_ARM_ERRATA_754327 is not set -# CONFIG_ARM_ERRATA_764369 is not set -# CONFIG_ARM_ERRATA_775420 is not set -# CONFIG_ARM_ERRATA_798181 is not set -# CONFIG_ARM_PATCH_PHYS_VIRT is not set -# CONFIG_ARM_PSCI is not set -# CONFIG_ARM_UNWIND is not set -# CONFIG_ARM_VIRT_EXT is not set -# CONFIG_ARPD is not set -# CONFIG_ARTHUR is not set -# CONFIG_ASUS_OLED is not set -# CONFIG_ASYMMETRIC_KEY_TYPE is not set -# CONFIG_ASYNC_RAID6_TEST is not set -# CONFIG_ASYNC_TX_DMA is not set -# CONFIG_AT76C50X_USB is not set -# CONFIG_AT803X_PHY is not set -# CONFIG_ATA is not set -CONFIG_ATAGS_PROC=y -# CONFIG_ATALK is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_ATA_ACPI is not set -CONFIG_ATA_BMDMA=y -# CONFIG_ATA_GENERIC is not set -# CONFIG_ATA_NONSTANDARD is not set -# CONFIG_ATA_OVER_ETH is not set -# CONFIG_ATA_PIIX is not set -CONFIG_ATA_SFF=y -# CONFIG_ATA_VERBOSE_ERROR is not set -# CONFIG_ATH5K is not set -# CONFIG_ATH6K_LEGACY is not set -# CONFIG_ATH79 is not set -# CONFIG_ATH9K is not set -# CONFIG_ATL1 is not set -# CONFIG_ATL1C is not set -# CONFIG_ATL1E is not set -# CONFIG_ATL2 is not set -# CONFIG_ATM is not set -# CONFIG_ATMEL is not set -# CONFIG_ATMEL_PWM is not set -# CONFIG_ATMEL_SSC is not set -# CONFIG_ATM_AMBASSADOR is not set -# CONFIG_ATM_BR2684 is not set -CONFIG_ATM_BR2684_IPFILTER=y -# CONFIG_ATM_CLIP is not set -CONFIG_ATM_CLIP_NO_ICMP=y -# CONFIG_ATM_DRIVERS is not set -# CONFIG_ATM_DUMMY is not set -# CONFIG_ATM_ENI is not set -# CONFIG_ATM_FIRESTREAM is not set -# CONFIG_ATM_FORE200E is not set -# CONFIG_ATM_HE is not set -# CONFIG_ATM_HORIZON is not set -# CONFIG_ATM_IA is not set -# CONFIG_ATM_IDT77252 is not set -# CONFIG_ATM_LANAI is not set -# CONFIG_ATM_LANE is not set -# CONFIG_ATM_MPOA is not set -# CONFIG_ATM_NICSTAR is not set -# CONFIG_ATM_SOLOS is not set -# CONFIG_ATM_TCP is not set -# CONFIG_ATM_ZATM is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_ATP is not set -# CONFIG_AUDIT is not set -# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_AUTO_ZRELADDR is not set -# CONFIG_AUXDISPLAY is not set -# CONFIG_AVERAGE is not set -# CONFIG_AX25 is not set -# CONFIG_AX25_DAMA_SLAVE is not set -# CONFIG_AX88796 is not set -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -# CONFIG_B44 is not set -# CONFIG_B53 is not set -# CONFIG_B53_SPI_DRIVER is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -# CONFIG_BACKLIGHT_LM3630 is not set -# CONFIG_BACKLIGHT_LM3639 is not set -# CONFIG_BACKLIGHT_LP855X is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -CONFIG_BASE_FULL=y -CONFIG_BASE_SMALL=0 -# CONFIG_BATMAN_ADV is not set -# CONFIG_BATTERY_BQ27x00 is not set -# CONFIG_BATTERY_DS2760 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GOLDFISH is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_BATTERY_SBS is not set -# CONFIG_BAYCOM_EPP is not set -# CONFIG_BAYCOM_PAR is not set -# CONFIG_BAYCOM_SER_FDX is not set -# CONFIG_BAYCOM_SER_HDX is not set -# CONFIG_BCACHE is not set -# CONFIG_BCM47XX is not set -# CONFIG_BCM63XX is not set -# CONFIG_BCM63XX_PHY is not set -# CONFIG_BCM87XX_PHY is not set -# CONFIG_BCMA is not set -# CONFIG_BCMA_DRIVER_GPIO is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCM_WIMAX is not set -# CONFIG_BDI_SWITCH is not set -# CONFIG_BE2ISCSI is not set -# CONFIG_BE2NET is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_BGMAC is not set -# CONFIG_BINARY_PRINTF is not set -# CONFIG_BINFMT_AOUT is not set -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_MISC is not set -CONFIG_BINFMT_SCRIPT=y -CONFIG_BITREVERSE=y -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_CPQ_DA is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_BLK_DEV_4DRIVES is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI14XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_ATIIXP is not set -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_CMD640 is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -# CONFIG_BLK_DEV_CS5535 is not set -# CONFIG_BLK_DEV_CS5536 is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_DELKIN is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_DTC2278 is not set -# CONFIG_BLK_DEV_FD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_HD is not set -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_HT6560B is not set -# CONFIG_BLK_DEV_IDEACPI is not set -# CONFIG_BLK_DEV_IDECD is not set -# CONFIG_BLK_DEV_IDECS is not set -# CONFIG_BLK_DEV_IDEPCI is not set -# CONFIG_BLK_DEV_IDEPNP is not set -# CONFIG_BLK_DEV_IDETAPE is not set -# CONFIG_BLK_DEV_IDE_AU1XXX is not set -# CONFIG_BLK_DEV_IDE_SATA is not set -# CONFIG_BLK_DEV_INITRD is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_BLK_DEV_IT8172 is not set -# CONFIG_BLK_DEV_IT8213 is not set -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_JMICRON is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_NVME is not set -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PIIX is not set -# CONFIG_BLK_DEV_PLATFORM is not set -# CONFIG_BLK_DEV_QD65XX is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set -# CONFIG_BLK_DEV_RZ1000 is not set -# CONFIG_BLK_DEV_SC1200 is not set -# CONFIG_BLK_DEV_SD is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SIS5513 is not set -# CONFIG_BLK_DEV_SL82C105 is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_TC86C001 is not set -# CONFIG_BLK_DEV_THROTTLING is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_UMC8672 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set -# CONFIG_BLK_DEV_XIP is not set -CONFIG_BLOCK=y -# CONFIG_BMP085 is not set -# CONFIG_BMP085_I2C is not set -# CONFIG_BMP085_SPI is not set -# CONFIG_BNA is not set -# CONFIG_BNX2 is not set -# CONFIG_BNX2X is not set -# CONFIG_BONDING is not set -# CONFIG_BOOKE_WDT is not set -CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3 -# CONFIG_BOOT_PRINTK_DELAY is not set -CONFIG_BOOT_RAW=y -# CONFIG_BPCTL is not set -# CONFIG_BPF_JIT is not set -# CONFIG_BPQETHER is not set -CONFIG_BQL=y -CONFIG_BRANCH_PROFILE_NONE=y -# CONFIG_BRCMFMAC is not set -CONFIG_BRIDGE=y -# CONFIG_BRIDGE_EBT_802_3 is not set -# CONFIG_BRIDGE_EBT_AMONG is not set -# CONFIG_BRIDGE_EBT_ARP is not set -# CONFIG_BRIDGE_EBT_ARPREPLY is not set -# CONFIG_BRIDGE_EBT_BROUTE is not set -# CONFIG_BRIDGE_EBT_DNAT is not set -# CONFIG_BRIDGE_EBT_IP is not set -# CONFIG_BRIDGE_EBT_IP6 is not set -# CONFIG_BRIDGE_EBT_LIMIT is not set -# CONFIG_BRIDGE_EBT_LOG is not set -# CONFIG_BRIDGE_EBT_MARK is not set -# CONFIG_BRIDGE_EBT_MARK_T is not set -# CONFIG_BRIDGE_EBT_NFLOG is not set -# CONFIG_BRIDGE_EBT_PKTTYPE is not set -# CONFIG_BRIDGE_EBT_REDIRECT is not set -# CONFIG_BRIDGE_EBT_SNAT is not set -# CONFIG_BRIDGE_EBT_STP is not set -# CONFIG_BRIDGE_EBT_T_FILTER is not set -# CONFIG_BRIDGE_EBT_T_NAT is not set -# CONFIG_BRIDGE_EBT_ULOG is not set -# CONFIG_BRIDGE_EBT_VLAN is not set -# CONFIG_BRIDGE_IGMP_SNOOPING is not set -# CONFIG_BRIDGE_NETFILTER is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_BRIDGE_VLAN_FILTERING is not set -# CONFIG_BROADCOM_PHY is not set -CONFIG_BROKEN_ON_SMP=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_BSD_PROCESS_ACCT_V3 is not set -# CONFIG_BT is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_FS is not set -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -# CONFIG_BT_ATH3K is not set -# CONFIG_BT_BNEP is not set -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_CMTP is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIBLUECARD is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBT3C is not set -# CONFIG_BT_HCIBTSDIO is not set -# CONFIG_BT_HCIBTUART is not set -# CONFIG_BT_HCIBTUSB is not set -# CONFIG_BT_HCIDTL1 is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIUART_3WIRE is not set -# CONFIG_BT_HCIUART_ATH3K is not set -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_H4=y -# CONFIG_BT_HCIUART_LL is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_BT_HIDP is not set -CONFIG_BT_L2CAP=y -# CONFIG_BT_MRVL is not set -# CONFIG_BT_RFCOMM is not set -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_SCO=y -CONFIG_BUG=y -CONFIG_BUILDTIME_EXTABLE_SORT=y -# CONFIG_C2PORT is not set -# CONFIG_CAIF is not set -# CONFIG_CAN is not set -# CONFIG_CAPI_AVM is not set -# CONFIG_CAPI_EICON is not set -# CONFIG_CAPI_TRACE is not set -CONFIG_CARDBUS=y -# CONFIG_CARDMAN_4000 is not set -# CONFIG_CARDMAN_4040 is not set -# CONFIG_CARMA_FPGA is not set -# CONFIG_CARMA_FPGA_PROGRAM is not set -# CONFIG_CASSINI is not set -CONFIG_CAVIUM_OCTEON_HELPER=y -# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set -# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set -# CONFIG_CB710_CORE is not set -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -# CONFIG_CC_STACKPROTECTOR is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_CED1401 is not set -# CONFIG_CEPH_FS is not set -# CONFIG_CEPH_LIB is not set -CONFIG_CEVT_R4K=y -# CONFIG_CFG80211 is not set -# CONFIG_CGROUPS is not set -# CONFIG_CGROUP_DEBUG is not set -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_GPIO is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_CHELSIO_T1 is not set -# CONFIG_CHELSIO_T3 is not set -# CONFIG_CHELSIO_T4 is not set -# CONFIG_CHELSIO_T4VF is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_CHR_DEV_SCH is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CICADA_PHY is not set -# CONFIG_CIFS is not set -# CONFIG_CIFS_ACL is not set -# CONFIG_CIFS_DEBUG is not set -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_FSCACHE is not set -# CONFIG_CIFS_NFSD_EXPORT is not set -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_SMB2 is not set -CONFIG_CIFS_STATS=y -# CONFIG_CIFS_STATS2 is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CLEANCACHE is not set -CONFIG_CLONE_BACKWARDS=y -# CONFIG_CLS_U32_MARK is not set -# CONFIG_CLS_U32_PERF is not set -# CONFIG_CMA is not set -CONFIG_CMDLINE="console=ttyS0,38400 root=/dev/mtdblock1" -CONFIG_CMDLINE_BOOL=y -# CONFIG_CMDLINE_EXTEND is not set -# CONFIG_CMDLINE_FORCE is not set -# CONFIG_CMDLINE_FROM_BOOTLOADER is not set -CONFIG_CMDLINE_OVERRIDE=y -# CONFIG_CNIC is not set -# CONFIG_CODA_FS is not set -# CONFIG_CODE_PATCHING_SELFTEST is not set -# CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_DEBUG is not set -# CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMPACTION is not set -# CONFIG_COMPAL_LAPTOP is not set -CONFIG_COMPAT_BRK=y -CONFIG_CONFIGFS_FS=y -# CONFIG_CONNECTOR is not set -CONFIG_CONSTRUCTORS=y -# CONFIG_CONTEXT_SWITCH_TRACER is not set -# CONFIG_COPS is not set -# CONFIG_CORDIC is not set -# CONFIG_COREDUMP is not set -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -# CONFIG_CPA_DEBUG is not set -# CONFIG_CPU_BIG_ENDIAN is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_FREQ is not set -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -# CONFIG_CPU_IDLE is not set -# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_R4K_CACHE_TLB=y -CONFIG_CPU_R4K_FPU=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -# CONFIG_CRAMFS is not set -CONFIG_CRASHLOG=y -# CONFIG_CRASH_DUMP is not set -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_CRC32_BIT is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_SELFTEST is not set -# CONFIG_CRC32_SLICEBY4 is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC7 is not set -# CONFIG_CRC8 is not set -CONFIG_CRC_CCITT=y -# CONFIG_CRC_ITU_T is not set -# CONFIG_CRC_T10DIF is not set -CONFIG_CROSS_COMPILE="mips-linux-" -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO=y -# CONFIG_CRYPTO_AEAD is not set -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_586 is not set -# CONFIG_CRYPTO_AES_ARM is not set -# CONFIG_CRYPTO_AES_NI_INTEL is not set -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_ANSI_CPRNG=y -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=y -# CONFIG_CRYPTO_AUTHENC is not set -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_CBC is not set -# CONFIG_CRYPTO_CCM is not set -# CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CRC32C_INTEL is not set -# CONFIG_CRYPTO_CRYPTD is not set -# CONFIG_CRYPTO_CTR is not set -# CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_DES is not set -# CONFIG_CRYPTO_DEV_ATMEL_AES is not set -# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set -# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set -# CONFIG_CRYPTO_DEV_FSL_CAAM is not set -# CONFIG_CRYPTO_DEV_HIFN_795X is not set -# CONFIG_CRYPTO_DEV_MV_CESA is not set -# CONFIG_CRYPTO_DEV_TALITOS is not set -# CONFIG_CRYPTO_ECB is not set -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_FIPS is not set -# CONFIG_CRYPTO_GCM is not set -# CONFIG_CRYPTO_GF128MUL is not set -# CONFIG_CRYPTO_GHASH is not set -# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -# CONFIG_CRYPTO_HMAC is not set -CONFIG_CRYPTO_HW=y -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MANAGER is not set -# CONFIG_CRYPTO_MANAGER2 is not set -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_PCOMP is not set -# CONFIG_CRYPTO_PCOMP2 is not set -# CONFIG_CRYPTO_PCRYPT is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_SALSA20_586 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SEQIV is not set -# CONFIG_CRYPTO_SERPENT is not set -CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_SHA1_ARM is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_TWOFISH_586 is not set -# CONFIG_CRYPTO_TWOFISH_COMMON is not set -# CONFIG_CRYPTO_USER is not set -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set -# CONFIG_CRYPTO_VMAC is not set -CONFIG_CRYPTO_WORKQUEUE=y -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_XTS is not set -# CONFIG_CRYPTO_XZ is not set -# CONFIG_CRYPTO_ZLIB is not set -# CONFIG_CRYSTALHD is not set -# CONFIG_CS5535_MFGPT is not set -# CONFIG_CS89x0 is not set -CONFIG_CSRC_R4K=y -# CONFIG_CUSE is not set -# CONFIG_CXT1E1 is not set -# CONFIG_CYPRESS_FIRMWARE is not set -# CONFIG_DAVICOM_PHY is not set -# CONFIG_DCB is not set -# CONFIG_DDR is not set -# CONFIG_DE600 is not set -# CONFIG_DE620 is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_CREDENTIALS is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_GPIO is not set -# CONFIG_DEBUG_HIGHMEM is not set -# CONFIG_DEBUG_ICEDCC is not set -# CONFIG_DEBUG_INFO is not set -CONFIG_DEBUG_INFO_REDUCED=y -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_LL is not set -# CONFIG_DEBUG_LOCKDEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_NX_TEST is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set -# CONFIG_DEBUG_PREEMPT is not set -# CONFIG_DEBUG_RODATA is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -# CONFIG_DEBUG_SEMIHOSTING is not set -# CONFIG_DEBUG_SET_MODULE_RONX is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_SHIRQ is not set -# CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_STACKOVERFLOW is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_WRITECOUNT is not set -# CONFIG_DEBUG_ZBOOT is not set -# CONFIG_DECNET is not set -CONFIG_DEFAULT_CUBIC=y -CONFIG_DEFAULT_DEADLINE=y -CONFIG_DEFAULT_HOSTNAME="rlxlinux" -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_DEFAULT_NOOP=y -# CONFIG_DEFAULT_RENO is not set -CONFIG_DEFAULT_SECURITY="" -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -# CONFIG_DEPRECATED_PARAM_STRUCT is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_DEVKMEM is not set -CONFIG_DEVPORT=y -# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set -# CONFIG_DEVTMPFS is not set -# CONFIG_DEVTMPFS_MOUNT is not set -# CONFIG_DGRP is not set -# CONFIG_DIRECT_IO is not set -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_DL2K is not set -# CONFIG_DLM is not set -# CONFIG_DM9000 is not set -# CONFIG_DMADEVICES is not set -# CONFIG_DMADEVICES_DEBUG is not set -# CONFIG_DMASCC is not set -# CONFIG_DMATEST is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_DMA_ENGINE is not set -CONFIG_DMA_NONCOHERENT=y -# CONFIG_DMA_SHARED_BUFFER is not set -# CONFIG_DM_CACHE is not set -# CONFIG_DM_DEBUG is not set -# CONFIG_DM_DELAY is not set -# CONFIG_DM_FLAKEY is not set -# CONFIG_DM_LOG_USERSPACE is not set -# CONFIG_DM_MULTIPATH is not set -# CONFIG_DM_RAID is not set -# CONFIG_DM_THIN_PROVISIONING is not set -# CONFIG_DM_UEVENT is not set -# CONFIG_DM_VERITY is not set -# CONFIG_DM_ZERO is not set -# CONFIG_DNET is not set -# CONFIG_DNOTIFY is not set -# CONFIG_DNS_RESOLVER is not set -CONFIG_DQL=y -# CONFIG_DRAGONRISE_FF is not set -# CONFIG_DRM is not set -# CONFIG_DS1682 is not set -# CONFIG_DTLK is not set -# CONFIG_DUMMY is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_DVB_AU8522_V4L is not set -# CONFIG_DVB_CORE is not set -# CONFIG_DVB_DUMMY_FE is not set -# CONFIG_DVB_TUNER_DIB0070 is not set -# CONFIG_DVB_TUNER_DIB0090 is not set -# CONFIG_DW_DMAC is not set -# CONFIG_DW_WATCHDOG is not set -# CONFIG_DX_SEP is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_E100 is not set -# CONFIG_E1000 is not set -# CONFIG_E1000E is not set -# CONFIG_E2100 is not set -CONFIG_EARLY_PRINTK=y -# CONFIG_EASYCAP is not set -# CONFIG_ECHO is not set -# CONFIG_ECONET is not set -# CONFIG_ECRYPT_FS is not set -# CONFIG_EDAC is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_DIGSY_MTC_CFG is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -# CONFIG_EEXPRESS is not set -# CONFIG_EEXPRESS_PRO is not set -CONFIG_EFI_PARTITION=y -# CONFIG_EFS_FS is not set -# CONFIG_ELF_CORE is not set -CONFIG_EMBEDDED=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_ENABLE_WARN_DEPRECATED=y -# CONFIG_ENC28J60 is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_ENCRYPTED_KEYS is not set -# CONFIG_ENIC is not set -# CONFIG_EPAPR_PARAVIRT is not set -# CONFIG_EPIC100 is not set -CONFIG_EPOLL=y -# CONFIG_EQUALIZER is not set -# CONFIG_ET131X is not set -# CONFIG_ETH16I is not set -# CONFIG_ETHERNET is not set -# CONFIG_ETHOC is not set -CONFIG_EVENTFD=y -# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set -# CONFIG_EWRK3 is not set -CONFIG_EXPERIMENTAL=y -CONFIG_EXPERT=y -# CONFIG_EXPORTFS is not set -# CONFIG_EXT2_FS is not set -# CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS is not set -# CONFIG_EXT3_FS_XATTR is not set -# CONFIG_EXT4_DEBUG is not set -# CONFIG_EXT4_FS is not set -# CONFIG_EXT4_FS_POSIX_ACL is not set -# CONFIG_EXT4_FS_SECURITY is not set -CONFIG_EXT4_FS_XATTR=y -CONFIG_EXT4_USE_FOR_EXT23=y -# CONFIG_EXTCON is not set -CONFIG_EXTRA_FIRMWARE="" -CONFIG_EXTRA_TARGETS="" -# CONFIG_EXYNOS_ADC is not set -# CONFIG_EXYNOS_VIDEO is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_F2FS_FS is not set -# CONFIG_FAIR_GROUP_SCHED is not set -# CONFIG_FANOTIFY is not set -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -CONFIG_FAT_FS=y -# CONFIG_FAULT_INJECTION is not set -# CONFIG_FB is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_ARC is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_ARMCLCD is not set -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_ATY128 is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_BOOT_VESA_SUPPORT is not set -# CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_CARMINE is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_CYBER2000 is not set -# CONFIG_FB_DDC is not set -# CONFIG_FB_FOREIGN_ENDIAN is not set -# CONFIG_FB_GEODE is not set -# CONFIG_FB_GOLDFISH is not set -# CONFIG_FB_HGA is not set -# CONFIG_FB_I740 is not set -# CONFIG_FB_IBM_GXT4500 is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_KYRO is not set -# CONFIG_FB_LE80578 is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_MATROX is not set -# CONFIG_FB_MB862XX is not set -# CONFIG_FB_METRONOME is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_N411 is not set -# CONFIG_FB_NEOMAGIC is not set -# CONFIG_FB_NVIDIA is not set -# CONFIG_FB_OF is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_PS3 is not set -# CONFIG_FB_PXA is not set -# CONFIG_FB_RADEON is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_SM7XX is not set -# CONFIG_FB_SMSCUFX is not set -# CONFIG_FB_SSD1307 is not set -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_SYS_COPYAREA is not set -# CONFIG_FB_SYS_FILLRECT is not set -# CONFIG_FB_SYS_FOPS is not set -# CONFIG_FB_SYS_IMAGEBLIT is not set -# CONFIG_FB_TILEBLITTING is not set -# CONFIG_FB_TMIO is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_UDL is not set -# CONFIG_FB_VGA16 is not set -# CONFIG_FB_VIA is not set -# CONFIG_FB_VIRTUAL is not set -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_XGI is not set -# CONFIG_FCOE is not set -# CONFIG_FCOE_FNIC is not set -# CONFIG_FDDI is not set -# CONFIG_FEALNX is not set -# CONFIG_FHANDLE is not set -CONFIG_FIB_RULES=y -CONFIG_FILE_LOCKING=y -# CONFIG_FIREWIRE is not set -# CONFIG_FIREWIRE_NOSY is not set -# CONFIG_FIREWIRE_SERIAL is not set -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FIRMWARE_IN_KERNEL=y -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_FIXED_PHY is not set -CONFIG_FLATMEM=y -CONFIG_FLATMEM_MANUAL=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_FORCEDETH is not set -CONFIG_FORCE_MAX_ZONEORDER=11 -# CONFIG_FRAMEBUFFER_CONSOLE is not set -# CONFIG_FRAME_POINTER is not set -CONFIG_FRAME_WARN=1024 -# CONFIG_FREEZER is not set -# CONFIG_FRONTSWAP is not set -# CONFIG_FSCACHE is not set -# CONFIG_FSL_XGMAC_MDIO is not set -# CONFIG_FSNOTIFY is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_FT1000 is not set -# CONFIG_FTGMAC100 is not set -# CONFIG_FTL is not set -# CONFIG_FTMAC100 is not set -# CONFIG_FTRACE is not set -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_FTR_FIXUP_SELFTEST is not set -# CONFIG_FUJITSU_TABLET is not set -# CONFIG_FUNCTION_TRACER is not set -# CONFIG_FUSE_FS is not set -# CONFIG_FUSION is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set -# CONFIG_FUSION_SPI is not set -CONFIG_FUTEX=y -CONFIG_FW_LOADER=y -CONFIG_FW_LOADER_USER_HELPER=y -CONFIG_GACT_PROB=y -# CONFIG_GADGET_UAC1 is not set -# CONFIG_GAMEPORT is not set -# CONFIG_GCOV is not set -# CONFIG_GCOV_KERNEL is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -# CONFIG_GENERIC_CPU_DEVICES is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_IO=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_TIME=y -# CONFIG_GFS2_FS is not set -# CONFIG_GIGASET_CAPI is not set -# CONFIG_GIGASET_DEBUG is not set -# CONFIG_GPIOLIB is not set -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_AMD8111 is not set -# CONFIG_GPIO_BT8XX is not set -# CONFIG_GPIO_CS5535 is not set -CONFIG_GPIO_DEVRES=y -# CONFIG_GPIO_EM is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_ICH is not set -# CONFIG_GPIO_IT8761E is not set -# CONFIG_GPIO_LANGWELL is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MAX732X is not set -# CONFIG_GPIO_MC33880 is not set -# CONFIG_GPIO_MCP23S08 is not set -# CONFIG_GPIO_ML_IOH is not set -# CONFIG_GPIO_PCA953X is not set -# CONFIG_GPIO_PCF857X is not set -# CONFIG_GPIO_PCH is not set -# CONFIG_GPIO_PL061 is not set -# CONFIG_GPIO_RCAR is not set -# CONFIG_GPIO_RDC321X is not set -# CONFIG_GPIO_SCH is not set -# CONFIG_GPIO_SX150X is not set -# CONFIG_GPIO_SYSFS is not set -# CONFIG_GPIO_TS5500 is not set -# CONFIG_GPIO_VX855 is not set -# CONFIG_GPIO_WDT is not set -# CONFIG_GPIO_XILINX is not set -# CONFIG_GREENASIA_FF is not set -# CONFIG_HAMACHI is not set -# CONFIG_HAMRADIO is not set -# CONFIG_HAPPYMEAL is not set -# CONFIG_HARDLOCKUP_DETECTOR is not set -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -# CONFIG_HAVE_AOUT is not set -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_HAVE_ARM_ARCH_TIMER is not set -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_GENERIC_HARDIRQS=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_HCALL_STATS is not set -# CONFIG_HDLC is not set -# CONFIG_HDLC_CISCO is not set -# CONFIG_HDLC_FR is not set -# CONFIG_HDLC_PPP is not set -# CONFIG_HDLC_RAW is not set -# CONFIG_HDLC_RAW_ETH is not set -# CONFIG_HDQ_MASTER_OMAP is not set -# CONFIG_HEADERS_CHECK is not set -# CONFIG_HERMES is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HIBERNATION is not set -# CONFIG_HID is not set -# CONFIG_HIDRAW is not set -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_ACRUX_FF is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GENERIC is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LENOVO_TPKBD is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PID is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_PRODIKEYS is not set -# CONFIG_HID_PS3REMOTE is not set -# CONFIG_HID_QUANTA is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_ROCCAT_ARVO is not set -# CONFIG_HID_ROCCAT_KONE is not set -# CONFIG_HID_ROCCAT_KONEPLUS is not set -# CONFIG_HID_ROCCAT_KOVAPLUS is not set -# CONFIG_HID_ROCCAT_PYRA is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_SUPPORT is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HIGHMEM is not set -# CONFIG_HIGH_RES_TIMERS is not set -# CONFIG_HIPPI is not set -# CONFIG_HMC6352 is not set -# CONFIG_HOSTAP is not set -# CONFIG_HOSTAP_CS is not set -# CONFIG_HOSTAP_PCI is not set -# CONFIG_HOSTAP_PLX is not set -CONFIG_HOTPLUG=y -# CONFIG_HOTPLUG_CPU is not set -# CONFIG_HOTPLUG_PCI is not set -# CONFIG_HP100 is not set -# CONFIG_HPFS_FS is not set -# CONFIG_HPLAN is not set -# CONFIG_HPLAN_PLUS is not set -# CONFIG_HP_ILO is not set -# CONFIG_HSI is not set -# CONFIG_HTC_EGPIO is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_HUGETLB_PAGE is not set -# CONFIG_HVC_DCC is not set -# CONFIG_HVC_UDBG is not set -# CONFIG_HWMON is not set -# CONFIG_HWMON_DEBUG_CHIP is not set -# CONFIG_HWMON_VID is not set -# CONFIG_HWSPINLOCK_OMAP is not set -CONFIG_HW_PERF_EVENTS=y -# CONFIG_HW_RANDOM is not set -# CONFIG_HW_RANDOM_AMD is not set -# CONFIG_HW_RANDOM_ATMEL is not set -# CONFIG_HW_RANDOM_EXYNOS is not set -# CONFIG_HW_RANDOM_GEODE is not set -# CONFIG_HW_RANDOM_INTEL is not set -# CONFIG_HW_RANDOM_PPC4XX is not set -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_HW_RANDOM_VIA is not set -# CONFIG_HYPERV is not set -# CONFIG_HYSDN is not set -CONFIG_HZ=100 -CONFIG_HZ_100=y -# CONFIG_HZ_1000 is not set -# CONFIG_HZ_1024 is not set -# CONFIG_HZ_128 is not set -# CONFIG_HZ_250 is not set -# CONFIG_HZ_256 is not set -# CONFIG_HZ_300 is not set -# CONFIG_HZ_48 is not set -CONFIG_HZ_PERIODIC=y -# CONFIG_I2C is not set -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCA is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_AU1550 is not set -# CONFIG_I2C_CBUS_GPIO is not set -# CONFIG_I2C_CHARDEV is not set -# CONFIG_I2C_COMPAT is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DESIGNWARE is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set -# CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_EG20T is not set -# CONFIG_I2C_ELEKTOR is not set -# CONFIG_I2C_GPIO is not set -# CONFIG_I2C_HELPER_AUTO is not set -# CONFIG_I2C_HID is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_IBM_IIC is not set -# CONFIG_I2C_INTEL_MID is not set -# CONFIG_I2C_ISCH is not set -# CONFIG_I2C_ISMT is not set -# CONFIG_I2C_MPC is not set -# CONFIG_I2C_MUX is not set -# CONFIG_I2C_MUX_PINCTRL is not set -# CONFIG_I2C_MV64XXX is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_NOMADIK is not set -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PCA_ISA is not set -# CONFIG_I2C_PCA_PLATFORM is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_PXA_PCI is not set -# CONFIG_I2C_SCMI is not set -# CONFIG_I2C_SIMTEC is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_SMBUS is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_TAOS_EVM is not set -# CONFIG_I2C_TINY_USB is not set -# CONFIG_I2C_VERSATILE is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_XILINX is not set -# CONFIG_I2O is not set -# CONFIG_I6300ESB_WDT is not set -# CONFIG_I82092 is not set -# CONFIG_I82365 is not set -# CONFIG_IBM_ASM is not set -# CONFIG_IBM_EMAC_DEBUG is not set -# CONFIG_IBM_EMAC_EMAC4 is not set -# CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_EMAC_MAL_COMMON_ERR is not set -# CONFIG_IBM_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IBM_EMAC_RGMII is not set -# CONFIG_IBM_EMAC_TAH is not set -# CONFIG_IBM_EMAC_ZMII is not set -# CONFIG_ICPLUS_PHY is not set -# CONFIG_ICS932S401 is not set -# CONFIG_IDE is not set -# CONFIG_IDEAPAD_LAPTOP is not set -# CONFIG_IDE_GD is not set -# CONFIG_IDE_PHISON is not set -# CONFIG_IDE_PROC_FS is not set -# CONFIG_IDE_TASK_IOCTL is not set -# CONFIG_IEEE802154 is not set -# CONFIG_IFB is not set -# CONFIG_IGB is not set -# CONFIG_IGBVF is not set -# CONFIG_IIO is not set -# CONFIG_IIO_BUFFER_CB is not set -CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 -# CONFIG_IIO_GPIO_TRIGGER is not set -# CONFIG_IIO_PERIODIC_RTC_TRIGGER is not set -# CONFIG_IIO_SIMPLE_DUMMY is not set -# CONFIG_IIO_ST_ACCEL_3AXIS is not set -# CONFIG_IIO_ST_GYRO_3AXIS is not set -# CONFIG_IIO_ST_MAGN_3AXIS is not set -# CONFIG_IIO_SYSFS_TRIGGER is not set -# CONFIG_IKCONFIG is not set -# CONFIG_IKCONFIG_PROC is not set -# CONFIG_IMAGE_CMDLINE_HACK is not set -CONFIG_INET=y -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_BEET is not set -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET6_XFRM_MODE_TUNNEL is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET_AH is not set -CONFIG_INET_DIAG=y -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_LRO is not set -CONFIG_INET_TCP_DIAG=y -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_UDP_DIAG is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INFINIBAND is not set -# CONFIG_INFTL is not set -# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set -# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set -# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set -CONFIG_INITRAMFS_COMPRESSION_NONE=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_INLINE_READ_LOCK is not set -# CONFIG_INLINE_READ_LOCK_BH is not set -# CONFIG_INLINE_READ_LOCK_IRQ is not set -# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set -# CONFIG_INLINE_READ_TRYLOCK is not set -CONFIG_INLINE_READ_UNLOCK=y -# CONFIG_INLINE_READ_UNLOCK_BH is not set -CONFIG_INLINE_READ_UNLOCK_IRQ=y -# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set -# CONFIG_INLINE_SPIN_LOCK is not set -# CONFIG_INLINE_SPIN_LOCK_BH is not set -# CONFIG_INLINE_SPIN_LOCK_IRQ is not set -# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set -# CONFIG_INLINE_SPIN_TRYLOCK is not set -# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set -CONFIG_INLINE_SPIN_UNLOCK=y -# CONFIG_INLINE_SPIN_UNLOCK_BH is not set -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set -# CONFIG_INLINE_WRITE_LOCK is not set -# CONFIG_INLINE_WRITE_LOCK_BH is not set -# CONFIG_INLINE_WRITE_LOCK_IRQ is not set -# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set -# CONFIG_INLINE_WRITE_TRYLOCK is not set -CONFIG_INLINE_WRITE_UNLOCK=y -# CONFIG_INLINE_WRITE_UNLOCK_BH is not set -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set -# CONFIG_INOTIFY_USER is not set -# CONFIG_INPUT is not set -# CONFIG_INPUT_AD714X is not set -# CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_APANEL is not set -# CONFIG_INPUT_ATI_REMOTE is not set -# CONFIG_INPUT_ATI_REMOTE2 is not set -# CONFIG_INPUT_ATLAS_BTNS is not set -# CONFIG_INPUT_BMA150 is not set -# CONFIG_INPUT_CM109 is not set -# CONFIG_INPUT_CMA3000 is not set -# CONFIG_INPUT_EVBUG is not set -# CONFIG_INPUT_EVDEV is not set -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_GP2A is not set -# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set -# CONFIG_INPUT_GPIO_TILT_POLLED is not set -# CONFIG_INPUT_IMS_PCU is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_KEYSPAN_REMOTE is not set -# CONFIG_INPUT_KXTJ9 is not set -# CONFIG_INPUT_MATRIXKMAP is not set -CONFIG_INPUT_MISC=y -# CONFIG_INPUT_MMA8450 is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_MPU3050 is not set -# CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PCSPKR is not set -# CONFIG_INPUT_POLLDEV is not set -# CONFIG_INPUT_POWERMATE is not set -# CONFIG_INPUT_PWM_BEEPER is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_UINPUT is not set -# CONFIG_INPUT_WISTRON_BTNS is not set -# CONFIG_INPUT_YEALINK is not set -# CONFIG_INTEL_IDLE is not set -# CONFIG_INTEL_MEI is not set -# CONFIG_INTEL_MEI_ME is not set -# CONFIG_INTEL_MID_PTI is not set -# CONFIG_INTEL_OAKTRAIL is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_INV_MPU6050_IIO is not set -# CONFIG_IOMMU_SUPPORT is not set -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_IOSCHED_DEADLINE is not set -CONFIG_IOSCHED_NOOP=y -# CONFIG_IP1000 is not set -# CONFIG_IP17XX_PHY is not set -# CONFIG_IP6_NF_FILTER is not set -# CONFIG_IP6_NF_IPTABLES is not set -# CONFIG_IP6_NF_MANGLE is not set -# CONFIG_IP6_NF_MATCH_AH is not set -# CONFIG_IP6_NF_MATCH_EUI64 is not set -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_RPFILTER is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_QUEUE is not set -# CONFIG_IP6_NF_RAW is not set -# CONFIG_IP6_NF_TARGET_HL is not set -# CONFIG_IP6_NF_TARGET_LOG is not set -# CONFIG_IP6_NF_TARGET_REJECT is not set -# CONFIG_IPACK_BUS is not set -# CONFIG_IPC_NS is not set -# CONFIG_IPMI_HANDLER is not set -# CONFIG_IPV6 is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_IPV6_MROUTE is not set -# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set -# CONFIG_IPV6_MULTIPLE_TABLES is not set -CONFIG_IPV6_NDISC_NODETYPE=y -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -# CONFIG_IPV6_PRIVACY is not set -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_ROUTE_INFO is not set -# CONFIG_IPV6_SIT is not set -# CONFIG_IPV6_SIT_6RD is not set -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_IPW2100 is not set -# CONFIG_IPW2100_DEBUG is not set -CONFIG_IPW2100_MONITOR=y -# CONFIG_IPW2200 is not set -# CONFIG_IPW2200_DEBUG is not set -CONFIG_IPW2200_MONITOR=y -# CONFIG_IPW2200_PROMISCUOUS is not set -# CONFIG_IPW2200_QOS is not set -# CONFIG_IPW2200_RADIOTAP is not set -# CONFIG_IPWIRELESS is not set -# CONFIG_IPX is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_FIB_TRIE_STATS is not set -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_MULTIPLE_TABLES=y -# CONFIG_IP_NF_ARPFILTER is not set -# CONFIG_IP_NF_ARPTABLES is not set -# CONFIG_IP_NF_ARP_MANGLE is not set -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_MANGLE=y -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_RPFILTER is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_QUEUE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_SECURITY is not set -# CONFIG_IP_NF_TARGET_CLUSTERIP is not set -# CONFIG_IP_NF_TARGET_ECN is not set -# CONFIG_IP_NF_TARGET_LOG is not set -CONFIG_IP_NF_TARGET_MASQUERADE=y -# CONFIG_IP_NF_TARGET_NETMAP is not set -# CONFIG_IP_NF_TARGET_REDIRECT is not set -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_PIMSM_V1 is not set -# CONFIG_IP_PIMSM_V2 is not set -# CONFIG_IP_PNP is not set -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -# CONFIG_IP_SCTP is not set -# CONFIG_IP_SET is not set -# CONFIG_IP_VS is not set -# CONFIG_IRDA is not set -# CONFIG_IRQSOFF_TRACER is not set -# CONFIG_IRQ_ALL_CPUS is not set -CONFIG_IRQ_CPU=y -# CONFIG_IRQ_DOMAIN_DEBUG is not set -CONFIG_IRQ_FORCED_THREADING=y -# CONFIG_IRQ_TIME_ACCOUNTING is not set -CONFIG_IRQ_WORK=y -# CONFIG_IR_IMON is not set -# CONFIG_IR_JVC_DECODER is not set -# CONFIG_IR_LIRC_CODEC is not set -# CONFIG_IR_MCEUSB is not set -# CONFIG_IR_NEC_DECODER is not set -# CONFIG_IR_RC5_DECODER is not set -# CONFIG_IR_RC5_SZ_DECODER is not set -# CONFIG_IR_RC6_DECODER is not set -# CONFIG_IR_SONY_DECODER is not set -# CONFIG_IR_STREAMZAP is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_ISCSI_TCP is not set -# CONFIG_ISDN is not set -# CONFIG_ISDN_AUDIO is not set -# CONFIG_ISDN_CAPI is not set -# CONFIG_ISDN_CAPI_CAPIDRV is not set -# CONFIG_ISDN_DIVERSION is not set -# CONFIG_ISDN_DRV_ACT2000 is not set -# CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set -# CONFIG_ISDN_DRV_GIGASET is not set -# CONFIG_ISDN_DRV_HISAX is not set -# CONFIG_ISDN_DRV_ICN is not set -# CONFIG_ISDN_DRV_LOOP is not set -# CONFIG_ISDN_DRV_PCBIT is not set -# CONFIG_ISDN_DRV_SC is not set -# CONFIG_ISDN_I4L is not set -# CONFIG_ISL29003 is not set -# CONFIG_ISL29020 is not set -# CONFIG_ISO9660_FS is not set -# CONFIG_ISS4xx is not set -# CONFIG_ITG3200 is not set -# CONFIG_IWL3945 is not set -# CONFIG_IWLAGN is not set -# CONFIG_IWLWIFI is not set -# CONFIG_IWMC3200TOP is not set -# CONFIG_IXGB is not set -# CONFIG_IXGBE is not set -# CONFIG_IXGBEVF is not set -# CONFIG_JBD is not set -# CONFIG_JBD2_DEBUG is not set -# CONFIG_JBD_DEBUG is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -# CONFIG_JFFS2_FS is not set -CONFIG_JFFS2_FS_DEBUG=0 -# CONFIG_JFFS2_FS_POSIX_ACL is not set -# CONFIG_JFFS2_FS_SECURITY is not set -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_LZMA=y -# CONFIG_JFFS2_LZO is not set -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_ZLIB is not set -# CONFIG_JFS_DEBUG is not set -# CONFIG_JFS_FS is not set -# CONFIG_JFS_POSIX_ACL is not set -# CONFIG_JFS_SECURITY is not set -# CONFIG_JFS_STATISTICS is not set -# CONFIG_JME is not set -CONFIG_JOLIET=y -# CONFIG_JUMP_LABEL is not set -CONFIG_KALLSYMS=y -CONFIG_KALLSYMS_ALL=y -# CONFIG_KALLSYMS_UNCOMPRESSED is not set -# CONFIG_KARMA_PARTITION is not set -# CONFIG_KERNEL_BZIP2 is not set -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_LZO is not set -CONFIG_KERNEL_XZ=y -# CONFIG_KEXEC is not set -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_OPENCORES is not set -# CONFIG_KEYBOARD_PXA27x is not set -# CONFIG_KEYBOARD_QT1070 is not set -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYS is not set -# CONFIG_KEYS_DEBUG_PROC_KEYS is not set -# CONFIG_KGDB is not set -# CONFIG_KMEMCHECK is not set -# CONFIG_KPROBES is not set -# CONFIG_KS8842 is not set -# CONFIG_KS8851 is not set -# CONFIG_KS8851_MLL is not set -# CONFIG_KSM is not set -# CONFIG_KSZ884X_PCI is not set -CONFIG_KUSER_HELPERS=y -# CONFIG_KVM_GUEST is not set -# CONFIG_KXSD9 is not set -CONFIG_L2TP=y -# CONFIG_L2TP_ETH is not set -# CONFIG_L2TP_IP is not set -# CONFIG_L2TP_V3 is not set -# CONFIG_LANMEDIA is not set -# CONFIG_LANTIQ is not set -# CONFIG_LAPB is not set -# CONFIG_LASAT is not set -# CONFIG_LATENCYTOP is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -CONFIG_LBDAF=y -# CONFIG_LCD_HX8357 is not set -# CONFIG_LCD_ILI922X is not set -# CONFIG_LCD_ILI9320 is not set -# CONFIG_LCD_LMS501KF03 is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_LEDS_ATMEL_PWM is not set -# CONFIG_LEDS_BD2802 is not set -# CONFIG_LEDS_BLINKM is not set -CONFIG_LEDS_CLASS=y -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_GPIO is not set -CONFIG_LEDS_GPIO_OF=y -CONFIG_LEDS_GPIO_PLATFORM=y -# CONFIG_LEDS_INTEL_SS4200 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3556 is not set -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LP3944 is not set -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LT3593 is not set -# CONFIG_LEDS_NET5501 is not set -# CONFIG_LEDS_OT200 is not set -# CONFIG_LEDS_PCA9532 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA9633 is not set -# CONFIG_LEDS_PWM is not set -# CONFIG_LEDS_RENESAS_TPU is not set -# CONFIG_LEDS_TCA6507 is not set -CONFIG_LEDS_TRIGGERS=y -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_LEDS_TRIGGER_CPU is not set -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -# CONFIG_LEDS_TRIGGER_GPIO is not set -# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set -# CONFIG_LEDS_TRIGGER_IDE_DISK is not set -# CONFIG_LEDS_TRIGGER_MORSE is not set -CONFIG_LEDS_TRIGGER_NETDEV=y -# CONFIG_LEDS_TRIGGER_ONESHOT is not set -CONFIG_LEDS_TRIGGER_TIMER=y -# CONFIG_LEDS_TRIGGER_TRANSIENT is not set -# CONFIG_LEDS_TRIGGER_USBDEV is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_LIB80211 is not set -# CONFIG_LIB80211_CRYPT_CCMP is not set -# CONFIG_LIB80211_CRYPT_TKIP is not set -# CONFIG_LIB80211_CRYPT_WEP is not set -# CONFIG_LIB80211_DEBUG is not set -# CONFIG_LIBCRC32C is not set -# CONFIG_LIBERTAS is not set -# CONFIG_LIBERTAS_THINFIRM is not set -# CONFIG_LIBERTAS_USB is not set -# CONFIG_LIBFC is not set -# CONFIG_LIBFCOE is not set -# CONFIG_LIBIPW_DEBUG is not set -# CONFIG_LINE6_USB is not set -# CONFIG_LIRC_STAGING is not set -# CONFIG_LIS3L02DQ is not set -# CONFIG_LKDTM is not set -CONFIG_LLC=y -# CONFIG_LLC2 is not set -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -# CONFIG_LOCKD is not set -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_LOCKD_V4=y -# CONFIG_LOCKUP_DETECTOR is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_LOGFS is not set -# CONFIG_LOGIRUMBLEPAD2_FF is not set -# CONFIG_LOGITECH_FF is not set -# CONFIG_LOGO is not set -CONFIG_LOG_BUF_SHIFT=12 -# CONFIG_LOONGSON_MC146818 is not set -# CONFIG_LP486E is not set -# CONFIG_LPC_ICH is not set -# CONFIG_LPC_SCH is not set -# CONFIG_LP_CONSOLE is not set -# CONFIG_LSI_ET1011C_PHY is not set -# CONFIG_LTPC is not set -# CONFIG_LXT_PHY is not set -CONFIG_LZMA_COMPRESS=y -CONFIG_LZMA_DECOMPRESS=y -# CONFIG_LZO_COMPRESS is not set -# CONFIG_LZO_DECOMPRESS is not set -# CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE is not set -# CONFIG_M25PXX_USE_AUTO_MODE is not set -# CONFIG_M25PXX_USE_FAST_READ is not set -# CONFIG_M25PXX_USE_MULTI_CHANNEL is not set -CONFIG_M25PXX_USE_USER_MODE=y -# CONFIG_MAC80211 is not set -# CONFIG_MACB is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_JZ4740 is not set -# CONFIG_MACH_LOONGSON is not set -# CONFIG_MACH_LOONGSON1 is not set -# CONFIG_MACH_NO_WESTBRIDGE is not set -# CONFIG_MACH_TX39XX is not set -# CONFIG_MACH_TX49XX is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_MACINTOSH_DRIVERS is not set -# CONFIG_MACVLAN is not set -# CONFIG_MACVTAP is not set -# CONFIG_MAC_EMUMOUSEBTN is not set -# CONFIG_MAC_PARTITION is not set -# CONFIG_MAGIC_SYSRQ is not set -# CONFIG_MAILBOX is not set -# CONFIG_MARVELL_PHY is not set -# CONFIG_MAX1363 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX63XX_WATCHDOG is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCPM is not set -# CONFIG_MD is not set -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -# CONFIG_MD_FAULTY is not set -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_ATTACH is not set -# CONFIG_MEDIA_CAMERA_SUPPORT is not set -# CONFIG_MEDIA_CONTROLLER is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_PARPORT_SUPPORT is not set -# CONFIG_MEDIA_PCI_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_RC_SUPPORT is not set -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set -# CONFIG_MEDIA_SUPPORT is not set -# CONFIG_MEDIA_TUNER_CUSTOMISE is not set -# CONFIG_MEDIA_USB_SUPPORT is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_MEMORY is not set -# CONFIG_MEMORY_FAILURE is not set -# CONFIG_MEMSTICK is not set -# CONFIG_MFD_88PM800 is not set -# CONFIG_MFD_88PM805 is not set -# CONFIG_MFD_88PM860X is not set -# CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_ASIC3 is not set -# CONFIG_MFD_CORE is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_CS5535 is not set -# CONFIG_MFD_DA9052_I2C is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_DA9055 is not set -# CONFIG_MFD_JANZ_CMODIO is not set -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_LP8788 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX8907 is not set -# CONFIG_MFD_MAX8925 is not set -# CONFIG_MFD_MAX8997 is not set -# CONFIG_MFD_MAX8998 is not set -# CONFIG_MFD_MC13783 is not set -# CONFIG_MFD_MC13XXX is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_OMAP_USB_HOST is not set -# CONFIG_MFD_PALMAS is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_RTSX_PCI is not set -# CONFIG_MFD_S5M_CORE is not set -# CONFIG_MFD_SEC_CORE is not set -# CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_MFD_SMSC is not set -# CONFIG_MFD_STMPE is not set -CONFIG_MFD_SUPPORT=y -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_T7L66XB is not set -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TC6387XB is not set -# CONFIG_MFD_TC6393XB is not set -# CONFIG_MFD_TIMBERDALE is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TMIO is not set -# CONFIG_MFD_TPS65090 is not set -# CONFIG_MFD_TPS65217 is not set -# CONFIG_MFD_TPS6586X is not set -# CONFIG_MFD_TPS65910 is not set -# CONFIG_MFD_TPS65912 is not set -# CONFIG_MFD_TPS65912_I2C is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_VX855 is not set -# CONFIG_MFD_WL1273_CORE is not set -# CONFIG_MFD_WM831X is not set -# CONFIG_MFD_WM831X_I2C is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM8994 is not set -# CONFIG_MG_DISK is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_MICREL_PHY is not set -# CONFIG_MIGRATION is not set -# CONFIG_MII is not set -# CONFIG_MIKROTIK_RB532 is not set -# CONFIG_MINIX_FS is not set -# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set -# CONFIG_MINIX_SUBPARTITION is not set -CONFIG_MIPS=y -# CONFIG_MIPS_ALCHEMY is not set -# CONFIG_MIPS_COBALT is not set -# CONFIG_MIPS_FPU_EMU is not set -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MACHINE is not set -# CONFIG_MIPS_MALTA is not set -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_SEAD3 is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MISC_DEVICES=y -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_MISDN is not set -# CONFIG_MISDN_AVMFRITZ is not set -# CONFIG_MISDN_HFCPCI is not set -# CONFIG_MISDN_HFCUSB is not set -# CONFIG_MISDN_INFINEON is not set -# CONFIG_MISDN_NETJET is not set -# CONFIG_MISDN_SPEEDFAX is not set -# CONFIG_MISDN_W6692 is not set -# CONFIG_MKISS is not set -# CONFIG_MLX4_CORE is not set -# CONFIG_MLX4_EN is not set -# CONFIG_MMC is not set -# CONFIG_MMC_ARMMMCI is not set -# CONFIG_MMC_AU1X is not set -# CONFIG_MMC_BLOCK is not set -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_MMC_BLOCK_MINORS=8 -# CONFIG_MMC_CB710 is not set -# CONFIG_MMC_CLKGATE is not set -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_DW is not set -# CONFIG_MMC_MVSDIO is not set -# CONFIG_MMC_S3C is not set -# CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_SDHCI_ACPI is not set -# CONFIG_MMC_SDHCI_OF_ESDHC is not set -# CONFIG_MMC_SDHCI_OF_HLWD is not set -# CONFIG_MMC_SDHCI_PXAV2 is not set -# CONFIG_MMC_SDHCI_PXAV3 is not set -# CONFIG_MMC_SDRICOH_CS is not set -# CONFIG_MMC_SPI is not set -# CONFIG_MMC_TEST is not set -# CONFIG_MMC_UNSAFE_RESUME is not set -# CONFIG_MMC_USHC is not set -# CONFIG_MMC_VIA_SDMMC is not set -# CONFIG_MMC_VUB300 is not set -CONFIG_MMU=y -CONFIG_MODULES=y -CONFIG_MODULES_USE_ELF_REL=y -# CONFIG_MODULE_FORCE_LOAD is not set -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_MODULE_STRIPPED=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MOUSE_APPLETOUCH is not set -# CONFIG_MOUSE_GPIO is not set -# CONFIG_MOUSE_INPORT is not set -# CONFIG_MOUSE_LOGIBM is not set -# CONFIG_MOUSE_PC110PAD is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_SYNAPTICS_I2C is not set -# CONFIG_MOUSE_SYNAPTICS_USB is not set -CONFIG_MSDOS_FS=y -CONFIG_MSDOS_PARTITION=y -# CONFIG_MSI_BITMAP_SELFTEST is not set -# CONFIG_MSI_LAPTOP is not set -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_AFS_PARTS is not set -# CONFIG_MTD_ALAUDA is not set -# CONFIG_MTD_AR7_PARTS is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_BLOCK2MTD=y -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set -CONFIG_MTD_CFI_NOSWAP=y -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -# CONFIG_MTD_DOCG3 is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_GPIO_ADDR is not set -# CONFIG_MTD_INTEL_VR_NOR is not set -# CONFIG_MTD_JEDECPROBE is not set -# CONFIG_MTD_LATCH_ADDR is not set -# CONFIG_MTD_LPDDR is not set -CONFIG_MTD_M25P80=y -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_MYLOADER_PARTS is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_NAND_AMS_DELTA is not set -# CONFIG_MTD_NAND_AR934X is not set -# CONFIG_MTD_NAND_AR934X_HW_ECC is not set -# CONFIG_MTD_NAND_ATMEL is not set -# CONFIG_MTD_NAND_AU1550 is not set -# CONFIG_MTD_NAND_AUTCPU12 is not set -# CONFIG_MTD_NAND_BCH is not set -# CONFIG_MTD_NAND_BCM_UMI is not set -# CONFIG_MTD_NAND_BF5XX is not set -# CONFIG_MTD_NAND_CAFE is not set -# CONFIG_MTD_NAND_CM_X270 is not set -# CONFIG_MTD_NAND_CS553X is not set -# CONFIG_MTD_NAND_DAVINCI is not set -# CONFIG_MTD_NAND_DENALI is not set -CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xff108018 -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_DOCG4 is not set -# CONFIG_MTD_NAND_ECC is not set -# CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -# CONFIG_MTD_NAND_FSL_ELBC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set -# CONFIG_MTD_NAND_FSL_UPM is not set -# CONFIG_MTD_NAND_FSMC is not set -# CONFIG_MTD_NAND_GPIO is not set -# CONFIG_MTD_NAND_GPMI_NAND is not set -# CONFIG_MTD_NAND_H1900 is not set -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_NAND_JZ4740 is not set -# CONFIG_MTD_NAND_MPC5121_NFC is not set -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -# CONFIG_MTD_NAND_MXC is not set -# CONFIG_MTD_NAND_NANDSIM is not set -# CONFIG_MTD_NAND_NDFC is not set -# CONFIG_MTD_NAND_NOMADIK is not set -# CONFIG_MTD_NAND_NUC900 is not set -# CONFIG_MTD_NAND_OMAP2 is not set -# CONFIG_MTD_NAND_ORION is not set -# CONFIG_MTD_NAND_PASEMI is not set -# CONFIG_MTD_NAND_PLATFORM is not set -# CONFIG_MTD_NAND_PPCHAMELEONEVB is not set -# CONFIG_MTD_NAND_PXA3xx is not set -# CONFIG_MTD_NAND_RB4XX is not set -# CONFIG_MTD_NAND_RB750 is not set -# CONFIG_MTD_NAND_RICOH is not set -# CONFIG_MTD_NAND_RTC_FROM4 is not set -# CONFIG_MTD_NAND_S3C2410 is not set -# CONFIG_MTD_NAND_SHARPSL is not set -# CONFIG_MTD_NAND_SH_FLCTL is not set -# CONFIG_MTD_NAND_SOCRATES is not set -# CONFIG_MTD_NAND_SPIA is not set -# CONFIG_MTD_NAND_TMIO is not set -# CONFIG_MTD_NAND_TXX9NDFMC is not set -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_OTP is not set -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PCMCIA is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_PHYSMAP_COMPAT is not set -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_RAM is not set -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_ROM is not set -CONFIG_MTD_ROOTFS_ROOT_DEV=y -CONFIG_MTD_ROOTFS_SPLIT=y -# CONFIG_MTD_SLRAM is not set -CONFIG_MTD_SPLIT=y -# CONFIG_MTD_SPLIT_FIRMWARE is not set -CONFIG_MTD_SPLIT_FIRMWARE_NAME="firmware" -# CONFIG_MTD_SPLIT_LZMA_FW is not set -# CONFIG_MTD_SPLIT_SEAMA_FW is not set -# CONFIG_MTD_SPLIT_SQUASHFS_ROOT is not set -# CONFIG_MTD_SPLIT_UIMAGE_FW is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_UBI is not set -# CONFIG_MTD_UIMAGE_SPLIT is not set -# CONFIG_MUTEX_SPIN_ON_OWNER is not set -# CONFIG_MV643XX_ETH is not set -# CONFIG_MVMDIO is not set -# CONFIG_MVSWITCH_PHY is not set -# CONFIG_MWAVE is not set -# CONFIG_MWL8K is not set -# CONFIG_MYRI10GE is not set -# CONFIG_NAMESPACES is not set -# CONFIG_NATIONAL_PHY is not set -# CONFIG_NATSEMI is not set -# CONFIG_NCP_FS is not set -# CONFIG_NE2000 is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_NEC_MARKEINS is not set -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NET=y -# CONFIG_NETCONSOLE is not set -CONFIG_NETDEVICES=y -CONFIG_NETDEV_1000=y -# CONFIG_NETDEV_10000 is not set -CONFIG_NETFILTER=y -CONFIG_NETFILTER_ADVANCED=y -# CONFIG_NETFILTER_DEBUG is not set -# CONFIG_NETFILTER_NETLINK is not set -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set -# CONFIG_NETFILTER_TPROXY is not set -CONFIG_NETFILTER_XTABLES=y -# CONFIG_NETFILTER_XT_CONNMARK is not set -CONFIG_NETFILTER_XT_MARK=y -# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set -# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ECN is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_HELPER is not set -# CONFIG_NETFILTER_XT_MATCH_HL is not set -# CONFIG_NETFILTER_XT_MATCH_ID is not set -CONFIG_NETFILTER_XT_MATCH_IPRANGE=y -# CONFIG_NETFILTER_XT_MATCH_LAYER7 is not set -# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -CONFIG_NETFILTER_XT_MATCH_MAC=y -CONFIG_NETFILTER_XT_MATCH_MARK=y -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OSF is not set -# CONFIG_NETFILTER_XT_MATCH_OWNER is not set -# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_RECENT is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set -CONFIG_NETFILTER_XT_MATCH_STATE=y -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_TIME is not set -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set -# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set -# CONFIG_NETFILTER_XT_TARGET_CT is not set -# CONFIG_NETFILTER_XT_TARGET_DSCP is not set -# CONFIG_NETFILTER_XT_TARGET_HL is not set -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -# CONFIG_NETFILTER_XT_TARGET_LED is not set -# CONFIG_NETFILTER_XT_TARGET_LOG is not set -CONFIG_NETFILTER_XT_TARGET_MARK=y -# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set -CONFIG_NETFILTER_XT_TARGET_TCPMSS=y -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set -# CONFIG_NETFILTER_XT_TARGET_TEE is not set -# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set -# CONFIG_NETFILTER_XT_TARGET_TRACE is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_NETLINK_MMAP is not set -# CONFIG_NETPOLL is not set -# CONFIG_NETROM is not set -CONFIG_NETWORK_FILESYSTEMS=y -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -# CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETXEN_NIC is not set -# CONFIG_NET_9P is not set -# CONFIG_NET_ACT_CSUM is not set -# CONFIG_NET_ACT_GACT is not set -# CONFIG_NET_ACT_IPT is not set -# CONFIG_NET_ACT_MIRRED is not set -# CONFIG_NET_ACT_NAT is not set -# CONFIG_NET_ACT_PEDIT is not set -# CONFIG_NET_ACT_POLICE is not set -# CONFIG_NET_ACT_SIMP is not set -# CONFIG_NET_ACT_SKBEDIT is not set -CONFIG_NET_CADENCE=y -# CONFIG_NET_CALXEDA_XGMAC is not set -CONFIG_NET_CLS=y -# CONFIG_NET_CLS_ACT is not set -# CONFIG_NET_CLS_BASIC is not set -# CONFIG_NET_CLS_FLOW is not set -CONFIG_NET_CLS_FW=y -# CONFIG_NET_CLS_IND is not set -# CONFIG_NET_CLS_ROUTE4 is not set -# CONFIG_NET_CLS_RSVP is not set -# CONFIG_NET_CLS_RSVP6 is not set -# CONFIG_NET_CLS_TCINDEX is not set -CONFIG_NET_CLS_U32=y -CONFIG_NET_CORE=y -# CONFIG_NET_DROP_MONITOR is not set -# CONFIG_NET_DSA is not set -# CONFIG_NET_DSA_MV88E6060 is not set -# CONFIG_NET_DSA_MV88E6123_61_65 is not set -# CONFIG_NET_DSA_MV88E6131 is not set -# CONFIG_NET_DSA_MV88E6XXX is not set -# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set -# CONFIG_NET_DSA_TAG_DSA is not set -# CONFIG_NET_DSA_TAG_EDSA is not set -# CONFIG_NET_EMATCH is not set -# CONFIG_NET_EMATCH_CMP is not set -# CONFIG_NET_EMATCH_META is not set -# CONFIG_NET_EMATCH_NBYTE is not set -CONFIG_NET_EMATCH_STACK=32 -# CONFIG_NET_EMATCH_TEXT is not set -# CONFIG_NET_EMATCH_U32 is not set -CONFIG_NET_ETHERNET=y -# CONFIG_NET_FC is not set -# CONFIG_NET_IPGRE is not set -CONFIG_NET_IPGRE_BROADCAST=y -# CONFIG_NET_IPGRE_DEMUX is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPVTI is not set -# CONFIG_NET_IP_TUNNEL is not set -# CONFIG_NET_ISA is not set -# CONFIG_NET_KEY is not set -# CONFIG_NET_KEY_MIGRATE is not set -# CONFIG_NET_PACKET_ENGINE is not set -CONFIG_NET_PCI=y -# CONFIG_NET_PCMCIA is not set -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_POCKET is not set -# CONFIG_NET_POLL_CONTROLLER is not set -# CONFIG_NET_SB1000 is not set -CONFIG_NET_SCHED=y -# CONFIG_NET_SCH_ATM is not set -# CONFIG_NET_SCH_CBQ is not set -# CONFIG_NET_SCH_CHOKE is not set -# CONFIG_NET_SCH_CODEL is not set -# CONFIG_NET_SCH_DRR is not set -# CONFIG_NET_SCH_DSMARK is not set -# CONFIG_NET_SCH_ESFQ is not set -CONFIG_NET_SCH_ESFQ_NFCT=y -CONFIG_NET_SCH_FIFO=y -CONFIG_NET_SCH_FQ_CODEL=y -# CONFIG_NET_SCH_GRED is not set -# CONFIG_NET_SCH_HFSC is not set -CONFIG_NET_SCH_HTB=y -# CONFIG_NET_SCH_INGRESS is not set -# CONFIG_NET_SCH_MQPRIO is not set -# CONFIG_NET_SCH_MULTIQ is not set -# CONFIG_NET_SCH_NETEM is not set -# CONFIG_NET_SCH_PLUG is not set -# CONFIG_NET_SCH_PRIO is not set -# CONFIG_NET_SCH_QFQ is not set -# CONFIG_NET_SCH_RED is not set -# CONFIG_NET_SCH_SFB is not set -CONFIG_NET_SCH_SFQ=y -# CONFIG_NET_SCH_TBF is not set -# CONFIG_NET_SCH_TEQL is not set -# CONFIG_NET_TEAM is not set -# CONFIG_NET_TULIP is not set -CONFIG_NET_VENDOR_3COM=y -CONFIG_NET_VENDOR_8390=y -CONFIG_NET_VENDOR_ADAPTEC=y -CONFIG_NET_VENDOR_ALTEON=y -CONFIG_NET_VENDOR_AMD=y -CONFIG_NET_VENDOR_ATHEROS=y -CONFIG_NET_VENDOR_BROADCOM=y -CONFIG_NET_VENDOR_BROCADE=y -CONFIG_NET_VENDOR_CHELSIO=y -CONFIG_NET_VENDOR_CIRRUS=y -CONFIG_NET_VENDOR_CISCO=y -CONFIG_NET_VENDOR_DEC=y -CONFIG_NET_VENDOR_DLINK=y -CONFIG_NET_VENDOR_EMULEX=y -CONFIG_NET_VENDOR_EXAR=y -CONFIG_NET_VENDOR_FARADAY=y -CONFIG_NET_VENDOR_FREESCALE=y -CONFIG_NET_VENDOR_FUJITSU=y -CONFIG_NET_VENDOR_HP=y -CONFIG_NET_VENDOR_I825XX=y -CONFIG_NET_VENDOR_IBM=y -CONFIG_NET_VENDOR_INTEL=y -CONFIG_NET_VENDOR_MARVELL=y -CONFIG_NET_VENDOR_MELLANOX=y -CONFIG_NET_VENDOR_MICREL=y -CONFIG_NET_VENDOR_MICROCHIP=y -CONFIG_NET_VENDOR_MYRI=y -CONFIG_NET_VENDOR_NATSEMI=y -CONFIG_NET_VENDOR_NVIDIA=y -CONFIG_NET_VENDOR_OKI=y -CONFIG_NET_VENDOR_QLOGIC=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_NET_VENDOR_REALTEK=y -CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -CONFIG_NET_VENDOR_SILICOM=y -CONFIG_NET_VENDOR_SIS=y -CONFIG_NET_VENDOR_SMSC=y -CONFIG_NET_VENDOR_STMICRO=y -CONFIG_NET_VENDOR_SUN=y -CONFIG_NET_VENDOR_TEHUTI=y -CONFIG_NET_VENDOR_TI=y -CONFIG_NET_VENDOR_TOSHIBA=y -CONFIG_NET_VENDOR_VIA=y -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_NET_VENDOR_XILINX=y -CONFIG_NET_VENDOR_XIRCOM=y -# CONFIG_NEW_LEDS is not set -# CONFIG_NFC is not set -# CONFIG_NFC_DEVICES is not set -# CONFIG_NFSD is not set -# CONFIG_NFSD_DEPRECATED is not set -# CONFIG_NFSD_V2_ACL is not set -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -# CONFIG_NFSD_V4 is not set -# CONFIG_NFS_ACL_SUPPORT is not set -CONFIG_NFS_COMMON=y -# CONFIG_NFS_FS is not set -# CONFIG_NFS_FSCACHE is not set -# CONFIG_NFS_SWAP is not set -# CONFIG_NFS_V2 is not set -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_V4_1 is not set -# CONFIG_NFTL is not set -CONFIG_NF_CONNTRACK=y -# CONFIG_NF_CONNTRACK_AMANDA is not set -# CONFIG_NF_CONNTRACK_EVENTS is not set -CONFIG_NF_CONNTRACK_FTP=y -# CONFIG_NF_CONNTRACK_H323 is not set -CONFIG_NF_CONNTRACK_IPV4=y -# CONFIG_NF_CONNTRACK_IPV6 is not set -# CONFIG_NF_CONNTRACK_IRC is not set -# CONFIG_NF_CONNTRACK_MARK is not set -# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set -CONFIG_NF_CONNTRACK_PPTP=y -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_PROC_COMPAT=y -# CONFIG_NF_CONNTRACK_RTSP is not set -# CONFIG_NF_CONNTRACK_SANE is not set -CONFIG_NF_CONNTRACK_SIP=y -# CONFIG_NF_CONNTRACK_SNMP is not set -# CONFIG_NF_CONNTRACK_TFTP is not set -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -# CONFIG_NF_CONNTRACK_ZONES is not set -# CONFIG_NF_CT_NETLINK is not set -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -# CONFIG_NF_CT_PROTO_DCCP is not set -CONFIG_NF_CT_PROTO_GRE=y -# CONFIG_NF_CT_PROTO_SCTP is not set -# CONFIG_NF_CT_PROTO_UDPLITE is not set -CONFIG_NF_DEFRAG_IPV4=y -CONFIG_NF_NAT=y -# CONFIG_NF_NAT_AMANDA is not set -CONFIG_NF_NAT_FTP=y -# CONFIG_NF_NAT_H323 is not set -CONFIG_NF_NAT_IPV4=y -# CONFIG_NF_NAT_IPV6 is not set -# CONFIG_NF_NAT_IRC is not set -CONFIG_NF_NAT_NEEDED=y -CONFIG_NF_NAT_PPTP=y -CONFIG_NF_NAT_PROTO_GRE=y -# CONFIG_NF_NAT_RTSP is not set -CONFIG_NF_NAT_SIP=y -# CONFIG_NF_NAT_SNMP_BASIC is not set -# CONFIG_NF_NAT_TFTP is not set -# CONFIG_NI52 is not set -# CONFIG_NI65 is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_NIU is not set -CONFIG_NLATTR=y -# CONFIG_NLM_XLP_BOARD is not set -# CONFIG_NLM_XLR_BOARD is not set -CONFIG_NLS=y -# CONFIG_NLS_ASCII is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_MAC_CELTIC is not set -# CONFIG_NLS_MAC_CENTEURO is not set -# CONFIG_NLS_MAC_CROATIAN is not set -# CONFIG_NLS_MAC_CYRILLIC is not set -# CONFIG_NLS_MAC_GAELIC is not set -# CONFIG_NLS_MAC_GREEK is not set -# CONFIG_NLS_MAC_ICELAND is not set -# CONFIG_NLS_MAC_INUIT is not set -# CONFIG_NLS_MAC_ROMAN is not set -# CONFIG_NLS_MAC_ROMANIAN is not set -# CONFIG_NLS_MAC_TURKISH is not set -# CONFIG_NLS_UTF8 is not set -# CONFIG_NOP_USB_XCEIV is not set -# CONFIG_NORTEL_HERMES is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_NOZOMI is not set -# CONFIG_NO_BOOTMEM is not set -# CONFIG_NO_HZ is not set -# CONFIG_NO_HZ_IDLE is not set -# CONFIG_NO_IOPORT is not set -# CONFIG_NS83820 is not set -# CONFIG_NTFS_DEBUG is not set -# CONFIG_NTFS_FS is not set -# CONFIG_NTFS_RW is not set -# CONFIG_NTP_PPS is not set -# CONFIG_NVRAM is not set -# CONFIG_NV_TCO is not set -# CONFIG_NXP_STB220 is not set -# CONFIG_NXP_STB225 is not set -# CONFIG_N_GSM is not set -# CONFIG_OABI_COMPAT is not set -# CONFIG_OBS600 is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_OCF_BENCH is not set -# CONFIG_OCF_C7108 is not set -# CONFIG_OCF_CRYPTOCTEON is not set -# CONFIG_OCF_EP80579 is not set -# CONFIG_OCF_HIFN is not set -# CONFIG_OCF_HIFNHIPP is not set -# CONFIG_OCF_IXP4XX is not set -# CONFIG_OCF_KIRKWOOD is not set -# CONFIG_OCF_OCF is not set -# CONFIG_OCF_OCFNULL is not set -# CONFIG_OCF_SAFE is not set -# CONFIG_OCF_TALITOS is not set -# CONFIG_OCF_UBSEC_SSB is not set -# CONFIG_OC_ETM is not set -# CONFIG_OF_SELFTEST is not set -# CONFIG_OMAP_CONTROL_USB is not set -# CONFIG_OMAP_OCP2SCP is not set -# CONFIG_OMAP_USB2 is not set -# CONFIG_OMAP_USB3 is not set -# CONFIG_OMFS_FS is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_OPENWRT_SDK is not set -# CONFIG_ORION_WATCHDOG is not set -# CONFIG_OSF_PARTITION is not set -CONFIG_OVERLAYFS_FS=y -# CONFIG_P54_COMMON is not set -CONFIG_PACKET=y -# CONFIG_PACKET_DIAG is not set -CONFIG_PAGEFLAGS_EXTENDED=y -# CONFIG_PAGE_POISONING is not set -CONFIG_PAGE_SIZE_16KB=y -# CONFIG_PAGE_SIZE_32KB is not set -# CONFIG_PAGE_SIZE_4KB is not set -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PANEL is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -# CONFIG_PANTHERLORD_FF is not set -# CONFIG_PARPORT is not set -# CONFIG_PARPORT_1284 is not set -# CONFIG_PARPORT_AX88796 is not set -# CONFIG_PARPORT_PC is not set -# CONFIG_PARTITION_ADVANCED is not set -# CONFIG_PATA_ALI is not set -# CONFIG_PATA_AMD is not set -# CONFIG_PATA_ARASAN_CF is not set -# CONFIG_PATA_ARTOP is not set -# CONFIG_PATA_ATIIXP is not set -# CONFIG_PATA_ATP867X is not set -# CONFIG_PATA_CMD640_PCI is not set -# CONFIG_PATA_CMD64X is not set -# CONFIG_PATA_CS5520 is not set -# CONFIG_PATA_CS5530 is not set -# CONFIG_PATA_CS5535 is not set -# CONFIG_PATA_CS5536 is not set -# CONFIG_PATA_CYPRESS is not set -# CONFIG_PATA_EFAR is not set -# CONFIG_PATA_HPT366 is not set -# CONFIG_PATA_HPT37X is not set -# CONFIG_PATA_HPT3X2N is not set -# CONFIG_PATA_HPT3X3 is not set -# CONFIG_PATA_ISAPNP is not set -# CONFIG_PATA_IT8213 is not set -# CONFIG_PATA_IT821X is not set -# CONFIG_PATA_JMICRON is not set -# CONFIG_PATA_LEGACY is not set -# CONFIG_PATA_MARVELL is not set -# CONFIG_PATA_MPIIX is not set -# CONFIG_PATA_NETCELL is not set -# CONFIG_PATA_NINJA32 is not set -# CONFIG_PATA_NS87410 is not set -# CONFIG_PATA_NS87415 is not set -# CONFIG_PATA_OF_PLATFORM is not set -# CONFIG_PATA_OLDPIIX is not set -# CONFIG_PATA_OPTI is not set -# CONFIG_PATA_OPTIDMA is not set -# CONFIG_PATA_PCMCIA is not set -# CONFIG_PATA_PDC2027X is not set -# CONFIG_PATA_PDC_OLD is not set -# CONFIG_PATA_PLATFORM is not set -# CONFIG_PATA_QDI is not set -# CONFIG_PATA_RADISYS is not set -# CONFIG_PATA_RDC is not set -# CONFIG_PATA_RZ1000 is not set -# CONFIG_PATA_SC1200 is not set -# CONFIG_PATA_SCH is not set -# CONFIG_PATA_SERVERWORKS is not set -# CONFIG_PATA_SIL680 is not set -# CONFIG_PATA_SIS is not set -# CONFIG_PATA_TOSHIBA is not set -# CONFIG_PATA_TRIFLEX is not set -# CONFIG_PATA_VIA is not set -# CONFIG_PATA_WINBOND is not set -# CONFIG_PATA_WINBOND_VLB is not set -# CONFIG_PC300TOO is not set -# CONFIG_PCCARD is not set -# CONFIG_PCH_GBE is not set -# CONFIG_PCH_PHUB is not set -# CONFIG_PCI200SYN is not set -# CONFIG_PCIEAER_INJECT is not set -# CONFIG_PCIEASPM is not set -# CONFIG_PCIEPORTBUS is not set -# CONFIG_PCIE_ECRC is not set -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_PCI_ATMEL is not set -# CONFIG_PCI_CNB20LE_QUIRK is not set -# CONFIG_PCI_DEBUG is not set -# CONFIG_PCI_DISABLE_COMMON_QUIRKS is not set -# CONFIG_PCI_HERMES is not set -# CONFIG_PCI_IOV is not set -# CONFIG_PCI_MSI is not set -# CONFIG_PCI_PASID is not set -# CONFIG_PCI_PRI is not set -CONFIG_PCI_QUIRKS=y -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -# CONFIG_PCI_STUB is not set -CONFIG_PCI_SYSCALL=y -# CONFIG_PCMCIA is not set -# CONFIG_PCMCIA_3C574 is not set -# CONFIG_PCMCIA_3C589 is not set -# CONFIG_PCMCIA_AHA152X is not set -# CONFIG_PCMCIA_ATMEL is not set -# CONFIG_PCMCIA_AXNET is not set -# CONFIG_PCMCIA_DEBUG is not set -# CONFIG_PCMCIA_FDOMAIN is not set -# CONFIG_PCMCIA_FMVJ18X is not set -# CONFIG_PCMCIA_HERMES is not set -# CONFIG_PCMCIA_LOAD_CIS is not set -# CONFIG_PCMCIA_NINJA_SCSI is not set -# CONFIG_PCMCIA_NMCLAN is not set -# CONFIG_PCMCIA_PCNET is not set -# CONFIG_PCMCIA_QLOGIC is not set -# CONFIG_PCMCIA_RAYCS is not set -# CONFIG_PCMCIA_SMC91C92 is not set -# CONFIG_PCMCIA_SPECTRUM is not set -# CONFIG_PCMCIA_SYM53C500 is not set -# CONFIG_PCMCIA_WL3501 is not set -# CONFIG_PCMCIA_XIRC2PS is not set -# CONFIG_PCMCIA_XIRCOM is not set -# CONFIG_PCNET32 is not set -# CONFIG_PCSPKR_PLATFORM is not set -# CONFIG_PD6729 is not set -# CONFIG_PDA_POWER is not set -# CONFIG_PDC_ADMA is not set -# CONFIG_PERF_COUNTERS is not set -# CONFIG_PERF_EVENTS is not set -CONFIG_PERF_USE_VMALLOC=y -# CONFIG_PHANTOM is not set -# CONFIG_PHONE is not set -# CONFIG_PHONET is not set -# CONFIG_PHYLIB is not set -# CONFIG_PHYS_ADDR_T_64BIT is not set -# CONFIG_PID_IN_CONTEXTIDR is not set -# CONFIG_PID_NS is not set -# CONFIG_PINCTRL is not set -# CONFIG_PINCTRL_EXYNOS is not set -# CONFIG_PINCTRL_EXYNOS5440 is not set -# CONFIG_PLAT_SPEAR is not set -# CONFIG_PLIP is not set -# CONFIG_PLX_HERMES is not set -# CONFIG_PM is not set -# CONFIG_PMBUS is not set -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PMIC_ADP5520 is not set -# CONFIG_PMIC_DA903X is not set -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_DEVFREQ is not set -# CONFIG_PM_RUNTIME is not set -# CONFIG_PM_WAKELOCKS is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_POHMELFS is not set -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_POWERTV is not set -# CONFIG_POWER_AVS is not set -# CONFIG_POWER_RESET is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_SUPPLY is not set -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PPC4xx_GPIO is not set -# CONFIG_PPC_16K_PAGES is not set -# CONFIG_PPC_256K_PAGES is not set -CONFIG_PPC_4K_PAGES=y -# CONFIG_PPC_64K_PAGES is not set -# CONFIG_PPC_DISABLE_WERROR is not set -# CONFIG_PPC_EMULATED_STATS is not set -# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set -CONFIG_PPP=y -# CONFIG_PPPOATM is not set -CONFIG_PPPOE=y -# CONFIG_PPPOL2TP is not set -CONFIG_PPP_ASYNC=y -# CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_DEFLATE is not set -# CONFIG_PPP_FILTER is not set -# CONFIG_PPP_MPPE is not set -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_SYNC_TTY=y -# CONFIG_PPS is not set -# CONFIG_PPS_CLIENT_GPIO is not set -# CONFIG_PPS_CLIENT_KTIMER is not set -# CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_PARPORT is not set -# CONFIG_PPS_DEBUG is not set -# CONFIG_PPTP is not set -# CONFIG_PREEMPT is not set -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_RCU is not set -# CONFIG_PREEMPT_VOLUNTARY is not set -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_PRINTK=y -# CONFIG_PRINTK_TIME is not set -CONFIG_PRINT_STACK_DEPTH=64 -# CONFIG_PRISM2_USB is not set -# CONFIG_PRISM54 is not set -# CONFIG_PROBE_INITRD_HEADER is not set -# CONFIG_PROC_DEVICETREE is not set -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_PROC_STRIPPED=y -CONFIG_PROC_SYSCTL=y -# CONFIG_PROFILE_ALL_BRANCHES is not set -# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -# CONFIG_PROFILING is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_PROVE_RCU is not set -# CONFIG_PROVE_RCU_DELAY is not set -# CONFIG_PSB6970_PHY is not set -# CONFIG_PSTORE is not set -# CONFIG_PTP_1588_CLOCK is not set -# CONFIG_PTP_1588_CLOCK_IXP46X is not set -# CONFIG_PTP_1588_CLOCK_PCH is not set -# CONFIG_PWM is not set -# CONFIG_QLA3XXX is not set -# CONFIG_QLCNIC is not set -# CONFIG_QLGE is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -# CONFIG_QSEMI_PHY is not set -# CONFIG_QUOTA is not set -# CONFIG_QUOTACTL is not set -# CONFIG_QUOTA_DEBUG is not set -# CONFIG_R3964 is not set -# CONFIG_R6040 is not set -# CONFIG_R8169 is not set -# CONFIG_R8187SE is not set -# CONFIG_R8712U is not set -# CONFIG_RADIO_ADAPTERS is not set -# CONFIG_RADIO_AZTECH is not set -# CONFIG_RADIO_CADET is not set -# CONFIG_RADIO_GEMTEK is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_RTRACK is not set -# CONFIG_RADIO_RTRACK2 is not set -# CONFIG_RADIO_SF16FMI is not set -# CONFIG_RADIO_SF16FMR2 is not set -# CONFIG_RADIO_TERRATEC is not set -# CONFIG_RADIO_TRUST is not set -# CONFIG_RADIO_TYPHOON is not set -# CONFIG_RADIO_ZOLTRIX is not set -# CONFIG_RAID_ATTRS is not set -# CONFIG_RALINK is not set -# CONFIG_RAMOOPS is not set -# CONFIG_RAPIDIO is not set -# CONFIG_RAR_REGISTER is not set -# CONFIG_RAW_DRIVER is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_RCU_CPU_STALL_INFO is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -CONFIG_RCU_FANOUT=32 -# CONFIG_RCU_FANOUT_EXACT is not set -CONFIG_RCU_FANOUT_LEAF=16 -# CONFIG_RCU_FAST_NO_HZ is not set -# CONFIG_RCU_NOCB_CPU is not set -# CONFIG_RCU_STALL_COMMON is not set -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_TRACE is not set -# CONFIG_RCU_USER_QS is not set -# CONFIG_RC_CORE is not set -# CONFIG_RC_MAP is not set -# CONFIG_RDS is not set -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_GZIP is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_XZ is not set -# CONFIG_READABLE_ASM is not set -CONFIG_REALTEK=y -# CONFIG_REALTEK_PHY is not set -# CONFIG_REDWOOD is not set -# CONFIG_REGMAP is not set -# CONFIG_REGMAP_I2C is not set -# CONFIG_REGMAP_SPI is not set -# CONFIG_REGULATOR is not set -# CONFIG_REGULATOR_AD5398 is not set -# CONFIG_REGULATOR_BQ24022 is not set -# CONFIG_REGULATOR_FAN53555 is not set -# CONFIG_REGULATOR_FIXED_VOLTAGE is not set -# CONFIG_REGULATOR_GPIO is not set -# CONFIG_REGULATOR_ISL6271A is not set -# CONFIG_REGULATOR_LP3971 is not set -# CONFIG_REGULATOR_LP3972 is not set -# CONFIG_REGULATOR_LP872X is not set -# CONFIG_REGULATOR_LP8755 is not set -# CONFIG_REGULATOR_MAX1586 is not set -# CONFIG_REGULATOR_MAX8649 is not set -# CONFIG_REGULATOR_MAX8660 is not set -# CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set -# CONFIG_REGULATOR_TPS51632 is not set -# CONFIG_REGULATOR_TPS62360 is not set -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -# CONFIG_REGULATOR_TPS6524X is not set -# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_FS is not set -# CONFIG_REISERFS_FS_POSIX_ACL is not set -# CONFIG_REISERFS_FS_SECURITY is not set -# CONFIG_REISERFS_FS_XATTR is not set -# CONFIG_REISERFS_PROC_INFO is not set -# CONFIG_RELAY is not set -# CONFIG_RESET_CONTROLLER is not set -# CONFIG_RFD_FTL is not set -# CONFIG_RFKILL is not set -# CONFIG_RFKILL_INPUT is not set -# CONFIG_RING_BUFFER_BENCHMARK is not set -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_ROMFS_FS is not set -# CONFIG_ROSE is not set -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RT2X00 is not set -# CONFIG_RTC_CLASS is not set -# CONFIG_RTC_DEBUG is not set -# CONFIG_RTC_DRV_AU1XXX is not set -# CONFIG_RTC_DRV_BQ32K is not set -# CONFIG_RTC_DRV_BQ4802 is not set -CONFIG_RTC_DRV_CMOS=y -# CONFIG_RTC_DRV_DS1286 is not set -# CONFIG_RTC_DRV_DS1305 is not set -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1374 is not set -# CONFIG_RTC_DRV_DS1390 is not set -# CONFIG_RTC_DRV_DS1511 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_DS2404 is not set -# CONFIG_RTC_DRV_DS3232 is not set -# CONFIG_RTC_DRV_DS3234 is not set -# CONFIG_RTC_DRV_EM3027 is not set -# CONFIG_RTC_DRV_EP93XX is not set -# CONFIG_RTC_DRV_FM3130 is not set -# CONFIG_RTC_DRV_GENERIC is not set -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set -# CONFIG_RTC_DRV_ISL12022 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_M41T80 is not set -# CONFIG_RTC_DRV_M41T93 is not set -# CONFIG_RTC_DRV_M41T94 is not set -# CONFIG_RTC_DRV_M48T35 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_MAX6900 is not set -# CONFIG_RTC_DRV_MAX6902 is not set -# CONFIG_RTC_DRV_MPC5121 is not set -# CONFIG_RTC_DRV_MSM6242 is not set -# CONFIG_RTC_DRV_PCF2123 is not set -# CONFIG_RTC_DRV_PCF8523 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -# CONFIG_RTC_DRV_PCF8583 is not set -# CONFIG_RTC_DRV_PL030 is not set -# CONFIG_RTC_DRV_PL031 is not set -# CONFIG_RTC_DRV_PS3 is not set -# CONFIG_RTC_DRV_PT7C4338 is not set -# CONFIG_RTC_DRV_R9701 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_RS5C348 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_RTC7301 is not set -# CONFIG_RTC_DRV_RV3029C2 is not set -# CONFIG_RTC_DRV_RX4581 is not set -# CONFIG_RTC_DRV_RX8025 is not set -# CONFIG_RTC_DRV_RX8581 is not set -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_SNVS is not set -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_TEST is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_X1205 is not set -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_LIB=y -CONFIG_RTC_SYSTOHC=y -# CONFIG_RTL8180 is not set -# CONFIG_RTL8187 is not set -# CONFIG_RTL8192E is not set -# CONFIG_RTL8192U is not set -# CONFIG_RTL819X_SPI_FLASH is not set -# CONFIG_RTL8306_PHY is not set -# CONFIG_RTL8366RB_PHY is not set -# CONFIG_RTL8366S_PHY is not set -# CONFIG_RTL8366_SMI is not set -# CONFIG_RTL8366_SMI_DEBUG_FS is not set -# CONFIG_RTL8367B_PHY is not set -# CONFIG_RTL8367_PHY is not set -# CONFIG_RTLLIB is not set -CONFIG_RTL_8197F=y -# CONFIG_RTL_8197F_GW is not set -CONFIG_RTL_819X=y -# CONFIG_RTL_819X_SWCORE is not set -# CONFIG_RTS5139 is not set -# CONFIG_RTS_PSTOR is not set -CONFIG_RT_MUTEXES=y -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_RUNTIME_DEBUG is not set -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_S2IO is not set -# CONFIG_SAMPLES is not set -# CONFIG_SAMSUNG_LAPTOP is not set -# CONFIG_SATA_ACARD_AHCI is not set -# CONFIG_SATA_AHCI is not set -# CONFIG_SATA_AHCI_PLATFORM is not set -# CONFIG_SATA_DWC is not set -# CONFIG_SATA_FSL is not set -# CONFIG_SATA_HIGHBANK is not set -# CONFIG_SATA_INIC162X is not set -# CONFIG_SATA_MV is not set -# CONFIG_SATA_NV is not set -# CONFIG_SATA_PMP is not set -# CONFIG_SATA_PROMISE is not set -# CONFIG_SATA_QSTOR is not set -# CONFIG_SATA_SIL is not set -# CONFIG_SATA_SIL24 is not set -# CONFIG_SATA_SIS is not set -# CONFIG_SATA_SVW is not set -# CONFIG_SATA_SX4 is not set -# CONFIG_SATA_ULI is not set -# CONFIG_SATA_VIA is not set -# CONFIG_SATA_VITESSE is not set -# CONFIG_SBC_FITPC2_WATCHDOG is not set -# CONFIG_SBE_2T3E3 is not set -# CONFIG_SBYPASS is not set -# CONFIG_SC92031 is not set -# CONFIG_SCA3000 is not set -# CONFIG_SCC is not set -# CONFIG_SCHEDSTATS is not set -# CONFIG_SCHED_AUTOGROUP is not set -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHED_MC is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y -# CONFIG_SCHED_SMT is not set -# CONFIG_SCHED_TRACER is not set -# CONFIG_SCSI is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_3W_SAS is not set -# CONFIG_SCSI_7000FASST is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_AHA152X is not set -# CONFIG_SCSI_AHA1542 is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_SCSI_BFA_FC is not set -# CONFIG_SCSI_BNX2X_FCOE is not set -# CONFIG_SCSI_BNX2_ISCSI is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_CHELSIO_FCOE is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_CXGB3_ISCSI is not set -# CONFIG_SCSI_CXGB4_ISCSI is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_DH is not set -# CONFIG_SCSI_DMA is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_DTC3280 is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_GENERIC_NCR5380 is not set -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set -# CONFIG_SCSI_HPSA is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_IN2000 is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_ISCI is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -# CONFIG_SCSI_LPFC is not set -CONFIG_SCSI_MOD=y -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_MPT3SAS is not set -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_MVSAS is not set -# CONFIG_SCSI_MVSAS_DEBUG is not set -# CONFIG_SCSI_MVUMI is not set -# CONFIG_SCSI_NCR53C406A is not set -# CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_OSD_INITIATOR is not set -# CONFIG_SCSI_PAS16 is not set -# CONFIG_SCSI_PM8001 is not set -# CONFIG_SCSI_PMCRAID is not set -CONFIG_SCSI_PROC_FS=y -# CONFIG_SCSI_QLA_FC is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLOGIC_FAS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SCAN_ASYNC is not set -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_SRP is not set -# CONFIG_SCSI_SRP_ATTRS is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C416 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_T128 is not set -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_U14_34F is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_SCSI_ULTRASTOR is not set -CONFIG_SCSI_WAIT_SCAN=m -# CONFIG_SDIO_UART is not set -# CONFIG_SECCOMP is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SEEQ8005 is not set -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ABITUGURU3 is not set -# CONFIG_SENSORS_ACPI_POWER is not set -# CONFIG_SENSORS_AD7314 is not set -# CONFIG_SENSORS_AD7414 is not set -# CONFIG_SENSORS_AD7418 is not set -# CONFIG_SENSORS_ADCXX is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ADS1015 is not set -# CONFIG_SENSORS_ADS7828 is not set -# CONFIG_SENSORS_ADS7871 is not set -# CONFIG_SENSORS_ADT7310 is not set -# CONFIG_SENSORS_ADT7410 is not set -# CONFIG_SENSORS_ADT7411 is not set -# CONFIG_SENSORS_ADT7462 is not set -# CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7475 is not set -# CONFIG_SENSORS_AMC6821 is not set -# CONFIG_SENSORS_APDS990X is not set -# CONFIG_SENSORS_APPLESMC is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ASC7621 is not set -# CONFIG_SENSORS_ATK0110 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_BH1770 is not set -# CONFIG_SENSORS_BH1780 is not set -# CONFIG_SENSORS_CORETEMP is not set -# CONFIG_SENSORS_DME1737 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_DS620 is not set -# CONFIG_SENSORS_EMC1403 is not set -# CONFIG_SENSORS_EMC2103 is not set -# CONFIG_SENSORS_EMC6W201 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_F71882FG is not set -# CONFIG_SENSORS_F75375S is not set -# CONFIG_SENSORS_FAM15H_POWER is not set -# CONFIG_SENSORS_FSCHMD is not set -# CONFIG_SENSORS_G760A is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_GPIO_FAN is not set -# CONFIG_SENSORS_GSC is not set -# CONFIG_SENSORS_HDAPS is not set -# CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_HMC5843 is not set -# CONFIG_SENSORS_I5K_AMB is not set -# CONFIG_SENSORS_IIO_HWMON is not set -# CONFIG_SENSORS_INA209 is not set -# CONFIG_SENSORS_INA2XX is not set -# CONFIG_SENSORS_ISL29018 is not set -# CONFIG_SENSORS_ISL29028 is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_K10TEMP is not set -# CONFIG_SENSORS_K8TEMP is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LIS3LV02D is not set -# CONFIG_SENSORS_LIS3_I2C is not set -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM73 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_LM93 is not set -# CONFIG_SENSORS_LM95234 is not set -# CONFIG_SENSORS_LM95241 is not set -# CONFIG_SENSORS_LM95245 is not set -# CONFIG_SENSORS_LTC4151 is not set -# CONFIG_SENSORS_LTC4215 is not set -# CONFIG_SENSORS_LTC4245 is not set -# CONFIG_SENSORS_LTC4261 is not set -# CONFIG_SENSORS_MAX1111 is not set -# CONFIG_SENSORS_MAX16065 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX1668 is not set -# CONFIG_SENSORS_MAX197 is not set -# CONFIG_SENSORS_MAX6639 is not set -# CONFIG_SENSORS_MAX6642 is not set -# CONFIG_SENSORS_MAX6650 is not set -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_MCP3021 is not set -# CONFIG_SENSORS_NCT6775 is not set -# CONFIG_SENSORS_NTC_THERMISTOR is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_SCH5627 is not set -# CONFIG_SENSORS_SCH5636 is not set -# CONFIG_SENSORS_SCH56XX_COMMON is not set -# CONFIG_SENSORS_SHT15 is not set -# CONFIG_SENSORS_SHT21 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMM665 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_THMC50 is not set -# CONFIG_SENSORS_TMP102 is not set -# CONFIG_SENSORS_TMP401 is not set -# CONFIG_SENSORS_TMP421 is not set -# CONFIG_SENSORS_TSL2550 is not set -# CONFIG_SENSORS_TSL2563 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_VIA_CPUTEMP is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83795 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83L786NG is not set -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_ACCENT is not set -# CONFIG_SERIAL_8250_BOCA is not set -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_SERIAL_8250_CS is not set -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_DMA=y -CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_8250_EM is not set -# CONFIG_SERIAL_8250_EXAR_ST16C554 is not set -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_FOURPORT is not set -# CONFIG_SERIAL_8250_HUB6 is not set -# CONFIG_SERIAL_8250_MANY_PORTS is not set -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_PCI is not set -# CONFIG_SERIAL_8250_RSA is not set -CONFIG_SERIAL_8250_RUNTIME_UARTS=1 -CONFIG_SERIAL_8250_SYSRQ=y -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_ARC is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set -# CONFIG_SERIAL_IFX6X60 is not set -# CONFIG_SERIAL_JSM is not set -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX3107 is not set -# CONFIG_SERIAL_MAX310X is not set -# CONFIG_SERIAL_MFD_HSU is not set -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_SERIAL_OF_PLATFORM is not set -# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set -# CONFIG_SERIAL_PCH_UART is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_RTL_UART2 is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_TIMBERDALE is not set -# CONFIG_SERIAL_UARTLITE is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -# CONFIG_SERIO is not set -# CONFIG_SERIO_ALTERA_PS2 is not set -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_ARC_PS2 is not set -# CONFIG_SERIO_I8042 is not set -# CONFIG_SERIO_LIBPS2 is not set -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_PS2MULT is not set -# CONFIG_SERIO_RAW is not set -# CONFIG_SERIO_SERPORT is not set -# CONFIG_SFC is not set -# CONFIG_SFI is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP28 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_SHMEM is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SIGMA is not set -CONFIG_SIGNALFD=y -# CONFIG_SIMPLE_GPIO is not set -# CONFIG_SIS190 is not set -# CONFIG_SIS900 is not set -# CONFIG_SKGE is not set -# CONFIG_SKY2 is not set -# CONFIG_SKY2_DEBUG is not set -# CONFIG_SLAB is not set -CONFIG_SLABINFO=y -CONFIG_SLHC=y -# CONFIG_SLICOSS is not set -# CONFIG_SLIP is not set -# CONFIG_SLOB is not set -CONFIG_SLUB=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_SLUB_STATS is not set -# CONFIG_SMARTJOYPLUS_FF is not set -# CONFIG_SMC911X is not set -# CONFIG_SMC9194 is not set -# CONFIG_SMC91X is not set -# CONFIG_SMP is not set -# CONFIG_SMSC911X is not set -# CONFIG_SMSC9420 is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_SM_FTL is not set -# CONFIG_SND is not set -# CONFIG_SND_AC97_POWER_SAVE is not set -# CONFIG_SND_AD1816A is not set -# CONFIG_SND_AD1848 is not set -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ADLIB is not set -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ALOOP is not set -# CONFIG_SND_ALS100 is not set -# CONFIG_SND_ALS300 is not set -# CONFIG_SND_ALS4000 is not set -# CONFIG_SND_ARM is not set -# CONFIG_SND_ASIHPI is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_ATMEL_AC97C is not set -# CONFIG_SND_ATMEL_SOC is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AW2 is not set -# CONFIG_SND_AZT2320 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_CMI8330 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_CS4231 is not set -# CONFIG_SND_CS4236 is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_CS5530 is not set -# CONFIG_SND_CS5535AUDIO is not set -# CONFIG_SND_CTXFI is not set -# CONFIG_SND_DARLA20 is not set -# CONFIG_SND_DARLA24 is not set -# CONFIG_SND_DEBUG is not set -# CONFIG_SND_DESIGNWARE_I2S is not set -CONFIG_SND_DRIVERS=y -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -# CONFIG_SND_ECHO3G is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1688 is not set -# CONFIG_SND_ES18XX is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_FIREWIRE is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_GINA20 is not set -# CONFIG_SND_GINA24 is not set -# CONFIG_SND_GUSCLASSIC is not set -# CONFIG_SND_GUSEXTREME is not set -# CONFIG_SND_GUSMAX is not set -# CONFIG_SND_HDA_INTEL is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_HRTIMER is not set -# CONFIG_SND_HWDEP is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INDIGO is not set -# CONFIG_SND_INDIGODJ is not set -# CONFIG_SND_INDIGODJX is not set -# CONFIG_SND_INDIGOIO is not set -# CONFIG_SND_INDIGOIOX is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_INTERWAVE is not set -# CONFIG_SND_INTERWAVE_STB is not set -# CONFIG_SND_ISA is not set -# CONFIG_SND_KIRKWOOD_SOC is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_LAYLA20 is not set -# CONFIG_SND_LAYLA24 is not set -# CONFIG_SND_LOLA is not set -# CONFIG_SND_LX6464ES is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_MIA is not set -# CONFIG_SND_MIPS is not set -# CONFIG_SND_MIRO is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_MIXER_OSS is not set -# CONFIG_SND_MONA is not set -# CONFIG_SND_MPC52xx_SOC_EFIKA is not set -# CONFIG_SND_MPU401 is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_MTS64 is not set -# CONFIG_SND_MXS_SOC is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_OPL3SA2 is not set -# CONFIG_SND_OPTI92X_AD1848 is not set -# CONFIG_SND_OPTI92X_CS4231 is not set -# CONFIG_SND_OPTI93X is not set -CONFIG_SND_OSSEMUL=y -# CONFIG_SND_OXYGEN is not set -CONFIG_SND_PCI=y -# CONFIG_SND_PCM is not set -# CONFIG_SND_PCMCIA is not set -# CONFIG_SND_PCM_OSS is not set -CONFIG_SND_PCM_OSS_PLUGINS=y -# CONFIG_SND_PCXHR is not set -# CONFIG_SND_PDAUDIOCF is not set -# CONFIG_SND_PORTMAN2X4 is not set -# CONFIG_SND_POWERPC_SOC is not set -# CONFIG_SND_PPC is not set -# CONFIG_SND_RAWMIDI is not set -# CONFIG_SND_RIPTIDE is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_RTCTIMER is not set -# CONFIG_SND_SB16 is not set -# CONFIG_SND_SB8 is not set -# CONFIG_SND_SBAWE is not set -# CONFIG_SND_SEQUENCER is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_SIMPLE_CARD is not set -# CONFIG_SND_SIS7019 is not set -# CONFIG_SND_SOC is not set -# CONFIG_SND_SOC_AU1XAUDIO is not set -# CONFIG_SND_SOC_AU1XPSC is not set -# CONFIG_SND_SOC_CACHE_LZO is not set -# CONFIG_SND_SOC_MPC5200_AC97 is not set -# CONFIG_SND_SOC_MPC5200_I2S is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_SSCAPE is not set -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_TIMER is not set -# CONFIG_SND_TRIDENT is not set -CONFIG_SND_USB=y -# CONFIG_SND_USB_6FIRE is not set -# CONFIG_SND_USB_AUDIO is not set -# CONFIG_SND_USB_CAIAQ is not set -# CONFIG_SND_USB_UA101 is not set -# CONFIG_SND_USB_US122L is not set -# CONFIG_SND_USB_USX2Y is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VIRTUOSO is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_VXPOCKET is not set -# CONFIG_SND_WAVEFRONT is not set -# CONFIG_SND_YMFPCI is not set -# CONFIG_SNI_RM is not set -CONFIG_SOCK_DIAG=y -# CONFIG_SOC_CAMERA is not set -CONFIG_SOC_RTL8197F=y -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_SOLO6X10 is not set -# CONFIG_SONYPI is not set -# CONFIG_SONY_LAPTOP is not set -# CONFIG_SOUND is not set -# CONFIG_SOUND_PRIME is not set -# CONFIG_SP5100_TCO is not set -# CONFIG_SPARSEMEM_MANUAL is not set -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -# CONFIG_SPARSE_IRQ is not set -# CONFIG_SPARSE_RCU_POINTER is not set -# CONFIG_SPEAKUP is not set -CONFIG_SPI=y -# CONFIG_SPINLOCK_TEST is not set -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_AU1550 is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_BUTTERFLY is not set -# CONFIG_SPI_DEBUG is not set -# CONFIG_SPI_DESIGNWARE is not set -# CONFIG_SPI_FSL_ESPI is not set -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_GPIO_OLD is not set -# CONFIG_SPI_LM70_LLP is not set -CONFIG_SPI_MASTER=y -# CONFIG_SPI_MPC52xx is not set -# CONFIG_SPI_MPC52xx_PSC is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_ORION is not set -# CONFIG_SPI_PL022 is not set -# CONFIG_SPI_PPC4xx is not set -# CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_PXA2XX_PCI is not set -# CONFIG_SPI_RAMIPS is not set -# CONFIG_SPI_SC18IS602 is not set -CONFIG_SPI_SHEIPA=y -# CONFIG_SPI_SPIDEV is not set -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPI_TOPCLIFF_PCH is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_XWAY is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_SQUASHFS=y -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -CONFIG_SQUASHFS_EMBEDDED=y -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# CONFIG_SQUASHFS_LZO is not set -# CONFIG_SQUASHFS_XATTR is not set -# CONFIG_SQUASHFS_XZ is not set -CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SRAM is not set -# CONFIG_SSB is not set -# CONFIG_SSBI is not set -# CONFIG_SSB_DEBUG is not set -# CONFIG_SSB_DRIVER_GPIO is not set -# CONFIG_SSB_PCMCIAHOST is not set -CONFIG_SSB_POSSIBLE=y -# CONFIG_SSB_SDIOHOST is not set -# CONFIG_SSB_SILENT is not set -# CONFIG_SSFDC is not set -CONFIG_STACKTRACE_SUPPORT=y -# CONFIG_STACK_TRACER is not set -# CONFIG_STAGING is not set -# CONFIG_STAGING_MEDIA is not set -CONFIG_STANDALONE=y -CONFIG_STDBINUTILS=y -# CONFIG_STE10XP is not set -# CONFIG_STE_MODEM_RPROC is not set -# CONFIG_STMMAC_ETH is not set -CONFIG_STP=y -# CONFIG_STRICT_DEVMEM is not set -CONFIG_STRIP_ASM_SYMS=y -# CONFIG_STUB_POULSBO is not set -# CONFIG_SUNDANCE is not set -# CONFIG_SUNGEM is not set -# CONFIG_SUNRPC is not set -# CONFIG_SUNRPC_DEBUG is not set -# CONFIG_SUNRPC_GSS is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_SUSPEND is not set -# CONFIG_SWAP is not set -# CONFIG_SWCONFIG is not set -# CONFIG_SWCONFIG_LEDS is not set -# CONFIG_SYNCLINK_CS is not set -# CONFIG_SYN_COOKIES is not set -CONFIG_SYSCTL=y -CONFIG_SYSCTL_SYSCALL=y -# CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_SYSFS=y -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_SYSFS_DEPRECATED_V2 is not set -# CONFIG_SYSV68_PARTITION is not set -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_SYSV_FS is not set -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -# CONFIG_SYS_HYPERVISOR is not set -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -# CONFIG_TARGET_CORE is not set -# CONFIG_TASKSTATS is not set -# CONFIG_TC35815 is not set -# CONFIG_TCG_TPM is not set -# CONFIG_TCIC is not set -# CONFIG_TCP_CONG_ADVANCED is not set -# CONFIG_TCP_CONG_BIC is not set -CONFIG_TCP_CONG_CUBIC=y -# CONFIG_TCP_CONG_HSTCP is not set -# CONFIG_TCP_CONG_HTCP is not set -# CONFIG_TCP_CONG_HYBLA is not set -# CONFIG_TCP_CONG_ILLINOIS is not set -# CONFIG_TCP_CONG_LP is not set -# CONFIG_TCP_CONG_SCALABLE is not set -# CONFIG_TCP_CONG_VEGAS is not set -# CONFIG_TCP_CONG_VENO is not set -# CONFIG_TCP_CONG_WESTWOOD is not set -# CONFIG_TCP_CONG_YEAH is not set -# CONFIG_TCP_MD5SIG is not set -# CONFIG_TEHUTI is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_TEST_POWER is not set -# CONFIG_TEST_STRING_HELPERS is not set -CONFIG_TEXTSEARCH=y -# CONFIG_TEXTSEARCH_BM is not set -# CONFIG_TEXTSEARCH_FSM is not set -# CONFIG_TEXTSEARCH_KMP is not set -# CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set -# CONFIG_THRUSTMASTER_FF is not set -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TICK_ONESHOT=y -# CONFIG_TIFM_CORE is not set -# CONFIG_TIGON3 is not set -# CONFIG_TIMB_DMA is not set -CONFIG_TIMERFD=y -# CONFIG_TIMER_STATS is not set -CONFIG_TINY_RCU=y -# CONFIG_TIPC is not set -# CONFIG_TI_ADC081C is not set -# CONFIG_TI_DAC7512 is not set -# CONFIG_TI_ST is not set -# CONFIG_TLAN is not set -# CONFIG_TMD_HERMES is not set -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -CONFIG_TMPFS_XATTR=y -# CONFIG_TOUCHSCREEN_AD7877 is not set -# CONFIG_TOUCHSCREEN_AD7879 is not set -# CONFIG_TOUCHSCREEN_AD7879_I2C is not set -# CONFIG_TOUCHSCREEN_AD7879_SPI is not set -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set -# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set -# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set -# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set -# CONFIG_TOUCHSCREEN_EETI is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_FUJITSU is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ILI210X is not set -# CONFIG_TOUCHSCREEN_INEXIO is not set -# CONFIG_TOUCHSCREEN_MCS5000 is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_MMS114 is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_S3C2410 is not set -# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set -# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_TPS6507X is not set -# CONFIG_TOUCHSCREEN_TSC2007 is not set -# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set -# CONFIG_TOUCHSCREEN_W90X900 is not set -# CONFIG_TOUCHSCREEN_WACOM_I2C is not set -# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set -# CONFIG_TOUCHSCREEN_WM97XX is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS65010 is not set -# CONFIG_TPS6507X is not set -# CONFIG_TR is not set -# CONFIG_TRACER_SNAPSHOT is not set -# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set -# CONFIG_TRACE_BRANCH_PROFILING is not set -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_TRACE_SINK is not set -CONFIG_TRACING_SUPPORT=y -CONFIG_TRAD_SIGNALS=y -# CONFIG_TRANSPARENT_HUGEPAGE is not set -# CONFIG_TRANZPORT is not set -# CONFIG_TREE_PREEMPT_RCU is not set -# CONFIG_TREE_RCU is not set -# CONFIG_TREE_RCU_TRACE is not set -# CONFIG_TSL2583 is not set -# CONFIG_TSL2x7x is not set -CONFIG_TTY=y -# CONFIG_TTY_PRINTK is not set -# CONFIG_TUN is not set -# CONFIG_TWL4030_CORE is not set -# CONFIG_TWL6040_CORE is not set -# CONFIG_TYPHOON is not set -# CONFIG_UACCESS_WITH_MEMCPY is not set -# CONFIG_UCB1400_CORE is not set -# CONFIG_UDF_FS is not set -CONFIG_UDF_NLS=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -# CONFIG_UFS_FS is not set -# CONFIG_UHID is not set -CONFIG_UIDGID_CONVERTED=y -# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set -# CONFIG_UIO is not set -# CONFIG_ULTRA is not set -# CONFIG_ULTRIX_PARTITION is not set -CONFIG_UNIX=y -# CONFIG_UNIX98_PTYS is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_UNIX_DIAG is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_USB is not set -# CONFIG_USBIP_CORE is not set -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_USB_ACM is not set -# CONFIG_USB_ADUTUX is not set -CONFIG_USB_ALI_M5632=y -# CONFIG_USB_AMD5536UDC is not set -CONFIG_USB_AN2720=y -# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB_ARCH_HAS_HCD=y -# CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USB_ARCH_HAS_XHCI is not set -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_ATM is not set -CONFIG_USB_BELKIN=y -# CONFIG_USB_C67X00_HCD is not set -# CONFIG_USB_CATC is not set -# CONFIG_USB_CDC_COMPOSITE is not set -# CONFIG_USB_CHIPIDEA is not set -# CONFIG_USB_CXACRU is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEFAULT_PERSIST=y -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DEVICE_CLASS is not set -# CONFIG_USB_DSBR is not set -# CONFIG_USB_DUMMY_HCD is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set -# CONFIG_USB_DWC_OTG_LPM is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_EG20T is not set -# CONFIG_USB_EHCI_HCD_AT91 is not set -# CONFIG_USB_EHCI_HCD_PPC_OF is not set -# CONFIG_USB_EHCI_MV is not set -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_ENESTORAGE is not set -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_ET61X251 is not set -CONFIG_USB_EZUSB=y -# CONFIG_USB_EZUSB_FX2 is not set -# CONFIG_USB_FILE_STORAGE is not set -# CONFIG_USB_FSL_USB2 is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_FUNCTIONFS is not set -# CONFIG_USB_FUSB300 is not set -# CONFIG_USB_GADGET is not set -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET_DEBUG is not set -# CONFIG_USB_GADGET_DEBUG_FILES is not set -# CONFIG_USB_GADGET_DEBUG_FS is not set -CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 -CONFIG_USB_GADGET_VBUS_DRAW=2 -# CONFIG_USB_GL860 is not set -# CONFIG_USB_GOKU is not set -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_GSPCA is not set -# CONFIG_USB_GSPCA_BENQ is not set -# CONFIG_USB_GSPCA_CONEX is not set -# CONFIG_USB_GSPCA_CPIA1 is not set -# CONFIG_USB_GSPCA_ETOMS is not set -# CONFIG_USB_GSPCA_FINEPIX is not set -# CONFIG_USB_GSPCA_JEILINJ is not set -# CONFIG_USB_GSPCA_JL2005BCD is not set -# CONFIG_USB_GSPCA_KINECT is not set -# CONFIG_USB_GSPCA_KONICA is not set -# CONFIG_USB_GSPCA_MARS is not set -# CONFIG_USB_GSPCA_MR97310A is not set -# CONFIG_USB_GSPCA_NW80X is not set -# CONFIG_USB_GSPCA_OV519 is not set -# CONFIG_USB_GSPCA_OV534 is not set -# CONFIG_USB_GSPCA_OV534_9 is not set -# CONFIG_USB_GSPCA_PAC207 is not set -# CONFIG_USB_GSPCA_PAC7302 is not set -# CONFIG_USB_GSPCA_PAC7311 is not set -# CONFIG_USB_GSPCA_SE401 is not set -# CONFIG_USB_GSPCA_SN9C2028 is not set -# CONFIG_USB_GSPCA_SN9C20X is not set -# CONFIG_USB_GSPCA_SONIXB is not set -# CONFIG_USB_GSPCA_SONIXJ is not set -# CONFIG_USB_GSPCA_SPCA1528 is not set -# CONFIG_USB_GSPCA_SPCA500 is not set -# CONFIG_USB_GSPCA_SPCA501 is not set -# CONFIG_USB_GSPCA_SPCA505 is not set -# CONFIG_USB_GSPCA_SPCA506 is not set -# CONFIG_USB_GSPCA_SPCA508 is not set -# CONFIG_USB_GSPCA_SPCA561 is not set -# CONFIG_USB_GSPCA_SQ905 is not set -# CONFIG_USB_GSPCA_SQ905C is not set -# CONFIG_USB_GSPCA_SQ930X is not set -# CONFIG_USB_GSPCA_STK014 is not set -# CONFIG_USB_GSPCA_STV0680 is not set -# CONFIG_USB_GSPCA_SUNPLUS is not set -# CONFIG_USB_GSPCA_T613 is not set -# CONFIG_USB_GSPCA_TOPRO is not set -# CONFIG_USB_GSPCA_TV8532 is not set -# CONFIG_USB_GSPCA_VC032X is not set -# CONFIG_USB_GSPCA_VICAM is not set -# CONFIG_USB_GSPCA_XIRLINK_CIT is not set -# CONFIG_USB_GSPCA_ZC3XX is not set -# CONFIG_USB_G_ACM_MS is not set -# CONFIG_USB_G_DBGP is not set -# CONFIG_USB_G_HID is not set -# CONFIG_USB_G_MULTI is not set -# CONFIG_USB_G_NCM is not set -# CONFIG_USB_G_NOKIA is not set -# CONFIG_USB_G_PRINTER is not set -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_G_WEBCAM is not set -# CONFIG_USB_HID is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_HSIC_USB3503 is not set -# CONFIG_USB_HSO is not set -# CONFIG_USB_HWA_HCD is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_INPUT_IMS_PCU is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_IPHETH is not set -# CONFIG_USB_IP_COMMON is not set -# CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ISP1362_HCD is not set -# CONFIG_USB_ISP1760_HCD is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_KBD is not set -# CONFIG_USB_KC2190 is not set -# CONFIG_USB_KONICAWC is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LIBUSUAL is not set -# CONFIG_USB_M5602 is not set -# CONFIG_USB_M66592 is not set -# CONFIG_USB_MASS_STORAGE is not set -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USB_MIDI_GADGET is not set -# CONFIG_USB_MON is not set -# CONFIG_USB_MOUSE is not set -# CONFIG_USB_MUSB_HDRC is not set -# CONFIG_USB_MV_U3D is not set -# CONFIG_USB_MV_UDC is not set -# CONFIG_USB_NET2272 is not set -# CONFIG_USB_NET2280 is not set -# CONFIG_USB_NET_AX88179_178A is not set -# CONFIG_USB_NET_AX8817X is not set -# CONFIG_USB_NET_CDCETHER is not set -# CONFIG_USB_NET_CDC_EEM is not set -# CONFIG_USB_NET_CDC_MBIM is not set -# CONFIG_USB_NET_CDC_NCM is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -# CONFIG_USB_NET_CX82310_ETH is not set -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_GL620A is not set -# CONFIG_USB_NET_INT51X1 is not set -# CONFIG_USB_NET_KALMIA is not set -# CONFIG_USB_NET_MCS7830 is not set -# CONFIG_USB_NET_NET1080 is not set -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_QMI_WWAN is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_RNDIS_WLAN is not set -# CONFIG_USB_NET_SMSC75XX is not set -# CONFIG_USB_NET_SMSC95XX is not set -# CONFIG_USB_NET_ZAURUS is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_OHCI_HCD_PCI is not set -# CONFIG_USB_OHCI_HCD_PPC_OF is not set -# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set -# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set -# CONFIG_USB_OHCI_HCD_PPC_SOC is not set -# CONFIG_USB_OHCI_HCD_SSB is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_PHY is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_PWC_INPUT_EVDEV is not set -# CONFIG_USB_PXA27X is not set -# CONFIG_USB_R8A66597 is not set -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_RCAR_PHY is not set -# CONFIG_USB_RENESAS_USBHS is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_RTL8152 is not set -# CONFIG_USB_S2255 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_SERIAL is not set -# CONFIG_USB_SERIAL_AIRCABLE is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set -# CONFIG_USB_SERIAL_CH341 is not set -# CONFIG_USB_SERIAL_CP210X is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_DEBUG is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_F81232 is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# CONFIG_USB_SERIAL_FUNSOFT is not set -# CONFIG_USB_SERIAL_GARMIN is not set -CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_HP4X is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_IUU is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -CONFIG_USB_SERIAL_KEYSPAN_MPR=y -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -CONFIG_USB_SERIAL_KEYSPAN_USA18X=y -CONFIG_USB_SERIAL_KEYSPAN_USA19=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y -CONFIG_USB_SERIAL_KEYSPAN_USA19W=y -CONFIG_USB_SERIAL_KEYSPAN_USA28=y -CONFIG_USB_SERIAL_KEYSPAN_USA28X=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y -CONFIG_USB_SERIAL_KEYSPAN_USA49W=y -CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_METRO is not set -# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set -# CONFIG_USB_SERIAL_MOS7720 is not set -# CONFIG_USB_SERIAL_MOS7840 is not set -# CONFIG_USB_SERIAL_MOTOROLA is not set -# CONFIG_USB_SERIAL_NAVMAN is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_OPTICON is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OTI6858 is not set -# CONFIG_USB_SERIAL_PL2303 is not set -# CONFIG_USB_SERIAL_QCAUX is not set -# CONFIG_USB_SERIAL_QT2 is not set -# CONFIG_USB_SERIAL_QUALCOMM is not set -# CONFIG_USB_SERIAL_QUATECH2 is not set -# CONFIG_USB_SERIAL_QUATECH_USB2 is not set -# CONFIG_USB_SERIAL_SAFE is not set -CONFIG_USB_SERIAL_SAFE_PADDED=y -# CONFIG_USB_SERIAL_SIEMENS_MPI is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_SPCP8X5 is not set -# CONFIG_USB_SERIAL_SSU100 is not set -# CONFIG_USB_SERIAL_SYMBOL is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_ZIO is not set -# CONFIG_USB_SERIAL_ZTE is not set -# CONFIG_USB_SEVSEG is not set -# CONFIG_USB_SIERRA_NET is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_SN9C102 is not set -# CONFIG_USB_SPEEDTOUCH is not set -# CONFIG_USB_STKWEBCAM is not set -# CONFIG_USB_STORAGE is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_REALTEK is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STV06XX is not set -# CONFIG_USB_SUPPORT is not set -# CONFIG_USB_SUSPEND is not set -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_USB_TEST is not set -# CONFIG_USB_TMC is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_UAS is not set -# CONFIG_USB_UEAGLEATM is not set -# CONFIG_USB_ULPI is not set -# CONFIG_USB_USBNET is not set -# CONFIG_USB_USS720 is not set -# CONFIG_USB_VIDEO_CLASS is not set -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -# CONFIG_USB_VL600 is not set -# CONFIG_USB_WDM is not set -# CONFIG_USB_WHCI_HCD is not set -# CONFIG_USB_WPAN_HCD is not set -# CONFIG_USB_WUSB is not set -# CONFIG_USB_WUSB_CBAF is not set -# CONFIG_USB_XHCI_HCD is not set -# CONFIG_USB_XUSBATM is not set -# CONFIG_USB_YUREX is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_ZERO is not set -# CONFIG_USB_ZR364XX is not set -# CONFIG_USE_GENERIC_SMP_HELPERS is not set -# CONFIG_USE_OF is not set -# CONFIG_UTS_NS is not set -# CONFIG_UWB is not set -# CONFIG_V4L_MEM2MEM_DRIVERS is not set -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VETH is not set -CONFIG_VFAT_FS=y -# CONFIG_VGASTATE is not set -# CONFIG_VGA_ARB is not set -# CONFIG_VGA_SWITCHEROO is not set -# CONFIG_VIA_RHINE is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_VIDEO_ADV7170 is not set -# CONFIG_VIDEO_ADV7175 is not set -# CONFIG_VIDEO_ADV7180 is not set -# CONFIG_VIDEO_ADV7183 is not set -# CONFIG_VIDEO_ADV7343 is not set -# CONFIG_VIDEO_ADV7393 is not set -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_AK881X is not set -# CONFIG_VIDEO_BT819 is not set -# CONFIG_VIDEO_BT848 is not set -# CONFIG_VIDEO_BT856 is not set -# CONFIG_VIDEO_BT866 is not set -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CAFE_CCIC is not set -# CONFIG_VIDEO_CAPTURE_DRIVERS is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_CS5345 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_CX231XX is not set -# CONFIG_VIDEO_CX2341X is not set -# CONFIG_VIDEO_CX25840 is not set -# CONFIG_VIDEO_CX88 is not set -# CONFIG_VIDEO_DEV is not set -# CONFIG_VIDEO_DT3155 is not set -# CONFIG_VIDEO_EM28XX is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_GO7007 is not set -# CONFIG_VIDEO_HDPVR is not set -# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_IR_I2C is not set -# CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_KS0127 is not set -# CONFIG_VIDEO_M52790 is not set -# CONFIG_VIDEO_MEDIA is not set -# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_OUTPUT_CONTROL is not set -# CONFIG_VIDEO_OV7640 is not set -# CONFIG_VIDEO_OV7670 is not set -# CONFIG_VIDEO_PMS is not set -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_SAA6588 is not set -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7134 is not set -# CONFIG_VIDEO_SAA717X is not set -# CONFIG_VIDEO_SAA7185 is not set -# CONFIG_VIDEO_SAA7191 is not set -# CONFIG_VIDEO_SH_MOBILE_CEU is not set -# CONFIG_VIDEO_SONY_BTF_MPX is not set -# CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_TCM825X is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_TIMBERDALE is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_TM6000 is not set -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 is not set -# CONFIG_VIDEO_TW9903 is not set -# CONFIG_VIDEO_TW9906 is not set -# CONFIG_VIDEO_UDA1342 is not set -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set -# CONFIG_VIDEO_USBVISION is not set -# CONFIG_VIDEO_V4L2 is not set -# CONFIG_VIDEO_V4L2_COMMON is not set -# CONFIG_VIDEO_V4L2_INT_DEVICE is not set -# CONFIG_VIDEO_VIVI is not set -# CONFIG_VIDEO_VP27SMPX is not set -# CONFIG_VIDEO_VPX3220 is not set -# CONFIG_VIDEO_VS6624 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_ZORAN is not set -# CONFIG_VIRQ_DEBUG is not set -# CONFIG_VIRTIO_BALLOON is not set -# CONFIG_VIRTIO_MMIO is not set -# CONFIG_VIRTIO_PCI is not set -# CONFIG_VIRTUALIZATION is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRT_TO_BUS=y -# CONFIG_VITESSE_PHY is not set -CONFIG_VLAN_8021Q=y -# CONFIG_VLAN_8021Q_GVRP is not set -# CONFIG_VLAN_8021Q_MVRP is not set -# CONFIG_VME_BUS is not set -# CONFIG_VMSPLIT_1G is not set -# CONFIG_VMSPLIT_2G is not set -# CONFIG_VMSPLIT_2G_OPT is not set -CONFIG_VMSPLIT_3G=y -# CONFIG_VMSPLIT_3G_OPT is not set -# CONFIG_VMWARE_PVSCSI is not set -# CONFIG_VMXNET3 is not set -# CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_VORTEX is not set -# CONFIG_VSOCKETS is not set -# CONFIG_VT is not set -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -# CONFIG_VXFS_FS is not set -# CONFIG_VXGE is not set -# CONFIG_VXLAN is not set -# CONFIG_W1 is not set -# CONFIG_W1_CON is not set -# CONFIG_W1_MASTER_DS1WM is not set -# CONFIG_W1_MASTER_DS2482 is not set -# CONFIG_W1_MASTER_DS2490 is not set -# CONFIG_W1_MASTER_GPIO is not set -# CONFIG_W1_MASTER_MATROX is not set -# CONFIG_W1_SLAVE_BQ27000 is not set -# CONFIG_W1_SLAVE_DS2408 is not set -# CONFIG_W1_SLAVE_DS2413 is not set -# CONFIG_W1_SLAVE_DS2423 is not set -# CONFIG_W1_SLAVE_DS2431 is not set -# CONFIG_W1_SLAVE_DS2433 is not set -# CONFIG_W1_SLAVE_DS2760 is not set -# CONFIG_W1_SLAVE_DS2780 is not set -# CONFIG_W1_SLAVE_DS2781 is not set -# CONFIG_W1_SLAVE_DS28E04 is not set -# CONFIG_W1_SLAVE_SMEM is not set -# CONFIG_W1_SLAVE_THERM is not set -# CONFIG_W35UND is not set -# CONFIG_W83627HF_WDT is not set -# CONFIG_W83697HF_WDT is not set -# CONFIG_W83877F_WDT is not set -# CONFIG_W83977F_WDT is not set -# CONFIG_WAN is not set -# CONFIG_WANXL is not set -# CONFIG_WAN_ROUTER is not set -# CONFIG_WATCHDOG is not set -# CONFIG_WATCHDOG_CORE is not set -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_WD80x3 is not set -# CONFIG_WDTPCI is not set -CONFIG_WEXT_CORE=y -CONFIG_WEXT_PRIV=y -CONFIG_WEXT_PROC=y -CONFIG_WEXT_SPY=y -# CONFIG_WIMAX is not set -# CONFIG_WIMAX_GDM72XX is not set -CONFIG_WIRELESS=y -CONFIG_WIRELESS_EXT=y -# CONFIG_WIRELESS_EXT_SYSFS is not set -# CONFIG_WLAGS49_H2 is not set -# CONFIG_WLAGS49_H25 is not set -# CONFIG_WLAN is not set -# CONFIG_WL_TI is not set -# CONFIG_WRT_BARRIER_BREAKER is not set -# CONFIG_WR_PPMC is not set -# CONFIG_X25 is not set -CONFIG_XFRM=y -# CONFIG_XFRM_IPCOMP is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_XFRM_STATISTICS is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_USER is not set -# CONFIG_XFS_DEBUG is not set -# CONFIG_XFS_FS is not set -# CONFIG_XFS_POSIX_ACL is not set -# CONFIG_XFS_QUOTA is not set -# CONFIG_XFS_RT is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XILINX_AXI_EMAC is not set -# CONFIG_XILINX_EMACLITE is not set -# CONFIG_XILINX_LL_TEMAC is not set -# CONFIG_XIP_KERNEL is not set -# CONFIG_XMON is not set -# CONFIG_XVMALLOC is not set -# CONFIG_XZ_DEC is not set -# CONFIG_XZ_DEC_ARM is not set -# CONFIG_XZ_DEC_ARMTHUMB is not set -# CONFIG_XZ_DEC_BCJ is not set -# CONFIG_XZ_DEC_IA64 is not set -# CONFIG_XZ_DEC_POWERPC is not set -# CONFIG_XZ_DEC_SPARC is not set -# CONFIG_XZ_DEC_TEST is not set -# CONFIG_XZ_DEC_X86 is not set -# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set -# CONFIG_YAFFS_FS is not set -# CONFIG_YAM is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_YENTA is not set -# CONFIG_YENTA_O2 is not set -# CONFIG_YENTA_RICOH is not set -# CONFIG_YENTA_TI is not set -# CONFIG_YENTA_TOSHIBA is not set -# CONFIG_ZD1211RW is not set -# CONFIG_ZD1211RW_DEBUG is not set -# CONFIG_ZEROPLUS_FF is not set -# CONFIG_ZISOFS is not set -# CONFIG_ZLIB_DEFLATE is not set -CONFIG_ZLIB_INFLATE=y -# CONFIG_ZNET is not set -CONFIG_ZONE_DMA=y -CONFIG_ZONE_DMA_FLAG=0 -# CONFIG_ZRAM is not set -# CONFIG_ZSMALLOC is not set diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/kconfig/97FN_IOT_config-3.18 b/feeds/rtkmipsel/rtkmipsel/rtl8197f/kconfig/97FN_IOT_config-3.18 deleted file mode 100755 index 936fc1061..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/kconfig/97FN_IOT_config-3.18 +++ /dev/null @@ -1,377 +0,0 @@ -# CONFIG_ANT_SWITCH is not set -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -# CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -# CONFIG_AUTO_DHCP_CHECK is not set -# CONFIG_BACKLIGHT_ADP8860 is not set -# CONFIG_BACKLIGHT_ADP8870 is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_GENERIC=y -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_BACKLIGHT_PWM is not set -# CONFIG_BAND_2G_ON_WLAN0 is not set -CONFIG_BAND_5G_ON_WLAN0=y -CONFIG_BLK_DEV_SD=y -CONFIG_CEVT_R4K=y -CONFIG_CLKDEV_LOOKUP=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CMDLINE="board=AP console=ttyS0,38400 linuxpart=0x60000 hwpart=0x20000" -CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE_OVERRIDE=y -CONFIG_COMPAT_BRK=y -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y -CONFIG_CPU_R4K_CACHE_TLB=y -CONFIG_CPU_R4K_FPU=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CPU_SUPPORTS_MSA=y -CONFIG_CRC16=y -# CONFIG_CRC32_SARWATE is not set -CONFIG_CRC32_SLICEBY8=y -CONFIG_CRC_CCITT=y -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_DEV_REALTEK is not set -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_HW=y -CONFIG_CSRC_R4K=y -CONFIG_DEFAULTS_KERNEL_2_6=y -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_DEFAULT_NOOP=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_ETHERNET is not set -CONFIG_EXT4_FS=y -CONFIG_EXTRTL8212_PHYID_P1=18 -CONFIG_EXTRTL8212_PHYID_P3=20 -CONFIG_EXTRTL8212_PHYID_P5=22 -CONFIG_FAT_FS=y -CONFIG_FB=y -CONFIG_FB_BACKLIGHT=y -CONFIG_FB_CMDLINE=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_FLEX=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_SYS_IMAGEBLIT=y -CONFIG_FB_TFT=y -# CONFIG_FB_TFT_AGM1264K_FL is not set -# CONFIG_FB_TFT_BD663474 is not set -CONFIG_FB_TFT_FBTFT_DEVICE=y -# CONFIG_FB_TFT_HX8340BN is not set -# CONFIG_FB_TFT_HX8347D is not set -# CONFIG_FB_TFT_HX8353D is not set -# CONFIG_FB_TFT_ILI9320 is not set -# CONFIG_FB_TFT_ILI9325 is not set -# CONFIG_FB_TFT_ILI9340 is not set -CONFIG_FB_TFT_ILI9341=y -# CONFIG_FB_TFT_ILI9481 is not set -# CONFIG_FB_TFT_ILI9486 is not set -# CONFIG_FB_TFT_PCD8544 is not set -# CONFIG_FB_TFT_RA8875 is not set -# CONFIG_FB_TFT_S6D02A1 is not set -# CONFIG_FB_TFT_S6D1121 is not set -# CONFIG_FB_TFT_SSD1289 is not set -# CONFIG_FB_TFT_SSD1306 is not set -# CONFIG_FB_TFT_SSD1331 is not set -# CONFIG_FB_TFT_SSD1351 is not set -# CONFIG_FB_TFT_ST7735R is not set -# CONFIG_FB_TFT_TINYLCD is not set -# CONFIG_FB_TFT_TLS8204 is not set -# CONFIG_FB_TFT_UC1701 is not set -# CONFIG_FB_TFT_UPD161704 is not set -# CONFIG_FB_TFT_WATTEROTT is not set -CONFIG_FS_MBCACHE=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_IO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_BPF_JIT=y -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HZ_PERIODIC=y -CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_COMPAT=y -CONFIG_I2C_DEFAULT_PINMUX=y -CONFIG_I2C_DESIGNWARE_CORE=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_HELPER_AUTO=y -# CONFIG_I2C_PINMUX_2 is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_JBD2=y -# CONFIG_LCD_AMS369FG06 is not set -CONFIG_LCD_CLASS_DEVICE=y -# CONFIG_LCD_L4F00242T03 is not set -# CONFIG_LCD_LD9040 is not set -# CONFIG_LCD_LMS283GF05 is not set -# CONFIG_LCD_LTV350QV is not set -# CONFIG_LCD_PLATFORM is not set -# CONFIG_LCD_S6E63M0 is not set -# CONFIG_LCD_TDO24M is not set -# CONFIG_LCD_VGG2432A4 is not set -CONFIG_LEDS_PWM=y -# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -# CONFIG_LEDS_TRIGGER_NETDEV is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LOG_BUF_SHIFT=12 -# CONFIG_M25PXX_USE_AUTO_MODE is not set -# CONFIG_M25PXX_USE_FAST_READ is not set -# CONFIG_M25PXX_USE_MULTI_CHANNEL is not set -CONFIG_M25PXX_USE_USER_MODE=y -CONFIG_MAC_PHY_RF_Parameter_V702B_Skyworth=y -CONFIG_MDIO_BOARDINFO=y -CONFIG_MIPS=y -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MACHINE is not set -CONFIG_MODULES_USE_ELF_REL=y -# CONFIG_MP_PSD_SUPPORT is not set -CONFIG_MSDOS_FS=y -CONFIG_MTD_BLOCK2MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_M25P80=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_FIRMWARE=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NLS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -# CONFIG_NO_IOPORT_MAP is not set -CONFIG_NTFS_FS=y -CONFIG_OPENWRT_SDK=y -# CONFIG_PACP_SUPPORT is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PCI_HCI=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -# CONFIG_PHY_EAT_40MHZ is not set -# CONFIG_PREEMPT_RCU is not set -CONFIG_PWM=y -CONFIG_PWM_RTK=y -CONFIG_PWM_SYSFS=y -# CONFIG_RCU_STALL_COMMON is not set -# CONFIG_REALTEK is not set -CONFIG_REALTEK_97F=y -# CONFIG_RTK_BOOTINFO_DUALIMAGE is not set -# CONFIG_RTK_WLAN_EVENT_INDICATE is not set -# CONFIG_RTL8190_PRIV_SKB is not set -CONFIG_RTL8192CD=m -CONFIG_RTL819X_DW_SPI=y -CONFIG_RTL819X_DW_SPI0=y -CONFIG_RTL819X_DW_SPI1=y -# CONFIG_RTL819X_SPI_FLASH is not set -CONFIG_RTL819X_WDT=y -# CONFIG_RTL865X_KERNEL_MIPS16 is not set -CONFIG_RTL865X_MBUF_HEADROOM=128 -# CONFIG_RTL_11R_SUPPORT is not set -CONFIG_RTL_11W_SUPPORT=y -CONFIG_RTL_5G_SLOT_0=y -# CONFIG_RTL_802_1X_CLIENT_SUPPORT is not set -CONFIG_RTL_8197F=y -CONFIG_RTL_8197F_GW=y -CONFIG_RTL_8197F_WRT=y -CONFIG_RTL_819X=y -CONFIG_RTL_819X_SWCORE=y -# CONFIG_RTL_8211F_SUPPORT is not set -# CONFIG_RTL_8367R_SUPPORT is not set -# CONFIG_RTL_A4_STA_SUPPORT is not set -# CONFIG_RTL_ATM_SUPPORT is not set -CONFIG_RTL_CLIENT_MODE_SUPPORT=y -# CONFIG_RTL_COMAPI_CFGFILE is not set -# CONFIG_RTL_COMAPI_WLTOOLS is not set -CONFIG_RTL_DEBUG_TOOL=y -CONFIG_RTL_DFS_SUPPORT=y -CONFIG_RTL_DISABLE_ETH_MIPS16=y -CONFIG_RTL_DISABLE_WLAN_MIPS16=y -# CONFIG_RTL_DOT11K_SUPPORT is not set -CONFIG_RTL_EEE_DISABLED=y -# CONFIG_RTL_ETH_802DOT1X_SUPPORT is not set -# CONFIG_RTL_ETH_PRIV_SKB is not set -CONFIG_RTL_EXTPORT_VLANID=9 -CONFIG_RTL_FLASH_SIZE=0x800000 -# CONFIG_RTL_GSO is not set -# CONFIG_RTL_HARDWARE_NAT is not set -# CONFIG_RTL_HOSTAPD_SUPPORT is not set -# CONFIG_RTL_HS2_SUPPORT is not set -CONFIG_RTL_HW_L2_ONLY=y -# CONFIG_RTL_HW_MULTICAST_ONLY is not set -# CONFIG_RTL_HW_NAPT is not set -# CONFIG_RTL_HW_QOS_SUPPORT is not set -CONFIG_RTL_IGMP_PROXY=y -# CONFIG_RTL_IPTABLES_RULE_2_ACL is not set -CONFIG_RTL_IVL_SUPPORT=y -CONFIG_RTL_LAYERED_ASIC_DRIVER=y -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L4 is not set -CONFIG_RTL_LAYERED_DRIVER=y -CONFIG_RTL_LAYERED_DRIVER_ACL=y -CONFIG_RTL_LAYERED_DRIVER_L2=y -# CONFIG_RTL_LAYERED_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_DRIVER_L4 is not set -CONFIG_RTL_LINKCHG_PROCESS=y -# CONFIG_RTL_MESH_SUPPORT is not set -CONFIG_RTL_MLD_PROXY=y -# CONFIG_RTL_MULTI_CLONE_SUPPORT is not set -CONFIG_RTL_ODM_WLAN_DRIVER=y -# CONFIG_RTL_P2P_SUPPORT is not set -# CONFIG_RTL_PMKCACHE_SUPPORT is not set -CONFIG_RTL_PROC_DEBUG=y -CONFIG_RTL_REPEATER_MODE_SUPPORT=y -# CONFIG_RTL_ROMEPERF_24K is not set -# CONFIG_RTL_SENDFILE_PATCH is not set -# CONFIG_RTL_SIMPLE_CONFIG is not set -# CONFIG_RTL_STA_CONTROL_SUPPORT is not set -CONFIG_RTL_SUPPORT_MULTI_PROFILE=y -CONFIG_RTL_TDLS_SUPPORT=y -# CONFIG_RTL_TPT_THREAD is not set -# CONFIG_RTL_TSO is not set -# CONFIG_RTL_UNKOWN_UNICAST_CONTROL is not set -# CONFIG_RTL_USB_IP_HOST_SPEEDUP is not set -CONFIG_RTL_VAP_SUPPORT=y -# CONFIG_RTL_WAPI_SUPPORT is not set -CONFIG_RTL_WDS_SUPPORT=y -# CONFIG_RTL_WLAN_DIAGNOSTIC is not set -# CONFIG_RTL_WLAN_DOS_FILTER is not set -CONFIG_RTL_WPS2_SUPPORT=y -CONFIG_SCSI=y -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_8250_NR_UARTS=3 -CONFIG_SERIAL_8250_RUNTIME_UARTS=3 -CONFIG_SERIAL_8250_SYSRQ=y -CONFIG_SERIAL_RTL_UART1=y -CONFIG_SERIAL_RTL_UART1_PINMUX1=y -# CONFIG_SERIAL_RTL_UART1_PINMUX2 is not set -CONFIG_SERIAL_RTL_UART2=y -CONFIG_SERIAL_RTL_UART2_PINMUX1=y -# CONFIG_SERIAL_RTL_UART2_PINMUX2 is not set -# CONFIG_SLAB is not set -# CONFIG_SLOT_0_8192EE is not set -# CONFIG_SLOT_0_8194AE is not set -# CONFIG_SLOT_0_8723B is not set -# CONFIG_SLOT_0_8812 is not set -# CONFIG_SLOT_0_8812AR_VN is not set -# CONFIG_SLOT_0_8814AE is not set -CONFIG_SLOT_0_8822BE=y -# CONFIG_SLOT_0_88E is not set -# CONFIG_SLOT_0_92C is not set -# CONFIG_SLOT_0_92D is not set -# CONFIG_SLOT_0_ENABLE_EFUSE is not set -CONFIG_SLOT_0_EXT_LNA=y -CONFIG_SLOT_0_EXT_PA=y -# CONFIG_SLOT_0_RFE_TYPE_0 is not set -CONFIG_SLOT_0_RFE_TYPE_1=y -# CONFIG_SLOT_0_RFE_TYPE_6 is not set -# CONFIG_SLOT_0_RFE_TYPE_7 is not set -CONFIG_SLOT_0_TX_BEAMFORMING=y -CONFIG_SLUB=y -# CONFIG_SOC_ENABLE_EFUSE is not set -CONFIG_SOC_EXT_LNA=y -CONFIG_SOC_EXT_PA=y -# CONFIG_SOC_RFE_TYPE_0 is not set -CONFIG_SOC_RFE_TYPE_1=y -# CONFIG_SOC_RFE_TYPE_2 is not set -CONFIG_SOC_RTL8197F=y -# CONFIG_SOC_TX_BEAMFORMING is not set -CONFIG_SOC_WIFI=y -CONFIG_SPI=y -CONFIG_SPI_DESIGNWARE=y -CONFIG_SPI_DW_MMIO=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_SHEIPA=y -CONFIG_SQUASHFS_EMBEDDED=y -# CONFIG_SQUASHFS_XZ is not set -CONFIG_SQUASHFS_ZLIB=y -CONFIG_SWCONFIG=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TXPWR_LMT=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -CONFIG_USB_STORAGE=y -CONFIG_USB_SUPPORT=y -CONFIG_USE_PCIE_SLOT_0=y -CONFIG_VFAT_FS=y -CONFIG_WATCHDOG_CORE=y -CONFIG_WIRELESS_LAN_MODULE=y -CONFIG_WLAN_HAL=y -CONFIG_WLAN_HAL_8197F=y -CONFIG_WLAN_HAL_8822BE=y -CONFIG_WLAN_HAL_88XX=y -CONFIG_WLAN_MACHAL_API=y -# CONFIG_WL_TI is not set -CONFIG_WRT_BARRIER_BREAKER=y -# CONFIG_XZ_DEC is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/kconfig/97FS_USB_config-3.18 b/feeds/rtkmipsel/rtkmipsel/rtl8197f/kconfig/97FS_USB_config-3.18 deleted file mode 100755 index d5bf63980..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/kconfig/97FS_USB_config-3.18 +++ /dev/null @@ -1,292 +0,0 @@ -# CONFIG_ANT_SWITCH is not set -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -# CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -# CONFIG_AUTO_DHCP_CHECK is not set -# CONFIG_BAND_2G_ON_WLAN0 is not set -CONFIG_BAND_5G_ON_WLAN0=y -CONFIG_BLK_DEV_SD=y -CONFIG_CEVT_R4K=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_CMDLINE="board=AP console=ttyS0,38400 linuxpart=0x60000 hwpart=0x20000" -CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE_OVERRIDE=y -CONFIG_COMPAT_BRK=y -CONFIG_CPU_GENERIC_DUMP_TLB=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y -CONFIG_CPU_R4K_CACHE_TLB=y -CONFIG_CPU_R4K_FPU=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CPU_SUPPORTS_MSA=y -CONFIG_CRC16=y -# CONFIG_CRC32_SARWATE is not set -CONFIG_CRC32_SLICEBY8=y -CONFIG_CRC_CCITT=y -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_HW=y -CONFIG_CSRC_R4K=y -CONFIG_DEFAULTS_KERNEL_2_6=y -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_DEFAULT_NOOP=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_ETHERNET is not set -CONFIG_EXT4_FS=y -CONFIG_EXTRTL8212_PHYID_P1=18 -CONFIG_EXTRTL8212_PHYID_P3=20 -CONFIG_EXTRTL8212_PHYID_P5=22 -CONFIG_FAT_FS=y -CONFIG_FS_MBCACHE=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_IO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_BPF_JIT=y -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HZ_PERIODIC=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_JBD2=y -CONFIG_LEDS_GPIO=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LOG_BUF_SHIFT=12 -# CONFIG_M25PXX_USE_AUTO_MODE is not set -# CONFIG_M25PXX_USE_FAST_READ is not set -# CONFIG_M25PXX_USE_MULTI_CHANNEL is not set -CONFIG_M25PXX_USE_USER_MODE=y -CONFIG_MAC_PHY_RF_Parameter_V702B_Skyworth=y -CONFIG_MDIO_BOARDINFO=y -CONFIG_MIPS=y -# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MACHINE is not set -CONFIG_MODULES_USE_ELF_REL=y -# CONFIG_MP_PSD_SUPPORT is not set -CONFIG_MSDOS_FS=y -CONFIG_MTD_BLOCK2MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_M25P80=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_FIRMWARE=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NLS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -# CONFIG_NO_IOPORT_MAP is not set -CONFIG_NTFS_FS=y -CONFIG_OPENWRT_SDK=y -# CONFIG_PACP_SUPPORT is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PCI_HCI=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -# CONFIG_PHY_EAT_40MHZ is not set -# CONFIG_PREEMPT_RCU is not set -# CONFIG_RCU_STALL_COMMON is not set -# CONFIG_REALTEK is not set -CONFIG_REALTEK_97F=y -# CONFIG_RTK_BOOTINFO_DUALIMAGE is not set -# CONFIG_RTK_WLAN_EVENT_INDICATE is not set -# CONFIG_RTL8190_PRIV_SKB is not set -CONFIG_RTL8192CD=m -# CONFIG_RTL819X_SPI_FLASH is not set -CONFIG_RTL819X_WDT=y -# CONFIG_RTL865X_KERNEL_MIPS16 is not set -CONFIG_RTL865X_MBUF_HEADROOM=128 -# CONFIG_RTL_11R_SUPPORT is not set -CONFIG_RTL_11W_SUPPORT=y -CONFIG_RTL_5G_SLOT_0=y -# CONFIG_RTL_802_1X_CLIENT_SUPPORT is not set -CONFIG_RTL_8197F=y -CONFIG_RTL_8197F_GW=y -CONFIG_RTL_8197F_WRT=y -CONFIG_RTL_819X=y -CONFIG_RTL_819X_SWCORE=y -# CONFIG_RTL_8211F_SUPPORT is not set -CONFIG_RTL_8367R_SUPPORT=y -# CONFIG_RTL_A4_STA_SUPPORT is not set -# CONFIG_RTL_ATM_SUPPORT is not set -CONFIG_RTL_CLIENT_MODE_SUPPORT=y -# CONFIG_RTL_COMAPI_CFGFILE is not set -# CONFIG_RTL_COMAPI_WLTOOLS is not set -CONFIG_RTL_DEBUG_TOOL=y -CONFIG_RTL_DFS_SUPPORT=y -CONFIG_RTL_DISABLE_ETH_MIPS16=y -CONFIG_RTL_DISABLE_WLAN_MIPS16=y -# CONFIG_RTL_DOT11K_SUPPORT is not set -CONFIG_RTL_EEE_DISABLED=y -# CONFIG_RTL_ETH_802DOT1X_SUPPORT is not set -# CONFIG_RTL_ETH_PRIV_SKB is not set -CONFIG_RTL_EXTPORT_VLANID=9 -# CONFIG_RTL_GSO is not set -# CONFIG_RTL_HARDWARE_NAT is not set -# CONFIG_RTL_HOSTAPD_SUPPORT is not set -# CONFIG_RTL_HS2_SUPPORT is not set -CONFIG_RTL_HW_L2_ONLY=y -# CONFIG_RTL_HW_MULTICAST_ONLY is not set -# CONFIG_RTL_HW_NAPT is not set -# CONFIG_RTL_HW_QOS_SUPPORT is not set -CONFIG_RTL_IGMP_PROXY=y -# CONFIG_RTL_IPTABLES_RULE_2_ACL is not set -CONFIG_RTL_IVL_SUPPORT=y -CONFIG_RTL_LAYERED_ASIC_DRIVER=y -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_ASIC_DRIVER_L4 is not set -CONFIG_RTL_LAYERED_DRIVER=y -CONFIG_RTL_LAYERED_DRIVER_ACL=y -CONFIG_RTL_LAYERED_DRIVER_L2=y -# CONFIG_RTL_LAYERED_DRIVER_L3 is not set -# CONFIG_RTL_LAYERED_DRIVER_L4 is not set -CONFIG_RTL_LINKCHG_PROCESS=y -# CONFIG_RTL_MESH_SUPPORT is not set -CONFIG_RTL_MLD_PROXY=y -CONFIG_RTL_ODM_WLAN_DRIVER=y -# CONFIG_RTL_P2P_SUPPORT is not set -# CONFIG_RTL_PMKCACHE_SUPPORT is not set -CONFIG_RTL_PROC_DEBUG=y -CONFIG_RTL_REPEATER_MODE_SUPPORT=y -# CONFIG_RTL_ROMEPERF_24K is not set -# CONFIG_RTL_SENDFILE_PATCH is not set -# CONFIG_RTL_SIMPLE_CONFIG is not set -# CONFIG_RTL_STA_CONTROL_SUPPORT is not set -CONFIG_RTL_SUPPORT_MULTI_PROFILE=y -CONFIG_RTL_TDLS_SUPPORT=y -# CONFIG_RTL_TPT_THREAD is not set -# CONFIG_RTL_TSO is not set -# CONFIG_RTL_UNKOWN_UNICAST_CONTROL is not set -# CONFIG_RTL_USB_IP_HOST_SPEEDUP is not set -CONFIG_RTL_VAP_SUPPORT=y -# CONFIG_RTL_WAPI_SUPPORT is not set -CONFIG_RTL_WDS_SUPPORT=y -# CONFIG_RTL_WLAN_DIAGNOSTIC is not set -# CONFIG_RTL_WLAN_DOS_FILTER is not set -CONFIG_RTL_WPS2_SUPPORT=y -CONFIG_SCSI=y -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_8250_RUNTIME_UARTS=1 -CONFIG_SERIAL_8250_SYSRQ=y -# CONFIG_SLAB is not set -# CONFIG_SLOT_0_8192EE is not set -# CONFIG_SLOT_0_8194AE is not set -# CONFIG_SLOT_0_8723B is not set -# CONFIG_SLOT_0_8812 is not set -# CONFIG_SLOT_0_8812AR_VN is not set -# CONFIG_SLOT_0_8814AE is not set -CONFIG_SLOT_0_8822BE=y -# CONFIG_SLOT_0_88E is not set -# CONFIG_SLOT_0_92C is not set -# CONFIG_SLOT_0_92D is not set -# CONFIG_SLOT_0_ENABLE_EFUSE is not set -CONFIG_SLOT_0_EXT_LNA=y -CONFIG_SLOT_0_EXT_PA=y -# CONFIG_SLOT_0_RFE_TYPE_0 is not set -CONFIG_SLOT_0_RFE_TYPE_1=y -# CONFIG_SLOT_0_RFE_TYPE_6 is not set -# CONFIG_SLOT_0_RFE_TYPE_7 is not set -CONFIG_SLOT_0_TX_BEAMFORMING=y -CONFIG_SLUB=y -# CONFIG_SOC_ENABLE_EFUSE is not set -CONFIG_SOC_EXT_LNA=y -CONFIG_SOC_EXT_PA=y -# CONFIG_SOC_RFE_TYPE_0 is not set -CONFIG_SOC_RFE_TYPE_1=y -CONFIG_SOC_RTL8197F=y -# CONFIG_SOC_TX_BEAMFORMING is not set -CONFIG_SOC_WIFI=y -CONFIG_SPI=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_SHEIPA=y -CONFIG_SQUASHFS_EMBEDDED=y -# CONFIG_SQUASHFS_XZ is not set -CONFIG_SQUASHFS_ZLIB=y -CONFIG_SWCONFIG=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TXPWR_LMT=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -CONFIG_USB_STORAGE=y -CONFIG_USB_SUPPORT=y -CONFIG_USE_PCIE_SLOT_0=y -CONFIG_VFAT_FS=y -CONFIG_WATCHDOG_CORE=y -CONFIG_WIRELESS_LAN_MODULE=y -CONFIG_WLAN_HAL=y -CONFIG_WLAN_HAL_8197F=y -CONFIG_WLAN_HAL_8822BE=y -CONFIG_WLAN_HAL_88XX=y -CONFIG_WLAN_MACHAL_API=y -# CONFIG_WL_TI is not set -CONFIG_WRT_BARRIER_BREAKER=y -# CONFIG_XZ_DEC is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/models.txt b/feeds/rtkmipsel/rtkmipsel/rtl8197f/models.txt deleted file mode 100644 index 53494e6bd..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/models.txt +++ /dev/null @@ -1,5 +0,0 @@ -Spark Wave 2 Mini PoE: SP-W2M-AC1200-PoE -Spark Wave 2 Mini PoE: SP-W2M-AC1200-POE -Spark Wave 2 Mini: SP-W2M-AC1200 -Spark Wave 2 Mini: C4W-W2M-AC1200 -Spark Wave 2 Mini: FON-W2M-AC1200 diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/120-AP.mk b/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/120-AP.mk deleted file mode 100755 index 32a571531..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/120-AP.mk +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright (C) 2006-2008 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/AP - NAME:=AP package - PACKAGES:=-wpad-mini -endef - -define Profile/AP/Description - Realtek SOC,Package AP mode support -endef - -$(eval $(call Profile,AP)) diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/121-rtk_IOT.mk b/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/121-rtk_IOT.mk deleted file mode 100644 index 3bdb28459..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/121-rtk_IOT.mk +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright (C) 2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/rtk_IOT - NAME:=rtk_IOT - PACKAGES:=\ - kmod-usb-core kmod-usb2 kmod-usb-ohci -endef - -define Profile/rtk_IOT/Description - Default package set compatible with most boards. -endef -$(eval $(call Profile,rtk_IOT)) diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/130-SP-W2M-AC1200.mk b/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/130-SP-W2M-AC1200.mk deleted file mode 100755 index 75e706a92..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/profiles/130-SP-W2M-AC1200.mk +++ /dev/null @@ -1,24 +0,0 @@ -# -# Copyright (C) 2006-2008 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/SP-W2M-AC1200 - NAME:=SparkWave2 mini - PACKAGES:=-wpad-mini -endef - -define Profile/SP-W2M-AC1200/Description - SparkWave2 mini 8197F, both microusb and POE models -endef - -define Profile/SP-W2M-AC1200/Config -config KERNEL_RTL_8197F_SP_W2M_AC1200 - bool - default y - depends on TARGET_rtkmipsel_rtl8197f_SP-W2M-AC1200 -endef - -$(eval $(call Profile,SP-W2M-AC1200)) diff --git a/feeds/rtkmipsel/rtkmipsel/rtl8197f/target.mk b/feeds/rtkmipsel/rtkmipsel/rtl8197f/target.mk deleted file mode 100755 index ddd76e434..000000000 --- a/feeds/rtkmipsel/rtkmipsel/rtl8197f/target.mk +++ /dev/null @@ -1,9 +0,0 @@ -SUBTARGET:=rtl8197f -BOARDNAME:=RTL8197f based boards -#CPU_TYPE:=mips32r2 -CPU_TYPE:=24kec -DEFAULT_PACKAGES += - -define Target/Description - RTL8197f based boards -endef diff --git a/feeds/rtkmipsel/rtl819x_8211F/Makefile b/feeds/rtkmipsel/rtl819x_8211F/Makefile deleted file mode 100644 index 34d37fc40..000000000 --- a/feeds/rtkmipsel/rtl819x_8211F/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (C) 2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=rtl819x_8211F -PKG_VERSION:=0.1 -PKG_RELEASE:=1 - -include $(INCLUDE_DIR)/package.mk -include $(TOPDIR)/.config - -define KernelPackage/rtl819x_8211F - SUBMENU:=Network Support - TITLE:=rtl819x nic driver for SPW2M 8211F ethernet - FILES:=$(PKG_BUILD_DIR)/rtl819x_8211f.ko - DEFAULT:=y - KCONFIG:= \ - CONFIG_RTL_819X_SWCORE=m -endef - -define KernelPackage/rtl819x_8211F/description - Kernel module rtl819x_8211F -endef - -include $(INCLUDE_DIR)/kernel-defaults.mk - -define Build/Prepare - $(INSTALL_DIR) $(PKG_BUILD_DIR) - $(CP) -a $(LINUX_DIR)/drivers/net/rtl819x/* $(PKG_BUILD_DIR)/ -endef - - EXTRA_KCONFIG:= \ - CONFIG_RTL_819X_SWCORE=m \ - CONFIG_RTL_8211F_SUPPORT=y - - EXTRA_KFLAGS:= \ - $(patsubst CONFIG_%, -DCONFIG_%, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \ - $(patsubst CONFIG_%, -DCONFIG_%, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) - - MAKE_OPTS:= \ - ARCH="$(LINUX_KARCH)" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - SUBDIRS="$(PKG_BUILD_DIR)" \ - EXTRA_KFLAGS="$(EXTRA_KFLAGS)" \ - $(EXTRA_KCONFIG) - -define Build/Compile - $(MAKE) -C $(LINUX_DIR) $(MAKE_OPTS) modules - $(CP) $(PKG_BUILD_DIR)/rtl819x.ko $(PKG_BUILD_DIR)/rtl819x_8211f.ko -endef - -define Package/kmod-rtl819x_8211F/extra_provides - echo "rtl819x.ko"; -endef - -$(eval $(call KernelPackage,rtl819x_8211F)) diff --git a/feeds/rtkmipsel/rtl819x_83XX/Makefile b/feeds/rtkmipsel/rtl819x_83XX/Makefile deleted file mode 100644 index d62ba2891..000000000 --- a/feeds/rtkmipsel/rtl819x_83XX/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# -# Copyright (C) 2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=rtl819x_83XX -PKG_VERSION:=0.1 -PKG_RELEASE:=1 - -include $(INCLUDE_DIR)/package.mk -include $(TOPDIR)/.config - -define KernelPackage/rtl819x_83XX - SUBMENU:=Network Support - TITLE:=rtl819x nic driver for SPW2M 83XX ethernet switch - FILES:=$(PKG_BUILD_DIR)/rtl819x_83xx.ko - DEFAULT:=y - KCONFIG:= \ - CONFIG_RTL_819X_SWCORE=m -endef - -define KernelPackage/rtl819x_83XX/description - Kernel module rtl819x_83XX -endef - -include $(INCLUDE_DIR)/kernel-defaults.mk - -define Build/Prepare - $(INSTALL_DIR) $(PKG_BUILD_DIR) - $(CP) -a $(LINUX_DIR)/drivers/net/rtl819x/* $(PKG_BUILD_DIR)/ -endef - - EXTRA_KCONFIG:= \ - CONFIG_RTL_819X_SWCORE=m \ - CONFIG_RTL_83XX_SUPPORT=y \ - CONFIG_RTL_8363NB_SUPPORT=y - - EXTRA_KFLAGS:= \ - $(patsubst CONFIG_%, -DCONFIG_%, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \ - $(patsubst CONFIG_%, -DCONFIG_%, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) - - MAKE_OPTS:= \ - ARCH="$(LINUX_KARCH)" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - SUBDIRS="$(PKG_BUILD_DIR)" \ - EXTRA_KFLAGS="$(EXTRA_KFLAGS)" \ - $(EXTRA_KCONFIG) - -define Build/Compile - $(MAKE) -C $(LINUX_DIR) $(MAKE_OPTS) modules - $(CP) $(PKG_BUILD_DIR)/rtl819x.ko $(PKG_BUILD_DIR)/rtl819x_83xx.ko -endef - -define Package/kmod-rtl819x_83XX/extra_provides - echo "rtl819x.ko"; -endef - -$(eval $(call KernelPackage,rtl819x_83XX)) diff --git a/feeds/rtkmipsel/swconfig/Makefile b/feeds/rtkmipsel/swconfig/Makefile deleted file mode 100644 index 7d0f30e7b..000000000 --- a/feeds/rtkmipsel/swconfig/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# -# Copyright (C) 2008-2010 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=swconfig -PKG_RELEASE:=10 - -PKG_MAINTAINER:=Felix Fietkau -PKG_LICENSE:=GPL-2.0 - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/kernel.mk - -define Package/swconfig - SECTION:=base - CATEGORY:=Base system - DEPENDS:=+libuci +libnl-tiny - TITLE:=Switch configuration utility -endef - -TARGET_CPPFLAGS := \ - -D_GNU_SOURCE \ - -I$(STAGING_DIR)/usr/include/libnl-tiny \ - -I$(PKG_BUILD_DIR) \ - $(TARGET_CPPFLAGS) \ - -I$(LINUX_DIR)/user_headers/include - -define Build/Prepare - mkdir -p $(PKG_BUILD_DIR) - $(CP) ./src/* $(PKG_BUILD_DIR)/ -endef - -define Build/Compile - CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - $(MAKE) -C $(PKG_BUILD_DIR) \ - $(TARGET_CONFIGURE_OPTS) \ - LIBS="$(TARGET_LDFLAGS) -lnl-tiny -lm -luci" -endef - -define Package/swconfig/install - $(INSTALL_DIR) $(1)/sbin $(1)/lib/network - $(INSTALL_BIN) $(PKG_BUILD_DIR)/swconfig $(1)/sbin/swconfig - $(INSTALL_DATA) ./files/switch.sh $(1)/lib/network/ -endef - -$(eval $(call BuildPackage,swconfig)) diff --git a/feeds/rtkmipsel/swconfig/files/switch.sh b/feeds/rtkmipsel/swconfig/files/switch.sh deleted file mode 100644 index ba6924d9d..000000000 --- a/feeds/rtkmipsel/swconfig/files/switch.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Copyright (C) 2009 OpenWrt.org - -setup_switch_dev() { - local name - config_get name "$1" name - name="${name:-$1}" - [ -d "/sys/class/net/$name" ] && ifconfig "$name" up - swconfig dev "$name" load network -} - -setup_switch() { - config_load network - config_foreach setup_switch_dev switch -} diff --git a/feeds/rtkmipsel/swconfig/src/Makefile b/feeds/rtkmipsel/swconfig/src/Makefile deleted file mode 100644 index 0d56f4315..000000000 --- a/feeds/rtkmipsel/swconfig/src/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -ifndef CFLAGS -CFLAGS = -O2 -g -I ../src -endif -LIBS=-lnl -lnl-genl - -all: swconfig - -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $^ - -swconfig: cli.o swlib.o uci.o - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) diff --git a/feeds/rtkmipsel/swconfig/src/cli.c b/feeds/rtkmipsel/swconfig/src/cli.c deleted file mode 100644 index d47208678..000000000 --- a/feeds/rtkmipsel/swconfig/src/cli.c +++ /dev/null @@ -1,354 +0,0 @@ -/* - * swconfig.c: Switch configuration utility - * - * Copyright (C) 2008 Felix Fietkau - * Copyright (C) 2010 Martin Mares - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * version 2 as published by the Free Software Foundatio. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include "swlib.h" - -enum { - CMD_NONE, - CMD_GET, - CMD_SET, - CMD_LOAD, - CMD_HELP, - CMD_SHOW, - CMD_PORTMAP, -}; - -static void -print_attrs(const struct switch_attr *attr) -{ - int i = 0; - while (attr) { - const char *type; - switch(attr->type) { - case SWITCH_TYPE_INT: - type = "int"; - break; - case SWITCH_TYPE_STRING: - type = "string"; - break; - case SWITCH_TYPE_PORTS: - type = "ports"; - break; - case SWITCH_TYPE_NOVAL: - type = "none"; - break; - default: - type = "unknown"; - break; - } - printf("\tAttribute %d (%s): %s (%s)\n", ++i, type, attr->name, attr->description); - attr = attr->next; - } -} - -static void -list_attributes(struct switch_dev *dev) -{ - printf("%s: %s(%s), ports: %d (cpu @ %d), vlans: %d\n", dev->dev_name, dev->alias, dev->name, dev->ports, dev->cpu_port, dev->vlans); - printf(" --switch\n"); - print_attrs(dev->ops); - printf(" --vlan\n"); - print_attrs(dev->vlan_ops); - printf(" --port\n"); - print_attrs(dev->port_ops); -} - -static void -print_attr_val(const struct switch_attr *attr, const struct switch_val *val) -{ - int i; - - switch (attr->type) { - case SWITCH_TYPE_INT: - printf("%d", val->value.i); - break; - case SWITCH_TYPE_STRING: - printf("%s", val->value.s); - break; - case SWITCH_TYPE_PORTS: - for(i = 0; i < val->len; i++) { - printf("%d%s ", - val->value.ports[i].id, - (val->value.ports[i].flags & - SWLIB_PORT_FLAG_TAGGED) ? "t" : ""); - } - break; - default: - printf("?unknown-type?"); - } -} - -static void -show_attrs(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val) -{ - while (attr) { - if (attr->type != SWITCH_TYPE_NOVAL) { - printf("\t%s: ", attr->name); - if (swlib_get_attr(dev, attr, val) < 0) - printf("???"); - else - print_attr_val(attr, val); - putchar('\n'); - } - attr = attr->next; - } -} - -static void -show_global(struct switch_dev *dev) -{ - struct switch_val val; - - printf("Global attributes:\n"); - show_attrs(dev, dev->ops, &val); -} - -static void -show_port(struct switch_dev *dev, int port) -{ - struct switch_val val; - - printf("Port %d:\n", port); - val.port_vlan = port; - show_attrs(dev, dev->port_ops, &val); -} - -static void -show_vlan(struct switch_dev *dev, int vlan, bool all) -{ - struct switch_val val; - struct switch_attr *attr; - - val.port_vlan = vlan; - - if (all) { - attr = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_VLAN, "ports"); - if (swlib_get_attr(dev, attr, &val) < 0) - return; - - if (!val.len) - return; - } - - printf("VLAN %d:\n", vlan); - show_attrs(dev, dev->vlan_ops, &val); -} - -static void -print_usage(void) -{ - printf("swconfig list\n"); - printf("swconfig dev [port |vlan ] (help|set |get |load |show)\n"); - exit(1); -} - -static void -swconfig_load_uci(struct switch_dev *dev, const char *name) -{ - struct uci_context *ctx; - struct uci_package *p = NULL; - int ret = -1; - - ctx = uci_alloc_context(); - if (!ctx) - return; - - uci_load(ctx, name, &p); - if (!p) { - uci_perror(ctx, "Failed to load config file: "); - goto out; - } - - ret = swlib_apply_from_uci(dev, p); - if (ret < 0) - fprintf(stderr, "Failed to apply configuration for switch '%s'\n", dev->dev_name); - -out: - uci_free_context(ctx); - exit(ret); -} - -int main(int argc, char **argv) -{ - int retval = 0; - struct switch_dev *dev; - struct switch_attr *a; - struct switch_val val; - int i; - - int cmd = CMD_NONE; - char *cdev = NULL; - int cport = -1; - int cvlan = -1; - char *ckey = NULL; - char *cvalue = NULL; - char *csegment = NULL; - - if((argc == 2) && !strcmp(argv[1], "list")) { - swlib_list(); - return 0; - } - - if(argc < 4) - print_usage(); - - if(strcmp(argv[1], "dev")) - print_usage(); - - cdev = argv[2]; - - for(i = 3; i < argc; i++) - { - char *arg = argv[i]; - if (cmd != CMD_NONE) { - print_usage(); - } else if (!strcmp(arg, "port") && i+1 < argc) { - cport = atoi(argv[++i]); - } else if (!strcmp(arg, "vlan") && i+1 < argc) { - cvlan = atoi(argv[++i]); - } else if (!strcmp(arg, "help")) { - cmd = CMD_HELP; - } else if (!strcmp(arg, "set") && i+1 < argc) { - cmd = CMD_SET; - ckey = argv[++i]; - if (i+1 < argc) - cvalue = argv[++i]; - } else if (!strcmp(arg, "get") && i+1 < argc) { - cmd = CMD_GET; - ckey = argv[++i]; - } else if (!strcmp(arg, "load") && i+1 < argc) { - if ((cport >= 0) || (cvlan >= 0)) - print_usage(); - cmd = CMD_LOAD; - ckey = argv[++i]; - } else if (!strcmp(arg, "portmap")) { - if (i + 1 < argc) - csegment = argv[++i]; - cmd = CMD_PORTMAP; - } else if (!strcmp(arg, "show")) { - cmd = CMD_SHOW; - } else { - print_usage(); - } - } - - if (cmd == CMD_NONE) - print_usage(); - if (cport > -1 && cvlan > -1) - print_usage(); - - dev = swlib_connect(cdev); - if (!dev) { - fprintf(stderr, "Failed to connect to the switch. Use the \"list\" command to see which switches are available.\n"); - return 1; - } - - swlib_scan(dev); - - if (cmd == CMD_GET || cmd == CMD_SET) { - if(cport > -1) - a = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_PORT, ckey); - else if(cvlan > -1) - a = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_VLAN, ckey); - else - a = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_GLOBAL, ckey); - - if(!a) - { - fprintf(stderr, "Unknown attribute \"%s\"\n", ckey); - retval = -1; - goto out; - } - } - - switch(cmd) - { - case CMD_SET: - if ((a->type != SWITCH_TYPE_NOVAL) && - (cvalue == NULL)) - print_usage(); - - if(cvlan > -1) - cport = cvlan; - - if(swlib_set_attr_string(dev, a, cport, cvalue) < 0) - { - fprintf(stderr, "failed\n"); - retval = -1; - goto out; - } - break; - case CMD_GET: - if(cvlan > -1) - val.port_vlan = cvlan; - if(cport > -1) - val.port_vlan = cport; - if(swlib_get_attr(dev, a, &val) < 0) - { - fprintf(stderr, "failed\n"); - retval = -1; - goto out; - } - print_attr_val(a, &val); - putchar('\n'); - break; - case CMD_LOAD: - swconfig_load_uci(dev, ckey); - break; - case CMD_HELP: - list_attributes(dev); - break; - case CMD_PORTMAP: - swlib_print_portmap(dev, csegment); - break; - case CMD_SHOW: - if (cport >= 0 || cvlan >= 0) { - if (cport >= 0) - show_port(dev, cport); - else - show_vlan(dev, cvlan, false); - } else { - show_global(dev); - for (i=0; i < dev->ports; i++) - show_port(dev, i); - for (i=0; i < dev->vlans; i++) - show_vlan(dev, i, true); - } - break; - } - -out: - swlib_free_all(dev); - return retval; -} diff --git a/feeds/rtkmipsel/swconfig/src/swlib.c b/feeds/rtkmipsel/swconfig/src/swlib.c deleted file mode 100644 index 122250256..000000000 --- a/feeds/rtkmipsel/swconfig/src/swlib.c +++ /dev/null @@ -1,780 +0,0 @@ -/* - * swlib.c: Switch configuration API (user space part) - * - * Copyright (C) 2008 Felix Fietkau - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "swlib.h" -#include -#include -#include - -//#define DEBUG 1 -#ifdef DEBUG -#define DPRINTF(fmt, ...) fprintf(stderr, "%s(%d): " fmt, __func__, __LINE__, ##__VA_ARGS__) -#else -#define DPRINTF(fmt, ...) do {} while (0) -#endif - -static struct nl_sock *handle; -static struct nl_cache *cache; -static struct genl_family *family; -static struct nlattr *tb[SWITCH_ATTR_MAX + 1]; -static int refcount = 0; - -static struct nla_policy port_policy[SWITCH_ATTR_MAX] = { - [SWITCH_PORT_ID] = { .type = NLA_U32 }, - [SWITCH_PORT_FLAG_TAGGED] = { .type = NLA_FLAG }, -}; - -static struct nla_policy portmap_policy[SWITCH_PORTMAP_MAX] = { - [SWITCH_PORTMAP_SEGMENT] = { .type = NLA_STRING }, - [SWITCH_PORTMAP_VIRT] = { .type = NLA_U32 }, -}; - -static inline void * -swlib_alloc(size_t size) -{ - void *ptr; - - ptr = malloc(size); - if (!ptr) - goto done; - memset(ptr, 0, size); - -done: - return ptr; -} - -static int -wait_handler(struct nl_msg *msg, void *arg) -{ - int *finished = arg; - - *finished = 1; - return NL_STOP; -} - -/* helper function for performing netlink requests */ -static int -swlib_call(int cmd, int (*call)(struct nl_msg *, void *), - int (*data)(struct nl_msg *, void *), void *arg) -{ - struct nl_msg *msg; - struct nl_cb *cb = NULL; - int finished; - int flags = 0; - int err; - - msg = nlmsg_alloc(); - if (!msg) { - fprintf(stderr, "Out of memory!\n"); - exit(1); - } - - if (!data) - flags |= NLM_F_DUMP; - - genlmsg_put(msg, NL_AUTO_PID, NL_AUTO_SEQ, genl_family_get_id(family), 0, flags, cmd, 0); - if (data) { - if (data(msg, arg) < 0) - goto nla_put_failure; - } - - cb = nl_cb_alloc(NL_CB_CUSTOM); - if (!cb) { - fprintf(stderr, "nl_cb_alloc failed.\n"); - exit(1); - } - - err = nl_send_auto_complete(handle, msg); - if (err < 0) { - fprintf(stderr, "nl_send_auto_complete failed: %d\n", err); - goto out; - } - - finished = 0; - - if (call) - nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, call, arg); - - if (data) - nl_cb_set(cb, NL_CB_ACK, NL_CB_CUSTOM, wait_handler, &finished); - else - nl_cb_set(cb, NL_CB_FINISH, NL_CB_CUSTOM, wait_handler, &finished); - - err = nl_recvmsgs(handle, cb); - if (err < 0) { - goto out; - } - - if (!finished) - err = nl_wait_for_ack(handle); - -out: - if (cb) - nl_cb_put(cb); -nla_put_failure: - nlmsg_free(msg); - return err; -} - -static int -send_attr(struct nl_msg *msg, void *arg) -{ - struct switch_val *val = arg; - struct switch_attr *attr = val->attr; - - NLA_PUT_U32(msg, SWITCH_ATTR_ID, attr->dev->id); - NLA_PUT_U32(msg, SWITCH_ATTR_OP_ID, attr->id); - switch(attr->atype) { - case SWLIB_ATTR_GROUP_PORT: - NLA_PUT_U32(msg, SWITCH_ATTR_OP_PORT, val->port_vlan); - break; - case SWLIB_ATTR_GROUP_VLAN: - NLA_PUT_U32(msg, SWITCH_ATTR_OP_VLAN, val->port_vlan); - break; - default: - break; - } - - return 0; - -nla_put_failure: - return -1; -} - -static int -store_port_val(struct nl_msg *msg, struct nlattr *nla, struct switch_val *val) -{ - struct nlattr *p; - int ports = val->attr->dev->ports; - int err = 0; - int remaining; - - if (!val->value.ports) - val->value.ports = malloc(sizeof(struct switch_port) * ports); - - nla_for_each_nested(p, nla, remaining) { - struct nlattr *tb[SWITCH_PORT_ATTR_MAX+1]; - struct switch_port *port; - - if (val->len >= ports) - break; - - err = nla_parse_nested(tb, SWITCH_PORT_ATTR_MAX, p, port_policy); - if (err < 0) - goto out; - - if (!tb[SWITCH_PORT_ID]) - continue; - - port = &val->value.ports[val->len]; - port->id = nla_get_u32(tb[SWITCH_PORT_ID]); - port->flags = 0; - if (tb[SWITCH_PORT_FLAG_TAGGED]) - port->flags |= SWLIB_PORT_FLAG_TAGGED; - - val->len++; - } - -out: - return err; -} - -static int -store_val(struct nl_msg *msg, void *arg) -{ - struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg)); - struct switch_val *val = arg; - - if (!val) - goto error; - - if (nla_parse(tb, SWITCH_ATTR_MAX - 1, genlmsg_attrdata(gnlh, 0), - genlmsg_attrlen(gnlh, 0), NULL) < 0) { - goto error; - } - - if (tb[SWITCH_ATTR_OP_VALUE_INT]) - val->value.i = nla_get_u32(tb[SWITCH_ATTR_OP_VALUE_INT]); - else if (tb[SWITCH_ATTR_OP_VALUE_STR]) - val->value.s = strdup(nla_get_string(tb[SWITCH_ATTR_OP_VALUE_STR])); - else if (tb[SWITCH_ATTR_OP_VALUE_PORTS]) - val->err = store_port_val(msg, tb[SWITCH_ATTR_OP_VALUE_PORTS], val); - - val->err = 0; - return 0; - -error: - return NL_SKIP; -} - -int -swlib_get_attr(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val) -{ - int cmd; - int err; - - switch(attr->atype) { - case SWLIB_ATTR_GROUP_GLOBAL: - cmd = SWITCH_CMD_GET_GLOBAL; - break; - case SWLIB_ATTR_GROUP_PORT: - cmd = SWITCH_CMD_GET_PORT; - break; - case SWLIB_ATTR_GROUP_VLAN: - cmd = SWITCH_CMD_GET_VLAN; - break; - default: - return -EINVAL; - } - - memset(&val->value, 0, sizeof(val->value)); - val->len = 0; - val->attr = attr; - val->err = -EINVAL; - err = swlib_call(cmd, store_val, send_attr, val); - if (!err) - err = val->err; - - return err; -} - -static int -send_attr_ports(struct nl_msg *msg, struct switch_val *val) -{ - struct nlattr *n; - int i; - - /* TODO implement multipart? */ - if (val->len == 0) - goto done; - n = nla_nest_start(msg, SWITCH_ATTR_OP_VALUE_PORTS); - if (!n) - goto nla_put_failure; - for (i = 0; i < val->len; i++) { - struct switch_port *port = &val->value.ports[i]; - struct nlattr *np; - - np = nla_nest_start(msg, SWITCH_ATTR_PORT); - if (!np) - goto nla_put_failure; - - NLA_PUT_U32(msg, SWITCH_PORT_ID, port->id); - if (port->flags & SWLIB_PORT_FLAG_TAGGED) - NLA_PUT_FLAG(msg, SWITCH_PORT_FLAG_TAGGED); - - nla_nest_end(msg, np); - } - nla_nest_end(msg, n); -done: - return 0; - -nla_put_failure: - return -1; -} - -static int -send_attr_val(struct nl_msg *msg, void *arg) -{ - struct switch_val *val = arg; - struct switch_attr *attr = val->attr; - - if (send_attr(msg, arg)) - goto nla_put_failure; - - switch(attr->type) { - case SWITCH_TYPE_NOVAL: - break; - case SWITCH_TYPE_INT: - NLA_PUT_U32(msg, SWITCH_ATTR_OP_VALUE_INT, val->value.i); - break; - case SWITCH_TYPE_STRING: - if (!val->value.s) - goto nla_put_failure; - NLA_PUT_STRING(msg, SWITCH_ATTR_OP_VALUE_STR, val->value.s); - break; - case SWITCH_TYPE_PORTS: - if (send_attr_ports(msg, val) < 0) - goto nla_put_failure; - break; - default: - goto nla_put_failure; - } - return 0; - -nla_put_failure: - return -1; -} - -int -swlib_set_attr(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val) -{ - int cmd; - - switch(attr->atype) { - case SWLIB_ATTR_GROUP_GLOBAL: - cmd = SWITCH_CMD_SET_GLOBAL; - break; - case SWLIB_ATTR_GROUP_PORT: - cmd = SWITCH_CMD_SET_PORT; - break; - case SWLIB_ATTR_GROUP_VLAN: - cmd = SWITCH_CMD_SET_VLAN; - break; - default: - return -EINVAL; - } - - val->attr = attr; - return swlib_call(cmd, NULL, send_attr_val, val); -} - -int swlib_set_attr_string(struct switch_dev *dev, struct switch_attr *a, int port_vlan, const char *str) -{ - struct switch_port *ports; - struct switch_val val; - char *ptr; - - memset(&val, 0, sizeof(val)); - val.port_vlan = port_vlan; - switch(a->type) { - case SWITCH_TYPE_INT: - val.value.i = atoi(str); - break; - case SWITCH_TYPE_STRING: - val.value.s = str; - break; - case SWITCH_TYPE_PORTS: - ports = alloca(sizeof(struct switch_port) * dev->ports); - memset(ports, 0, sizeof(struct switch_port) * dev->ports); - val.len = 0; - ptr = (char *)str; - while(ptr && *ptr) - { - while(*ptr && isspace(*ptr)) - ptr++; - - if (!*ptr) - break; - - if (!isdigit(*ptr)) - return -1; - - if (val.len >= dev->ports) - return -1; - - ports[val.len].flags = 0; - ports[val.len].id = strtoul(ptr, &ptr, 10); - while(*ptr && !isspace(*ptr)) { - if (*ptr == 't') - ports[val.len].flags |= SWLIB_PORT_FLAG_TAGGED; - else - return -1; - - ptr++; - } - if (*ptr) - ptr++; - val.len++; - } - val.value.ports = ports; - break; - case SWITCH_TYPE_NOVAL: - if (str && !strcmp(str, "0")) - return 0; - - break; - default: - return -1; - } - return swlib_set_attr(dev, a, &val); -} - - -struct attrlist_arg { - int id; - int atype; - struct switch_dev *dev; - struct switch_attr *prev; - struct switch_attr **head; -}; - -static int -add_id(struct nl_msg *msg, void *arg) -{ - struct attrlist_arg *l = arg; - - NLA_PUT_U32(msg, SWITCH_ATTR_ID, l->id); - - return 0; -nla_put_failure: - return -1; -} - -static int -add_attr(struct nl_msg *msg, void *ptr) -{ - struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg)); - struct attrlist_arg *arg = ptr; - struct switch_attr *new; - - if (nla_parse(tb, SWITCH_ATTR_MAX - 1, genlmsg_attrdata(gnlh, 0), - genlmsg_attrlen(gnlh, 0), NULL) < 0) - goto done; - - new = swlib_alloc(sizeof(struct switch_attr)); - if (!new) - goto done; - - new->dev = arg->dev; - new->atype = arg->atype; - if (arg->prev) { - arg->prev->next = new; - } else { - arg->prev = *arg->head; - } - *arg->head = new; - arg->head = &new->next; - - if (tb[SWITCH_ATTR_OP_ID]) - new->id = nla_get_u32(tb[SWITCH_ATTR_OP_ID]); - if (tb[SWITCH_ATTR_OP_TYPE]) - new->type = nla_get_u32(tb[SWITCH_ATTR_OP_TYPE]); - if (tb[SWITCH_ATTR_OP_NAME]) - new->name = strdup(nla_get_string(tb[SWITCH_ATTR_OP_NAME])); - if (tb[SWITCH_ATTR_OP_DESCRIPTION]) - new->description = strdup(nla_get_string(tb[SWITCH_ATTR_OP_DESCRIPTION])); - -done: - return NL_SKIP; -} - -int -swlib_scan(struct switch_dev *dev) -{ - struct attrlist_arg arg; - - if (dev->ops || dev->port_ops || dev->vlan_ops) - return 0; - - arg.atype = SWLIB_ATTR_GROUP_GLOBAL; - arg.dev = dev; - arg.id = dev->id; - arg.prev = NULL; - arg.head = &dev->ops; - swlib_call(SWITCH_CMD_LIST_GLOBAL, add_attr, add_id, &arg); - - arg.atype = SWLIB_ATTR_GROUP_PORT; - arg.prev = NULL; - arg.head = &dev->port_ops; - swlib_call(SWITCH_CMD_LIST_PORT, add_attr, add_id, &arg); - - arg.atype = SWLIB_ATTR_GROUP_VLAN; - arg.prev = NULL; - arg.head = &dev->vlan_ops; - swlib_call(SWITCH_CMD_LIST_VLAN, add_attr, add_id, &arg); - - return 0; -} - -struct switch_attr *swlib_lookup_attr(struct switch_dev *dev, - enum swlib_attr_group atype, const char *name) -{ - struct switch_attr *head; - - if (!name || !dev) - return NULL; - - switch(atype) { - case SWLIB_ATTR_GROUP_GLOBAL: - head = dev->ops; - break; - case SWLIB_ATTR_GROUP_PORT: - head = dev->port_ops; - break; - case SWLIB_ATTR_GROUP_VLAN: - head = dev->vlan_ops; - break; - } - while(head) { - if (!strcmp(name, head->name)) - return head; - head = head->next; - } - - return NULL; -} - -static void -swlib_priv_free(void) -{ - if (cache) - nl_cache_free(cache); - if (handle) - nl_socket_free(handle); - handle = NULL; - cache = NULL; -} - -static int -swlib_priv_init(void) -{ - int ret; - - handle = nl_socket_alloc(); - if (!handle) { - DPRINTF("Failed to create handle\n"); - goto err; - } - - if (genl_connect(handle)) { - DPRINTF("Failed to connect to generic netlink\n"); - goto err; - } - - ret = genl_ctrl_alloc_cache(handle, &cache); - if (ret < 0) { - DPRINTF("Failed to allocate netlink cache\n"); - goto err; - } - - family = genl_ctrl_search_by_name(cache, "switch"); - if (!family) { - DPRINTF("Switch API not present\n"); - goto err; - } - return 0; - -err: - swlib_priv_free(); - return -EINVAL; -} - -struct swlib_scan_arg { - const char *name; - struct switch_dev *head; - struct switch_dev *ptr; -}; - -static int -add_port_map(struct switch_dev *dev, struct nlattr *nla) -{ - struct nlattr *p; - int err = 0, idx = 0; - int remaining; - - dev->maps = malloc(sizeof(struct switch_portmap) * dev->ports); - if (!dev->maps) - return -1; - memset(dev->maps, 0, sizeof(struct switch_portmap) * dev->ports); - - nla_for_each_nested(p, nla, remaining) { - struct nlattr *tb[SWITCH_PORTMAP_MAX+1]; - - if (idx >= dev->ports) - continue; - - err = nla_parse_nested(tb, SWITCH_PORTMAP_MAX, p, portmap_policy); - if (err < 0) - continue; - - - if (tb[SWITCH_PORTMAP_SEGMENT] && tb[SWITCH_PORTMAP_VIRT]) { - dev->maps[idx].segment = strdup(nla_get_string(tb[SWITCH_PORTMAP_SEGMENT])); - dev->maps[idx].virt = nla_get_u32(tb[SWITCH_PORTMAP_VIRT]); - } - idx++; - } - -out: - return err; -} - - -static int -add_switch(struct nl_msg *msg, void *arg) -{ - struct swlib_scan_arg *sa = arg; - struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg)); - struct switch_dev *dev; - const char *name; - const char *alias; - - if (nla_parse(tb, SWITCH_ATTR_MAX, genlmsg_attrdata(gnlh, 0), genlmsg_attrlen(gnlh, 0), NULL) < 0) - goto done; - - if (!tb[SWITCH_ATTR_DEV_NAME]) - goto done; - - name = nla_get_string(tb[SWITCH_ATTR_DEV_NAME]); - alias = nla_get_string(tb[SWITCH_ATTR_ALIAS]); - - if (sa->name && (strcmp(name, sa->name) != 0) && (strcmp(alias, sa->name) != 0)) - goto done; - - dev = swlib_alloc(sizeof(struct switch_dev)); - if (!dev) - goto done; - - strncpy(dev->dev_name, name, IFNAMSIZ - 1); - dev->alias = strdup(alias); - if (tb[SWITCH_ATTR_ID]) - dev->id = nla_get_u32(tb[SWITCH_ATTR_ID]); - if (tb[SWITCH_ATTR_NAME]) - dev->name = strdup(nla_get_string(tb[SWITCH_ATTR_NAME])); - if (tb[SWITCH_ATTR_PORTS]) - dev->ports = nla_get_u32(tb[SWITCH_ATTR_PORTS]); - if (tb[SWITCH_ATTR_VLANS]) - dev->vlans = nla_get_u32(tb[SWITCH_ATTR_VLANS]); - if (tb[SWITCH_ATTR_CPU_PORT]) - dev->cpu_port = nla_get_u32(tb[SWITCH_ATTR_CPU_PORT]); - if (tb[SWITCH_ATTR_PORTMAP]) - add_port_map(dev, tb[SWITCH_ATTR_PORTMAP]); - - if (!sa->head) { - sa->head = dev; - sa->ptr = dev; - } else { - sa->ptr->next = dev; - sa->ptr = dev; - } - - refcount++; -done: - return NL_SKIP; -} - -static int -list_switch(struct nl_msg *msg, void *arg) -{ - struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg)); - - if (nla_parse(tb, SWITCH_ATTR_MAX, genlmsg_attrdata(gnlh, 0), genlmsg_attrlen(gnlh, 0), NULL) < 0) - goto done; - - if (!tb[SWITCH_ATTR_DEV_NAME] || !tb[SWITCH_ATTR_NAME]) - goto done; - - printf("Found: %s - %s\n", nla_get_string(tb[SWITCH_ATTR_DEV_NAME]), - nla_get_string(tb[SWITCH_ATTR_ALIAS])); - -done: - return NL_SKIP; -} - -void -swlib_list(void) -{ - if (swlib_priv_init() < 0) - return; - swlib_call(SWITCH_CMD_GET_SWITCH, list_switch, NULL, NULL); - swlib_priv_free(); -} - -void -swlib_print_portmap(struct switch_dev *dev, char *segment) -{ - int i; - - if (segment) { - if (!strcmp(segment, "cpu")) { - printf("%d ", dev->cpu_port); - } else if (!strcmp(segment, "disabled")) { - for (i = 0; i < dev->ports; i++) - if (!dev->maps[i].segment) - printf("%d ", i); - } else for (i = 0; i < dev->ports; i++) { - if (dev->maps[i].segment && !strcmp(dev->maps[i].segment, segment)) - printf("%d ", i); - } - } else { - printf("%s - %s\n", dev->dev_name, dev->name); - for (i = 0; i < dev->ports; i++) - if (i == dev->cpu_port) - printf("port%d:\tcpu\n", i); - else if (dev->maps[i].segment) - printf("port%d:\t%s.%d\n", i, dev->maps[i].segment, dev->maps[i].virt); - else - printf("port%d:\tdisabled\n", i); - } -} - -struct switch_dev * -swlib_connect(const char *name) -{ - struct swlib_scan_arg arg; - - if (!refcount) { - if (swlib_priv_init() < 0) - return NULL; - }; - - arg.head = NULL; - arg.ptr = NULL; - arg.name = name; - swlib_call(SWITCH_CMD_GET_SWITCH, add_switch, NULL, &arg); - - if (!refcount) - swlib_priv_free(); - - return arg.head; -} - -static void -swlib_free_attributes(struct switch_attr **head) -{ - struct switch_attr *a = *head; - struct switch_attr *next; - - while (a) { - next = a->next; - free(a); - a = next; - } - *head = NULL; -} - -void -swlib_free(struct switch_dev *dev) -{ - swlib_free_attributes(&dev->ops); - swlib_free_attributes(&dev->port_ops); - swlib_free_attributes(&dev->vlan_ops); - free(dev); - - if (--refcount == 0) - swlib_priv_free(); -} - -void -swlib_free_all(struct switch_dev *dev) -{ - struct switch_dev *p; - - while (dev) { - p = dev->next; - swlib_free(dev); - dev = p; - } -} diff --git a/feeds/rtkmipsel/swconfig/src/swlib.h b/feeds/rtkmipsel/swconfig/src/swlib.h deleted file mode 100644 index 016f74b4f..000000000 --- a/feeds/rtkmipsel/swconfig/src/swlib.h +++ /dev/null @@ -1,252 +0,0 @@ -/* - * swlib.h: Switch configuration API (user space part) - * - * Copyright (C) 2008-2009 Felix Fietkau - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - -Usage of the library functions: - - The main datastructure for a switch is the struct switch_device - To get started, you first need to use switch_connect() to probe - for switches and allocate an instance of this struct. - - There are two possible usage modes: - dev = switch_connect("eth0"); - - this call will look for a switch registered for the linux device - "eth0" and only allocate a switch_device for this particular switch. - - dev = switch_connect(NULL) - - this will return one switch_device struct for each available - switch. The switch_device structs are chained with by ->next pointer - - Then to query a switch for all available attributes, use: - swlib_scan(dev); - - All allocated datastructures for the switch_device struct can be freed with - swlib_free(dev); - or - swlib_free_all(dev); - - The latter traverses a whole chain of switch_device structs and frees them all - - Switch attributes (struct switch_attr) are divided into three groups: - dev->ops: - - global settings - dev->port_ops: - - per-port settings - dev->vlan_ops: - - per-vlan settings - - switch_lookup_attr() is a small helper function to locate attributes - by name. - - switch_set_attr() and switch_get_attr() can alter or request the values - of attributes. - -Usage of the switch_attr struct: - - ->atype: attribute group, one of: - - SWLIB_ATTR_GROUP_GLOBAL - - SWLIB_ATTR_GROUP_VLAN - - SWLIB_ATTR_GROUP_PORT - - ->id: identifier for the attribute - - ->type: data type, one of: - - SWITCH_TYPE_INT - - SWITCH_TYPE_STRING - - SWITCH_TYPE_PORT - - ->name: short name of the attribute - ->description: longer description - ->next: pointer to the next attribute of the current group - - -Usage of the switch_val struct: - - When setting attributes, following members of the struct switch_val need - to be set up: - - ->len (for attr->type == SWITCH_TYPE_PORT) - ->port_vlan: - - port number (for attr->atype == SWLIB_ATTR_GROUP_PORT), or: - - vlan number (for attr->atype == SWLIB_ATTR_GROUP_VLAN) - ->value.i (for attr->type == SWITCH_TYPE_INT) - ->value.s (for attr->type == SWITCH_TYPE_STRING) - - owned by the caller, not stored in the library internally - ->value.ports (for attr->type == SWITCH_TYPE_PORT) - - must point to an array of at lest val->len * sizeof(struct switch_port) - - When getting string attributes, val->value.s must be freed by the caller - When getting port list attributes, an internal static buffer is used, - which changes from call to call. - - */ - -#ifndef __SWLIB_H -#define __SWLIB_H - -enum swlib_attr_group { - SWLIB_ATTR_GROUP_GLOBAL, - SWLIB_ATTR_GROUP_VLAN, - SWLIB_ATTR_GROUP_PORT, -}; - -enum swlib_port_flags { - SWLIB_PORT_FLAG_TAGGED = (1 << 0), -}; - - -struct switch_dev; -struct switch_attr; -struct switch_port; -struct switch_port_map; -struct switch_val; -struct uci_package; - -struct switch_dev { - int id; - char dev_name[IFNAMSIZ]; - const char *name; - const char *alias; - int ports; - int vlans; - int cpu_port; - struct switch_attr *ops; - struct switch_attr *port_ops; - struct switch_attr *vlan_ops; - struct switch_portmap *maps; - struct switch_dev *next; - void *priv; -}; - -struct switch_val { - struct switch_attr *attr; - int len; - int err; - int port_vlan; - union { - const char *s; - int i; - struct switch_port *ports; - } value; -}; - -struct switch_attr { - struct switch_dev *dev; - int atype; - int id; - int type; - const char *name; - const char *description; - struct switch_attr *next; -}; - -struct switch_port { - unsigned int id; - unsigned int flags; -}; - -struct switch_portmap { - unsigned int virt; - const char *segment; -}; - -/** - * swlib_list: list all switches - */ -void swlib_list(void); - -/** - * swlib_print_portmap: get portmap - * @dev: switch device struct - */ -void swlib_print_portmap(struct switch_dev *dev, char *segment); - -/** - * swlib_connect: connect to the switch through netlink - * @name: name of the ethernet interface, - * - * if name is NULL, it connect and builds a chain of all switches - */ -struct switch_dev *swlib_connect(const char *name); - -/** - * swlib_free: free all dynamically allocated data for the switch connection - * @dev: switch device struct - * - * all members of a switch device chain (generated by swlib_connect(NULL)) - * must be freed individually - */ -void swlib_free(struct switch_dev *dev); - -/** - * swlib_free_all: run swlib_free on all devices in the chain - * @dev: switch device struct - */ -void swlib_free_all(struct switch_dev *dev); - -/** - * swlib_scan: probe the switch driver for available commands/attributes - * @dev: switch device struct - */ -int swlib_scan(struct switch_dev *dev); - -/** - * swlib_lookup_attr: look up a switch attribute - * @dev: switch device struct - * @type: global, port or vlan - * @name: name of the attribute - */ -struct switch_attr *swlib_lookup_attr(struct switch_dev *dev, - enum swlib_attr_group atype, const char *name); - -/** - * swlib_set_attr: set the value for an attribute - * @dev: switch device struct - * @attr: switch attribute struct - * @val: attribute value pointer - * returns 0 on success - */ -int swlib_set_attr(struct switch_dev *dev, struct switch_attr *attr, - struct switch_val *val); - -/** - * swlib_set_attr_string: set the value for an attribute with type conversion - * @dev: switch device struct - * @attr: switch attribute struct - * @port_vlan: port or vlan (if applicable) - * @str: string value - * returns 0 on success - */ -int swlib_set_attr_string(struct switch_dev *dev, struct switch_attr *attr, - int port_vlan, const char *str); - -/** - * swlib_get_attr: get the value for an attribute - * @dev: switch device struct - * @attr: switch attribute struct - * @val: attribute value pointer - * returns 0 on success - * for string attributes, the result string must be freed by the caller - */ -int swlib_get_attr(struct switch_dev *dev, struct switch_attr *attr, - struct switch_val *val); - -/** - * swlib_apply_from_uci: set up the switch from a uci configuration - * @dev: switch device struct - * @p: uci package which contains the desired global config - */ -int swlib_apply_from_uci(struct switch_dev *dev, struct uci_package *p); - -#endif diff --git a/feeds/rtkmipsel/swconfig/src/uci.c b/feeds/rtkmipsel/swconfig/src/uci.c deleted file mode 100644 index bbeeb0311..000000000 --- a/feeds/rtkmipsel/swconfig/src/uci.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * uci.c: UCI binding for the switch configuration utility - * - * Copyright (C) 2009 Felix Fietkau - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * version 2 as published by the Free Software Foundatio. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include "swlib.h" - -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) -#endif - -struct swlib_setting { - struct switch_attr *attr; - const char *name; - int port_vlan; - const char *val; - struct swlib_setting *next; -}; - -struct swlib_setting early_settings[] = { - { .name = "reset", .val = "1" }, - { .name = "enable_vlan", .val = "1" }, -}; - -static struct swlib_setting *settings; -static struct swlib_setting **head; - -static bool swlib_match_name(struct switch_dev *dev, const char *name) -{ - return (strcmp(name, dev->dev_name) == 0 || - strcmp(name, dev->alias) == 0); -} - -static int -swlib_map_settings(struct switch_dev *dev, int type, int port_vlan, struct uci_section *s) -{ - struct swlib_setting *setting; - struct switch_attr *attr; - struct uci_element *e; - struct uci_option *o; - - uci_foreach_element(&s->options, e) { - o = uci_to_option(e); - - if (o->type != UCI_TYPE_STRING) - continue; - - if (!strcmp(e->name, "device")) - continue; - - /* map early settings */ - if (type == SWLIB_ATTR_GROUP_GLOBAL) { - int i; - - for (i = 0; i < ARRAY_SIZE(early_settings); i++) { - if (strcmp(e->name, early_settings[i].name) != 0) - continue; - - early_settings[i].val = o->v.string; - goto skip; - } - } - - attr = swlib_lookup_attr(dev, type, e->name); - if (!attr) - continue; - - setting = malloc(sizeof(struct swlib_setting)); - memset(setting, 0, sizeof(struct swlib_setting)); - setting->attr = attr; - setting->port_vlan = port_vlan; - setting->val = o->v.string; - *head = setting; - head = &setting->next; -skip: - continue; - } -} - -int swlib_apply_from_uci(struct switch_dev *dev, struct uci_package *p) -{ - struct switch_attr *attr; - struct uci_element *e; - struct uci_section *s; - struct uci_option *o; - struct uci_ptr ptr; - struct switch_val val; - int i; - - settings = NULL; - head = &settings; - - uci_foreach_element(&p->sections, e) { - struct uci_element *n; - - s = uci_to_section(e); - - if (strcmp(s->type, "switch") != 0) - continue; - - uci_foreach_element(&s->options, n) { - struct uci_option *o = uci_to_option(n); - - if (strcmp(n->name, "name") != 0) - continue; - - if (o->type != UCI_TYPE_STRING) - continue; - - if (swlib_match_name(dev, o->v.string)) - goto found; - - break; - } - - if (!swlib_match_name(dev, e->name)) - continue; - - goto found; - } - - /* not found */ - return -1; - -found: - /* look up available early options, which need to be taken care - * of in the correct order */ - for (i = 0; i < ARRAY_SIZE(early_settings); i++) { - early_settings[i].attr = swlib_lookup_attr(dev, - SWLIB_ATTR_GROUP_GLOBAL, early_settings[i].name); - } - swlib_map_settings(dev, SWLIB_ATTR_GROUP_GLOBAL, 0, s); - - /* look for port or vlan sections */ - uci_foreach_element(&p->sections, e) { - struct uci_element *os; - s = uci_to_section(e); - - if (!strcmp(s->type, "switch_port")) { - char *devn, *port, *port_err = NULL; - int port_n; - - uci_foreach_element(&s->options, os) { - o = uci_to_option(os); - if (o->type != UCI_TYPE_STRING) - continue; - - if (!strcmp(os->name, "device")) { - devn = o->v.string; - if (!swlib_match_name(dev, devn)) - devn = NULL; - } else if (!strcmp(os->name, "port")) { - port = o->v.string; - } - } - if (!devn || !port || !port[0]) - continue; - - port_n = strtoul(port, &port_err, 0); - if (port_err && port_err[0]) - continue; - - swlib_map_settings(dev, SWLIB_ATTR_GROUP_PORT, port_n, s); - } else if (!strcmp(s->type, "switch_vlan")) { - char *devn, *vlan, *vlan_err = NULL; - int vlan_n; - - uci_foreach_element(&s->options, os) { - o = uci_to_option(os); - if (o->type != UCI_TYPE_STRING) - continue; - - if (!strcmp(os->name, "device")) { - devn = o->v.string; - if (!swlib_match_name(dev, devn)) - devn = NULL; - } else if (!strcmp(os->name, "vlan")) { - vlan = o->v.string; - } - } - if (!devn || !vlan || !vlan[0]) - continue; - - vlan_n = strtoul(vlan, &vlan_err, 0); - if (vlan_err && vlan_err[0]) - continue; - - swlib_map_settings(dev, SWLIB_ATTR_GROUP_VLAN, vlan_n, s); - } - } - - for (i = 0; i < ARRAY_SIZE(early_settings); i++) { - struct swlib_setting *st = &early_settings[i]; - if (!st->attr || !st->val) - continue; - swlib_set_attr_string(dev, st->attr, st->port_vlan, st->val); - - } - - while (settings) { - struct swlib_setting *st = settings; - - swlib_set_attr_string(dev, st->attr, st->port_vlan, st->val); - st = st->next; - free(settings); - settings = st; - } - - /* Apply the config */ - attr = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_GLOBAL, "apply"); - if (!attr) - return 0; - - memset(&val, 0, sizeof(val)); - swlib_set_attr(dev, attr, &val); - - return 0; -} diff --git a/feeds/third-party/chilli-redirect/Makefile b/feeds/third-party/chilli-redirect/Makefile deleted file mode 100644 index ca301dbe5..000000000 --- a/feeds/third-party/chilli-redirect/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=chilli-redirect -PKG_RELEASE:=1 - -PKG_LICENSE:=BSD-3-Clause -PKG_MAINTAINER:=John Crispin - -include $(INCLUDE_DIR)/package.mk - -define Package/chilli-redirect - SUBMENU:=Captive Portals - SECTION:=net - CATEGORY:=Network - TITLE:=Chilli-Redirect -endef - -define Package/chilli-redirect/description - Chilli Captive portal redirect support. -endef - -define Build/Prepare - mkdir -p $(PKG_BUILD_DIR) -endef - -define Build/Compile/Default - -endef -Build/Compile = $(Build/Compile/Default) - -define Package/chilli-redirect/install - $(CP) ./files/* $(1) -endef - -$(eval $(call BuildPackage,chilli-redirect)) diff --git a/feeds/third-party/chilli-redirect/files/etc/uci-defaults/99-chilli b/feeds/third-party/chilli-redirect/files/etc/uci-defaults/99-chilli deleted file mode 100644 index 9c6631515..000000000 --- a/feeds/third-party/chilli-redirect/files/etc/uci-defaults/99-chilli +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -rm /etc/config/chilli -cat > /etc/config/chilli < -PKG_LICENSE:=GPL-2.0-or-later -PKG_LICENSE_FILES:=COPYING - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 -PKG_BUILD_PARALLEL:=0 - -PKG_CONFIG_DEPENDS:= \ - COOVACHILLI_JSONINTERFACE \ - COOVACHILLI_LARGELIMITS \ - COOVACHILLI_MINIPORTAL \ - COOVACHILLI_NOSSL \ - COOVACHILLI_OPENSSL \ - COOVACHILLI_PROXY \ - COOVACHILLI_REDIR \ - COOVACHILLI_UAMDOMAINFILE \ - COOVACHILLI_USERAGENT \ - COOVACHILLI_WOLFSSL \ - IPV6 - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/kernel.mk - -define Package/coova-chilli - SUBMENU:=Captive Portals - SECTION:=net - CATEGORY:=Network - DEPENDS:=+kmod-tun +librt +COOVACHILLI_MINIPORTAL:haserl \ - +COOVACHILLI_WOLFSSL:libwolfssl +COOVACHILLI_OPENSSL:libopenssl \ - +COOVACHILLI_JSONINTERFACE:libjson-c - TITLE:=Wireless LAN HotSpot controller (Coova Chilli Version) - URL:=https://coova.github.io/ - MENU:=1 -endef - -define Package/coova-chilli/description - CoovaChilli is an open source access controller for wireless LAN - access points and is based on ChilliSpot. It is used for authenticating - users of a wireless (or wired) LAN. It supports web based login (UAM) - which is today's standard for public HotSpots and it supports Wireless - Protected Access (WPA) which is the standard of the future. - Authentication, authorization and accounting (AAA) is handled by your - favorite radius server. -endef - -define Package/coova-chilli/config - source "$(SOURCE)/Config.in" -endef - -define KernelPackage/ipt-coova - URL:=http://www.coova.org/CoovaChilli - SUBMENU:=Netfilter Extensions - DEPENDS:=coova-chilli +kmod-ipt-core +libxtables - TITLE:=Coova netfilter module - FILES:=$(PKG_BUILD_DIR)/src/linux/xt_*.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoProbe,xt_coova) -endef - -define KernelPackage/ipt-coova/description - Netfilter kernel module for CoovaChilli - Includes: - - coova -endef - -DISABLE_NLS= - -TARGET_CFLAGS += $(FPIC) -Wno-error - -CONFIGURE_VARS += \ - ARCH="$(LINUX_KARCH)" \ - KERNEL_DIR="$(LINUX_DIR)" - -MAKE_FLAGS += \ - ARCH="$(LINUX_KARCH)" \ - KERNEL_DIR="$(LINUX_DIR)" - -MAKE_INSTALL_FLAGS += \ - ARCH="$(LINUX_KARCH)" \ - KERNEL_DIR="$(LINUX_DIR)" \ - INSTALL_MOD_PATH="$(PKG_INSTALL_DIR)" - -define Build/Prepare -$(call Build/Prepare/Default) - ( cd $(PKG_BUILD_DIR) ; \ - [ -f ./configure ] || { \ - ./bootstrap ; \ - } \ - ) -endef - -define Build/Configure - $(call Build/Configure/Default, \ - $(if $(CONFIG_COOVACHILLI_PROXY),--enable,--disable)-chilliproxy \ - $(if $(CONFIG_COOVACHILLI_REDIR),--enable,--disable)-chilliredir \ - $(if $(CONFIG_COOVACHILLI_MINIPORTAL),--enable,--disable)-miniportal \ - $(if $(CONFIG_COOVACHILLI_USERAGENT),--enable,--disable)-useragent \ - $(if $(CONFIG_COOVACHILLI_LARGELIMITS),--enable,--disable)-largelimits \ - $(if $(CONFIG_COOVACHILLI_JSONINTERFACE),--enable,--disable)-libjson \ - $(if $(CONFIG_COOVACHILLI_JSONINTERFACE),--enable,--disable)-json \ - $(if $(CONFIG_COOVACHILLI_UAMDOMAINFILE),--enable,--disable)-uamdomainfile \ - $(if $(CONFIG_IPV6),--with,--without)-ipv6 \ - $(if $(CONFIG_COOVACHILLI_WOLFSSL),--with,--without)-cyassl \ - $(if $(CONFIG_COOVACHILLI_OPENSSL),--with,--without)-openssl \ - $(if $(CONFIG_PACKAGE_kmod-ipt-coova),--with-nfcoova) \ - --enable-chilliredir\ - ) -endef - -define Package/coova-chilli/conffiles -/etc/config/chilli -endef - -define Package/coova-chilli/install - $(INSTALL_DIR) $(1)/etc - $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/chilli.conf $(1)/etc/ - $(INSTALL_DIR) $(1)/etc/chilli - $(CP) $(PKG_INSTALL_DIR)/etc/chilli/* $(1)/etc/chilli/ - $(INSTALL_DIR) $(1)/etc/hotplug.d/iface - $(INSTALL_DATA) ./files/chilli.hotplug $(1)/etc/hotplug.d/iface/30-chilli - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/chilli* $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/usr/lib/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/ - $(if $(CONFIG_PACKAGE_kmod-ipt-coova), \ - $(INSTALL_DIR) $(1)/usr/lib/iptables; \ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/iptables/lib*.so $(1)/usr/lib/iptables/ \ - ) - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) files/chilli.init $(1)/etc/init.d/chilli - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) files/chilli.config $(1)/etc/config/chilli -endef - -$(eval $(call BuildPackage,coova-chilli)) -$(eval $(call KernelPackage,ipt-coova)) diff --git a/feeds/third-party/coova-chilli/files/chilli.config b/feeds/third-party/coova-chilli/files/chilli.config deleted file mode 100644 index 11286c7b1..000000000 --- a/feeds/third-party/coova-chilli/files/chilli.config +++ /dev/null @@ -1,226 +0,0 @@ -# -# Sample Coova-Chilli configuration file -# - -config chilli - # disable to running chilli. remove this option before running. - option disabled 1 - - # name of TUN device name. required. - option tundev 'tun0' - - # name of network interface - option network '' - - # Include this flag to include debug information. - #option debug 1 - - # Re-read configuration file at this interval. Will also cause new domain - # name lookups to be performed. Value is given in seconds. - #option interval 3600 - - # Directory to use for nonvolatile storage. - # The program must have write access to this directory. - # this option is currently ignored - #option statedir ./ - - - # TUN parameters - - # IP network address of external packet data network - # Used to allocate dynamic IP addresses and set up routing. - # Normally you do not need to uncomment this option. - #option net 192.168.182.0/24 - - # Dynamic IP address pool - # Used to allocate dynamic IP addresses to clients. - # If not set it defaults to the net tag. - # Do not uncomment this option unless you are an experienced user! - #option dynip 192.168.182.0/24 - - # Static IP address pool - # Used to allocate static IP addresses to clients. - # Do not uncomment this option unless you are an experienced user! - #option statip 192.168.182.0/24 - - - # Primary DNS server. - # Will be suggested to the client. - # If omitted the system default will be used. - # Normally you do not need to uncomment this option. - #option dns1 172.16.0.5 - - # Secondary DNS server. - # Will be suggested to the client. - # If omitted the system default will be used. - # Normally you do not need to uncomment this option. - #option dns2 172.16.0.6 - - # Domain name - # Will be suggested to the client. - # Normally you do not need to uncomment this option. - #option domain key.chillispot.org - - # Script executed after network interface has been brought up. - # Executed with the following parameters: - # - # Normally you do not need to modify this option. - option ipup /etc/chilli/up.sh - - # Script executed after network interface has been taken down. - # Executed with the following parameters: - # - # Normally you do not need to modify this option. - option ipdown /etc/chilli/down.sh - - - # Radius parameters - - # IP address to listen to - # Normally you do not need to uncomment this option. - #option radiuslisten 127.0.0.1 - - # IP address of radius server 1 - # For most installations you need to modify this option. - option radiusserver1 rad01.chillispot.org - - # IP address of radius server 2 - # If you have only one radius server you should set radiusserver2 to the - # same value as radiusserver1. - # For most installations you need to modify this option. - option radiusserver2 rad02.chillispot.org - - # Radius authentication port - # The UDP port number to use for radius authentication requests. - # The same port number is used for both radiusserver1 and radiusserver2. - # Normally you do not need to uncomment this option. - #option radiusauthport 1812 - - # Radius accounting port - # The UDP port number to use for radius accounting requests. - # The same port number is used for both radiusserver1 and radiusserver2. - # Normally you do not need to uncomment this option. - #option radiusacctport 1813 - - # Radius shared secret for both servers - # For all installations you should modify this option. - #option radiussecret testing123 - - # Radius NAS-Identifier - # Normally you do not need to uncomment this option. - #option radiusnasid nas01 - - # WISPr Location ID. Should be in the format: isocc=, - # cc=,ac=,network= - # Normally you do not need to uncomment this option. - #option radiuslocationid isocc=us,cc=1,ac=408,network=ACMEWISP_NewarkAirport - - # WISPr Location Name. Should be in the format: - # , - # Normally you do not need to uncomment this option. - #option radiuslocationname ACMEWISP,Gate_14_Terminal_C_of_Newark_Airport - - - # Radius proxy parameters - - # IP address to listen to - # Normally you do not need to uncomment this option. - #option proxylisten 10.0.0.1 - - # UDP port to listen to. - # If not specified a port will be selected by the system - # Normally you do not need to uncomment this option. - #option proxyport 1645 - - # Client(s) from which we accept radius requests - # Normally you do not need to uncomment this option. - #option proxyclient 10.0.0.1/24 - - # Radius proxy shared secret for all clients - # If not specified defaults to radiussecret - # Normally you do not need to uncomment this option. - #option proxysecret testing123 - - - # DHCP Parameters - - # Ethernet interface to listen to. - # This is the network interface which is connected to the access points. - # In a typical configuration this option should be set to eth1. - option dhcpif eth1 - - # Use specified MAC address. - # An address in the range 00:00:5E:00:02:00 - 00:00:5E:FF:FF:FF falls - # within the IANA range of addresses and is not allocated for other - # purposes. - # Normally you do not need to uncomment this option. - #option dhcpmac 00:00:5E:00:02:00 - - # Time before DHCP lease expires - # Normally you do not need to uncomment this option. - #option lease 600 - - - # Universal access method (UAM) parameters - - # URL of web server handling authentication. - option uamserver https://radius.chillispot.org/hotspotlogin - - # URL of welcome homepage. - # Unauthenticated users will be redirected to this URL. If not specified - # users will be redirected to the uamserver instead. - # Normally you do not need to uncomment this option. - #option uamhomepage http://192.168.182.1/welcome.html - - # Shared between chilli and authentication web server - #option uamsecret ht2eb8ej6s4et3rg1ulp - - # IP address to listen to for authentication requests - # Do not uncomment this option unless you are an experienced user! - #option uamlisten 192.168.182.1 - - # TCP port to listen to for authentication requests - # Do not uncomment this option unless you are an experienced user! - #option uamport 3990 - - # Comma separated list of domain names, IP addresses or network segments - # the client can access without first authenticating. - # It is possible to specify this option multiple times. - # Normally you do not need to uncomment this option. - #option uamallowed www.chillispot.org,10.11.12.0/24 - - # Comma separated list of domain names - # the client can access without first authenticating. - # It is possible to specify this option multiple times. - # Normally you do not need to uncomment this option. - #option uamdomain .chillispot.org,.coova.org - - # If this flag is given unauthenticated users are allowed to use - # any DNS server. - # Normally you do not need to uncomment this option. - #option uamanydns - - - # MAC authentication - - # If this flag is given users will be authenticated only on their MAC - # address. - # Normally you do not need to uncomment this option. - #option macauth - - # List of MAC addresses. - # The MAC addresses specified in this list will be authenticated only on - # their MAC address. - # this option is ignored if the macauth tag is given. - # It is possible to specify this option multiple times. - # Normally you do not need to uncomment this option. - #option macallowed 00-0A-5E-AC-BE-51,00-30-1B-3C-32-E9 - - # Password to use for MAC authentication. - # Normally you do not need to uncomment this option. - #option macpasswd password - - # Suffix to add to MAC address in order to form the username. - # Normally you do not need to uncomment this option. - #option macsuffix suffix - diff --git a/feeds/third-party/coova-chilli/files/chilli.hotplug b/feeds/third-party/coova-chilli/files/chilli.hotplug deleted file mode 100644 index b03e0479a..000000000 --- a/feeds/third-party/coova-chilli/files/chilli.hotplug +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -[ "$ACTION" == "ifup" ] || exit 0 - -[ "$INTERFACE" = "wan" -a "$(uci get chilli.@chilli[-1].disabled)" -neq 0 ] && { - /etc/init.d/chilli restart -} diff --git a/feeds/third-party/coova-chilli/files/chilli.init b/feeds/third-party/coova-chilli/files/chilli.init deleted file mode 100644 index ab6ce7130..000000000 --- a/feeds/third-party/coova-chilli/files/chilli.init +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=90 -STOP=89 -USE_PROCD=1 - -service_triggers() { - procd_add_reload_trigger "chilli" -} - -config_cb() { - chilli_conf="/var/run/chilli_${2}.conf" - [ -e "$chilli_conf" ] && rm -f "$chilli_conf" -} - -option_cb() { - case "$1" in - # ignored/internal settings - disabled) - ;; - # UCI settings - network) - . /lib/functions/network.sh - local ifname - network_get_device ifname "$2" - echo "dhcpif=\"$ifname\"" >> "$chilli_conf" - ;; - # boolean settings - acctupdate|chillixml|coanoipcheck|debug|dhcpbroadcast|dhcpmacset|dhcpnotidle|\ - dhcpradius|dnsparanoia|domaindnslocal|eapolenable|fg|forgiving|framedservice|\ - ieee8021q|injectwispr|ipv6|ipv6only|layer3|locationcopycalled|\ - locationimmediateupdate|locationopt82|locationstopstart|macallowlocal|\ - macauth|macauthdeny|macreauth|mmapring|mschapv2|noarpentries|noc2c|nochallenge|\ - nodynip|noradallow|nosystemdns|nouamsuccess|nousergardendata|nowispr1|nowispr2|\ - only8021q|openidauth|papalwaysok|patricia|postauthproxyssl|proxymacaccept|\ - proxyonacct|radiusoriginalurl|radsec|redir|redirdnsreq|redirssl|redirurl|reload|\ - routeonetone|scalewin|seskeepalive|statusfilesave|strictdhcp|strictmacauth|\ - swapoctets|uamallowpost|uamanydns|uamanyip|uamauthedallowed|uamgardendata|\ - uamnatanyip|uamotherdata|uamuissl|usetap|vlanlocation|wpaguests) - [ "$2" = "true" -o "$2" = "1" ] && echo "$1" >> "$chilli_conf" - ;; - *) - echo "$1=\"$2\"" >> "$chilli_conf" - ;; - esac -} - -start_chilli() { - local cfg="$1" - local base="/var/run/chilli_${cfg}" - - config_get_bool disabled "$1" 'disabled' 0 - [ $disabled = 1 ] && return - - procd_open_instance "$cfg" - procd_set_param command /usr/sbin/chilli - procd_set_param file "$chilli_conf" - procd_append_param command \ - --fg \ - --conf "${base}.conf" \ - --pidfile "${base}.pid" \ - --cmdsocket "${base}.sock" \ - --unixipc "${base}.ipc" - procd_set_param respawn - procd_set_param stdout 1 - procd_set_param stderr 1 - procd_close_instance -} - -start_service() { - config_load chilli - config_foreach start_chilli chilli -} - -stop_service() { - rm -f /var/run/chilli_* -} - -reload_chilli() { - local pid - local cfg="$1" - local base="/var/run/chilli_${cfg}" - if [ -f "${base}.pid" ]; then - pid="$(cat "${base}.pid")" - [ -f "/var/run/chilli.${pid}.cfg.bin" ] && rm -f "/var/run/chilli.${pid}.cfg.bin" - chilli_query -s "${base}.sock" reload - fi -} - -reload_service() { - config_load chilli - config_foreach reload_chilli chilli -} diff --git a/feeds/third-party/coova-chilli/patches/100-fix_compile_kmod.patch b/feeds/third-party/coova-chilli/patches/100-fix_compile_kmod.patch deleted file mode 100644 index f2047b259..000000000 --- a/feeds/third-party/coova-chilli/patches/100-fix_compile_kmod.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/linux/Makefile -+++ b/src/linux/Makefile -@@ -25,8 +25,8 @@ lib%.o: lib%.c - $(CC) $(CFLAGS) -fPIC -O2 -Wall -D_INIT=lib$*_init -c -o $@ $<; - - install: modules_install libxt_coova.so -- mkdir -p $(DESTDIR)/lib/xtables/ -- cp libxt_coova.so $(DESTDIR)/lib/xtables/ -+ mkdir -p $(DESTDIR)/usr/lib/iptables/ -+ cp libxt_coova.so $(DESTDIR)/usr/lib/iptables/ - - distdir: - diff --git a/feeds/third-party/coova-chilli/patches/200-wolfssl.patch b/feeds/third-party/coova-chilli/patches/200-wolfssl.patch deleted file mode 100644 index dac526dae..000000000 --- a/feeds/third-party/coova-chilli/patches/200-wolfssl.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -397,7 +397,7 @@ AC_ARG_WITH([cyassl], - [AS_HELP_STRING([--with-cyassl], [enable support for cyassl])],[],[with_cyassl=no]) - - AS_IF([test x"$with_cyassl" != xno], -- [AC_CHECK_LIB([cyassl], [CyaSSL_Init], -+ [AC_CHECK_LIB([cyassl], [wolfSSL_Init], - [AC_SUBST([LIBSSL], ["-lcyassl"]) - AC_DEFINE([HAVE_CYASSL], [1], - [Define if you have cyassl]) ---- a/src/ippool.c -+++ b/src/ippool.c -@@ -35,6 +35,7 @@ int ippool_print(int fd, struct ippool_t - char * sep = "-- %-15s ------------------------------------------------------------\n"; - - #define ERR 0 -+#undef USED /* defined in */ - #define USED 1 - #define FREE 2 - #define LIST 3 ---- a/src/md5.h -+++ b/src/md5.h -@@ -35,7 +35,6 @@ - #define MD5Update MD5_Update - #define MD5Final MD5_Final - --typedef struct CYASSL_MD5_CTX MD5_CTX; - #else - - struct MD5Context { ---- a/src/ssl.c -+++ b/src/ssl.c -@@ -131,7 +131,7 @@ _openssl_env_init(openssl_env *env, char - */ - const long options = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION; - env->meth = SSLv23_method(); -- env->ctx = SSL_CTX_new(env->meth); -+ env->ctx = SSL_CTX_new((void *)env->meth); - SSL_CTX_set_options(env->ctx, options); - if (_options.sslciphers) { - SSL_CTX_set_cipher_list(env->ctx, _options.sslciphers); ---- a/src/ssl.h -+++ b/src/ssl.h -@@ -48,6 +48,8 @@ typedef struct { - #include - #include - -+#define OPENSSL_NO_ENGINE -+#include - #include - #include - #include diff --git a/feeds/third-party/coova-chilli/patches/300-sysinfo.patch b/feeds/third-party/coova-chilli/patches/300-sysinfo.patch deleted file mode 100644 index 3881d2a74..000000000 --- a/feeds/third-party/coova-chilli/patches/300-sysinfo.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 196b783b5ea7f8d6cf57ddbd41dc1881ef47a1c4 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Wed, 11 Dec 2019 19:33:58 -0800 -Subject: [PATCH] system.h: Fix compilation with kernel 4.19 + musl - - includes , which redefines struct sysinfo, leading to an error. -Define the linux header as included to solve compilation. - -Signed-off-by: Rosen Penev ---- - src/system.h | 1 + - 1 file changed, 1 insertion(+) - ---- a/src/system.h -+++ b/src/system.h -@@ -114,6 +114,7 @@ - - #ifdef HAVE_SYS_SYSINFO_H - #include -+#define _LINUX_SYSINFO_H - #else - #ifdef HAVE_LINUX_SYSINFO_H - #define _LINUX_KERNEL_H diff --git a/feeds/third-party/coova-chilli/patches/400-fix-version.patch b/feeds/third-party/coova-chilli/patches/400-fix-version.patch deleted file mode 100644 index 1f1ef7121..000000000 --- a/feeds/third-party/coova-chilli/patches/400-fix-version.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -2,7 +2,7 @@ - # Process this file with autoconf to produce a configure script. - - AC_PREREQ([2.59]) --AC_INIT([coova-chilli],[1.4],[https://github.com/coova/coova-chilli/issues]) -+AC_INIT([coova-chilli],[1.5],[https://github.com/coova/coova-chilli/issues]) - AC_CONFIG_SRCDIR([src/chilli.c]) - - AM_INIT_AUTOMAKE diff --git a/patches/rtkmipsel/0001-tools-add-realtek-image-building-code.patch b/patches/rtkmipsel/0001-tools-add-realtek-image-building-code.patch deleted file mode 100644 index cda468c53..000000000 --- a/patches/rtkmipsel/0001-tools-add-realtek-image-building-code.patch +++ /dev/null @@ -1,1056 +0,0 @@ -From d673a23639860e21ef87c4c455018c4b6245868a Mon Sep 17 00:00:00 2001 -From: John Crispin -Date: Wed, 3 Nov 2021 14:32:11 +0100 -Subject: [PATCH] tools: add realtek image building code - -Signed-off-by: John Crispin ---- - tools/Makefile | 1 + - tools/rtk-tools/Makefile | 50 ++++ - tools/rtk-tools/src/apmib.h | 77 +++++++ - tools/rtk-tools/src/cvimg.c | 443 ++++++++++++++++++++++++++++++++++++ - tools/rtk-tools/src/mgbin.c | 429 ++++++++++++++++++++++++++++++++++ - 5 files changed, 1000 insertions(+) - create mode 100644 tools/rtk-tools/Makefile - create mode 100644 tools/rtk-tools/src/apmib.h - create mode 100644 tools/rtk-tools/src/cvimg.c - create mode 100644 tools/rtk-tools/src/mgbin.c - -diff --git a/tools/Makefile b/tools/Makefile -index ae3cc5dfd6..a2d49967e7 100644 ---- a/tools/Makefile -+++ b/tools/Makefile -@@ -36,6 +36,7 @@ tools-$(CONFIG_TARGET_tegra) += cbootimage cbootimage-configs - tools-$(CONFIG_USES_MINOR) += kernel2minor - tools-$(CONFIG_USE_SPARSE) += sparse - tools-$(CONFIG_USE_LLVM_BUILD) += llvm-bpf -+tools-$(CONFIG_TARGET_rtkmipsel) += rtk-tools - - # builddir dependencies - $(curdir)/autoconf/compile := $(curdir)/m4/compile -diff --git a/tools/rtk-tools/Makefile b/tools/rtk-tools/Makefile -new file mode 100644 -index 0000000000..a7f79c04b6 ---- /dev/null -+++ b/tools/rtk-tools/Makefile -@@ -0,0 +1,50 @@ -+# -+# Copyright (C) 2006-2010 OpenWrt.org -+# -+# This is free software, licensed under the GNU General Public License v2. -+# See /LICENSE for more information. -+# -+ -+include $(TOPDIR)/rules.mk -+ -+PKG_NAME:=rtk-tools -+PKG_VERSION:=0.1 -+ -+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/${PKG_NAME}-$(PKG_VERSION) -+HOST_CFLAGS += -DCOMPACT_FILENAME_BUFFER -DHOME_GATEWAY -+ -+include $(INCLUDE_DIR)/host-build.mk -+ -+define Host/Compile -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_8196C src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl8196c -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_8196C src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl8196c -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_8196E src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl8196e -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_8196E src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl8196e -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl819xd -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl819xd -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl819xdt -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl819xdt -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl89xxd -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl8198c -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl8954e -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl8197f -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl89xxd -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl8198c -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl8954e -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_819XD src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl8197f -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_8881A src/cvimg.c -o $(HOST_BUILD_DIR)/cvimg-rtl8881a -+ $(HOSTCC) $(HOST_CFLAGS) -DCONFIG_RTL_8881A src/mgbin.c -o $(HOST_BUILD_DIR)/mgbin-rtl8881a -+endef -+ -+define Host/Install -+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin -+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/cvimg* $(STAGING_DIR_HOST)/bin/ -+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/mgbin* $(STAGING_DIR_HOST)/bin/ -+endef -+ -+define Host/Clean -+ rm -f $(STAGING_DIR_HOST)/bin/cvimg* -+ rm -f $(STAGING_DIR_HOST)/bin/mgbin* -+endef -+ -+$(eval $(call HostBuild)) -diff --git a/tools/rtk-tools/src/apmib.h b/tools/rtk-tools/src/apmib.h -new file mode 100644 -index 0000000000..bf7257efa1 ---- /dev/null -+++ b/tools/rtk-tools/src/apmib.h -@@ -0,0 +1,77 @@ -+#ifndef __APMIB_H -+#define __APMIB_H -+ -+#ifndef WIN32 -+#define __PACK__ __attribute__ ((packed)) -+#else -+#define __PACK__ -+#endif -+ -+#define BOOT_HEADER ((char *)"boot") -+ -+#if defined(CONFIG_RTL_8196B) -+#define ROOT_HEADER ((char *)"r6br") -+#elif defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8881A) -+#define ROOT_HEADER ((char *)"r6cr") -+#else -+#define ROOT_HEADER ((char *)"root") -+#endif //#if defined(CONFIG_RTL_8196B) -+ -+#if defined(CONFIG_RTL_8196B) -+#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -+#define WEB_HEADER ((char *)"w6bv") -+#elif (defined(HOME_GATEWAY)) -+#define WEB_HEADER ((char *)"w6bg") -+#else -+#define WEB_HEADER ((char *)"w6ba") -+#endif -+#elif defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8881A) -+#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -+#define WEB_HEADER ((char *)"w6cv") -+#elif (defined(HOME_GATEWAY)) -+#define WEB_HEADER ((char *)"w6cg") -+#else -+#define WEB_HEADER ((char *)"w6ca") -+#endif -+#else -+#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT)) -+#define WEB_HEADER ((char *)"webv") -+#elif (defined(HOME_GATEWAY)) -+#define WEB_HEADER ((char *)"webg") -+#else -+#define WEB_HEADER ((char *)"weba") -+#endif -+#endif //#if defined(CONFIG_RTL_8196B) -+ -+#if defined(CONFIG_RTL_8196B) -+#define FW_HEADER_WITH_ROOT ((char *)"cr6b") -+#define FW_HEADER ((char *)"cs6b") -+#elif defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E) || defined(CONFIG_RTL_8881A) -+#define FW_HEADER_WITH_ROOT ((char *)"cr6c") -+#define FW_HEADER ((char *)"cs6c") -+#else -+#define FW_HEADER_WITH_ROOT ((char *)"csro") -+#define FW_HEADER ((char *)"csys") -+#endif //#if defined(CONFIG_RTL_8196B) -+ -+#define ALL_HEADER ((char *)"allp") -+ -+#define HW_SETTING_OFFSET 0x6000 -+#define DEFAULT_SETTING_OFFSET 0x8000 -+#define CURRENT_SETTING_OFFSET 0xc000 -+ -+#define DWORD_SWAP(v) ( (((v&0xff)<<24)&0xff000000) | ((((v>>8)&0xff)<<16)&0xff0000) | \ -+ ((((v>>16)&0xff)<<8)&0xff00) | (((v>>24)&0xff)&0xff) ) -+ -+#define WORD_SWAP(v) ((unsigned short)(((v>>8)&0xff) | ((v<<8)&0xff00))) -+ -+#define SIGNATURE_LEN 4 -+ -+typedef struct img_header { -+ unsigned char signature[SIGNATURE_LEN]; -+ unsigned int startAddr; -+ unsigned int burnAddr; -+ unsigned int len; -+}__PACK__ IMG_HEADER_T, *IMG_HEADER_Tp; -+ -+#endif -diff --git a/tools/rtk-tools/src/cvimg.c b/tools/rtk-tools/src/cvimg.c -new file mode 100644 -index 0000000000..de681d803e ---- /dev/null -+++ b/tools/rtk-tools/src/cvimg.c -@@ -0,0 +1,443 @@ -+/* -+ * Tool to convert ELF image to be the AP downloadable binary -+ * -+ * Authors: David Hsu -+ * -+ * $Id: cvimg.c,v 1.4 2009/06/12 07:10:44 michael Exp $ -+ * -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#undef HOME_GATEWAY -+#define HOME_GATEWAY -+#define RTK_4K_CHKSUM_FIX -+ -+#include "apmib.h" -+ -+/* 32-bit ELF base types. */ -+typedef unsigned int Elf32_Addr; -+typedef unsigned short Elf32_Half; -+typedef unsigned int Elf32_Off; -+typedef unsigned int Elf32_Word; -+ -+#define EI_NIDENT 16 -+ -+typedef struct elf32_hdr{ -+ unsigned char e_ident[EI_NIDENT]; -+ Elf32_Half e_type; -+ Elf32_Half e_machine; -+ Elf32_Word e_version; -+ Elf32_Addr e_entry; /* Entry point */ -+ Elf32_Off e_phoff; -+ Elf32_Off e_shoff; -+ Elf32_Word e_flags; -+ Elf32_Half e_ehsize; -+ Elf32_Half e_phentsize; -+ Elf32_Half e_phnum; -+ Elf32_Half e_shentsize; -+ Elf32_Half e_shnum; -+ Elf32_Half e_shstrndx; -+} Elf32_Ehdr; -+ -+#define DEFAULT_START_ADDR 0x80500000 -+#define DEFAULT_BASE_ADDR 0x80000000 -+ -+static unsigned short calculateChecksum(char *buf, int len); -+ -+///////////////////////////////////////////////////////// -+static unsigned int calculate_long_checksum(unsigned int *buf, int len) -+{ -+ int i, j; -+ unsigned int sum=0, tmp; -+ -+ j = len/4; -+ -+ for (i=0; i input-filename output-filename start-addr burn-addr [signature]\n"); -+ printf("