Index: /src/router/rc/Makefile
===================================================================
--- /src/router/rc/Makefile	(revision 10748)
+++ /src/router/rc/Makefile	(revision 10749)
@@ -432,4 +432,7 @@
 CFLAGS += -DHAVE_MILKFISH
 endif
+ifeq ($(CONFIG_RT2880),y)
+CFLAGS += -DHAVE_RT2880
+endif
 
 ifeq ($(CONFIG_SPUTNIK_APD),y)
@@ -450,5 +453,7 @@
 	install rc $(INSTALLDIR)/sbin	
 	install ttraff $(INSTALLDIR)/sbin	
+ifneq ($(CONFIG_RT2880),y)
 	install wland $(INSTALLDIR)/sbin	
+endif
 	install process_monitor $(INSTALLDIR)/sbin	
 	install resetbutton $(INSTALLDIR)/sbin	
Index: /src/router/rc/check_ps.c
===================================================================
--- /src/router/rc/check_ps.c	(revision 10748)
+++ /src/router/rc/check_ps.c	(revision 10749)
@@ -87,5 +87,5 @@
 void checknas( void )		// for broadcom v24 only
 {
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
 #ifdef HAVE_MSSID
 
@@ -199,6 +199,7 @@
     checkupgrade(  );
     checknas(  );
+#ifndef HAVE_RT2880
     softcontrol_wlan_led(  );
-
+#endif
     for( v = mons; v < &mons[sizeof( mons ) / sizeof( struct mon )]; v++ )
     {
Index: /src/router/rc/init.c
===================================================================
--- /src/router/rc/init.c	(revision 10748)
+++ /src/router/rc/init.c	(revision 10749)
@@ -644,5 +644,5 @@
 		cprintf( "RESTART\n" );
 
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
 		eval( "wlconf", nvram_safe_get( "wl0_ifname" ), "down" );
 #ifdef HAVE_MSSID
@@ -676,5 +676,5 @@
 		stop_services(  );
 		stop_service( "radio_timer" );
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
 		stop_service( "nas" );
 #endif
@@ -736,5 +736,5 @@
 #endif
 		start_service( "setup_vlans" );
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
 		start_service( "wlconf" );
 #endif
@@ -771,5 +771,5 @@
 #endif
 		
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
 #ifdef HAVE_RADIOOFF
 		if( nvram_match( "radiooff_button", "1" )
Index: /src/router/rc/radio_timer.c
===================================================================
--- /src/router/rc/radio_timer.c	(revision 10748)
+++ /src/router/rc/radio_timer.c	(revision 10749)
@@ -170,4 +170,6 @@
 #ifdef HAVE_MADWIFI
 			eval( "ifconfig", "ath0", "up" );
+#elif HAVE_RT2880
+			eval("iwpriv","ra0","set","RadioOn=1");
 #elif HAVE_MSSID
 			if( pidof( "nas" ) > 0 || pidof( "wrt-radauth" ) > 0 )
@@ -188,4 +190,6 @@
 #ifdef HAVE_MADWIFI
 			eval( "ifconfig", "ath0", "down" );
+#elif HAVE_RT2880
+			eval("iwpriv","ra0","set","RadioOn=0");
 #elif HAVE_MSSID
 			if( pidof( "nas" ) > 0 || pidof( "wrt-radauth" ) > 0 )
Index: /src/router/rc/services.c
===================================================================
--- /src/router/rc/services.c	(revision 10748)
+++ /src/router/rc/services.c	(revision 10749)
@@ -282,5 +282,5 @@
     handle = stop_service_nofree( "igmp_proxy", handle );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = stop_service_nofree( "nas", handle );
 #endif
@@ -327,5 +327,5 @@
     handle = start_service_nofree( "bridgesif", handle );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "nas", handle );
 #ifdef HAVE_MSSID
@@ -472,5 +472,5 @@
     void *handle = NULL;
 
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = stop_service_nofree( "nas", handle );
 #endif
@@ -503,5 +503,5 @@
     handle = startstop_nofree( "wol", handle );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "nas", handle );
 #ifdef HAVE_MSSID
@@ -522,5 +522,5 @@
 
     handle = stop_service_nofree( "radio_timer", handle );
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = stop_service_nofree( "nas", handle );
 #endif
@@ -557,5 +557,5 @@
     handle = start_service_nofree( "bridgesif", handle );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "nas", handle );
 #ifdef HAVE_MSSID
@@ -740,9 +740,9 @@
 
     handle = stop_service_nofree( "radio_timer", handle );
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     eval( "wlconf", nvram_safe_get( "wl0_ifname" ), "down" );
 #endif
 
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = stop_service_nofree( "nas", handle );
 #endif
@@ -773,5 +773,5 @@
 	sleep( 4 );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "wlconf", handle );
 #endif
@@ -792,5 +792,5 @@
     handle = start_service_nofree( "bridgesif", handle );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "nas", handle );
 #ifdef HAVE_MSSID
@@ -810,9 +810,9 @@
 
     handle = stop_service_nofree( "radio_timer", handle );
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     eval( "wlconf", nvram_safe_get( "wl0_ifname" ), "down" );
 #endif
 
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = stop_service_nofree( "nas", handle );
 #endif
@@ -846,5 +846,5 @@
 	sleep( 4 );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "wlconf", handle );
 #endif
@@ -869,5 +869,5 @@
     handle = start_service_nofree( "bridgesif", handle );
 #endif
-#ifndef HAVE_MADWIFI
+#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880)
     handle = start_service_nofree( "nas", handle );
 #ifdef HAVE_MSSID
Index: /src/router/services/networking/rt2880.c
===================================================================
--- /src/router/services/networking/rt2880.c	(revision 10748)
+++ /src/router/services/networking/rt2880.c	(revision 10749)
@@ -669,6 +669,4 @@
 
 //encryption setup
-    fprintf( fp, "AuthMode=OPEN\n" );
-    fprintf( fp, "IEEE8021X=0\n" );
     fprintf( fp, "IEEE8021X=0\n" );
     fprintf( fp, "IEEE80211H=0\n" );
@@ -787,6 +785,6 @@
     }
     fprintf( fp, "DefaultKeyID=%s\n", keyidstr );
-    fprintf( fp, "EncrypType=%s", encryptype );
-    fprintf( fp, "AuthMode=%s", authmode );
+    fprintf( fp, "EncrypType=%s\n", encryptype );
+    fprintf( fp, "AuthMode=%s\n", authmode );
 
     fprintf( fp, "CSPeriod=10\n" );
@@ -796,5 +794,4 @@
     fprintf( fp, "RekeyMethod=DISABLE\n" );
     fprintf( fp, "PMKCachePeriod=10\n" );
-    fprintf( fp, "WPAPSK=\n" );
     fprintf( fp, "HSCounter=0\n" );
     fprintf( fp, "AccessPolicy0=0\n" );
