fix Dell TrueMobile 2300 v1/v2 detection and network configuration (closes #2788)
SVN-Revision: 11935
This commit is contained in:
parent
1b84749c77
commit
9b2e1bdd8d
2 changed files with 26 additions and 5 deletions
|
@ -99,6 +99,7 @@ enum {
|
||||||
|
|
||||||
/* Dell */
|
/* Dell */
|
||||||
TM2300,
|
TM2300,
|
||||||
|
TM2300V2,
|
||||||
|
|
||||||
/* Motorola */
|
/* Motorola */
|
||||||
WE800G,
|
WE800G,
|
||||||
|
@ -566,6 +567,16 @@ static struct platform_t __initdata platforms[] = {
|
||||||
{ .name = "power", .gpio = 1 << 7, .polarity = REVERSE },
|
{ .name = "power", .gpio = 1 << 7, .polarity = REVERSE },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
[TM2300V2] = {
|
||||||
|
.name = "Dell TrueMobile 2300 v2",
|
||||||
|
.buttons = {
|
||||||
|
{ .name = "reset", .gpio = 1 << 0 },
|
||||||
|
},
|
||||||
|
.leds = {
|
||||||
|
{ .name = "wlan", .gpio = 1 << 6, .polarity = REVERSE },
|
||||||
|
{ .name = "power", .gpio = 1 << 7, .polarity = REVERSE },
|
||||||
|
},
|
||||||
|
},
|
||||||
/* Motorola */
|
/* Motorola */
|
||||||
[WE800G] = {
|
[WE800G] = {
|
||||||
.name = "Motorola WE800G",
|
.name = "Motorola WE800G",
|
||||||
|
@ -747,8 +758,8 @@ static struct platform_t __init *platform_detect(void)
|
||||||
if ((buf = nvram_get("ModelId"))) {
|
if ((buf = nvram_get("ModelId"))) {
|
||||||
if (!strcmp(buf, "WR850GP"))
|
if (!strcmp(buf, "WR850GP"))
|
||||||
return &platforms[WR850GP];
|
return &platforms[WR850GP];
|
||||||
if (!strcmp(buf,"WX-5565"))
|
if (!strcmp(buf, "WX-5565") && !strcmp(getvar("boardtype"),"bcm94710ap"))
|
||||||
return &platforms[TM2300];
|
return &platforms[TM2300]; /* Dell TrueMobile 2300 */
|
||||||
if (startswith(buf,"WE800G")) /* WE800G* */
|
if (startswith(buf,"WE800G")) /* WE800G* */
|
||||||
return &platforms[WE800G];
|
return &platforms[WE800G];
|
||||||
}
|
}
|
||||||
|
@ -804,6 +815,11 @@ static struct platform_t __init *platform_detect(void)
|
||||||
return &platforms[WRT54G];
|
return &platforms[WRT54G];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!strcmp(boardnum, "44") || !strcmp(boardnum, "44\r")) {
|
||||||
|
if (!strcmp(boardtype,"0x0101") || !strcmp(boardtype, "0x0101\r"))
|
||||||
|
return &platforms[TM2300V2]; /* Dell TrueMobile 2300 v2 */
|
||||||
|
}
|
||||||
|
|
||||||
if (!strcmp(boardnum, "45")) { /* ASUS */
|
if (!strcmp(boardnum, "45")) { /* ASUS */
|
||||||
if (!strcmp(boardtype,"0x042f"))
|
if (!strcmp(boardtype,"0x042f"))
|
||||||
return &platforms[WL500GP];
|
return &platforms[WL500GP];
|
||||||
|
@ -818,7 +834,7 @@ static struct platform_t __init *platform_detect(void)
|
||||||
|
|
||||||
if (!strcmp(getvar("boardtype"), "0x0101") && !strcmp(getvar("boardrev"), "0x10")) /* SE505V2 With Modified CFE */
|
if (!strcmp(getvar("boardtype"), "0x0101") && !strcmp(getvar("boardrev"), "0x10")) /* SE505V2 With Modified CFE */
|
||||||
return &platforms[SE505V2];
|
return &platforms[SE505V2];
|
||||||
|
|
||||||
} else { /* PMON based - old stuff */
|
} else { /* PMON based - old stuff */
|
||||||
if ((simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 9) &&
|
if ((simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 9) &&
|
||||||
(simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 30)) {
|
(simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 30)) {
|
||||||
|
@ -1010,7 +1026,7 @@ static irqreturn_t button_handler(int irq, void *dev_id, struct pt_regs *regs)
|
||||||
|
|
||||||
changed &= ~gpio_outen(0, 0);
|
changed &= ~gpio_outen(0, 0);
|
||||||
|
|
||||||
for (b = platform.buttons; b->name; b++) {
|
for (b = platform.buttons; b->name; b++) {
|
||||||
struct event_t *event;
|
struct event_t *event;
|
||||||
|
|
||||||
if (!(b->gpio & changed)) continue;
|
if (!(b->gpio & changed)) continue;
|
||||||
|
|
|
@ -65,8 +65,13 @@ start() {
|
||||||
c["vlan0ports"] = "0 1 2 3 5*"
|
c["vlan0ports"] = "0 1 2 3 5*"
|
||||||
c["vlan1ports"] = "4 5"
|
c["vlan1ports"] = "4 5"
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model == "Dell TrueMobile 2300") {
|
if (model == "Dell TrueMobile 2300") {
|
||||||
|
c["lan_ifname"] = "eth0"
|
||||||
|
c["wan_ifname"] = "eth1"
|
||||||
|
c["vlan0ports"] = "0 1 2 3 4 5u"
|
||||||
|
c["vlan1ports"] = ""
|
||||||
|
}
|
||||||
|
if (model == "Dell TrueMobile 2300 v2") {
|
||||||
c["vlan0ports"] = "0 1 2 3 5*"
|
c["vlan0ports"] = "0 1 2 3 5*"
|
||||||
c["vlan1ports"] = "4 5"
|
c["vlan1ports"] = "4 5"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue