diff -Nur wvc54g_v1025.orig/SOURCE/fs/apps/cgi/html.linksysEU/adm/help.htm wvc54g_v1025/SOURCE/fs/apps/cgi/html.linksysEU/adm/help.htm
--- wvc54g_v1025.orig/SOURCE/fs/apps/cgi/html.linksysEU/adm/help.htm	2004-07-22 04:28:27.000000000 +0200
+++ wvc54g_v1025/SOURCE/fs/apps/cgi/html.linksysEU/adm/help.htm	2006-01-15 22:57:52.000000000 +0100
@@ -76,7 +76,8 @@
  
 <tr>
   <td bgcolor="#9292da" class="sp" valign="top">
-    <br><a href="hlp_basic.htm" class="sp">Setup - Basic</a>
+    <br><a href="hlp_olsr.htm" class="sp">Setup - OLSR</a>
+	<p><a href="hlp_basic.htm" class="sp">Setup - Basic</a>
 	<p><a href="hlp_image.htm" class="sp">Setup - Image</a>
 	<p><a href="hlp_user.htm" class="sp">Setup - Users</a>
 	<p><a href="hlp_ddns.htm" class="sp">Setup - SoloLink DDNS</a>
@@ -85,10 +86,14 @@
   </td>
 	
   <td valign="top">
-<br><a href="http://www.linksys.com/international" class="helplink">Linksys Support Page - Download Latest Viewer/Recorder Utility</a>
+<br><b class="help">Please read the OLSR help page.</b>
+<p><a href="http://www.linksys.com/international" class="helplink">Linksys Support Page - Download Latest Viewer/Recorder Utility</a>
 <p><a href="http://www.linksys.com/portfwd" class="helplink">Click here to learn how to configure Port Forwarding in your Linksys Router</a>
 <p><a href="ftp://ftp.linksys.com/international/userguides/wvc54g_eu_ug.pdf" class="helplink">Online User Guide in PDF Format</a>
 <p><a href="http://www.adobe.com" class="helplink">Adobe website (software for viewing PDF documents)</a>
+<p><a href="http://www.freifunk.net/" class="helplink">Freifunk homepage (german)</a>
+<p><a href="http://www.olsrexperiment.de/" class="helplink">Berlin mesh community homepage (german)</a>
+<p><a href="http://styx.commando.de/sven-ola/wvc/" class="helplink">Download OLSR enabled WVC firmware and flash tool here.</a>
 <p>
 </td>
 </tr>
diff -Nur wvc54g_v1025.orig/SOURCE/fs/apps/cgi/html.linksysEU/index.htm wvc54g_v1025/SOURCE/fs/apps/cgi/html.linksysEU/index.htm
--- wvc54g_v1025.orig/SOURCE/fs/apps/cgi/html.linksysEU/index.htm	2004-07-22 04:28:27.000000000 +0200
+++ wvc54g_v1025/SOURCE/fs/apps/cgi/html.linksysEU/index.htm	2006-03-11 16:09:31.000000000 +0100
@@ -51,12 +51,13 @@
  <table border="0" cellspacing="0" cellpadding="0" width="100%">
  <tr>
      <td nowrap align="right"><img src="v_left.gif" width="12" height="26" alt="" border="0"></td>
-	 <td nowrap bgcolor="black" width="1%"><b class="wh">Ver @ver_no#</b></td>
+	 <td nowrap bgcolor="black" width="1%" style="margin-right:4px"><b class="wh">Ver @ver_no#+OLSR</b></td>
 	 <td nowrap><img src="v_right.gif" width="12" height="26" alt="" border="0"></td>
-     <td align="right" nowrap><span class="tabtitle">Home</span>  &nbsp; <b class="wh">|</b> &nbsp; 
-       <a href="javascript:goVideo('img/')" class="menubar">View Video</a> &nbsp; <b class="wh">|</b> &nbsp; 
+     <td align="right" nowrap>&nbsp; <span class="tabtitle">Home</span>  &nbsp; <b class="wh">|</b> &nbsp; 
+       <a href="javascript:goVideo('img/')" class="menubar">Video (ActiveX)</a> &nbsp; <b class="wh">|</b> &nbsp; 
+       <a href="img/video.asf" class="menubar">Video (Link)</a> &nbsp; <b class="wh">|</b> &nbsp; 
        <a href="adm/file.cgi?next_file=basic.htm" class="menubar">Setup</a>  &nbsp; <b class="wh">|</b> &nbsp; 
