From f5fba5bc3ccf493289396deaa64a7ce7385d8590 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 22 Feb 2009 18:45:39 +0000 Subject: [PATCH] Asus WL-330gE Support Here is support for the compact Asus WL-330gE. It uses that all-in-one 5354 Broadcom chip that's also in the WL-520gU, so I assume USB support can be soldered on. I've yet to open up the device, though. Initial flashing is done through the CFE failsafe mode like on other Asus devices, where you boot holding the reset button, the power LED flashes, and you tftp an image. Signed-off-by: David Cooper SVN-Revision: 14624 --- package/broadcom-diag/src/diag.c | 12 +++++++ .../brcm-2.4/base-files/etc/init.d/netconfig | 36 +++++++++++++------ 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index e47f28101b..341880a70e 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -68,6 +68,7 @@ enum { WLHDD, WL300G, WL320GE, + WL330GE, WL500G, WL500GD, WL500GP, @@ -307,6 +308,15 @@ static struct platform_t __initdata platforms[] = { { .name = "link", .gpio = 1 << 11, .polarity = REVERSE }, }, }, + [WL330GE] = { + .name = "ASUS WL-330gE", + .buttons = { + { .name = "reset", .gpio = 1 << 2 }, + }, + .leds = { + { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, + }, + }, [WL500G] = { .name = "ASUS WL-500g", .buttons = { @@ -764,6 +774,8 @@ static struct platform_t __init *platform_detect(void) return &platforms[WL520GC]; if (startswith(buf,"WL520GU-")) /* WL520GU-* */ return &platforms[WL520GU]; + if (startswith(buf,"WL330GE-")) /* WL330GE-* */ + return &platforms[WL330GE]; } /* Based on "ModelId" */ diff --git a/target/linux/brcm-2.4/base-files/etc/init.d/netconfig b/target/linux/brcm-2.4/base-files/etc/init.d/netconfig index 44e2de25c9..a53209e06a 100755 --- a/target/linux/brcm-2.4/base-files/etc/init.d/netconfig +++ b/target/linux/brcm-2.4/base-files/etc/init.d/netconfig @@ -57,6 +57,12 @@ start() { c["wan_ifname"] = "" c["lan_ifname"] = "eth1" } + if (model == "ASUS WL-330gE") { + c["wan_ifname"] = "" + c["lan_ifname"] = "eth0" + c["vlan0ports"] = "" + c["vlan1ports"] = "" + } if (model == "ASUS WL-500g") { c["wan_ifname"] = "eth1" c["lan_ifname"] = "eth0" @@ -149,12 +155,14 @@ start() { c["vlan1ports"] = "" } - print "#### VLAN configuration " - print "config switch eth0" - p("vlan0", "vlan0ports") - p("vlan1", "vlan1ports") - print "" - print "" + if (c["vlan0ports"] || c["vlan1ports"]) { + print "#### VLAN configuration " + print "config switch eth0" + p("vlan0", "vlan0ports") + p("vlan1", "vlan1ports") + print "" + print "" + } print "#### Loopback configuration" print "config interface loopback" print " option ifname \"lo\"" @@ -173,10 +181,16 @@ start() { print " option netmask 255.255.255.0" print "" print "" - print "#### WAN configuration" - print "config interface wan" - p("ifname", "wan_ifname") - p("macaddr", "wan_macaddr") - print " option proto dhcp" + if (c["wan_ifname"]) { + print "#### WAN configuration" + print "config interface wan" + p("ifname", "wan_ifname") + p("macaddr", "wan_macaddr") + print " option proto dhcp" + } else { + print "#### WAN configuration (disabled)" + print "#config interface wan" + print "# option proto dhcp" + } }' > /etc/config/network } -- 2.30.2