Changeset 18991


Ignore:
Timestamp:
04/12/12 00:01:14 (13 months ago)
Author:
BrainSlayer
Message:

new device

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/router/services/sysinit/sysinit.c

    r18963 r18991  
    182182#if defined(HAVE_BUFFALO) || defined(HAVE_BUFFALO_BL_DEFAULTS) 
    183183 
    184 extern void *getUEnv(char *name); 
    185  
     184 
     185#ifdef HAVE_BCMMODERN 
     186    #define getUEnv(name) nvram_get(name) 
    186187static void buffalo_defaults(int force) 
    187188{ 
     189 
     190        char *pincode = getUEnv("pincode"); 
     191        if (pincode && nvram_get("pincode") == NULL) { 
     192                nvram_set("pincode", pincode); 
     193        } 
     194        if (nvram_get("wl0_akm") == NULL || force) { 
     195                char *region = getUEnv("region"); 
     196                if (!region || (strcmp(region, "AP") && strcmp(region, "TW") 
     197                                && strcmp(region, "RU") 
     198                                && strcmp(region, "KR") 
     199                                && strcmp(region, "CH"))) { 
     200                        { 
     201                                char *mode_ex = getUEnv("DEF-p_wireless_eth1_11a-authmode_ex"); 
     202                                if (mode_ex && !strcmp(mode_ex, "mixed-psk")) { 
     203                                        char *mode = 
     204                                            getUEnv 
     205                                            ("DEF-p_wireless_eth1_11a-authmode"); 
     206                                        if (!mode) 
     207                                                return; 
     208                                        if (!strcmp(mode, "psk")) { 
     209                                                nvram_set("wl0_akm","psk psk2"); 
     210                                                nvram_set("wl0_security_mode","psk psk2"); 
     211                                                nvram_set("wl_akm","psk psk2"); 
     212                                                nvram_set("wl_security_mode","psk psk2"); 
     213                                        } 
     214                                        if (!strcmp(mode, "psk2")) { 
     215                                                nvram_set("wl0_akm","psk psk2"); 
     216                                                nvram_set("wl0_security_mode","psk psk2"); 
     217                                                nvram_set("wl_akm","psk psk2"); 
     218                                                nvram_set("wl_security_mode","psk psk2"); 
     219                                        } 
     220                                } else { 
     221                                        char *mode = 
     222                                            getUEnv 
     223                                            ("DEF-p_wireless_eth1_11a-authmode"); 
     224                                        if (mode) { 
     225                                                nvram_set("wl0_akm", mode); 
     226                                                nvram_set("wl0_security_mode", 
     227                                                          mode); 
     228                                                nvram_set("wl_akm", mode); 
     229                                                nvram_set("wl_security_mode", 
     230                                                          mode); 
     231                                        } else 
     232                                                return; 
     233                                } 
     234 
     235                                char *crypto = 
     236                                    getUEnv("DEF-p_wireless_eth1_11a-crypto"); 
     237                                if (crypto){ 
     238                                        nvram_set("wl0_crypto", crypto); 
     239                                        nvram_set("wl_crypto", crypto); 
     240                                        } 
     241                                char *wpapsk = 
     242                                    getUEnv("DEF-p_wireless_eth1_11a-wpapsk"); 
     243                                if (wpapsk) 
     244                                { 
     245                                        nvram_set("wl_wpa_psk", wpapsk); 
     246                                        nvram_set("wl0_wpa_psk", wpapsk); 
     247                                } 
     248                        } 
     249                        { 
     250                                char *mode_ex = 
     251                                    getUEnv 
     252                                    ("DEF-p_wireless_eth2_11bg-authmode_ex"); 
     253                                if (mode_ex && !strcmp(mode_ex, "mixed-psk")) { 
     254                                        char *mode = 
     255                                            getUEnv 
     256                                            ("DEF-p_wireless_eth2_11bg-authmode"); 
     257                                        if (!mode) 
     258                                                return; 
     259                                        if (!strcmp(mode, "psk")) { 
     260                                                nvram_set("wl1_akm", 
     261                                                          "psk psk2"); 
     262                                                nvram_set("wl1_security_mode", 
     263                                                          "psk psk2"); 
     264                                        } 
     265                                        if (!strcmp(mode, "psk2")) { 
     266                                                nvram_set("wl1_akm", 
     267                                                          "psk psk2"); 
     268                                                nvram_set("wl1_security_mode", 
     269                                                          "psk psk2"); 
     270                                        } 
     271                                } else { 
     272                                        char *mode = 
     273                                            getUEnv 
     274                                            ("DEF-p_wireless_eth2_11bg-authmode"); 
     275                                        if (mode) { 
     276                                                nvram_set("wl1_akm", mode); 
     277                                                nvram_set("wl1_security_mode", 
     278                                                          mode); 
     279                                        } else 
     280                                                return; 
     281                                } 
     282 
     283                                char *crypto = 
     284                                    getUEnv("DEF-p_wireless_eth2_11bg-crypto"); 
     285                                if (crypto) 
     286                                        nvram_set("wl1_crypto", crypto); 
     287                                char *wpapsk = 
     288                                    getUEnv("DEF-p_wireless_eth2_11bg-wpapsk"); 
     289                                if (wpapsk) 
     290                                        nvram_set("wl1_wpa_psk", wpapsk); 
     291                        } 
     292                } 
     293                struct ifreq ifr; 
     294                int s; 
     295 
     296                if ((s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW))) { 
     297                        char eabuf[32]; 
     298 
     299                        strncpy(ifr.ifr_name, "eth0", IFNAMSIZ); 
     300                        ioctl(s, SIOCGIFHWADDR, &ifr); 
     301                        close(s); 
     302                        unsigned char *edata = 
     303                            (unsigned char *)ifr.ifr_hwaddr.sa_data; 
     304                        sprintf(eabuf, "BUFFALO-%02X%02X%02X_A", 
     305                                edata[3] & 0xff, edata[4] & 0xff, 
     306                                edata[5] & 0xff); 
     307                        nvram_set("wl_ssid", eabuf); 
     308                        nvram_set("wl0_ssid", eabuf); 
     309                        sprintf(eabuf, "BUFFALO-%02X%02X%02X_G", 
     310                                edata[3] & 0xff, edata[4] & 0xff, 
     311                                edata[5] & 0xff); 
     312                        nvram_set("wl1_ssid", eabuf); 
     313                } 
     314 
     315                region = getUEnv("region"); 
     316                if (region == NULL) { 
     317                        region = "US"; 
     318                } 
     319                if (!strcmp(region, "US")) { 
     320                        nvram_set("wl0_regdomain", "UNITED_STATES"); 
     321                } else if (!strcmp(region, "EU")) { 
     322                        nvram_set("wl0_regdomain", "GERMANY"); 
     323                } else if (!strcmp(region, "JP")) { 
     324                        nvram_set("wl0_regdomain", "JAPAN"); 
     325#ifdef HAVE_BUFFALO_SA 
     326                } else if (!strcmp(region, "AP")) { 
     327                        nvram_set("wl0_regdomain", "SINGAPORE"); 
     328#else 
     329                } else if (!strcmp(region, "AP")) { 
     330                        nvram_set("wl0_regdomain", "SINGAPORE"); 
     331#endif 
     332                } else if (!strcmp(region, "RU")) { 
     333                        nvram_set("wl0_regdomain", "RUSSIA"); 
     334                } else if (!strcmp(region, "TW")) { 
     335                        nvram_set("wl0_regdomain", "TAIWAN"); 
     336                } else if (!strcmp(region, "CH")) { 
     337                        nvram_set("wl0_regdomain", "CHINA"); 
     338                } else if (!strcmp(region, "KR")) { 
     339                        nvram_set("wl0_regdomain", "KOREA_REPUBLIC"); 
     340                } 
     341#ifdef HAVE_WZRHPAG300NH 
     342                if (!strcmp(region, "US")) { 
     343                        nvram_set("wl1_regdomain", "UNITED_STATES"); 
     344                } else if (!strcmp(region, "EU")) { 
     345                        nvram_set("wl1_regdomain", "GERMANY"); 
     346                } else if (!strcmp(region, "JP")) { 
     347                        nvram_set("wl1_regdomain", "JAPAN"); 
     348                } else if (!strcmp(region, "RU")) { 
     349                        nvram_set("wl1_regdomain", "RUSSIA"); 
     350#ifdef HAVE_BUFFALO_SA 
     351                } else if (!strcmp(region, "AP")) { 
     352                        nvram_set("wl1_regdomain", "SINGAPORE"); 
     353#else 
     354                } else if (!strcmp(region, "AP")) { 
     355                        nvram_set("wl1_regdomain", "SINGAPORE"); 
     356#endif 
     357                } else if (!strcmp(region, "TW")) { 
     358                        nvram_set("wl1_regdomain", "TAIWAN"); 
     359                } else if (!strcmp(region, "CH")) { 
     360                        nvram_set("wl1_regdomain", "CHINA"); 
     361                } else if (!strcmp(region, "KR")) { 
     362                        nvram_set("wl1_regdomain", "KOREA_REPUBLIC"); 
     363                } 
     364#endif 
     365                if (!strcmp(region, "AP") || !strcmp(region, "CH") 
     366                    || !strcmp(region, "KR") 
     367                    || !strcmp(region, "TW") 
     368                    || !strcmp(region, "RU")) 
     369                        nvram_set("wps_status", "0"); 
     370                else 
     371                        nvram_set("wps_status", "1"); 
     372#ifdef HAVE_SPOTPASS 
     373                system("startservice spotpass_defaults"); 
     374#endif 
     375        } 
     376} 
     377 
     378#else 
     379    extern void *getUEnv(char *name); 
     380static void buffalo_defaults(int force) 
     381{ 
     382 
    188383        char *pincode = getUEnv("pincode"); 
    189384        if (pincode && nvram_get("pincode") == NULL) { 
     
    197392                                && strcmp(region, "CH"))) { 
    198393                        { 
    199                                 char *mode_ex = 
    200                                     getUEnv 
    201                                     ("DEF-p_wireless_ath0_11bg-authmode_ex"); 
     394                                char *mode_ex = getUEnv("DEF-p_wireless_ath0_11bg-authmode_ex"); 
    202395                                if (!mode_ex) 
    203396                                        mode_ex = 
     
    425618                system("startservice spotpass_defaults"); 
    426619#endif 
     620        nvram_commit(); 
    427621        } 
    428622} 
     623#endif 
     624 
     625 
    429626#endif 
    430627/* 
     
    571768{ 
    572769 
    573 #if HAVE_BUFFALO_SA 
     770#ifdef HAVE_BUFFALO_SA 
    574771        int factory_state = 0; 
    575772        if((!nvram_get("sv_restore_defaults") || nvram_default_match("sv_restore_defaults", "0", "0"))  
     
    16971894                break; 
    16981895#endif 
     1896        case ROUTER_D1800H: 
     1897                linux_overrides = wrt6102vlan; 
     1898                break; 
    16991899        case ROUTER_BUFFALO_WZRG144NH: 
    17001900                linux_overrides = wzr144nhvlan; 
     
    20252225                        nvram_set("vlan1ports", "1 2 3 4 8*"); 
    20262226                        nvram_set("vlan2ports", "0 8u"); 
     2227                } 
     2228 
     2229        } else if (brand == ROUTER_D1800H) { 
     2230 
     2231                if (!nvram_get("vlan1ports") || nvram_match("vlan1ports", "")) { 
     2232                        nvram_set("vlan1ports", "1 2 3 4 8*"); 
     2233                        nvram_set("vlan2ports", "0 8"); 
     2234                } 
     2235                if (!nvram_get("vlan2ports") || nvram_match("vlan2ports", "")) { 
     2236                        nvram_set("vlan1ports", "1 2 3 4 8*"); 
     2237                        nvram_set("vlan2ports", "0 8"); 
    20272238                } 
    20282239 
Note: See TracChangeset for help on using the changeset viewer.