-       <a href="http://www.linksys.com/international" class="menubar" target="_blank">Linksys WEB</a> &nbsp; <b class="wh">|</b> &nbsp; 
+       <a href="http://www.freifunk.net/" class="menubar" target="_blank">freifunk.net</a> &nbsp; <b class="wh">|</b> &nbsp; 
 	   <a href="javascript:showHelp()" class="menubar">Help</a> &nbsp; <b class="wh">|</b> &nbsp; 
        <a href="javascript:self.close()" class="menubar">Exit</a></td>
        <td  bgcolor="#6666cc" width="20"> &nbsp; </td>
diff -Nur wvc54g_v1025.orig/SOURCE/fs/apps/Makefile wvc54g_v1025/SOURCE/fs/apps/Makefile
--- wvc54g_v1025.orig/SOURCE/fs/apps/Makefile	2004-07-20 10:14:08.000000000 +0200
+++ wvc54g_v1025/SOURCE/fs/apps/Makefile	2006-01-16 01:33:02.000000000 +0100
@@ -20,18 +20,19 @@
 SUBDIR += upgrade
 #SUBDIR += hello
 #SUBDIR += testf
+SUBDIR += olsrd-0.4.10
 
 
 $(SUBDIR)::
-	@for i in $(SUBDIR) ; do $(MAKE) -C $$i OEM=$(OEM) || exit 1; done
+	@for i in $(SUBDIR) ; do $(MAKE) -C $$i NODEBUG=1 SVEN_OLA=1 OS=linux OEM=$(OEM) || exit 1; done
 
 all: $(SUBDIR) install
 
 install:
-	@for i in $(SUBDIR) ; do $(MAKE) -C $$i install OEM=$(OEM) || exit 1; done
+	@for i in $(SUBDIR) ; do $(MAKE) -C $$i install OS=linux OEM=$(OEM) || exit 1; done
 
 clean:
-	@for i in $(SUBDIR) ; do $(MAKE) -C $$i clean OEM=$(OEM) || exit 1; done
+	@for i in $(SUBDIR) ; do $(MAKE) -C $$i clean OS=linux OEM=$(OEM) || exit 1; done
 
 debug:
-	@for i in $(SUBDIR) ; do $(MAKE) -C $$i OEM=$(OEM) CADENUX_DEBUG=y || exit 1; done
+	@for i in $(SUBDIR) ; do $(MAKE) -C $$i OS=linux OEM=$(OEM) CADENUX_DEBUG=y || exit 1; done
diff -Nur wvc54g_v1025.orig/SOURCE/fs/Makefile wvc54g_v1025/SOURCE/fs/Makefile
--- wvc54g_v1025.orig/SOURCE/fs/Makefile	2006-11-19 21:59:04.000000000 +0100
+++ wvc54g_v1025/SOURCE/fs/Makefile	2006-11-19 22:04:27.000000000 +0100
@@ -66,6 +66,14 @@
 	@rm -f ${FSROOT_DIR}/etc/resolv.conf
 	@ln -s /mnt/ramdisk/resolv.conf ${FSROOT_DIR}/etc/resolv.conf
 
+	# Sven-Ola: Replace some files with a link to the ramdisk
+	rm -f ${FSROOT_DIR}/etc/passwd
+	ln -s /mnt/ramdisk/passwd ${FSROOT_DIR}/etc/passwd
+	rm -f ${FSROOT_DIR}/etc/olsrd.conf
+	ln -s /mnt/ramdisk/olsrd.conf ${FSROOT_DIR}/etc/olsrd.conf
+	rm -f ${FSROOT_DIR}/usr/local/www/ramdisk
+	ln -s /mnt/ramdisk/www ${FSROOT_DIR}/usr/local/www/ramdisk
+
 	# Make symbolic link for etc/system.conf
 	@ln -sf /mnt/ramdisk/system.conf ${FSROOT_DIR}/etc/system.conf
 
