WL500G,
WL500GD,
WL500GP,
+ WL500GPV2,
WL500W,
+ WL520GC,
+ WL520GU,
ASUS_4702,
WL700GE,
{ .name = "power", .gpio = 1 << 1, .polarity = REVERSE },
},
},
+ [WL500GPV2] = {
+ .name = "ASUS WL-500g Premium V2",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 2 },
+ { .name = "ses", .gpio = 1 << 3 },
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 0, .polarity = REVERSE },
+ { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE },
+ },
+ },
[WL500W] = {
.name = "ASUS WL-500W",
.buttons = {
{ .name = "power", .gpio = 1 << 5, .polarity = REVERSE },
},
},
+ [WL520GC] = {
+ .name = "ASUS WL-520GC",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 2 },
+ { .name = "ses", .gpio = 1 << 3 },
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 0, .polarity = REVERSE },
+ { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE },
+ },
+ },
+ [WL520GU] = {
+ .name = "ASUS WL-520gU",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 2 },
+ { .name = "ses", .gpio = 1 << 3 },
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 0, .polarity = REVERSE },
+ { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE },
+ },
+ },
[ASUS_4702] = {
.name = "ASUS (unknown, BCM4702)",
.buttons = {
/* No usable buttons */
},
.leds = {
- { .name = "dmz", .gpio = 1 << 4, .polarity = REVERSE },
+// { .name = "power", .gpio = 1 << 0 .polarity = REVERSE }, // Usable when retrofitting D26 (?)
+ { .name = "dmz", .gpio = 1 << 4, .polarity = REVERSE }, // actual name WWW
{ .name = "wlan", .gpio = 1 << 3, .polarity = REVERSE },
},
},
},
.leds = {
{ .name = "power", .gpio = 1 << 5, .polarity = REVERSE },
- { .name = "dmz", .gpio = 1 << 0, .polarity = REVERSE },
+ { .name = "dmz", .gpio = 1 << 0, .polarity = REVERSE }, // actual name WWW
{ .name = "wlan", .gpio = 1 << 3, .polarity = REVERSE },
},
},
/* Look for a model identifier */
/* Based on "model_name" */
- if (buf = nvram_get("model_name")) {
+ if ((buf = nvram_get("model_name"))) {
if (!strcmp(buf, "DIR-130"))
return &platforms[DIR130];
if (!strcmp(buf, "DIR-330"))
}
/* Based on "model_no" */
- if (buf = nvram_get("model_no")) {
+ if ((buf = nvram_get("model_no"))) {
if (startswith(buf,"WL700")) /* WL700* */
return &platforms[WL700GE];
}
+ /* Based on "hardware_version" */
+ if ((buf = nvram_get("hardware_version"))) {
+ if (startswith(buf,"WL500GPV2-")) /* WL500GPV2-* */
+ return &platforms[WL500GPV2];
+ if (startswith(buf,"WL520GC-")) /* WL520GU-* */
+ return &platforms[WL520GC];
+ if (startswith(buf,"WL520GU-")) /* WL520GU-* */
+ return &platforms[WL520GU];
+ }
+
/* Based on "ModelId" */
- if (buf = nvram_get("ModelId")) {
+ if ((buf = nvram_get("ModelId"))) {
if (!strcmp(buf, "WR850GP"))
return &platforms[WR850GP];
if (!strcmp(buf,"WX-5565"))
if (!strcmp(boardnum, "10496"))
return &platforms[USR5461];
+ if (!strcmp(getvar("boardtype"), "0x0101") && !strcmp(getvar("boardrev"), "0x10")) /* SE505V2 With Modified CFE */
+ return &platforms[SE505V2];
+
} else { /* PMON based - old stuff */
if ((simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 9) &&
(simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 30)) {
l->state = 0;
set_led_extif(l);
} else {
- if (l->polarity != INPUT) oe_mask != l->gpio;
+ if (l->polarity != INPUT) oe_mask |= l->gpio;
mask |= l->gpio;
val |= (l->polarity == NORMAL)?0:l->gpio;
}