From 8d5d8f7c4077966c92b30b7bb537667af70b12ad Mon Sep 17 00:00:00 2001 From: Fedor Kozhevnikov Date: Sat, 6 Aug 2011 15:49:28 -0400 Subject: [PATCH] rc/shared: ASUS RT-N66U ID --- release/src/router/rc/buttons.c | 4 ++++ release/src/router/rc/init.c | 22 ++++++++++++++++++++++ release/src/router/shared/id.c | 6 ++++++ release/src/router/shared/led.c | 4 ++++ release/src/router/shared/shared.h | 2 ++ 5 files changed, 38 insertions(+) diff --git a/release/src/router/rc/buttons.c b/release/src/router/rc/buttons.c index f019e2e96a..4210edc713 100644 --- a/release/src/router/rc/buttons.c +++ b/release/src/router/rc/buttons.c @@ -150,6 +150,10 @@ int buttons_main(int argc, char *argv[]) reset_mask = 1 << 6; ses_mask = 1 << 8; break; + case MODEL_RTN66U: + reset_mask = 1 << 9; + ses_mask = 1 << 4; + break; case MODEL_WNR3500L: reset_mask = 1 << 4; ses_mask = 1 << 6; diff --git a/release/src/router/rc/init.c b/release/src/router/rc/init.c index be11fb16ed..f2aaf1d8fc 100644 --- a/release/src/router/rc/init.c +++ b/release/src/router/rc/init.c @@ -404,6 +404,7 @@ static int init_vlan_ports(void) case MODEL_WNR3500L: case MODEL_WRT320N: case MODEL_RTN16: + case MODEL_RTN66U: dirty |= check_nv("vlan1ports", "4 3 2 1 8*"); dirty |= check_nv("vlan2ports", "0 8"); break; @@ -965,6 +966,27 @@ static int init_nvram(void) nvram_set("vlan_enable", "1"); } break; + case MODEL_RTN66U: + mfr = "Asus"; + name = "RT-N66U"; + features = SUP_SES | SUP_80211N | SUP_1000ET; +#ifdef TCONFIG_USB + nvram_set("usb_uhci", "-1"); +#if defined(LINUX26) && defined(TCONFIG_USB_EXTRAS) + if (nvram_get_int("usb_mmc") == -1) nvram_set("usb_mmc", "0"); +#endif +#endif + if (!nvram_match("t_fix1", (char *)name)) { + nvram_set("lan_ifnames", "vlan1 eth1 eth2"); + nvram_set("wan_ifnameX", "vlan2"); + nvram_set("wl_ifnames", "eth1 eth2"); + nvram_set("landevs", "vlan1 wl0 wl1"); + nvram_set("wandevs", "vlan2"); +#if defined(LINUX26) && defined(TCONFIG_USB) + nvram_set("usb_noled", "1-1.4"); /* SD/MMC Card */ +#endif + } + break; case MODEL_WNR3500L: mfr = "Netgear"; name = "WNR3500L/U/v2"; diff --git a/release/src/router/shared/id.c b/release/src/router/shared/id.c index df713acf5e..6e961c8ba6 100644 --- a/release/src/router/shared/id.c +++ b/release/src/router/shared/id.c @@ -66,6 +66,7 @@ Ovislink WL1600GL HW_BCM5354G 0x048E 8 0x11 RT-N16 BCM4718 0x04cf 45 0x1218 0x0310 hardware_version=RT-N16-00-07-01-00 regulation_domain=0X10US sdram_init=0x419 RT-N12 BCM4716 0x04cd 45 0x1201 0x???? RT-N10 BCM5356 0x04ec 45 0x1402 0x???? +RT-N66U BCM4706 0xf5b2 00 0x1100 0x0110 WNR3500L BCM4718 0x04cf 3500 0x1213|02 0x0710|0x1710 WNR2000v2 BCM4716B0 0xe4cd 1 0x1700 @@ -151,6 +152,8 @@ int check_hw_type(void) case 0xd4cf: case 0xf52c: return HW_BCM4718; + case 0xf5b2: + return HW_BCM4706; #endif } @@ -345,6 +348,9 @@ int get_model(void) case HW_BCM5354G: if (nvram_match("boardrev", "0x35")) return MODEL_DIR320; break; + case HW_BCM4706: + if (nvram_match("boardrev", "0x1100")) return MODEL_RTN66U; + break; } break; case 1105: diff --git a/release/src/router/shared/led.c b/release/src/router/shared/led.c index 8ecb67dfbf..dc72ea8a3e 100644 --- a/release/src/router/shared/led.c +++ b/release/src/router/shared/led.c @@ -202,6 +202,7 @@ int do_led(int which, int mode) static int wrt320n[] = { 255, 2, 3, 4, 255, 255, 255, 255 }; static int wrt610nv2[] = { 255, 5, 3, 0, 255, 255, 255, -7 }; static int e4200[] = { 255, 5, -3, 255, 255, 255, 255, 255 }; + static int rtn66u[] = { 255, -12, 255, 255, 255, 255, 255, 15 }; #endif char s[16]; @@ -308,6 +309,9 @@ int do_led(int which, int mode) if (which != LED_DIAG) return ret; b = -1; // power light break; + case MODEL_RTN66U: + b = rtn66u[which]; + break; case MODEL_WNR3500L: if (which == LED_DIAG) { // power led gpio: 0x03 - green, 0x07 - amber diff --git a/release/src/router/shared/shared.h b/release/src/router/shared/shared.h index 1f90df1cd7..457e8db62e 100644 --- a/release/src/router/shared/shared.h +++ b/release/src/router/shared/shared.h @@ -188,6 +188,7 @@ enum { MODEL_RTN10, MODEL_RTN12, MODEL_RTN16, + MODEL_RTN66U, MODEL_WNR3500L, MODEL_WNR2000v2, MODEL_F7D3301, @@ -235,6 +236,7 @@ enum { HW_BCM4717, HW_BCM5365, HW_BCM4785, + HW_BCM4706, HW_UNKNOWN }; -- 2.11.4.GIT