diff -Nur wvc54g_v1025.orig/SOURCE/fs/Makefile.dm270 wvc54g_v1025/SOURCE/fs/Makefile.dm270
--- wvc54g_v1025.orig/SOURCE/fs/Makefile.dm270	2006-11-19 21:59:08.000000000 +0100
+++ wvc54g_v1025/SOURCE/fs/Makefile.dm270	2006-11-19 22:04:45.000000000 +0100
@@ -196,6 +196,14 @@
 		cp ${FSSCRIPTS_DIR}/etc/resolv.conf ${ROOT_MNT}/resolv.conf; \
 	fi
 
+	# Sven-Ola: Copy some files to the ramdisk image
+	if [ -f ${FSSCRIPTS_DIR}/etc/passwd ]; then \
+		cp ${FSSCRIPTS_DIR}/etc/passwd ${ROOT_MNT}/passwd; \
+	fi
+	if [ -f ${FSSCRIPTS_DIR}/etc/olsrd.conf ]; then \
+		cp ${FSSCRIPTS_DIR}/etc/olsrd.conf ${ROOT_MNT}/olsrd.conf; \
+	fi
+
 	# Put default crontab to the ramdisk image
 	@if [ -f ${FSSCRIPTS_DIR}/etc/crontab ]; then \
 		cp ${FSSCRIPTS_DIR}/etc/crontab ${ROOT_MNT}/crontab; \
diff -Nur wvc54g_v1025.orig/SOURCE/fs/userland/busybox-0.60.3/Config.h wvc54g_v1025/SOURCE/fs/userland/busybox-0.60.3/Config.h
--- wvc54g_v1025.orig/SOURCE/fs/userland/busybox-0.60.3/Config.h	2004-07-15 10:34:33.000000000 +0200
+++ wvc54g_v1025/SOURCE/fs/userland/busybox-0.60.3/Config.h	2005-05-24 21:38:44.000000000 +0200
@@ -15,7 +15,7 @@
 //#define BB_CHGRP
 #define BB_CHMOD
 #define BB_CHOWN
-//#define BB_CHROOT
+#define BB_CHROOT
 //#define BB_CHVT
 #define BB_CLEAR
 #define BB_CMP
@@ -46,8 +46,8 @@
 //#define BB_FSCK_MINIX
 //#define BB_GETOPT
 #define BB_GREP
-//#define BB_GUNZIP
-//#define BB_GZIP
+#define BB_GUNZIP
+#define BB_GZIP
 #define BB_HALT
 #define BB_HEAD
 //#define BB_HOSTID
@@ -72,7 +72,7 @@
 #define BB_LS
 #define BB_LSMOD
 //#define BB_MAKEDEVS
-//#define BB_MD5SUM
+#define BB_MD5SUM
 #define BB_MKDIR
 //#define BB_MKFIFO
 //#define BB_MKFS_MINIX
@@ -89,9 +89,9 @@
 #define BB_NSLOOKUP
 #define BB_PIDOF
 #define BB_PING
-//#define BB_PIVOT_ROOT
+#define BB_PIVOT_ROOT
 //#define BB_POWEROFF
-//#define BB_PRINTF
+#define BB_PRINTF
 #define BB_PS
 #define BB_PWD
 //#define BB_RDATE
@@ -104,16 +104,16 @@
 #define BB_RMMOD
 #define BB_ROUTE
 //#define BB_RPM2CPIO
-//#define BB_SED
+#define BB_SED
 //#define BB_SETKEYCODES
 #define BB_SLEEP
-//#define BB_SORT
+#define BB_SORT
 //#define BB_STTY
 //#define BB_SWAPONOFF
 #define BB_SYNC
 //#define BB_SYSLOGD
 #define BB_TAIL
-//#define BB_TAR
+#define BB_TAR
 //#define BB_TEE
 #define BB_TEST
 //#define BB_TELNET
@@ -121,7 +121,7 @@
 //#define BB_TIME
 #define BB_TOUCH
 //#define BB_TR
-//#define BB_TRACEROUTE
+#define BB_TRACEROUTE
 #define BB_TRUE_FALSE
 //#define BB_TTY
 //#define BB_UNIX2DOS
@@ -133,10 +133,10 @@
 //#define BB_UPDATE
 #define BB_UPTIME
 //#define BB_USLEEP
