Firmadyne libnvram trace === --- ###### tags: `firmadyne` `security` 本篇以觀察 `qemu.initial.serial.log` 來追蹤呼叫 libnvram.so 的過程 我下手的點是先找有哪些 Code 是實際輸出到 `qemu.initial.serial.log` 再從 log 的訊息反推執行過程 本篇觀察的 `qemu.initial.serial.log` 是 qemu 模擬以下 kernel 的產物: https://github.com/firmadyne/kernel-v2.6.32 --- **目錄** [TOC] # Source Code libnvram: https://github.com/firmadyne/libnvram/tree/68ad8e9a9c25cb9d1202c690c1469df59e3f7cb3 ## `nvram.c` ### PRINT_MSG(fmt, ...) 首先先看有一個 macro: ```c=35 #define PRINT_MSG(fmt, ...) do { if (DEBUG) { fprintf(stderr, "%s: "fmt, __FUNCTION__, __VA_ARGS__); } } while (0) ``` 輸出的格式會是 `FUNCTION名稱(__FUNCTION__): 輸出資訊(fmt)` 在最後一節 `qemu.initial.serial.log` 節錄的便是使用 PRINT_MSG() 輸出出來的 log ### Tracing 看到第一個 log,是 `nvram_get_buf` 這個 function 輸出出來的,直覺地就去找找看 `nvram_get_buf` 到底被誰 call 到 先找找看 kernel 有機會 call 它的地方 透過 github 搜尋: ![](https://i.imgur.com/bKSxjlq.png) 看來是沒有。 那就找找看 libnvram 專案本身有機會 call 到它的地方,發現以下 function 都有機會: - `nvram_get` - `nvram_match` - `nvram_list_add` - `nvram_list_exist` - `nvram_list_del` 再回頭找 kernel 有機會 call 到這些 function 的地方。 - `nvram_get` ![](https://i.imgur.com/7RdrW1J.png) 所以 kernel 有機會 call 到 `nvram_get` - `nvram_match` 在 kernel 搜尋沒找到,在 libnvram 本身找到以下 function 有機會 call 它 - `nvram_invmatch` 但沒有在 kernel 搜尋到有可能 call 到 `nvram_invmatch` 的地方 所以 kernel 沒機會 call 到 `nvram_match` - `nvram_list_add` 在 kernel 搜尋沒找到,在 libnvram 本身也沒找到其他有機會 call 它的 function 所以 kernel 沒機會 call 到 `nvram_list_add` - `nvram_list_exist` 在 kernel 搜尋沒找到,在 libnvram 本身找到以下 function 有機會 call 它 - `nvram_list_add` - `nvram_list_del` 但兩者都沒在 kernel 搜尋到,所以 kernel 沒機會 call 到`nvram_list_exist` - `nvram_list_del` 一樣,沒機會。 所以產生 log `nvram_get_buf: sys_cli_debug` 唯一有可能的過程就是 `nvram_get` -> `nvram_get_buf` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` 看看 `nvram_get_buf` 這個 function ```c=369 char path[PATH_MAX] = MOUNT_POINT; ``` 定義一個字串,空間大小為 PATH_MAX,內容為 `"/firmadyne/libnvram/"` ```c=382 PRINT_MSG("%s\n", key); ``` 產生 log `nvram_get_buf: sys_cli_debug` 反推 key 是 `sys_cli_debug` ```c=384 strncat(path, key, ARRAY_SIZE(path) - ARRAY_SIZE(MOUNT_POINT) - 1); ``` 將 key 串接到 path 後頭 path 現在為 `"/firmadyne/libnvram/sys_cli_debug"` ```c=419 sem_lock() ``` call 進 `sem_lock` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` 看看 `sem_lock` ```c=113 // If not initialized, check for existing mount before triggering NVRAM init if (!init) { if ((mnt = setmntent("/proc/mounts", "r"))) { while ((ent = getmntent_r(mnt, &entry, temp, BUFFER_SIZE))) { if (!strncmp(ent->mnt_dir, MOUNT_POINT, sizeof(MOUNT_POINT) - 2)) { init = 1; PRINT_MSG("%s\n", "Already initialized!"); endmntent(mnt); goto cont; } } endmntent(mnt); } PRINT_MSG("%s\n", "Triggering NVRAM initialization!"); nvram_init(); } ``` init 一開始是 0,會進入 Line 114 的 if 看第二行 log,可推測 Line 115、116、117 其中一個條件式沒滿足 並且執行到 Line 127 輸出了第二行 log 並且 call 進 Line 128 `nvram_init` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` 看看 `nvram_init` ```c=172 PRINT_MSG("%s\n", "Initializing NVRAM..."); ``` 沒錯,match log line 3 ```c=174 if (init) { PRINT_MSG("%s\n", "Early termination!"); return E_SUCCESS; } init = 1; sem_lock(); ``` 根據 log line 4 不是 `"nvram_init: Early termination!"` 可以斷定沒有進 Line 174 的 if 並且設定了 init = 1,然後再呼叫 `sem_lock` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `sem_lock` init 為 1,所以不會進 Line 114 的 if ```c=133 if ((semid = sem_get()) == -1) { PRINT_MSG("%s\n", "Unable to get semaphore!"); return; } ``` call 進 `sem_get` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `sem_lock` -> `sem_get` ```c=66 PRINT_MSG("Key: %x\n", key); ``` match log line 4,反推 key 為 0x4101a018 中間有點小複雜,先忽略做了什麼,先根據 log line 5 判斷安然的 return 了 --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `sem_lock` 回到 Line 133 根據 log line 5 判斷沒進 Line 133 的 if ```c=140 if (semop(semid, &sembuf, 1) == -1) { PRINT_MSG("%s\n", "Unable to lock semaphore!"); } return; ``` 根據 log line 5 判斷也沒進 Line 140 的 if 安然的 return --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` 回到執行完 Line 180 ```c=182 if (mount("tmpfs", MOUNT_POINT, "tmpfs", MS_NOEXEC | MS_NOSUID | MS_SYNCHRONOUS, "") == -1) { sem_unlock(); PRINT_MSG("Unable to mount tmpfs on mount point %s!\n", MOUNT_POINT); return E_FAILURE; } ``` 根據 log line 5,判斷沒進去這 if,成功 mount `"/firmadyne/libnvram"` 到 `tmpfs` ```c=188 // Checked by certain Ralink routers if ((f = fopen("/var/run/nvramd.pid", "w+")) == NULL) { PRINT_MSG("Unable to touch Ralink PID file: %s!\n", "/var/run/nvramd.pid"); } else { fclose(f); } sem_unlock(); ``` 根據 log line 5,判斷開啟 `/var/run/nvramd.pid` 失敗 呼叫 `sem_unlock` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `sem_unlock` ```c=155 if ((semid = sem_get(NULL)) == -1) { PRINT_MSG("%s\n", "Unable to get semaphore!"); return; } ``` 呼叫 `sem_get` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `sem_unlock` -> `sem_get` match log line 6,反推 key 為 0x410d002a 中間有點小複雜,先忽略做了什麼,先根據 log line 7 判斷安然的 return 了 --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `sem_unlock` 回到 Line 155,根據 log line 7,判斷安然 return --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` 回到執行完 Line 196 ```c=198 return nvram_set_default(); ``` 呼叫 `nvram_set_default` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `nvram_set_default` 看看 `nvram_set_default` ```c=572 int ret = nvram_set_default_builtin(); ``` 呼叫 `nvram_set_default_builtin` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `nvram_set_default` -> `nvram_set_default_builtin` 看看 `nvram_set_default_builtin` ```c=602 PRINT_MSG("%s\n", "Setting built-in default values!"); ``` match log line 7。 ```c=604 #define ENTRY(a, b, c) \ if (b(a, c) != E_SUCCESS) { \ PRINT_MSG("Unable to initialize built-in NVRAM value %s!\n", a); \ ret = E_FAILURE; \ } NVRAM_DEFAULTS #undef ENTRY ``` 這個寫法第一次看到真心覺得酷 Line 604 DEFINE 了 ENTRY(a, b, c) 要被展開成的樣子 Line 610 展開定義在 `config.h` 的 `NVRAM_DEFAULTS`: ```c=45 #define NVRAM_DEFAULTS \ /* Linux kernel log level, used by "WRT54G3G_2.11.05_ETSI_code.bin" (305) */ \ ENTRY("console_loglevel", nvram_set, "7") \ /* Reset NVRAM to default at bootup, used by "WNR3500v2-V1.0.2.10_23.0.70NA.chk" (1018) */ \ ENTRY("restore_defaults", nvram_set, "1") \ ENTRY("sku_name", nvram_set, "") \ ENTRY("wla_wlanstate", nvram_set, "") \ ENTRY("lan_if", nvram_set, "br0") \ ENTRY("lan_ipaddr", nvram_set, "192.168.0.50") \ ENTRY("lan_bipaddr", nvram_set, "192.168.0.255") \ ENTRY("lan_netmask", nvram_set, "255.255.255.0") \ /* Set default timezone, required by multiple images */ \ ENTRY("time_zone", nvram_set, "EST5EDT") \ /* Set default WAN MAC address, used by "NBG-416N_V1.00(USA.7)C0.zip" (12786) */ \ ENTRY("wan_hwaddr_def", nvram_set, "01:23:45:67:89:ab") \ /* Attempt to define LAN/WAN interfaces */ \ ENTRY("wan_ifname", nvram_set, "eth0") \ ENTRY("lan_ifnames", nvram_set, "eth1 eth2 eth3 eth4") \ /* Used by "TEW-638v2%201.1.5.zip" (12898) to prevent crash in 'goahead' */ \ ENTRY("ethConver", nvram_set, "1") \ /* Used by "Firmware_TEW-411BRPplus_2.07_EU.zip" (13649) to prevent crash in 'init' */ \ ENTRY("lan_proto", nvram_set, "dhcp") \ ENTRY("wan_ipaddr", nvram_set, "0.0.0.0") \ ENTRY("wan_netmask", nvram_set, "255.255.255.0") \ ENTRY("wanif", nvram_set, "eth0") \ /* Used by "DGND3700 Firmware Version 1.0.0.17(NA).zip" (3425) to prevent crashes */ \ ENTRY("time_zone_x", nvram_set, "0") \ ENTRY("rip_multicast", nvram_set, "0") \ ENTRY("bs_trustedip_enable", nvram_set, "0") ``` 展開後又發現 ENTRY 可以進一步展開,舉例 ```c ENTRY("console_loglevel", nvram_set, "7") ``` 它會被展開成 ```c if (nvram_set("console_loglevel", "7") != E_SUCCESS) { \ PRINT_MSG("Unable to initialize built-in NVRAM value %s!\n", a); \ ret = E_FAILURE; \ } ``` 所以其實整個展開完後,會執行好幾個 `nvram_set` --- log line 8~10 為 `nvram_set("console_loglevel", "7")` 產出的 一直到 log line 67 都是執行這段展開。 最後展開的部分都執行完後 ```c=613 return ret; ``` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `nvram_set_default` 回到 Line 573 ```c=573 PRINT_MSG("Loading built-in default values = %d!\n", ret); ``` match log line 68 ```c=575 #define NATIVE(a, b) \ if (!system(a)) { \ PRINT_MSG("Executing native call to built-in function: %s (%p) = %d!\n", #b, b, b); \ } #define TABLE(a) \ PRINT_MSG("Checking for symbol \"%s\"...\n", #a); \ if (a) { \ PRINT_MSG("Loading from native built-in table: %s (%p) = %d!\n", #a, a, nvram_set_default_table(a)); \ } #define PATH(a) \ if (!access(a, R_OK)) { \ PRINT_MSG("Loading from default configuration file: %s = %d!\n", a, foreach_nvram_from(a, (void (*)(const char *, const char *, void *)) nvram_set, NULL)); \ } NVRAM_DEFAULTS_PATH #undef PATH #undef NATIVE #undef TABLE ``` 類似的 code 結構,展開定義在 config.h 的 `NVRAM_DEFAULTS_PATH` ```c=30 #define NVRAM_DEFAULTS_PATH \ /* "DIR-505L_FIRMWARE_1.01.ZIP" (10497) */ \ PATH("/var/etc/nvram.default") \ /* "DIR-615_REVE_FIRMWARE_5.11.ZIP" (9753) */ \ PATH("/etc/nvram.default") \ /* "DGL-5500_REVA_FIRMWARE_1.12B05.ZIP" (9469) */ \ TABLE(router_defaults) \ PATH("/etc/nvram.conf") \ PATH("/etc/nvram.deft") \ PATH("/etc/nvram.update") \ TABLE(Nvrams) \ PATH("/etc/wlan/nvram_params") \ PATH("/etc/system_nvram_defaults") ``` 在 file-system 中有 `/etc/nvram.default`,所以當 ```c PATH("/etc/nvram.default") ``` 展開成 ```c if (!access("/etc/nvram.default", R_OK)) { \ PRINT_MSG("Loading from default configuration file: %s = %d!\n", "/etc/nvram.default", foreach_nvram_from("/etc/nvram.default", (void (*)(const char *, const char *, void *)) nvram_set, NULL)); \ } ``` access 成功,執行 ```c foreach_nvram_from("/etc/nvram.default", (void (*)(const char *, const char *, void *)) nvram_set, NULL)) ``` 再來 PRINT_MSG ```c PRINT_MSG("Loading from default configuration file: %s = %d!\n", "/etc/nvram.default", 剛剛 foreach_nvram_from 的執行結果); ``` match log line 69 ~ 444 `foreach_nvram_from` implement 在 libnvram 專案的 `alias.c` 裡面 這個 function 簡單來說,就是把檔案中的每筆長成以下格式的資訊 ``` key=value ``` 傳進 `nvram_set(key, value)` ![](https://i.imgur.com/Vsaq07e.png) 其他的 PATH 都沒在 file-system,access fail,就不會進 if TABLE 的部分 match log line 445 446,並且也是沒進 if 這部分的展開都執行完畢後,繼續到下一行程式碼 ```c=596 return nvram_set_default_image() ``` 呼叫 `nvram_set_default_image` --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `nvram_set_default` -> `nvram_set_default_image` 看看 `nvram_set_default_image` ```c=617 PRINT_MSG("%s\n", "Copying overrides from defaults folder!"); ``` match log line 447 ```c=618 sem_lock(); system("/bin/cp "OVERRIDE_POINT"* "MOUNT_POINT); sem_unlock(); return E_SUCCESS; ``` Line 618 執行後 match log line 448 Line 619 因為 `/firmadyne/libnvram.override` 底下根本是空的,所以噴出 log line 449 Line 620 執行後 match log ling 450 return E_SUCCESS --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` -> `nvram_set_default` return E_SUCCESS --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` -> `nvram_init` 回到 Line 198,return E_SUCCESS --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` -> `sem_lock` 回到執行完 Line 128 ```c=133 if ((semid = sem_get()) == -1) { ``` `sem_get` 輸出 match log line 451 return --- 當前呼叫的過程: `nvram_get` -> `nvram_get_buf` ```c=388 if ((f = fopen(path, "rb")) == NULL) { sem_unlock(); PRINT_MSG("Unable to open key: %s!\n", path); return E_FAILURE; } ``` 這裡的 path 是 `/firmadyne/libnvram/sys_cli_debug` file-system 裡面沒有這個東西,所以進 if Line 389 match log line 452 Line 390 match log line 453 return E_FAILURE --- 當前呼叫的過程: `nvram_get` 回到 Line 344 ```c=344 return (nvram_get_buf(key, temp, BUFFER_SIZE) == E_SUCCESS) ? strndup(temp, BUFFER_SIZE) : NULL; ``` return NULL # `qemu.initial.serial.log` 以下節錄部分 log ```= nvram_get_buf: sys_cli_debug sem_lock: Triggering NVRAM initialization! nvram_init: Initializing NVRAM... sem_get: Key: 4101a018 nvram_init: Unable to touch Ralink PID file: /var/run/nvramd.pid! sem_get: Key: 410d002a nvram_set_default_builtin: Setting built-in default values! nvram_set: console_loglevel = "7" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: restore_defaults = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sku_name = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wla_wlanstate = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_if = "br0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_ipaddr = "192.168.0.50" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_bipaddr = "192.168.0.255" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_netmask = "255.255.255.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_zone = "EST5EDT" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wan_hwaddr_def = "01:23:45:67:89:ab" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wan_ifname = "eth0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_ifnames = "eth1 eth2 eth3 eth4" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ethConver = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_proto = "dhcp" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wan_ipaddr = "0.0.0.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wan_netmask = "255.255.255.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wanif = "eth0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_zone_x = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: rip_multicast = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: bs_trustedip_enable = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set_default: Loading built-in default values = 1! nvram_set: admin_username = "admin" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: admin_password = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_eth = "eth2" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: lan_bridge = "br0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipaddr = "192.168.0.50" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_netmask = "255.255.255.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_gateway = "0.0.0.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_primary_dns = "0.0.0.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_secondary_dns = "0.0.0.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_device_name = "dlinkap" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: dhcpc_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_dot11_mode = "11anac" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_channel = "36" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_auto_channel_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_beacon_interval = "100" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_dtim = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_txpower = "100" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_wmm_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_wep_display = "hex" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_psk_cipher_type = "both" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_wep64_key = "0000000000" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_wep128_key = "00000000000000000000000000" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_11n_protection = "auto" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_dfs_enable = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_rts_threshold = "2347" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_5g_fragmentation = "2346" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_channel = "6" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_auto_channel_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_dot11_mode = "11bgn" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_ssid_broadcast = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_wep64_key = "0000000000" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_wep128_key = "00000000000000000000000000" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_wep_display = "hex" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_psk_cipher_type = "both" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_txpower = "100" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_beacon_interval = "100" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_rts_threshold = "2347" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_fragmentation = "2346" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_dtim = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_partition = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_short_gi = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_wmm_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_11n_protection = "auto" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_gkey_rekey_time = "3600" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_txchainmask = "3" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_rxchainmask = "3" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_disablecoext = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_wps_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_wps_configured_mode = "5" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan0_disable_wps_pin = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan_repeater_mode = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_ssid = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_security = "disable" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_wep64_key = "0000000000" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_wep128_key = "00000000000000000000000000" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_wep_display = "hex" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_psk_cipher_type = "both" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_psk_pass_phrase = "1234567890" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_wps_enable = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_11n_protection = "auto" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: hostname = "DAP-1520" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: model_number = "DAP-1520" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: friendlyname = "DAP-1520" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: manufacturer = "D-Link" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: manufacturer_url = "http://www.dlink.com" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: model_name = "D-Link Repeater" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: model_url = "http://support.dlink.com" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: serial_number = "none" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: system_time = "2011/01/01/00/00/00" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: graph_enable = "none" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: session_timeout = "180" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ntp_client_enable = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_zone = "-128" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_zone_area = "4" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ntp_server = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ntp_default_server = "ntp1.dlink.com,ntp.dlink.com.tw" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ntp_sync_interval = "168" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_enable = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_start_month = "3" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_start_week = "3" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_start_day_of_week = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_start_time = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_end_month = "11" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_end_week = "2" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_end_day_of_week = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_saving_end_time = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: time_daylight_offset = "3600" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: syslog_server = "0/0.0.0.0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_system_activity = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_debug_information = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_attacks = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_dropped_packets = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_notice = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_per_page = "10" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_total_page = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_current_page = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: log_response_type = "system|debug|attack|dropped|notice" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: setup_wizard_ap = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wlan1_wps_wizard = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: default_downlink_ssid = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_type = "Repeater" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_type_new = "WiFiAccessPoint" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_device_name = "D-Link Systems DAP-1520" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_vendor_name = "D-Link" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_model_description = "Wireless Repeater" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_presentation_url = "/Device_Info.htm" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_wireless_url = "/wireless.htm" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_wireless_url_new = "/Wireless.htm" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_block_url = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_parental_url = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_reboot_page = "reboot.htm" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: pure_support_url = "http://support.dlink.com/products/view.asp?productid=DAP-1520" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_wan_proto = "ipv6_autoconfig" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_static_lan_ip = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_static_prefix_length = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_static_default_gw = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_static_primary_dns = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_static_secondary_dns = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_autoconfig_dns_enable = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_autoconfig_primary_dns = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_autoconfig_secondary_dns = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: ap_ipv6_wan_specify_dns = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: language = "default" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: uplink_set_by_user = "0" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set_default: Loading from default configuration file: /etc/nvram.default = 1! nvram_set_default: Checking for symbol "router_defaults"... nvram_set_default: Checking for symbol "Nvrams"... nvram_set_default_image: Copying overrides from defaults folder! sem_get: Key: 410d002a cp: /firmadyne/libnvram.override/*: No such file or directory sem_get: Key: 410d002a sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: Unable to open key: /firmadyne/libnvram/sys_cli_debug! nvram_set: sys_fw_version = "1.05" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_fw_build = "02" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_fw_version_build = "1.05b02" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_fw_date = "22, Aug, 2014" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_fw_week = "Fri" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_kernel_info_version = "2.6.36" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_region = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_lang_en = "multi" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_config_version_major = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_config_version_minor = "01" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_fw_query_url = "http://wrpd.dlink.com/router/firmware/query.aspx?model=" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_fw_query_str = "DAP-1520_Ax_Default" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: wizard_lang = "1" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_hw_version = "XX" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_lan_mac = "00:12:34:56:78:9A" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_5g_wlan_mac = "00:12:34:56:78:9C" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_wlan_domain = "0x10" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_wlan_ssid = "������" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_wlan_key = "�����������������������������" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_wlan_5g_ssid = "���������������������������������" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_set: sys_wlan_5g_key = "" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: sys_lan_mac sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "00:12:34:56:78:9A" nvram_set: sys_ath1_mac = "02:12:34:56:78:9A" sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: admin_username sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "admin" nvram_get_buf: admin_password sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: lan_eth sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "eth2" nvram_get_buf: lan_bridge sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "br0" nvram_get_buf: ap_ipaddr sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "192.168.0.50" nvram_get_buf: ap_netmask sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "255.255.255.0" nvram_get_buf: ap_gateway sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0.0.0.0" nvram_get_buf: ap_primary_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0.0.0.0" nvram_get_buf: ap_secondary_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0.0.0.0" nvram_get_buf: ap_device_name sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "dlinkap" nvram_get_buf: dhcpc_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_5g_dot11_mode sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "11anac" nvram_get_buf: wlan0_5g_channel sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "36" nvram_get_buf: wlan0_5g_auto_channel_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_5g_beacon_interval sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "100" nvram_get_buf: wlan0_5g_dtim sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_5g_txpower sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "100" nvram_get_buf: wlan0_5g_wmm_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_5g_wep_display sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "hex" nvram_get_buf: wlan0_5g_psk_cipher_type sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "both" nvram_get_buf: wlan0_5g_wep64_key sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0000000000" nvram_get_buf: wlan0_5g_wep128_key sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "00000000000000000000000000" nvram_get_buf: wlan0_5g_11n_protection sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "auto" nvram_get_buf: wlan0_5g_dfs_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: wlan0_5g_rts_threshold sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "2347" nvram_get_buf: wlan0_5g_fragmentation sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "2346" nvram_get_buf: wlan0_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_channel sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "6" nvram_get_buf: wlan0_auto_channel_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_dot11_mode sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "11bgn" nvram_get_buf: wlan0_ssid_broadcast sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_wep64_key sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0000000000" nvram_get_buf: wlan0_wep128_key sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "00000000000000000000000000" nvram_get_buf: wlan0_wep_display sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "hex" nvram_get_buf: wlan0_psk_cipher_type sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "both" nvram_get_buf: wlan0_txpower sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "100" nvram_get_buf: wlan0_beacon_interval sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "100" nvram_get_buf: wlan0_rts_threshold sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "2347" nvram_get_buf: wlan0_fragmentation sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "2346" nvram_get_buf: wlan0_dtim sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_partition sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: wlan0_short_gi sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_wmm_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_11n_protection sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "auto" nvram_get_buf: wlan0_gkey_rekey_time sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "3600" nvram_get_buf: wlan0_txchainmask sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "3" nvram_get_buf: wlan0_rxchainmask sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "3" nvram_get_buf: wlan0_disablecoext sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: wlan0_wps_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan0_wps_configured_mode sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "5" nvram_get_buf: wlan0_disable_wps_pin sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan_repeater_mode sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan1_ssid sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: wlan1_security sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "disable" nvram_get_buf: wlan1_wep64_key sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0000000000" nvram_get_buf: wlan1_wep128_key sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "00000000000000000000000000" nvram_get_buf: wlan1_wep_display sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "hex" nvram_get_buf: wlan1_psk_cipher_type sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "both" nvram_get_buf: wlan1_psk_pass_phrase sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1234567890" nvram_get_buf: wlan1_wps_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan1_11n_protection sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "auto" nvram_get_buf: hostname sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "DAP-1520" nvram_get_buf: model_number sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "DAP-1520" nvram_get_buf: friendlyname sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "DAP-1520" nvram_get_buf: manufacturer sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "D-Link" nvram_get_buf: manufacturer_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "http://www.dlink.com" nvram_get_buf: model_name sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "D-Link Repeater" nvram_get_buf: model_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "http://support.dlink.com" nvram_get_buf: serial_number sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "none" nvram_get_buf: system_time sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "2011/01/01/00/00/00" nvram_get_buf: graph_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "none" nvram_get_buf: session_timeout sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "180" nvram_get_buf: ntp_client_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: time_zone sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "-128" nvram_get_buf: time_zone_area sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "4" nvram_get_buf: ntp_server sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ntp_default_server sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "ntp1.dlink.com,ntp.dlink.com.tw" nvram_get_buf: ntp_sync_interval sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "168" nvram_get_buf: time_daylight_saving_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: time_daylight_saving_start_month sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "3" nvram_get_buf: time_daylight_saving_start_week sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "3" nvram_get_buf: time_daylight_saving_start_day_of_week sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: time_daylight_saving_start_time sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: time_daylight_saving_end_month sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "11" nvram_get_buf: time_daylight_saving_end_week sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "2" nvram_get_buf: time_daylight_saving_end_day_of_week sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: time_daylight_saving_end_time sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: time_daylight_offset sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "3600" nvram_get_buf: syslog_server sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0/0.0.0.0" nvram_get_buf: log_system_activity sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: log_debug_information sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: log_attacks sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: log_dropped_packets sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: log_notice sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: log_per_page sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "10" nvram_get_buf: log_total_page sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: log_current_page sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: log_response_type sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "system|debug|attack|dropped|notice" nvram_get_buf: setup_wizard_ap sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: wlan1_wps_wizard sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: default_downlink_ssid sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "1" nvram_get_buf: pure_type sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "Repeater" nvram_get_buf: pure_type_new sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "WiFiAccessPoint" nvram_get_buf: pure_device_name sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "D-Link Systems DAP-1520" nvram_get_buf: pure_vendor_name sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "D-Link" nvram_get_buf: pure_model_description sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "Wireless Repeater" nvram_get_buf: pure_presentation_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "/Device_Info.htm" nvram_get_buf: pure_wireless_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "/wireless.htm" nvram_get_buf: pure_wireless_url_new sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "/Wireless.htm" nvram_get_buf: pure_block_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: pure_parental_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: pure_reboot_page sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "reboot.htm" nvram_get_buf: pure_support_url sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "http://support.dlink.com/products/view.asp?productid=DAP-1520" nvram_get_buf: ap_ipv6_wan_proto sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "ipv6_autoconfig" nvram_get_buf: ap_ipv6_static_lan_ip sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_static_prefix_length sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_static_default_gw sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_static_primary_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_static_secondary_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_autoconfig_dns_enable sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: ap_ipv6_autoconfig_primary_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_autoconfig_secondary_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "" nvram_get_buf: ap_ipv6_wan_specify_dns sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" nvram_get_buf: language sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "default" nvram_get_buf: uplink_set_by_user sem_get: Key: 410d002a sem_get: Key: 410d002a nvram_get_buf: = "0" ```