Changeset 13282
- Timestamp:
- 11/21/2009 07:22:23 AM (4 months ago)
- Files:
-
- src/router/libutils/linux_timer.c (modified) (1 diff)
- src/router/libutils/utils.c (modified) (4 diffs)
- src/router/libutils/wl.c (modified) (1 diff)
- src/router/libutils/wl_11n.c (modified) (6 diffs)
- src/router/services/networking/network.c (modified) (2 diffs)
- src/router/services/sysinit/sysinit-adm5120.c (modified) (6 diffs)
- src/router/services/sysinit/sysinit-broadcom.c (modified) (2 diffs)
- src/router/services/sysinit/sysinit-ca8.c (modified) (1 diff)
- src/router/services/sysinit/sysinit-dir300.c (modified) (2 diffs)
- src/router/services/sysinit/sysinit-fonera.c (modified) (1 diff)
- src/router/services/sysinit/sysinit-gateworx.c (modified) (6 diffs)
- src/router/services/sysinit/sysinit-lsx.c (modified) (2 diffs)
- src/router/services/sysinit/sysinit-rcaa01.c (modified) (1 diff)
- src/router/services/sysinit/sysinit.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/router/libutils/linux_timer.c
r13122 r13282 563 563 ((*ppevent)->it_value), 564 564 &(event->it_value), 565 &((*ppevent)->it_value)); 565 &((*ppevent)-> 566 it_value)); 566 567 break; 567 568 } src/router/libutils/utils.c
r13281 r13282 831 831 return ROUTER_BOARD_LS2; 832 832 #elif HAVE_UBNTM 833 FILE *fp=fopen("/sys/bus/pci/devices/0000:00:00.0/subsystem_device","rb"); 834 if (fp==NULL) 835 return ROUTER_BOARD_PB42; 836 int device;837 fscanf(fp,"0x%04X",&device);838 fclose(fp);839 switch(device) 840 {841 case 0xe005:842 setRouter("Ubiquiti Nanostation M5");843 return ROUTER_BOARD_NS5M;844 break;845 case 0xe002:846 setRouter("Ubiquiti Nanostation M2");847 return ROUTER_BOARD_NS2M;848 break;849 case 0xe205:850 setRouter("Ubiquiti Bullet M5");851 return ROUTER_BOARD_BS5M;852 break;853 case 0xe202:854 setRouter("Ubiquiti Bullet M2");855 return ROUTER_BOARD_BS2M;856 break;857 case 0xe105:858 setRouter("Ubiquiti Rocket M5");859 return ROUTER_BOARD_R2M;860 break;861 case 0xe102:862 setRouter("Ubiquiti Rocket M2");863 return ROUTER_BOARD_R5M;864 break;865 default:866 setRouter("Ubiquiti Unknown Model");867 return ROUTER_BOARD_PB42;868 }833 FILE *fp = 834 fopen("/sys/bus/pci/devices/0000:00:00.0/subsystem_device", "rb"); 835 if (fp == NULL) 836 return ROUTER_BOARD_PB42; 837 int device; 838 fscanf(fp, "0x%04X", &device); 839 fclose(fp); 840 switch (device) { 841 case 0xe005: 842 setRouter("Ubiquiti Nanostation M5"); 843 return ROUTER_BOARD_NS5M; 844 break; 845 case 0xe002: 846 setRouter("Ubiquiti Nanostation M2"); 847 return ROUTER_BOARD_NS2M; 848 break; 849 case 0xe205: 850 setRouter("Ubiquiti Bullet M5"); 851 return ROUTER_BOARD_BS5M; 852 break; 853 case 0xe202: 854 setRouter("Ubiquiti Bullet M2"); 855 return ROUTER_BOARD_BS2M; 856 break; 857 case 0xe105: 858 setRouter("Ubiquiti Rocket M5"); 859 return ROUTER_BOARD_R2M; 860 break; 861 case 0xe102: 862 setRouter("Ubiquiti Rocket M2"); 863 return ROUTER_BOARD_R5M; 864 break; 865 default: 866 setRouter("Ubiquiti Unknown Model"); 867 return ROUTER_BOARD_PB42; 868 } 869 869 #elif HAVE_NS2 870 870 setRouter("Ubiquiti Nanostation 2"); … … 1545 1545 return ROUTER_USR_5461; // should work in the same way 1546 1546 } 1547 1547 1548 1548 if (boardnum == 35324 && nvram_match("boardtype", "0x048e")) { 1549 1549 cprintf("router is U.S. Robotics USR5465\n"); … … 1729 1729 && (nvram_match("boardflags", "0x750") 1730 1730 || nvram_match("boardflags", "0x0750")) 1731 && nvram_match("sdram_init", "0x000A")) //16 MB ram1732 {1733 cprintf("router is Netgear WGR614v8/L/WW\n");1734 setRouter("Netgear WGR614v8/L/WW");1735 return ROUTER_NETGEAR_WGR614L;1736 } 1737 1731 && nvram_match("sdram_init", "0x000A")) //16 MB ram 1732 { 1733 cprintf("router is Netgear WGR614v8/L/WW\n"); 1734 setRouter("Netgear WGR614v8/L/WW"); 1735 return ROUTER_NETGEAR_WGR614L; 1736 } 1737 1738 1738 if (boardnum == 3805 && nvram_match("boardtype", "0x48E") 1739 1739 && nvram_match("boardrev", "0x10")) { … … 1741 1741 setRouter("Netgear WGR614v9"); 1742 1742 return ROUTER_NETGEAR_WGR614V9; 1743 } 1743 } 1744 1744 1745 1745 if (boardnum == 56 && nvram_match("boardtype", "0x456") src/router/libutils/wl.c
r13190 r13282 1280 1280 } 1281 1281 1282 1283 1284 1282 static struct wifi_channels *list_channelsext(const char *ifname, int allchans) 1285 1283 { src/router/libutils/wl_11n.c
r13226 r13282 48 48 }; 49 49 50 51 52 53 54 55 56 50 static struct wifi_channels *list_channelsext(const char *ifname, int allchans) 57 51 { … … 61 55 int i; 62 56 63 fprintf (stderr, "list channels for %s\n", ifname);57 fprintf(stderr, "list channels for %s\n", ifname); 64 58 if (do80211priv 65 59 (ifname, IEEE80211_IOCTL_GETCHANINFO, &chans, sizeof(chans)) < 0) { … … 95 89 sprintf(wl_turbo, "%s_channelbw", ifname); 96 90 int l = 0; 97 int up=0;98 char sb[32];99 sprintf(sb,"%s_nctrlsb",ifname);100 if (nvram_match(sb,"upper"))101 up=1;91 int up = 0; 92 char sb[32]; 93 sprintf(sb, "%s_nctrlsb", ifname); 94 if (nvram_match(sb, "upper")) 95 up = 1; 102 96 103 97 for (i = 0; i < achans.ic_nchans; i++) { … … 105 99 // filter out A channels if mode isnt A-Only or mixed 106 100 if (IEEE80211_IS_CHAN_A(&achans.ic_chans[i])) { 107 if (nvram_invmatch(wl_mode, "a-only") && nvram_invmatch(wl_mode, "mixed") && nvram_invmatch(wl_mode, "na-only")) 101 if (nvram_invmatch(wl_mode, "a-only") 102 && nvram_invmatch(wl_mode, "mixed") 103 && nvram_invmatch(wl_mode, "na-only")) 108 104 continue; 109 105 } 110 106 if (IEEE80211_IS_CHAN_11NA_HT20(&achans.ic_chans[i])) { 111 107 if (nvram_invmatch(wl_mode, "na-only") 112 && nvram_invmatch(wl_mode, "mixed") && nvram_invmatch(wl_turbo, "20") && nvram_invmatch(wl_turbo, "2040")) 113 { 108 && nvram_invmatch(wl_mode, "mixed") 109 && nvram_invmatch(wl_turbo, "20") 110 && nvram_invmatch(wl_turbo, "2040")) { 114 111 continue; 115 }112 } 116 113 } 117 if (IEEE80211_IS_CHAN_11NA_HT40PLUS(&achans.ic_chans[i]) || IEEE80211_IS_CHAN_11NA_HT40MINUS(&achans.ic_chans[i])) { 114 if (IEEE80211_IS_CHAN_11NA_HT40PLUS(&achans.ic_chans[i]) 115 || IEEE80211_IS_CHAN_11NA_HT40MINUS(&achans.ic_chans[i])) { 118 116 if (nvram_invmatch(wl_mode, "na-only") 119 && nvram_invmatch(wl_mode, "mixed") && nvram_invmatch(wl_turbo, "40") && nvram_invmatch(wl_turbo, "2040")) 120 { 117 && nvram_invmatch(wl_mode, "mixed") 118 && nvram_invmatch(wl_turbo, "40") 119 && nvram_invmatch(wl_turbo, "2040")) { 121 120 continue; 122 } 123 if (up && !IEEE80211_IS_CHAN_11NA_HT40PLUS(&achans.ic_chans[i])) 124 continue; 125 if (!up && !IEEE80211_IS_CHAN_11NA_HT40MINUS(&achans.ic_chans[i])) 126 continue; 121 } 122 if (up 123 && !IEEE80211_IS_CHAN_11NA_HT40PLUS(&achans. 124 ic_chans[i])) 125 continue; 126 if (!up 127 && !IEEE80211_IS_CHAN_11NA_HT40MINUS(&achans. 128 ic_chans[i])) 129 continue; 127 130 } 128 131 if (IEEE80211_IS_CHAN_11NG_HT20(&achans.ic_chans[i])) { 129 132 if (nvram_invmatch(wl_mode, "ng-only") 130 && nvram_invmatch(wl_mode, "mixed") && nvram_invmatch(wl_turbo, "20") && nvram_invmatch(wl_turbo, "2040")) 131 { 133 && nvram_invmatch(wl_mode, "mixed") 134 && nvram_invmatch(wl_turbo, "20") 135 && nvram_invmatch(wl_turbo, "2040")) { 132 136 continue; 133 }137 } 134 138 } 135 if (IEEE80211_IS_CHAN_11NG_HT40PLUS(&achans.ic_chans[i]) || IEEE80211_IS_CHAN_11NG_HT40MINUS(&achans.ic_chans[i])) { 139 if (IEEE80211_IS_CHAN_11NG_HT40PLUS(&achans.ic_chans[i]) 140 || IEEE80211_IS_CHAN_11NG_HT40MINUS(&achans.ic_chans[i])) { 136 141 if (nvram_invmatch(wl_mode, "ng-only") 137 && nvram_invmatch(wl_mode, "mixed") && nvram_invmatch(wl_turbo, "40") && nvram_invmatch(wl_turbo, "2040")) 138 { 142 && nvram_invmatch(wl_mode, "mixed") 143 && nvram_invmatch(wl_turbo, "40") 144 && nvram_invmatch(wl_turbo, "2040")) { 139 145 continue; 140 } 141 if (up && !IEEE80211_IS_CHAN_11NG_HT40PLUS(&achans.ic_chans[i])) 142 continue; 143 if (!up && !IEEE80211_IS_CHAN_11NG_HT40MINUS(&achans.ic_chans[i])) 144 continue; 146 } 147 if (up 148 && !IEEE80211_IS_CHAN_11NG_HT40PLUS(&achans. 149 ic_chans[i])) 150 continue; 151 if (!up 152 && !IEEE80211_IS_CHAN_11NG_HT40MINUS(&achans. 153 ic_chans[i])) 154 continue; 145 155 } 146 156 // filter out B/G channels if mode isnt g-only, b-only or mixed … … 150 160 && nvram_invmatch(wl_mode, "mixed") 151 161 && nvram_invmatch(wl_mode, "b-only") 152 && nvram_invmatch(wl_mode, "bg-mixed") 162 && nvram_invmatch(wl_mode, "bg-mixed") 153 163 && nvram_invmatch(wl_mode, "ng-only")) 154 164 continue; … … 184 194 */ 185 195 } 186 187 src/router/services/networking/network.c
r13281 r13282 905 905 #elif HAVE_UBNTM 906 906 int brand = getRouterBrand(); 907 int devnum=2; 908 switch(brand) 909 { 907 int devnum = 2; 908 switch (brand) { 910 909 case ROUTER_BOARD_BS2M: 911 910 case ROUTER_BOARD_BS5M: 912 911 case ROUTER_BOARD_R2M: 913 912 case ROUTER_BOARD_R5M: 914 devnum=1;915 break;913 devnum = 1; 914 break; 916 915 case ROUTER_BOARD_NS2M: 917 916 case ROUTER_BOARD_NS5M: 918 devnum=2;919 break;917 devnum = 2; 918 break; 920 919 default: 921 devnum=2;922 break;923 } 924 920 devnum = 2; 921 break; 922 } 923 925 924 if (getSTA() || getWET() || CANBRIDGE()) { 926 if (devnum ==2)927 nvram_setz(lan_ifnames, "eth0 eth1 ath0");925 if (devnum == 2) 926 nvram_setz(lan_ifnames, "eth0 eth1 ath0"); 928 927 else 929 nvram_setz(lan_ifnames, "eth0 ath0");928 nvram_setz(lan_ifnames, "eth0 ath0"); 930 929 PORTSETUPWAN(""); 931 930 } else { 932 if (devnum ==2)933 nvram_setz(lan_ifnames, "eth0 eth1 ath0");931 if (devnum == 2) 932 nvram_setz(lan_ifnames, "eth0 eth1 ath0"); 934 933 else 935 nvram_setz(lan_ifnames, "eth0 ath0");934 nvram_setz(lan_ifnames, "eth0 ath0"); 936 935 PORTSETUPWAN("eth0"); 937 936 } … … 1592 1591 wl_iovar_set(name, 1593 1592 "wet_host_mac", 1594 ifr. ifr_hwaddr.1595 sa_data,1593 ifr. 1594 ifr_hwaddr.sa_data, 1596 1595 ETHER_ADDR_LEN); 1597 1596 } src/router/services/sysinit/sysinit-adm5120.c
r13124 r13282 295 295 strncpy(ifr.ifr_name, "eth0", IFNAMSIZ); 296 296 ioctl(s, SIOCGIFHWADDR, &ifr); 297 memcpy((unsigned char *)ifr. ifr_hwaddr.298 sa_data, mac, 6);297 memcpy((unsigned char *)ifr. 298 ifr_hwaddr.sa_data, mac, 6); 299 299 ioctl(s, SIOCSIFHWADDR, &ifr); 300 300 close(s); … … 306 306 nvram_set("et0macaddr_safe", 307 307 ether_etoa((unsigned char *) 308 ifr. 309 ifr_hwaddr.sa_data, 310 eabuf)); 308 ifr.ifr_hwaddr. 309 sa_data, eabuf)); 311 310 close(s); 312 311 } … … 343 342 ether_etoa((unsigned 344 343 char *) 345 ifr.ifr_hwaddr.sa_data, eabuf)); 344 ifr. 345 ifr_hwaddr. 346 sa_data, 347 eabuf)); 346 348 close(s); 347 349 } … … 377 379 strncpy(ifr.ifr_name, "eth0", IFNAMSIZ); 378 380 ioctl(s, SIOCGIFHWADDR, &ifr); 379 memcpy((unsigned char *)ifr.ifr_hwaddr. 380 sa_data, params.addr[0].mac, 6); 381 memcpy((unsigned char *)ifr. 382 ifr_hwaddr.sa_data, 383 params.addr[0].mac, 6); 381 384 ioctl(s, SIOCSIFHWADDR, &ifr); 382 385 close(s); … … 386 389 strncpy(ifr.ifr_name, "eth1", IFNAMSIZ); 387 390 ioctl(s, SIOCGIFHWADDR, &ifr); 388 memcpy((unsigned char *)ifr.ifr_hwaddr. 389 sa_data, params.addr[1].mac, 6); 391 memcpy((unsigned char *)ifr. 392 ifr_hwaddr.sa_data, 393 params.addr[1].mac, 6); 390 394 ioctl(s, SIOCSIFHWADDR, &ifr); 391 395 close(s); … … 397 401 nvram_set("et0macaddr_safe", 398 402 ether_etoa((unsigned char *) 399 ifr. 400 ifr_hwaddr.sa_data, 401 eabuf)); 403 ifr.ifr_hwaddr. 404 sa_data, eabuf)); 402 405 close(s); 403 406 } src/router/services/sysinit/sysinit-broadcom.c
r13250 r13282 514 514 nvram_set("vlan1ports", "0 5"); 515 515 break; 516 516 517 517 case ROUTER_USR_5465: 518 518 nvram_set("lan_ifnames", "vlan0 eth1"); … … 715 715 } 716 716 break; 717 717 718 718 case ROUTER_WRT160NV3: 719 719 nvram_set("lan_ifnames", "vlan1 eth1"); src/router/services/sysinit/sysinit-ca8.c
r13124 r13282 141 141 142 142 strcpy(macaddr, 143 ether_etoa((unsigned char *)ifr. ifr_hwaddr.144 sa_data, eabuf));143 ether_etoa((unsigned char *)ifr. 144 ifr_hwaddr.sa_data, eabuf)); 145 145 nvram_set("et0macaddr", macaddr); 146 146 // MAC_ADD( macaddr ); src/router/services/sysinit/sysinit-dir300.c
r13124 r13282 255 255 256 256 strcpy(macaddr, 257 ether_etoa((unsigned char *)ifr. ifr_hwaddr.258 sa_data, eabuf));257 ether_etoa((unsigned char *)ifr. 258 ifr_hwaddr.sa_data, eabuf)); 259 259 nvram_set("et0macaddr", macaddr); 260 260 // MAC_ADD( macaddr ); … … 290 290 291 291 strcpy(macaddr, 292 ether_etoa((unsigned char *)ifr. ifr_hwaddr.293 sa_data, eabuf));292 ether_etoa((unsigned char *)ifr. 293 ifr_hwaddr.sa_data, eabuf)); 294 294 nvram_set("et0macaddr", macaddr); 295 295 // MAC_ADD (macaddr); src/router/services/sysinit/sysinit-fonera.c
r13124 r13282 174 174 175 175 strcpy(macaddr, 176 ether_etoa((unsigned char *)ifr. ifr_hwaddr.177 sa_data, eabuf));176 ether_etoa((unsigned char *)ifr. 177 ifr_hwaddr.sa_data, eabuf)); 178 178 nvram_set("et0macaddr", macaddr); 179 179 // MAC_ADD( macaddr ); src/router/services/sysinit/sysinit-gateworx.c
r13279 r13282 269 269 sprintf(rate, "ratectl=%s", nvram_safe_get("rate_control")); 270 270 insmod("/lib/80211n/ath_mimo_pci.ko"); 271 eval("insmod", "ath_mimo_pci", rate);271 eval("insmod", "ath_mimo_pci", rate); 272 272 } else { 273 273 insmod("/lib/80211n/ath_mimo_pci.ko"); … … 447 447 fclose(file); 448 448 } 449 450 449 #ifdef HAVE_MAKSAT 451 450 if (nvram_match("DD_BOARD2", "ADI Engineering Pronghorn Metro")) … … 468 467 ioctl(s, SIOCGIFHWADDR, &ifr); 469 468 nvram_set("et0macaddr_safe", 470 ether_etoa((unsigned char *)ifr. ifr_hwaddr.471 sa_data, eabuf));469 ether_etoa((unsigned char *)ifr. 470 ifr_hwaddr.sa_data, eabuf)); 472 471 close(s); 473 472 } … … 488 487 ioctl(s, SIOCGIFHWADDR, &ifr); 489 488 nvram_set("et0macaddr_safe", 490 ether_etoa((unsigned char *)ifr. ifr_hwaddr.491 sa_data, eabuf));489 ether_etoa((unsigned char *)ifr. 490 ifr_hwaddr.sa_data, eabuf)); 492 491 close(s); 493 492 } … … 541 540 ioctl(s, SIOCGIFHWADDR, &ifr); 542 541 nvram_set("et0macaddr_safe", 543 ether_etoa((unsigned char *)ifr. ifr_hwaddr.544 sa_data, eabuf));542 ether_etoa((unsigned char *)ifr. 543 ifr_hwaddr.sa_data, eabuf)); 545 544 close(s); 546 545 } … … 565 564 insmod("8250_gw2350"); 566 565 } 567 set_gpio(26, 0);568 set_gpio(27, 0);569 nvram_set("gpio26", "0");570 nvram_set("gpio27", "0");566 set_gpio(26, 0); 567 set_gpio(27, 0); 568 nvram_set("gpio26", "0"); 569 nvram_set("gpio27", "0"); 571 570 #endif 572 571 573 572 /* cf capability ? */ 574 573 char *modelname = nvram_get("DD_BOARD2"); 575 if (!modelname || strncmp(modelname, "Gateworks",9))576 modelname = nvram_safe_get("DD_BOARD");574 if (!modelname || strncmp(modelname, "Gateworks", 9)) 575 modelname = nvram_safe_get("DD_BOARD"); 577 576 if (!strncmp(modelname, "Gateworks Avila GW2348", 22) 578 || !strcmp(modelname, "Gateworks Cambria GW2358-4") || !strcmp(modelname, "Gateworks Avila GW2355") || !strcmp(modelname, "Gateworks Avila GW2345")) { 577 || !strcmp(modelname, "Gateworks Cambria GW2358-4") 578 || !strcmp(modelname, "Gateworks Avila GW2355") 579 || !strcmp(modelname, "Gateworks Avila GW2345")) { 579 580 fprintf(stderr, "Load CF Card Driver\n"); 580 581 insmod("pata_ixp4xx_cf"); src/router/services/sysinit/sysinit-lsx.c
r13182 r13282 211 211 fclose(fp); 212 212 } 213 214 213 //#endif 215 214 eval("ifconfig", "eth0", "up"); … … 250 249 sprintf(rate, "ratectl=%s", nvram_safe_get("rate_control")); 251 250 insmod("/lib/80211n/ath_mimo_pci.ko"); 252 eval("insmod", "ath_mimo_pci", rate);251 eval("insmod", "ath_mimo_pci", rate); 253 252 } else { 254 253 insmod("/lib/80211n/ath_mimo_pci.ko"); src/router/services/sysinit/sysinit-rcaa01.c
r13124 r13282 158 158 159 159 strcpy(macaddr, 160 ether_etoa((unsigned char *)ifr. ifr_hwaddr.161 sa_data, eabuf));160 ether_etoa((unsigned char *)ifr. 161 ifr_hwaddr.sa_data, eabuf)); 162 162 nvram_set("et0macaddr", macaddr); 163 163 // MAC_ADD( macaddr ); src/router/services/sysinit/sysinit.c
r13281 r13282 1216 1216 case ROUTER_ASUS_WL500G_PRE_V2: 1217 1217 case ROUTER_BELKIN_F5D7230_V3000: 1218 case ROUTER_USR_5465: 1218 case ROUTER_USR_5465: 1219 1219 nvram_set("vlan0ports", "0 1 2 3 5*"); 1220 1220 nvram_set("vlan1ports", "4 5");