-//#define BB_VI
+#define BB_VI
 //#define BB_WATCHDOG
 //#define BB_WC
-//#define BB_WGET
+#define BB_WGET
 #define BB_WHICH
 #define BB_WHOAMI
 //#define BB_XARGS
diff -Nur wvc54g_v1025.orig/SOURCE/fs/userland/scripts/etc/rc wvc54g_v1025/SOURCE/fs/userland/scripts/etc/rc
--- wvc54g_v1025.orig/SOURCE/fs/userland/scripts/etc/rc	2004-07-22 08:35:32.000000000 +0200
+++ wvc54g_v1025/SOURCE/fs/userland/scripts/etc/rc	2006-03-11 15:57:25.000000000 +0100
@@ -49,6 +49,11 @@
 # ---- Set Push Button ---- #
 /sbin/insmod switchs
 /usr/local/bin/read_push &
+# ---- First add wlan driver (added by sven-ola) ----#
+eval `grep lan_ip_addr= /etc/system.conf`
+eval `grep lan_netmask= /etc/system.conf`
+eval `grep lan_broadcast= /etc/system.conf`
+test -n "$lan_ip_addr" && /sbin/insmod wl
 # ---- Set LAN/WLAN Driver ---- #
 /sbin/insmod dm9000x
 # ---- Set LoopBack Network (TCP/IP) ---- #
@@ -77,7 +82,65 @@
 # ---- Set LED To Device (Ready ON) ----- #
 /usr/local/bin/do_leds 0 0
 # ---- Set telnet and ftp Enable ---- #
-#/usr/sbin/inetd /etc/inetd.conf &
+/usr/sbin/inetd /etc/inetd.conf &
+
+# Note: Change /etc/system.conf, then change something on web GUI
+# to make your setting permanent. It GUI change will write to flash.
+
+# ---- Configure second Ethernet/LAN (added by sven-ola) ---- #
+if [ -n "$lan_ip_addr" ]; then
+   /sbin/ifconfig eth1 $lan_ip_addr netmask $lan_netmask broadcast $lan_broadcast
+   /sbin/ifconfig eth1:0 192.168.1.115 netmask 255.255.255.0 broadcast 192.168.1.255
+   # rc.setip does not set the wireless param any more
+   eval `grep operation_mode= /etc/system.conf`
+   eval `grep essid= /etc/system.conf`
+   eval `grep channel= /etc/system.conf`
+   /etc/wl infra $operation_mode
+   /etc/wl channel $channel
+   if [ "$operation_mode" = "0" ]; then
+      /etc/wl join $essid mode ibss
+   else
+      /etc/wl join $essid
+   fi
+   eval `grep lan_olsr= /etc/system.conf`
+   if [ -n "$lan_olsr" ]; then
+      cat>>/etc/olsrd.conf<<EOM
+Interface "eth1"
+{
+	HelloInterval		5.0
+	HelloValidityTime	90.0
+	TcInterval		2.0
+	TcValidityTime		270.0
+	MidInterval		15.0
+	MidValidityTime		90.0
+	HnaInterval		15.0
+	HnaValidityTime		90.0
+}
+EOM
+   fi
+fi
+# ---- Start OLSR daemon (added by sven-ola) ---- #
+eval `grep wl_rts= /etc/system.conf`
+eval `grep wl_frag= /etc/system.conf`
+eval `grep wl_txpwr= /etc/system.conf`
+
+test -z "$wl_rts" && wl_rts=250
+test -z "$wl_frag" && wl_frag=2346
+test -z "$wl_txpwr" && wl_txpwr=84
+
+/etc/wl rts $wl_rts
+/etc/wl frag $wl_frag
+/etc/wl txpwr $wl_txpwr
+/sbin/route del default
+/usr/sbin/olsrd -d 0 -nofork>/dev/null 2>&1 &
+echo 0 >/proc/sys/net/ipv4/conf/all/send_redirects
+echo "*/1 * * * * root /etc/olsrd-check.sh">>/mnt/ramdisk/crontab
+# ---- Start User Script (added by sven-ola) ---- #
+eval `grep user_rc= /etc/system.conf`
+eval '$user_rc'
+# ---- Add Admin User (added by sven-ola) ---- #
+eval `grep admin= /etc/system.conf`
+eval `grep admin_pw= /etc/system.conf`
+echo $admin:`crypt $admin_pw`:0:0:$admin:/root:/bin/sh>>/etc/passwd
 # ---- Start Login Shell ---- #
 exit 0
