Changeset 14856
- Timestamp:
- 07/31/10 14:41:16 (1 month ago)
- Files:
-
- src/router/httpd/visuals/dd-wrt.c (modified) (5 diffs)
- src/router/libutils/utils.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/router/httpd/visuals/dd-wrt.c
r14854 r14856 307 307 } 308 308 309 #ifdef HAVE_RB500 310 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 311 { 312 FILE *fp = fopen("/proc/cpuinfo", "rb"); 313 314 if (fp == NULL) { 315 websWrite(wp, "unknown"); 316 return; 317 } 318 int cnt = 0; 319 int b = 0; 320 321 while (b != EOF) { 322 b = getc(fp); 323 if (b == ':') 324 cnt++; 325 326 if (cnt == 4) { 327 getc(fp); 328 char cpuclk[4]; 329 330 cpuclk[0] = getc(fp); 331 cpuclk[1] = getc(fp); 332 cpuclk[2] = getc(fp); 333 cpuclk[3] = 0; 334 websWrite(wp, cpuclk); 335 fclose(fp); 336 return; 337 } 338 } 339 340 fclose(fp); 341 websWrite(wp, "unknown"); 342 return; 343 } 344 345 #elif HAVE_STORM 346 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 347 { 348 websWrite(wp, "300"); 349 return; 350 } 309 #ifdef HAVE_STORM 310 #define HARDFREQ "300" 351 311 #elif HAVE_OPENRISC 352 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 353 { 354 websWrite(wp, "166"); 355 return; 356 } 312 #define HARDFREQ "166" 357 313 #elif HAVE_RT3052 358 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 359 { 360 websWrite(wp, "384"); 361 return; 362 } 314 #define HARDFREQ "384" 363 315 #elif HAVE_RT2880 364 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 365 { 366 websWrite(wp, "266"); 367 return; 368 } 316 #define HARDFREQ "266" 369 317 #elif HAVE_XSCALE 370 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 371 { 372 FILE *fp = fopen("/proc/cpuinfo", "rb"); 373 374 if (fp == NULL) { 375 websWrite(wp, "unknown"); 376 return; 377 } 378 int cnt = 0; 379 int b = 0; 380 381 while (b != EOF) { 382 b = getc(fp); 383 if (b == ':') 384 cnt++; 385 if (cnt == 2) { 386 getc(fp); 387 char cpuclk[4]; 388 389 cpuclk[0] = getc(fp); 390 cpuclk[1] = getc(fp); 391 cpuclk[2] = getc(fp); 392 cpuclk[3] = 0; 393 websWrite(wp, cpuclk); 394 fclose(fp); 395 return; 396 } 397 } 398 399 fclose(fp); 400 websWrite(wp, "unknown"); 401 return; 402 } 318 #define FREQLINE 2 319 #elif defined(HAVE_MAGICBOX) || defined(HAVE_RB600) 320 #define FREQLINE 3 321 #elif defined(HAVE_FONERA) || defined(HAVE_SOLO51) || defined(HAVE_ADM5120) || defined(HAVE_MERAKI) || defined(HAVE_LS2) || defined(HAVE_LS5) || defined(HAVE_WHRAG108) || defined(HAVE_TW6600) || defined(HAVE_CA8) || defined(HAVE_RB500) 322 #define FREQLINE 4 323 #elif defined(HAVE_PB42) || defined(HAVE_LSX) || defined(HAVE_DANUBE) 324 #define FREQLINE 5 403 325 #elif HAVE_X86 404 326 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) … … 438 360 return; 439 361 } 440 #elif HAVE_MAGICBOX 362 #else 363 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 364 { 365 char *clk = nvram_get("clkfreq"); 366 367 if (clk == NULL) { 368 if (getcpurev() == 0) //BCM4710 369 websWrite(wp, "125"); 370 else if (getcpurev() == 29) //BCM5354 371 websWrite(wp, "240"); 372 else 373 websWrite(wp, "unknown"); 374 return; 375 } 376 char buf[64]; 377 378 strcpy(buf, clk); 379 int i = 0; 380 381 while (buf[i++] != 0) { 382 if (buf[i] == ',') 383 buf[i] = 0; 384 } 385 websWrite(wp, buf); 386 return; 387 } 388 #endif 389 390 391 #ifdef FREQLINE 441 392 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 442 393 { … … 454 405 if (b == ':') 455 406 cnt++; 456 if (cnt == 3) { 407 408 if (cnt == FREQLINE) { 457 409 getc(fp); 458 410 char cpuclk[4]; … … 472 424 return; 473 425 } 474 #elif HAVE_RB600 426 #undef FREQLINE 427 #elif HARDFREQ 475 428 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 476 429 { 477 FILE *fp = fopen("/proc/cpuinfo", "rb"); 478 479 if (fp == NULL) { 480 websWrite(wp, "unknown"); 481 return; 482 } 483 int cnt = 0; 484 int b = 0; 485 486 while (b != EOF) { 487 b = getc(fp); 488 if (b == ':') 489 cnt++; 490 if (cnt == 3) { 491 getc(fp); 492 char cpuclk[4]; 493 494 cpuclk[0] = getc(fp); 495 cpuclk[1] = getc(fp); 496 cpuclk[2] = getc(fp); 497 cpuclk[3] = 0; 498 websWrite(wp, cpuclk); 499 fclose(fp); 500 return; 501 } 502 } 503 504 fclose(fp); 505 websWrite(wp, "unknown"); 430 websWrite(wp, HARDFREQ); 506 431 return; 507 432 } 508 #elif defined(HAVE_FONERA) || defined(HAVE_SOLO51) || defined(HAVE_ADM5120) || defined(HAVE_MERAKI) || defined(HAVE_LS2) || defined(HAVE_LS5) || defined(HAVE_WHRAG108) || defined(HAVE_TW6600) || defined(HAVE_CA8) 509 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 510 { 511 FILE *fp = fopen("/proc/cpuinfo", "rb"); 512 513 if (fp == NULL) { 514 websWrite(wp, "unknown"); 515 return; 516 } 517 int cnt = 0; 518 int b = 0; 519 520 while (b != EOF) { 521 b = getc(fp); 522 if (b == ':') 523 cnt++; 524 if (cnt == 4) { 525 getc(fp); 526 char cpuclk[4]; 527 528 cpuclk[0] = getc(fp); 529 cpuclk[1] = getc(fp); 530 cpuclk[2] = getc(fp); 531 cpuclk[3] = 0; 532 websWrite(wp, cpuclk); 533 fclose(fp); 534 return; 535 } 536 } 537 538 fclose(fp); 539 websWrite(wp, "unknown"); 540 return; 541 } 542 #elif defined(HAVE_PB42) || defined(HAVE_LSX) || defined(HAVE_DANUBE) 543 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 544 { 545 FILE *fp = fopen("/proc/cpuinfo", "rb"); 546 547 if (fp == NULL) { 548 websWrite(wp, "unknown"); 549 return; 550 } 551 int cnt = 0; 552 int b = 0; 553 554 while (b != EOF) { 555 b = getc(fp); 556 if (b == ':') 557 cnt++; 558 if (cnt == 5) { 559 getc(fp); 560 char cpuclk[4]; 561 562 cpuclk[0] = getc(fp); 563 cpuclk[1] = getc(fp); 564 cpuclk[2] = getc(fp); 565 cpuclk[3] = 0; 566 websWrite(wp, cpuclk); 567 fclose(fp); 568 return; 569 } 570 } 571 572 fclose(fp); 573 websWrite(wp, "unknown"); 574 return; 575 } 576 577 #else 578 579 void ej_get_clkfreq(webs_t wp, int argc, char_t ** argv) 580 { 581 char *clk = nvram_get("clkfreq"); 582 583 if (clk == NULL) { 584 if (getcpurev() == 0) //BCM4710 585 websWrite(wp, "125"); 586 else if (getcpurev() == 29) //BCM5354 587 websWrite(wp, "240"); 588 else 589 websWrite(wp, "unknown"); 590 return; 591 } 592 char buf[64]; 593 594 strcpy(buf, clk); 595 int i = 0; 596 597 while (buf[i++] != 0) { 598 if (buf[i] == ',') 599 buf[i] = 0; 600 } 601 websWrite(wp, buf); 602 return; 603 } 604 #endif 433 #undef HARDFREQ 434 #endif 435 605 436 606 437 void ej_show_cpuinfo(webs_t wp, int argc, char_t ** argv) 607 438 { 608 #ifdef HAVE_RB600 609 websWrite(wp, "FreeScale MPC8343"); 610 #else 611 FILE *fcpu = fopen("/proc/cpuinfo", "r"); 612 613 if (fcpu == NULL) { 439 440 char *str = cpustring(); 441 if (!str) { 614 442 websWrite(wp, "Not Detected!\n"); 615 443 return; 616 444 } 617 char buf[256]; 618 int i; 619 620 #ifdef HAVE_MAGICBOX 621 int cnt = 0; 622 #endif 623 #ifdef HAVE_X86 624 int cnt = 0; 625 #endif 626 for (i = 0; i < 256; i++) { 627 int c = getc(fcpu); 628 629 if (c == EOF) { 630 websWrite(wp, "Not Detected!\n"); 631 fclose(fcpu); 632 return; 633 } 634 if (c == ':') 635 #ifdef HAVE_MAGICBOX 636 cnt++; 637 if (cnt == 2) 638 break; 639 #elif HAVE_X86 640 cnt++; 641 if (cnt == 5) 642 break; 643 #else 644 break; 645 #endif 646 } 647 getc(fcpu); 648 for (i = 0; i < 256; i++) { 649 int c = getc(fcpu); 650 651 if (c == EOF) { 652 websWrite(wp, "Not Detected!\n"); 653 fclose(fcpu); 654 return; 655 } 656 if (c == 0xa || c == 0xd) 657 break; 658 buf[i] = c; 659 } 660 buf[i] = 0; 661 websWrite(wp, buf); 662 fclose(fcpu); 663 return; 664 #endif 445 websWrite(wp, str); 665 446 } 666 447 … … 3692 3473 websWrite(wp, "</fieldset><br />\n"); 3693 3474 count++; 3694 #ifdef HAVE_BUFFALO 3695 #ifdef HAVE_AP83 3696 if( count == 4 ) { 3475 #ifdef HAVE_MADWIFI_MIMO 3476 if( count == 4 && isap8x()) { 3697 3477 websWrite(wp, "<div class=\"warning\">\n"); 3698 3478 websWrite(wp, " <p><script type=\"text/javascript\">Capture(wl_basic.ap83_vap_note)</script></p>\n"); 3699 3479 websWrite(wp, "</div>\n<br>\n"); 3700 3480 } 3701 #endif3702 3481 #endif 3703 3482 } src/router/libutils/utils.c
r14823 r14856 1962 1962 return ROUTER_WAP54G_V3; 1963 1963 } 1964 1965 if (boardnum == 1 1966 && nvram_match("boardtype", "0xE4CD") 1964 1965 if (boardnum == 1 && nvram_match("boardtype", "0xE4CD") 1967 1966 && nvram_match("boardrev", "0x1700")) { 1968 1967 cprintf("router is wnr2000 v2\n"); … … 2859 2858 } 2860 2859 2860 char *cpustring(void) 2861 { 2862 #ifdef HAVE_RB600 2863 websWrite(wp, "FreeScale MPC8343"); 2864 #else 2865 FILE *fcpu = fopen("/proc/cpuinfo", "r"); 2866 2867 if (fcpu == NULL) { 2868 return NULL; 2869 } 2870 static char buf[256]; 2871 int i; 2872 2873 #ifdef HAVE_MAGICBOX 2874 int cnt = 0; 2875 #endif 2876 #ifdef HAVE_X86 2877 int cnt = 0; 2878 #endif 2879 for (i = 0; i < 256; i++) { 2880 int c = getc(fcpu); 2881 2882 if (c == EOF) { 2883 fclose(fcpu); 2884 return NULL; 2885 } 2886 if (c == ':') 2887 #ifdef HAVE_MAGICBOX 2888 cnt++; 2889 if (cnt == 2) 2890 break; 2891 #elif HAVE_X86 2892 cnt++; 2893 if (cnt == 5) 2894 break; 2895 #else 2896 break; 2897 #endif 2898 } 2899 getc(fcpu); 2900 for (i = 0; i < 256; i++) { 2901 int c = getc(fcpu); 2902 2903 if (c == EOF) { 2904 fclose(fcpu); 2905 return NULL; 2906 } 2907 if (c == 0xa || c == 0xd) 2908 break; 2909 buf[i] = c; 2910 } 2911 buf[i] = 0; 2912 fclose(fcpu); 2913 return buf; 2914 #endif 2915 } 2916 2917 #ifdef HAVE_MADWIFI_MIMO 2918 2919 int isap8x(void) 2920 { 2921 #define CPUSTR "Atheros AR91" 2922 char *str = cpustring(); 2923 if (str && !strncmp(str, CPUSTR, 12)) 2924 return 1; 2925 else 2926 return 0; 2927 #undef CPUSTR 2928 2929 } 2930 2931 #endif 2932 2861 2933 int led_control(int type, int act) 2862 2934 /* … … 3356 3428 //power_gpio = ??; 3357 3429 diag_gpio = 0x002; 3358 ses_gpio = 0x007; //WPS led3430 ses_gpio = 0x007; //WPS led 3359 3431 connected_gpio = 0x006; 3360 3432 break;
