From 6392c009d25e512cbe633458f09d120fba713fda Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 21 Jan 2010 23:48:23 +0000 Subject: [brcm-2.4] add support for OvisLink WL-1600GL git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19262 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/broadcom-diag/Makefile | 2 +- package/broadcom-diag/src/diag.c | 20 ++++++++++++++++++++ package/nvram/files/nvram.init | 8 ++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) (limited to 'package') diff --git a/package/broadcom-diag/Makefile b/package/broadcom-diag/Makefile index deffaf6d29..6c55dc3fed 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 fefd036c72..8f296248be 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 75d712b59c..9eae17fd8a 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 } -- cgit v1.2.3