-
diff -Nur wvc54g_v1025.orig/SOURCE/linux/.config wvc54g_v1025/SOURCE/linux/.config
--- wvc54g_v1025.orig/SOURCE/linux/.config	2004-07-16 07:56:08.000000000 +0200
+++ wvc54g_v1025/SOURCE/linux/.config	2005-07-12 10:29:03.000000000 +0200
@@ -59,7 +59,7 @@
 CONFIG_SYSVIPC=y
 CONFIG_REDUCED_MEMORY=y
 # CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_SYSCTL is not set
+CONFIG_SYSCTL=y
 # CONFIG_NWFPE is not set
 CONFIG_KCORE_ELF=y
 # CONFIG_KCORE_AOUT is not set
diff -Nur wvc54g_v1025.orig/SOURCE/fs/userland/tinylogin-1.02/Config.h wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/Config.h
--- wvc54g_v1025.orig/SOURCE/fs/userland/tinylogin-1.02/Config.h	2004-07-15 10:34:35.000000000 +0200
+++ wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/Config.h	2005-07-22 21:31:11.000000000 +0200
@@ -5,6 +5,7 @@
 
 //#define TLG_ADDUSER
 //#define TLG_ADDGROUP
+#define TLG_CRYPT
 //#define TLG_DELUSER
 //#define TLG_DELGROUP
 #define TLG_GETTY
diff -Nur wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/applets.h wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/applets.h
--- wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/applets.h	2004-07-15 10:34:35.000000000 +0200
+++ wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/applets.h	2005-07-22 21:31:10.000000000 +0200
@@ -34,6 +34,9 @@
 #ifdef TLG_DELGROUP
 	APPLET("delgroup", delgroup_main, _TLG_DIR_BIN, FALSE, delgroup_usage)
 #endif
+#ifdef TLG_CRYPT
+	APPLET("crypt", crypt_main, _TLG_DIR_BIN, FALSE, crypt_usage)
+#endif
 #ifdef TLG_DELUSER
 	APPLET("deluser", deluser_main, _TLG_DIR_BIN, FALSE, deluser_usage)
 #endif
diff -Nur wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/crypt.c wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/crypt.c
--- wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/crypt.c	1970-01-01 01:00:00.000000000 +0100
+++ wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/crypt.c	2005-07-22 21:52:34.000000000 +0200
@@ -0,0 +1,27 @@
+/*
+ * crypt (crypt a password ;) for TinyLogin
+ *
+ * Copyright (C) 2005 by Sven-Ola@gmx.de
+ *
+ */
+
+#include "tinylogin.h"
+#include "tlstrings.h"
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* ________________________________________________________________________ */
+int crypt_main(int argc, char **argv)
+{
+	char pass[200];
+	if (argc != 2) {
+		usage(crypt_usage);
+	} else {
+		STRFCPY(pass, argv[1]);
+		printf("%s\n", pw_encrypt(pass, "$1$"));
+	}
+	return (EXIT_SUCCESS);
+}
Binärdateien wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/tinylogin.elf and wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/tinylogin.elf sind verschieden.
diff -Nur wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/usage.c wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/usage.c
--- wvc54g_v1025/SOURCE/fs/userland/tinylogin-1.02/usage.c	2004-07-15 10:34:35.000000000 +0200
+++ wvc54g_v1025.with-olsr/SOURCE/fs/userland/tinylogin-1.02/usage.c	2005-07-22 21:31:10.000000000 +0200
@@ -23,6 +23,15 @@
 #endif
 
 
+#if defined TLG_CRYPT
+const char crypt_usage[] = "crypt <passwd>\n"
+#ifndef TLG_FEATURE_TRIVIAL_HELP
+	"\nOutputs a crypted passwd\n"
+#endif
+;
+#endif
+
+
 #if defined TLG_DELUSER
 const char deluser_usage[] = "deluser <login name>\n"
 #ifndef TLG_FEATURE_TRIVIAL_HELP
