summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-21 23:48:23 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-21 23:48:23 +0000
commitc3794557a9a87c84faa6e18d6e596822be029b06 (patch)
tree6b0a2e550e8fe0e9731b54ca485fb6d54c731e46
parent38d48b38aaa7dc5eb3c7a816876f38b7dab0d850 (diff)
[brcm-2.4] add support for OvisLink WL-1600GL
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19262 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/broadcom-diag/Makefile2
-rw-r--r--package/broadcom-diag/src/diag.c20
-rwxr-xr-xpackage/nvram/files/nvram.init8
-rwxr-xr-xtarget/linux/brcm-2.4/base-files/etc/init.d/netconfig6
4 files changed, 35 insertions, 1 deletions
diff --git a/package/broadcom-diag/Makefile b/package/broadcom-diag/Makefile
index deffaf6d2..6c55dc3fe 100644
--- a/package/broadcom-diag/Makefile
+++ b/package/broadcom-diag/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=broadcom-diag
-PKG_RELEASE:=5
+PKG_RELEASE:=6
include $(INCLUDE_DIR)/package.mk
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index fefd036c7..8f296248b 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -138,6 +138,9 @@ enum {
/* Askey */
RT210W,
+
+ /* OvisLink */
+ WL1600GL,
};
static void __init bcm4780_init(void) {
@@ -852,6 +855,19 @@ static struct platform_t __initdata platforms[] = {
{ .name = "power", .gpio = 1 << 5, .polarity = REVERSE },
},
},
+ [WL1600GL] = {
+ .name = "OvisLink WL-1600GL",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 3 },
+ { .name = "ses", .gpio = 1 << 4 },
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 5, .polarity = REVERSE },
+ { .name = "wps", .gpio = 1 << 2, .polarity = REVERSE },
+ { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE },
+ { .name = "connected", .gpio = 1 << 0, .polarity = REVERSE },
+ },
+ },
};
static struct platform_t __init *platform_detect(void)
@@ -966,6 +982,10 @@ static struct platform_t __init *platform_detect(void)
if (!strcmp(boardnum, "1024") && !strcmp(boardtype, "0x0446"))
return &platforms[WAP54GV2];
+ if (!strcmp(boardnum, "8") && !strcmp(boardtype, "0x048e"))
+ return &platforms[WL1600GL];
+
+
if (!strcmp(boardnum, "44") || !strcmp(boardnum, "44\r")) {
if (!strcmp(boardtype,"0x0101") || !strcmp(boardtype, "0x0101\r"))
return &platforms[TM2300V2]; /* Dell TrueMobile 2300 v2 */
diff --git a/package/nvram/files/nvram.init b/package/nvram/files/nvram.init
index 75d712b59..9eae17fd8 100755
--- a/package/nvram/files/nvram.init
+++ b/package/nvram/files/nvram.init
@@ -74,5 +74,13 @@ start() {
nvram set il0macaddr=$(nvram get et0macaddr|
awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}')
}
+
+ [ "$(nvram get et0macaddr)" = "00:90:4c:c0:00:08" ] && {
+ # OvisLink WL-1600GL mac workaround
+ nvram set et0macaddr=$(hexdump -n 6 -s 130976 -e '5/1 "%02x:" "%02x" ' /dev/mtd/0)
+ nvram set il0macaddr=$(nvram get et0macaddr|
+ awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}')
+ }
+
[ "$COMMIT" = "1" ] && nvram commit
}
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 d63f17b12..d1e45e5bb 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
@@ -207,6 +207,12 @@ start() {
c["vlan0ports"] = "0 1 2 3 4 5u"
c["vlan1ports"] = ""
}
+ if (model == "OvisLink WL-1600GL") {
+ c["lan_ifname"] = "eth0.0"
+ c["wan_ifname"] = "eth0.1"
+ c["vlan0ports"] = "0 1 2 3 5*"
+ c["vlan1ports"] = "4 5"
+ }
if (c["vlan0ports"] || c["vlan1ports"]) {
print "#### VLAN configuration "