<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>julian's techblog</title>
	<atom:link href="http://jultech.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jultech.wordpress.com</link>
	<description>howtos, tutorials and porn</description>
	<lastBuildDate>Sun, 26 Jul 2009 03:39:18 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='jultech.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/4713c69e882d5e6e0bf992084d837670?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>julian's techblog</title>
		<link>http://jultech.wordpress.com</link>
	</image>
			<item>
		<title>WRT54GL, Tomato und VDSL</title>
		<link>http://jultech.wordpress.com/2009/03/31/wrt54gl-tomato-und-vdsl/</link>
		<comments>http://jultech.wordpress.com/2009/03/31/wrt54gl-tomato-und-vdsl/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 11:56:17 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[wrt54g]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[vdsl]]></category>

		<guid isPermaLink="false">http://jultech.wordpress.com/?p=81</guid>
		<description><![CDATA[Hier die versprochene Kurzanleitung. (jetzt noch kuerzer fuer Tomato 1.25!)
zunaechst mal den WRT wie gewohnt auf PPPoE konfigurieren. Fuer die weiteren Schritte muss entweder Telnet oder SSH (Administration -&#62; Admin Access) aktiviert sein. Als Telnet-/SSH-Client bietet sich unter Windows PuTTY an.
Man loggt sich also auf den WRT ein und gibt folgende Befehle ein:
nvram set vlan7hwname=et0
nvram [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=81&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hier die versprochene Kurzanleitung. (jetzt noch kuerzer fuer Tomato 1.25!)</p>
<p>zunaechst mal den WRT wie gewohnt auf PPPoE konfigurieren. Fuer die weiteren Schritte muss entweder Telnet oder SSH (<strong>Administration</strong> -&gt; <strong>Admin Access</strong>) aktiviert sein. Als Telnet-/SSH-Client bietet sich unter Windows <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY</a> an.</p>
<p>Man loggt sich also auf den WRT ein und gibt folgende Befehle ein:</p>
<blockquote><p>nvram set vlan7hwname=et0<br />
nvram set vlan7ports=&#8220;4t 5&#8243;<br />
nvram set wan_ifnameX=vlan7<br />
nvram commit</p></blockquote>
<p>Man beachte, dass es sich hinter &#8222;et&#8220; um eine NULL handelt. Durch den Commit wird das ganze abgespeichert. Der Rest laeuft ueber das Web-Interface ab. Unter <strong>Administration</strong> -&gt; <strong>Scripts</strong> legen wir im Init-Script folgende Zeilen ab:</p>
<blockquote><p>ifconfig vlan7 up<br />
service wan stop<br />
service wan restart</p></blockquote>
<p>Das Ganze noch abspeichern und den Router rebooten. Ab da sollte der Router sich dann kurz nach dem Hochbooten erfolgreich einwaehlen.</p>
<p>Wer die maximale Geschwindigkeit vermisst (ein WRT54GL schafft mit dem Stock-Speed von 200Mhz nur knappe 35Mbit/s), kann zusaetzlich seinen Router einen Tick (naja, 25%!) uebertakten. Hier wieder per Telnet/SSH:</p>
<blockquote><p>nvram set clkfreq=250<br />
nvram commit</p></blockquote>
<p>und rebooten &#8211; ohne QoS bekommt man beispielsweise per Bittorrent dann einigermassen stabile 5,5MByte/s.</p>
<p>Angemerkt sei weiterhin, dass es sich hier immernoch nicht um die perfekte Loesung handelt. Man muss zwar nicht mehr selbst Hand anlegen, damit er sich einwaehlt; es handelt sich bei den Befehlen im Init-Script allerdings um einen moeglicherweise zeitverschlingenden Workaround, der mit einer neuen Tomato-Version sicherlich schoener zu loesen ist. Zu gegebenem Zeitpunkt werd ich diesen Artikel dann anpassen.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=81&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2009/03/31/wrt54gl-tomato-und-vdsl/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>Tomato und VDSL</title>
		<link>http://jultech.wordpress.com/2009/03/03/tomato-und-vdsl/</link>
		<comments>http://jultech.wordpress.com/2009/03/03/tomato-und-vdsl/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 14:35:32 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[wrt54g]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[vdsl]]></category>
		<category><![CDATA[iptv]]></category>
		<category><![CDATA[t-home]]></category>

		<guid isPermaLink="false">http://jultech.wordpress.com/?p=61</guid>
		<description><![CDATA[Update! Ich war mal so frei und hab eine selbststaendig laufende Loesung aufgeschrieben. Schaut&#8217;s euch hier an: Klick!
Dieser Artikel handelt von einer technischen Umsetzung, die so wirklich nur in Deutschland bislang Anwendung findet &#8211; daher verfasse ich diesen Artikel auf deutsch.
Seit knapp zwei Jahren bietet unsere allseits heissgeliebte Telekom unter dem Namen T-Home ihre Entertain-Tarife [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=61&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Update! </strong>Ich war mal so frei und hab eine selbststaendig laufende Loesung aufgeschrieben. Schaut&#8217;s euch hier an: <a href="http://jultech.wordpress.com/2009/03/31/wrt54gl-tomato-und-vdsl/" target="_self">Klick!</a></p>
<p>Dieser Artikel handelt von einer technischen Umsetzung, die so wirklich nur in Deutschland bislang Anwendung findet &#8211; daher verfasse ich diesen Artikel auf deutsch.</p>
<p>Seit knapp zwei Jahren bietet unsere allseits heissgeliebte Telekom unter dem Namen T-Home ihre Entertain-Tarife an, die wahlweise mit VDSL (25/5 oder 50/10 MBit) geschaltet werden koennen. Da, wie der Name bereits verraet, ein IPTV-Paket dabei ist, verwendet die Telekom das sogenannte VLAN-Tagging, um die gewoehnliche Internetleitung (Surfen, Email, P2P, etc) von der Leitung zu trennen, die die IPTV-Inhalte an die mitgelieferte Settop-Box zuliefert.</p>
<p>Die derzeit standardmaessig von der Telekom ausgelieferte Modem-Router-Loesung Speedport w721v beherrscht dieses VLAN-Tagging sowie die Aufspaltung der beiden Netze auch problemlos. Waere ja dreist wenn anders. Allerdings ist sie gravierenderweise nicht in der Lage, die vollen 50 MBit an Durchsatz zu erreichen. Nichtmal im PPPoE-Passthrough Modus; d.h. wenn man den Speedport als reines Modem verwendet und das Routen eine andere Kiste &#8211; beispielsweise einen WRT54G(L/S) uebernehmen laesst. Das einzig praktische an diesem Speedport ist, dass er im Modem-Modus das VLAN-tagging uebernimmt. Somit funktionierte bislang VDSL mit meinem WRT54GL mit Tomato-Firmware ganz prima &#8211; mit dem Abstrich der etwas traurigen Downstream-Leistung.</p>
<p>Da es allerdings den Speedport 300HS, der frueher durch die Telekom fuer VDSL als Modem-Loesung vor einem Router-only Speedport w700v eingesetzt wurde, auf eBay fuer 10 Euro inklusive Versand gibt, denkt man sich doch, dass man seine Situation eventuell doch verbessern koennte. Noch dazu gibt es genuegend Meldungen, dass der 300HS die volle 50MBit-Bandbreite schafft.</p>
<p>Da <a href="http://www.polarcloud.com/tomato" target="_blank">Tomato</a> eine Funktion fuer&#8217;s VLAN-Tagging, das wie zuvor erwaehnt fuer den Aufbau der PPPoE-Verbindung noetig ist, ab Werk nicht beherrscht (DD-WRT tut das z.B. in den neuesten Releases, aber wer mag schon DD-WRT ; ), ist der Weg dahin nun Inhalt dieses Beitrags.<span id="more-61"></span></p>
<h2>Zunaechst ein paar Details:</h2>
<p>Das Modem verbindet per Telefonleitung den Router mit dem DSLAM. Fuer eine Einwahl ueber das PPPoE-Protokoll durch den Router wird ein VLAN-Tag mit der VID7 (VLAN-ID) erwartet. Sonst passiert erstmal gar nichts.</p>
<p>WRT54G(L/S)s bestehen aus drei (fuer diese Erklaerung relevanten) <a href="http://garycourt.com/wp-content/images/WRT54_sw2_internal_architecture.png" target="_blank">Komponenten</a>: dem WLAN-Modul, dem Switch und der CPU. Switch und WLAN-Modul sind mit der CPU verbunden, die beispielsweise NAT, QoS, Port Forwarding und sonst auch groesstenteils alles, was algorithmische Rechenleistung verlangt, uebernimmt. Das WLAN-Modul koennen wir fuer dieses Tutorial ausser acht lassen, da unrelevant. Das interessante ist nun der Switch. Rein physisch handelt es sich dabei um einen 6-Port Switch. Dieser unterteilt sich in vier LAN-Ports, einen WAN-Port, an den das Modem angeschlossen wird, und einen internen Port, der direkt mit der CPU verloetet ist. Um die Sicherheit, die der Natur eines NAT-betreibenden Routers inne liegt zu gewaehrleisten, sind besagte LAN-Ports und der WAN Port von einander durch schon erwaehnte VLANs getrennt. Dabei handelt es sich grob gesagt um eine Softwareloesung, um in einem physikalisch zusammenhaengenden Netzwerk mehrere, von einander getrennte virtuelle Netzwerke zu erschaffen. Die meisten WRT54G(L/S)-Firmwares loesen dies ueber abspalten verschiedener Ports. Standardmaessig sind dabei die LAN-Ports in einem VLAN (vlan0) zusammen mit dem internen, zur CPU verbindenden Switch-Port, und ein weiteres virtuelles Netzwerk (vlan1) wird durch die Verbindung zwischen WAN-Port und dem internen Switch-Port aufgespannt. Damit man nun aus dem LAN ein Paket ins Internet schicken kann, wird ein eben solches Paket zwischen den beiden VLANs geforwarded. Gut, soviel dazu.</p>
<p>Tomato&#8217;s VLAN1 wird standardmaessig zum Einwaehlen verwendet. Wenn man sowas auf einem Desktop-Linux wie beispielsweise Ubuntu macht, verwendet man ueblicherweise eth0 oder Aehnliches, eben ein Netzwerkinterface, an dem das Modem angeschlossen ist, aber hier ist das eben anders. Soviel nur am Rande.</p>
<p>Tomato selbst beherrscht VLAN-Tagging. Allerdings ist eine fuer die T-Home VDSL Leitungen noetige Konfiguration weder im Web-Interface (WebIF) vorhanden, noch laesst sie sich ueber selbiges erreichen. Somit wird alles VLAN-relevante in diesem Artikel ueber die Kommandozeile &#8211; also ueber SSH oder Telnet erfolgen. Beide koennt ihr im WebIF unter <strong>Administration</strong> -&gt; <strong>Admin Access </strong>einschalten. Fuer die Terminalverbindung eignet sich nun unter Windows <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY</a> am besten. Linux-Benutzer werden sich in Sachen Terminalclients sicher auch auskennen.</p>
<h2>Gut, legen wir los.</h2>
<p>Zunaechst mal sollte PPPoE-technisch alles im WebIF vorkonfiguriert sein; sprich die Einwahldaten sollten korrekt angegeben sein.</p>
<p>Als naechstes loggen wir uns per SSH oder Telnet auf den Router ein. Dort schauen wir uns zunaechst mal die aktuelle VLAN1-Verteilung an:</p>
<blockquote><p># nvram get vlan1ports<br />
4 5</p></blockquote>
<p>So beispielsweise koennte die Ausgabe aussehen. Port Nummer 5 wird auf jeden Fall als zweiter Port dort stehen, die erste Portnummer ist je nach WRT54G(L/S)-Revision <a href="http://www.dd-wrt.com/wiki/index.php/Switched_Ports#The_Port_Numbering_Explained" target="_blank">unterschiedlich</a>. Wie das bei anderen von Tomato unterstuetzten Geraeten, bspw. den Buffalo- oder Asus-Routern aussieht, weiss ich leider nicht.</p>
<p>Wir erstellen jetzt jedenfalls zwei neue VLAN-NVRAM-Variablen, die den WRT beim Neustart dann dazu veranlassen, ein neues VLAN zu erstellen. Analog zur obigen Ausgabe:</p>
<blockquote><p># nvram set vlan7hwname=et0<br />
# nvram set vlan7ports=&#8220;4t 5&#8243;<br />
# nvram set manual_boot_nv=1<br />
# nvram commit<br />
Commit&#8230; done.<br />
#</p></blockquote>
<p>Zeilenweise erklaert: Dem VLAN mit der VID7 wird das et0-Device (der Switch) zugeordnet; danach werden der WAN- und der interne CPU-Switchport dem VLAN zugewiesen. Dabei wird der WAN-Port als &#8222;tagged&#8220; deklariert; ihn verlassen die Pakete getaggt &#8211; eben so wie es der VDSL-DSLAM erwartet. Zeile drei dient dazu, das Init-Script der Firmware davon abzuhalten, die VLAN-Konfiguration zu aendern. Laut diversen Foreneintraegen ist das nur ab Revision 4.0 des WRT54G und bei den WRT54GLs noetig, aber selbst bei meinem WRT54GL war das unnoetig, da es nach Reboots dahingehend keine Probleme gab. Kann also testweise mal rausgelassen werden. Zeile vier speichert das Ganze dann in den Flashspeicher.</p>
<p>Nach einem Reboot koennen wir dann wieder durchs Terminal nachschauen, ob das vlan7-interface angelegt wurde:</p>
<blockquote><p># cat /proc/net/vlan/vlan7</p></blockquote>
<p>Alternativ:</p>
<blockquote><p># ifconfig vlan7</p></blockquote>
<p>tritt bei einem der Befehle ein Fehler auf, geht nochmal einen Schritt zurueck und ueberprueft, was ihr vorher getippt habt. Bekommt ihr eine passende Ausgabe, dann stimmt soweit alles.</p>
<p>Als naechstes, und das wird zur aktuellen Firmware-Revision 1.23 nach jedem Reboot noetig sein, aktivieren wir das vlan-interface und tragen es als wan-interface ein.</p>
<blockquote><p># ifconfig vlan7 up<br />
# nvram set wan_ifname=vlan7</p></blockquote>
<p>Danach reicht ein simples</p>
<blockquote><p># service wan restart</p></blockquote>
<p>und der Router verhaelt sich, als waeren wir an einer gewoehnlichen PPPoE-Verbindung. Alles fertig.</p>
<h2>Abschliessende Worte</h2>
<p>Die WRT54G(L/S) erreichen bei Speedtests mit der hier beschriebenen Methode zwar einen durchaus hoeheren Durchsatz als der w721v alleine, schaffen aber leider nicht den vollen Durchsatz von 50Mbit/s im Downstream. Dazu bietet sich an, den Router zu uebertakten. Das Ganze laesst sich wie beispielsweise <a href="http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/Overclocking" target="_blank">hier beschrieben</a> durchfuehren &#8211; als Testwerte kann man mal bei 216Mhz anfangen und sich dann langsam aufwaerts bis 250Mhz wagen &#8211; mehr wuerde ich ohne Kuehlmodifikation nicht versuchen.</p>
<p>Mit erwaehnten 250Mhz hatte zumindest mein WRT54GL v1.1 dann einen Durchsatz von 5,6Mbyte/s, was auch so ziemlich dem Maximum entspricht. Mit aktiviertem QoS fiel der Wert leider um 1Mbyte/s geringer aus, ein Router mit schnellerer CPU waere also durchaus eine Anschaffung wert. Leider gibt es derzeit keine signifikant leistungsstaerkeren CPUs in Routern, die von Tomato unterstuetzt werden. Somit erachte ich diese Loesung einfach mal als die bestmoegliche.</p>
<p>Als letzte Notiz moechte ich noch hinzufuegen, dass ich diesen Artikel in praegnanterer Kurzform (ist ja ein halbes Buch geworden&#8230;) neu erstellen werde, sobald Tomato 1.24 released wurde. Momentan arbeite ich mit einer Beta der 1.24-Firmware, in welcher sich die Umstellung der NVRAM-Variable nach jedem Bootvorgang des Routers sparen laesst &#8211; weil sich naemlich dort die wan_ifname-Variable nicht jedesmal auf vlan1 zuruecksetzt (oder man dies zumindest umgehen kann). Vielen Dank hierfuer geht an Jonathan Zarate, Urheber und Entwickler der auf HyperWRT basierenden Tomato-Firmware.</p>
<p>Vielleicht kriege ich bis dahin auch die IPTV-Scheisse hin.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=61&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2009/03/03/tomato-und-vdsl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>Guide to a clean and powerful Codec System</title>
		<link>http://jultech.wordpress.com/2008/09/15/guide-to-a-clean-and-powerful-codec-system/</link>
		<comments>http://jultech.wordpress.com/2008/09/15/guide-to-a-clean-and-powerful-codec-system/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 18:25:42 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[multimedia]]></category>
		<category><![CDATA[codec pack]]></category>
		<category><![CDATA[codecs]]></category>
		<category><![CDATA[ffdshow]]></category>
		<category><![CDATA[media player classic]]></category>
		<category><![CDATA[media player classic home cinema]]></category>
		<category><![CDATA[mpc-hc]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://jultech.wordpress.com/?p=50</guid>
		<description><![CDATA[Many will know the turmoil: After installing a codec pack like say, K-Lite or Nimo&#8217;s Codec pack (for the oldschoolers), your player sometimes crashes when opening a movie file, your explorer dies off when you highlight a movie file, sometimes there&#8217;s flickering when playing back a movie, an entirely green screen when playing back a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=50&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Many will know the turmoil: After installing a codec pack like say, K-Lite or Nimo&#8217;s Codec pack (for the oldschoolers), your player sometimes crashes when opening a movie file, your explorer dies off when you highlight a movie file, sometimes there&#8217;s flickering when playing back a movie, an entirely green screen when playing back a movie, or annoyances of the such. All of those are clear cases of a fucked up codec system.</p>
<p>Video playback operates by using Codecs, those are used to render video data via Microsoft&#8217;s DirectShow system. How these Codecs are loaded is referenced in the so-called &#8222;Merit System&#8220;. When you install multiple codec packs, or even multiple codecs that can render the same kind of video data, it is no longer clear which codec is going to be used when you play back a video file. Additionally, many codecs that are installed by some of the many codec packs in existence are beta versions; highly unstable and hence often prone to lead to applicational failure.</p>
<p>This guide will tell you how clean your merit system to the point where it is as tidy as the one on a fresh windows install, and afterwards i&#8217;ll point out how to set up a powerful and yet (in terms of software) minimalistic multimedia codec system.</p>
<p><span id="more-50"></span></p>
<p><strong>The Cleanup</strong></p>
<p>We&#8217;ll need a piece of Software for this job: Zoom Player. It&#8217;s a powerful player that has a shitload of features, but might bring too big a change in usability from your usual media player; hence you&#8217;re free to delete it after the first few steps.</p>
<ol>
<li>Get <a title="Zoom Player Download Site" href="http://www.inmatrix.com/files/zoomplayer_download.shtml" target="_blank">Zoom Player.</a></li>
<li>Start it, then hit Ctrl+O to open up the Options Dialog.</li>
<li>Switch to Advanced Mode using the button in the bottom left area of the Dialog.</li>
<li>Go to System -&gt; Filter Management and hit the &#8222;Registered Filter Manager&#8220;-Button in the bottom right.</li>
<li>In the window that opens up, select all the entries and hit &#8222;Unregister Filter(s)&#8220;. If Zoom Player fails to unregister one of the filters, it means that it&#8217;s currently in use. If you have time, reboot your windows to safe mode and start over. If you don&#8217;t, just try to delete around the used filters by selecting everything codecs from further down the list; if it fails to just unregister all of them, the topmost entry(/-ies) are the ones it could not remove.</li>
<li>If all of the filters are gone, hit Close, then OK, and then close down Zoom Player. At this point, you may uninstall the program if you no longer have a need for it.</li>
<li>Now that your merit system is empty, you&#8217;ll have to restore windows&#8217; basic capabilities. You do that by executing this .bat file: <a href="http://www.inmatrix.com/articles/files/regreset.zip" target="_self">download</a>. It will re-register the original windows filters that are still inside windows&#8217; system32 folder.</li>
</ol>
<p><strong>The Setup</strong></p>
<p>Now that your codec system is in a maiden state, let&#8217;s go about installing codecs and filters. The idea behind a clean, yet powerful media system is to limit the amount of registered filters to a bare minimum. We&#8217;ll do this by merely installing one filter for the parsing of container files (avi, mkv, mp4 and more), one filter for displaying subtitles and only one filter to handle all the codecs (xvid, divx, h264, mpeg2 and so on).</p>
<ol>
<li>Get <a href="http://haali.cs.msu.ru/mkv/" target="_blank">Haali Media Splitter</a>. Install it.</li>
<li>Get <a href="http://sourceforge.net/project/showfiles.php?group_id=205650&amp;package_id=246121" target="_blank">VSFilter</a>. Install it!</li>
<li>Get <a href="http://ffdshow-tryout.sourceforge.net/" target="_blank">ffdshow-tryouts</a>. Install it.</li>
</ol>
<p>This is it. I have selected the urls of the most recent encodes of these programs. Except for Haali Media Splitter, they have predecessors that are no longer developed. With the setup you just configured, you should be set for all the media files you might encounter, with the exception of a few.</p>
<p><strong>The Optionals</strong></p>
<p>Videos that you of yet can&#8217;t playback include, among mostly very rare, proprietary formats, Apple Quicktime formats. Especially .mov-files are still relevant in our modern internet times, they are for instance used on <a href="http://www.apple.com/trailers/" target="_blank">Apple&#8217;s Movie Trailer page</a>. To emphasize, this is stuff you CAN get, but don&#8217;t have to. I&#8217;d recommend it anyways.</p>
<ul>
<li><a href="http://www.free-codecs.com/download/quicktime_alternative.htm" target="_blank">Quicktime Alternative</a>. This contains the filters and codecs that let .mov-containers work with the ordinary DirectShow system.  Not required, but good for watching those trailers. I can&#8217;t really think of any other use, everything else is .avi or .mkv.</li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=170561" target="_blank">Media Player Classic &#8211; Home Cinema</a>. The player i like the very most. Windows Media Player has too low of a functionality and a crappy overview. Zoom Player i never got into, it looks quite complicated and like with VLC, the handling is not as good as MPC-HC. There are also beta builds, but they&#8217;re not organized on any page.</li>
<li><a href="http://ac3filter.net/projects/ac3filter" target="_blank">AC3Filter</a>. Gives you a tad more configuration options than ffdshow&#8217;s audio functionality. It&#8217;s not needed, but if you&#8217;re an audiophile and feel that ac3filter improves your audio experience, shoot.</li>
</ul>
<p>Well, i&#8217;d say that&#8217;s about it. Maybe one small note to leave you with: If you like a player with low functionality and next to no focus to usability, a player that goes around the merit system and instead uses its integrated filters and codecs, just use <a href="http://www.videolan.org/" target="_blank">Videolan Client</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=50&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2008/09/15/guide-to-a-clean-and-powerful-codec-system/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>WRT54G/Tomato 1.21++ Reconnect-Batchfile</title>
		<link>http://jultech.wordpress.com/2008/08/30/wrt54g-tomato-reconnect-batchfile/</link>
		<comments>http://jultech.wordpress.com/2008/08/30/wrt54g-tomato-reconnect-batchfile/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:59:36 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[reconnect]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[wrt54g]]></category>

		<guid isPermaLink="false">http://jultech.wordpress.com/?p=20</guid>
		<description><![CDATA[UPDATE! I&#8217;ve updated the script to work for Tomato 1.25 (and hopefully upwards) &#8211; links below updated.
Some of you pirating people are downloading stuff from Rapidshare. Rapidshare, among other providers of free online storage and downloads, employ a policy that lets the user download a certain amount of data and then forces him to wait [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=20&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>UPDATE! </strong>I&#8217;ve updated the script to work for Tomato 1.25 (and hopefully upwards) &#8211; links below updated.</p>
<p>Some of you pirating people are downloading stuff from Rapidshare. Rapidshare, among other providers of free online storage and downloads, employ a policy that lets the user download a certain amount of data and then forces him to wait for a couple of hours before being able to again download something.</p>
<p>People (who are on dynamic ip connections) usually circumvent this by restarting (also &#8216;resetting&#8217;) their router. Some are clever enough to utilize tools for that task that log into your router and reset the connection.</p>
<p>People using Tomato however have been unable to use some of the Software written for that task, because as of Tomato 1.14 (<a href="http://www.polarcloud.com/tomato_114" target="_blank">changelog</a>), in which the author fixed a cross site scripting vulnerability, just calling a URL on the Web-Interface won&#8217;t do it anymore.</p>
<p>I have written a php-script started by a batchfile that will let you reconnect your Tomato-running router with one click and no other tools than the ones provided.</p>
<p><span id="more-20"></span></p>
<p>The thing that Jon, the author of the Tomato and previously Tofu Firmware did was the following: He introduced a POST-variable into every form of the Web-Interface that would be transmitted upon clicking a button. As the content of this variable is created randomly after the first bootup of your router, a perpetrator using javascript to access your router&#8217;s WebIf would have no way of executing anything, as he doesn&#8217;t know that particular, 19 character long code.</p>
<p>You only do get to see this code when you log into your router&#8217;s WebIf &#8211; for which you need your router&#8217;s password &#8211; and view the source code. Since you probably want to save yourself the trouble of everytime hitting a shitload of buttons to reconnect your router, i wrote a script that retrieves that aforementioned POST-variable by logging into your router&#8217;s WebIf and afterwards submitting the commands for disconnection of the WAN-port and consecutive reconnection of the latter.</p>
<p>A short explanation on the files contained in the package:</p>
<ul>
<li><em>routerreconnect.php</em><br />
the script that i wrote and does all the work &#8211; <strong>edit this for your webif-password and router ip</strong></li>
<li><em>routerreconnect.bat</em><br />
the batch-file that calls the script</li>
<li><em>exec</em> &#8211; a folder containing files required for the script to work
<ul>
<li><em>php.exe</em>, <em>php.ini</em>, <em>php5ts.dll</em><br />
a very rudimentary distribution of php5(.2.6) &#8211; the ini file is the recommended version with curl-support edited into it &#8211; <span style="color:#c0c0c0;">PHP License 3.0.1</span></li>
<li><em>php_curl.dll</em><br />
the curl php module required to send the commands to the router &#8211; <span style="color:#c0c0c0;">PHP License 3.0.1</span></li>
<li><span style="color:#c0c0c0;"><span style="color:#000000;"><em>ssleay32.dll</em>, <em>libeay32.dll &#8211; </em></span>Apache-style licence </span><span style="color:#c0c0c0;"><span style="color:#000000;"><br />
openssl files that are required for the curl extension to run (we&#8217;re not accessing ssl sites, but go on and try to disable that function in the module!)</span></span></li>
</ul>
</li>
</ul>
<p>I have tested this combination on computers that run neither php, nor openssl and it should work just fine on yours as well. This script has been tested with Tomato 1.19 and 1.21 (the latest one at the time of this posting) and worked well with both of them. As the WebIf doesn&#8217;t return any data after triggering its reconnection-function, it&#8217;s hard to debug if something goes wrong, hence i didn&#8217;t include any real status messages.</p>
<p>Anyway, here&#8217;s the download: <a href="http://rapidshare.com/files/260094909/router_reconnect_for_tomato_1.25.zip.html" target="_blank">router_reconnect_for_tomato_1.25.zip</a> (2,92MiB from Rapidshare)<br />
Mirrors: <a href="http://www.megaupload.com/?d=T4TJ9H0E" target="_blank">Megaupload</a></p>
<p>I&#8217;m not guaranteeing anything, but since the script shouldn&#8217;t break anything either, just try it, alright?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=20&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2008/08/30/wrt54g-tomato-reconnect-batchfile/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>Shared MySQL data directories for Linux and Windows</title>
		<link>http://jultech.wordpress.com/2007/04/21/shared-mysql-data-directories-for-linux-and-windows/</link>
		<comments>http://jultech.wordpress.com/2007/04/21/shared-mysql-data-directories-for-linux-and-windows/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 10:47:24 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://bogy.mine.nu/wordpress/index.php/2007/04/21/shared-mysql-data-directories-for-linux-and-windows/</guid>
		<description><![CDATA[Okay, so you have your own little Apache with MySQL running on your home box and are experimenting with one, or regularly using the both of these operating systems. As the contents of your website probably don&#8217;t, or shouldn&#8217;t change at all, it is usually quite logical to share those contents between operating systems.
Since I&#8217;ve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=9&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Okay, so you have your own little Apache with MySQL running on your home box and are experimenting with one, or regularly using the both of these operating systems. As the contents of your website probably don&#8217;t, or <em>shouldn&#8217;t</em> change at all, it is usually quite logical to share those contents between operating systems.<br />
Since I&#8217;ve found no such tutorial via google, I&#8217;m going to go ahead and write one.</p>
<p><span id="more-9"></span></p>
<p>The prerequisites are simple: You need to have Apache and MySQL installed both under Windows and Linux. Since configuring those two is already a bitch on one OS and only gets more annoying if you have to do it twice, I&#8217;ve resorted to using LAMPP and XAMPP, which you can get from <a href="http://www.apachefriends.org" target="_blank">apachefriends.org</a> for both Windows and Linux. It&#8217;s more or less preconfigured and ready to go after you install it. This will obviously work with any other custom compiled or installed version of MySQL and Apache though &#8211; the only difference is the need for more configuration. Since LAMPP/XAMPP&#8217;s htdocs and mysql data-directories differ from the ones of retail installations, i will go ahead and just mention both of the paths on Windows and Linux.</p>
<p>Okay now, this is still theoretical: you will need to decide which one of your OSs will be the actual host of your web content data. You can use either of them, but only one at a time. Both alternatives have their downsides, as you will have to trust one of the operating systems to not screw up the other&#8217;s file system. With the recent stability of ntfs-3g, I&#8217;s say the risks are equally balanced.</p>
<p>I myself use Windows a lot more than Linux and hence went with using Windows as a host.</p>
<p><strong>The Windows-as-host-way</strong><br />
What we will have to do first is take a look at where our data resides. With XAMPP, the default directory of your installation should be <em>C:\Program Files\XAMPP\</em>. Hence the directories:</p>
<blockquote><p># Windows XAMPP MySQL data directory:<br />
<em>C:\Program Files\XAMPP\mysql\data</em><br />
# Windows XAMPP Apache htdocs directory:<br />
<em>C:\Program Files\XAMPP\htdocs</em></p></blockquote>
<p>As for the directories of retail installations of MySQL and Apache:</p>
<blockquote><p># Windows retail MySQL data directory:<br />
<em>C:\mysql\data</em><br />
# Windows retail Apache htdocs directory:<br />
<em>C:\Program Files\Apache Group\Apache2\htodcs</em></p></blockquote>
<p>Note that paths will obviously differ if you choose to install either of the packages in another directory.</p>
<p>Now that we have our paths written down, we don&#8217;t need to occupy ourselves with Windows any longer. Boot into Linux.<br />
Since we have decided to put our data into the hands of Windows, we will need Linux to be able to access <strong>and write to</strong> Windows&#8217; partition. Depending on which file system you use, you will most probably either need write access to a FAT32 or an NTFS partition. For fat, Linux has had stable write support for ages. NTFS however only became safely writable as of last year, when <a href="http://www.ntfs-3g.org/" target="_blank">NTFS-3G</a> became stable. I&#8217;d recommend using that package, as I have yet to experience any problems with it. How you install it will depend on what Linux distribution you are using, and i believe you&#8217;re better off searching google for <a href="http://www.google.de/search?q=ntfs-3g+gentoo" target="_blank">&#8222;&lt;your distro&gt; ntfs-3g&#8220;</a> than me trying to explain every angle of that here. Obviously, to continue, you will need to get this working. Also, make sure that Apache and MySQL have the actual writing rights for those partitions. You can accomplish that by putting an uid= argument in your fstab file that has the Apache user&#8217;s uid as a parameter. Same goes for MySQL. Figure it out.</p>
<p>Alright, all set? Then let&#8217;s do this.<br />
In order to make our MySQL/Apache server use the data/htdocs directory of the Windows MySQL/Apache installation, we need to replace its own data directory with a symlink to the Windows MySQL-data/Apache-htdocs directory. First, we&#8217;ll need the directories under Linux. They are, for LAMPP:</p>
<blockquote><p># Linux LAMPP MySQL data directory:<br />
<em>/opt/lampp/var/mysql</em><br />
# Linux LAMPP Apache htdocs directory:<br />
<em>/opt/lampp/htdocs</em></p></blockquote>
<p>Note that those directories *might* (as in: i have no clue) vary from distribution to distribution, depending on where they put their opt files.<br />
Again, with retail installations of Apache or MySQL, these directories would look like this:</p>
<blockquote><p># Linux retail MySQL data directory:<br />
<em>/usr/local/mysql/data</em><br />
# Linux retail Apache htdocs directory:<br />
<em>/var/www/localhost/htdocs</em></p></blockquote>
<p>Now what we do is the following: We rename (backup) the existing folders on our Linux partition and then create symlinks to the directories inside the mountpoints of our Windows partitions. In my LAMPP/XAMPP case, I do it like that:</p>
<blockquote><p>~ # mv /opt/lampp/var/mysql /opt/lampp/var/mysql.BACKUP<br />
~ # ln -s /mnt/windows/Program\ Files/XAMPP/mysql/data/ /opt/lampp/var/mysql<br />
<em># ^ MySQL is linked.</em><br />
~ # mv /opt/lampp/htdocs /opt/lampp/htdocs.BACKUP<br />
~ # ln -s /mnt/windows/Program\ Files/XAMPP/htdocs /opt/lampp/htdocs<br />
<em># ^ Apache htdocs is linked.</em></p></blockquote>
<p>Now we&#8217;re all set. Good to go. Ready to rumble. You will just have to restart your lampp-service or Apache and MySQL separately and they should be using Windows&#8217; data.</p>
<p><strong>The Linux-as-host-way</strong><br />
This is basically the same, just the other way around. What we will need to access Linux&#8217; file system is, in case you&#8217;re using an ext*-fs, this: <a href="http://www.fs-driver.org/" target="_blank">http://www.fs-driver.org/</a>. Toy a bit around with it and make it work. In my case, I assigned my Linux partition the drive letter &#8222;L&#8220;.<br />
Also, since Windows does not support symlinks out of the box, although NTFS (3.0 and above &#8211; which is shipped with Win2k) does support <a href="http://en.wikipedia.org/wiki/NTFS_junction_point" target="_blank">junction points</a>, we use <a href="http://www.microsoft.com/technet/sysinternals/utilities/Junction.mspx" target="_blank">this tool</a> by Sysinternals to create the junction points. Bear in mind that these junction points should not be deleted via the Windows Explorer, as it will also delete the target directory on our Linux partition.<br />
Again, in my LAMPP/XAMPP case, I&#8217;m executing these commands in a start/run/&#8220;cmd&#8220; window (see the Windows-as-host-way paragraph on what the directories would be):</p>
<blockquote><p>C:\&gt; move &#8222;C:\Program Files\XAMPP\htdocs&#8220; &#8222;C:\Program Files\XAMPP\htdocs.BACKUP&#8220;<br />
C:\&gt; junction &#8222;C:\Program Files\XAMPP\htdocs&#8220; L:\opt\lampp\htdocs<br />
<em># ^ Apache htdocs directory is linked.</em><br />
C:\&gt; move C:\mysql\data C:\mysql\data.BACKUP<br />
C:\&gt; junction C:\mysql\data L:\opt\lampp\var\mysql<br />
<em># ^ MySQL data directory is linked.</em></p></blockquote>
<p>Restart your MySQL and Apache services and you should be good to go.</p>
<p>I guess that&#8217;s it. I hope someone is going to find this useful. Leave any comments if you wish.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=9&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2007/04/21/shared-mysql-data-directories-for-linux-and-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>WRT54GL and bandwidth control</title>
		<link>http://jultech.wordpress.com/2007/02/19/wrt54gl-and-bandwidth-control/</link>
		<comments>http://jultech.wordpress.com/2007/02/19/wrt54gl-and-bandwidth-control/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 16:14:39 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[QoS]]></category>
		<category><![CDATA[script generator]]></category>
		<category><![CDATA[wrt54g]]></category>

		<guid isPermaLink="false">http://bogy.mine.nu/wordpress/index.php/2007/02/19/wrt54gl-and-bandwidth-control/</guid>
		<description><![CDATA[Hey guys,
I thought I&#8217;d just share a nice and yet powerful tool that I&#8217;ve used for quite some time to restrict certain IPs in my network to certain speeds at the WAN interface of my WRT54GL router. It has been written by robsonn from the HyperWRT forums.

This tool creates scripts using the tc-tool in order [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=8&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hey guys,<br />
I thought I&#8217;d just share a nice and yet powerful tool that I&#8217;ve used for quite some time to restrict certain IPs in my network to certain speeds at the WAN interface of my WRT54GL router. It has been written by robsonn from the <a href="http://www.hyperwrt.org/forum/viewtopic.php?id=2002" target="_blank">HyperWRT forums</a>.</p>
<p><span id="more-8"></span></p>
<p>This tool creates scripts using the tc-tool in order to shape bandwidth and allocate preset speeds to different users. Allocation works via MAC- as well as IP-addresses. You can limit both down- and upstream, depending on the firmware you use for your WRT54* device. I am for instance giving my sister&#8217;s pc via static dhcp a fixed ip, which in turn i give 8000kbit down- and a rough 192kbit upstream. at 16000/1024kbit, that leaves me with enough freedom of bandwidth for when I host a game of Warcraft III, play any other games or the likes.</p>
<p>It&#8217;s a nice addition to QoS.</p>
<p>Here&#8217;s a download link that I mirrored on my server. If it doesn&#8217;t work, try the link from the first paragraph. That one&#8217;s probably always going to be more up-to-date.</p>
<p><a href="http://bogy.mine.nu/generator.zip" target="_blank">wrt54 script generator</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=8&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2007/02/19/wrt54gl-and-bandwidth-control/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>WRT54GL, Tomato firmware and bandwidth monitoring via SNMP</title>
		<link>http://jultech.wordpress.com/2007/01/22/wrt54gl-tomato-firmware-and-bandwidth-monitoring-via-snmp/</link>
		<comments>http://jultech.wordpress.com/2007/01/22/wrt54gl-tomato-firmware-and-bandwidth-monitoring-via-snmp/#comments</comments>
		<pubDate>Mon, 22 Jan 2007 01:24:28 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[bandwidth monitoring]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[wrt54g]]></category>

		<guid isPermaLink="false">http://bogy.mine.nu/wordpress/index.php/2007/01/22/wrt54gl-tomato-firmware-and-bandwidth-monitoring-via-snmp-2/</guid>
		<description><![CDATA[SNMP is quite interesting if you like to control the bandwidth usage of your roomies &#8211; or family members. I for one have used it in the past to monitor my sister&#8217;s bandwidth usage. After all, this is my internet connection, and noone elses.

Since I&#8217;ve switched to the Tomato firmware, however, I haven&#8217;t been able [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=7&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol" target="_blank">SNMP</a> is quite interesting if you like to control the bandwidth usage of your roomies &#8211; or family members. I for one have used it in the past to monitor my sister&#8217;s bandwidth usage. After all, this is my internet connection, and noone elses.</p>
<p><span id="more-7"></span></p>
<p>Since I&#8217;ve switched to the <a href="http://www.polarcloud.com/tomato" target="_blank">Tomato firmware</a>, however, I haven&#8217;t been able to keep track of bandwidth movement other than via the built-in bandwidth meter on the webif. Tomato is quite a bit more lightweight than DD-WRT, which has an SNMP server integrated, and hence, in order to use SNMP with Tomato, you&#8217;ll have to add it somehow. This is what I am going to explain here in a couple of steps. I&#8217;m going to assume that you already have Tomato installed and configured. This might work for other firmwares that don&#8217;t have SNMP integrated already, but I don&#8217;t know.</p>
<ol>
<li>First, you&#8217;ll have to create a network share on a box inside your LAN that runs 24/7. Either 24/7, or at least whenever you boot up your WRT device. You can do this on either a Windows box and create a user that has exclusive rights to mount network shares, or you can do this on a Linux box using Samba and creating a smbshare. You could also do this by using the empty space on the flash chip, i however wouldn&#8217;t recommend that you do so &#8211; since repeatedly writing to that chip will wear its quality down.</li>
<li>Mount the network share. Go to your Tomato configuration, go to <strong>Administration</strong>, then <strong>CIFS Client</strong>. Enable one of the shares and enter its details. <strong>UNC</strong> is the path of the share. This is something like &#8222;\\ip-address-of-the-computer-that-contains-the-share\share-name&#8220;. As <strong>username</strong> and <strong>password</strong>, you will need to input what a noted in 1. &#8211; a user that you created solely for the purpose of accessing windows network shares. How you do the latter is a matter that I leave to google to explain to you. The rest of the settings can be left free. Hit <strong>Save</strong>. Maybe reboot. Can&#8217;t be of any harm.</li>
<li>SSH to your router and create a directory on the newly-mounted network share. Call it &#8222;sbin&#8220;:<br />
<blockquote><p># cd /cifs1<br />
# mkdir sbin</p></blockquote>
</li>
<li>Download the following file onto your WRT. It&#8217;s a static build of an SNMP daemon with all of the libraries built-in, hence its size (732520 bytes). Also check that its md5sum reads as &#8222;ae0d622648efdb8dceb7b3b5a63e23ac&#8220;:<br />
<blockquote><p># wget http://bok.xs4all.nl/downloads/snmpd.zip<br />
Connecting to bok.xs4all.nl[213.84.72.169]:80<br />
# unzip snmpd.zip &amp;&amp; rm snmpd.zip<br />
Archive:  snmpd.zip<br />
inflating: snmpd<br />
# md5sum snmpd<br />
ae0d622648efdb8dceb7b3b5a63e23ac snmpd</p></blockquote>
</li>
<li>Next, you&#8217;ll have to create a configuration file for snmpd. You can do this by just opening an instance of <span style="text-decoration:line-through;">notepad</span> wordpad on your Windows box, copying these contents and saving it in the directory where snmpd resides as <strong>snmpd.conf</strong>:<br />
<blockquote><p>com2sec  ro  default    public<br />
com2sec  rw  localhost  private</p>
<p>group  public   v1   ro<br />
group  public   v2c  ro<br />
group  public   usm  ro<br />
group  private  v1   rw<br />
group  private  v2c  rw<br />
group  private  usm  rw</p>
<p>view  all  included  .1</p>
<p>access  public   &#8222;&#8220;  any  noauth  exact  all  none  none<br />
access  private  &#8222;&#8220;  any  noauth  exact  all  all   all</p></blockquote>
<p>I got this config from the <a href="http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fpackages%2F&amp;download=snmpd-static_5.1.2-2.1_mipsel.ipk" target="_blank">ipkg-package of the DD-WRT distribution</a>.</li>
<li>Now start that thing using the configuration file you just created. I&#8217;ve added the -s switch to have it log into the syslog located at /var/log/messages. This flag isn&#8217;t mandatory though, if everything works, you can leave it out:<br />
<blockquote><p># /cifs1/sbin/snmpd -s -c /cifs1/sbin/snmpd.conf &amp;</p></blockquote>
</li>
<li>The snmp daemon should be running now. Check the syslog for the following line. if it is not accompanied by any additional lines, you should be good to go:<br />
<blockquote><p># cat /var/log/messages | grep -i snmpd<br />
Jan 21 20:54:43  daemon.info snmpd[361]: NET-SNMP version 5.0.9</p></blockquote>
</li>
<li>If you want the daemon to run every time the router boots up, go to <strong>Administration</strong> -&gt; <strong>Scripts</strong> -&gt; <strong>Init</strong>, then add these lines:<br />
<blockquote><p># snmp daemon<br />
sleep 30<br />
/cifs1/sbin/snmpd -s -c /cifs1/sbin/snmpd.conf &amp;</p></blockquote>
</li>
<li>Now let&#8217;s look how we can visualize this. I&#8217;m using <a href="http://leonidvm.chat.ru/" target="_blank">SNMPTrafficGrapher </a>(STG from now on) for Windows, it&#8217;s quite old and apparently development has stopped, but hey, whatever. I haven&#8217;t found a more convenient application yet. In order to get the correct OIDs for STG, you have to use <a href="http://www.paessler.com/download/freeware/snmptester" target="_blank">SNMPTester</a> to get all available OIDs from your box. Fire up the application, punch in the IP address of your router and use SNMP version <strong>V2c</strong>. Also select <strong>Scan Available Interfaces</strong>. Hit <strong>3. Run Test</strong>. It&#8217;ll spit out a whole bunch of lines, whereof only the last eight or so are important and should look something like this (on a WRT54GL):<br />
<blockquote><p>Found interfaces:<br />
1,lo,,Software Loopback,Connected,10000 kb/s,1 (lo)<br />
2,eth0,,Ethernet,Connected,10000 kb/s,2 (eth0)<br />
3,eth1,,Ethernet,Connected,10000 kb/s,3 (eth1)<br />
4,vlan0,,Ethernet,Connected,10000 kb/s,4 (vlan0)<br />
5,vlan1,,Ethernet,Connected,10000 kb/s,5 (vlan1)<br />
6,br0,,Ethernet,Connected,10000 kb/s,6 (br0)<br />
7,ppp0,,PPP,Not Connected,0 kb/s,7 (ppp0)</p></blockquote>
</li>
<li>Back to STG: hit F9 for its settings. Set the router ip as <strong>Target Address</strong>, <strong>Community</strong> to &#8222;public&#8220; and the following values to <strong>&#8222;Green&#8220; OID</strong> and <strong>&#8222;Blue&#8220; OID1</strong>:<br />
<blockquote><p>1.3.6.1.2.1.2.2.1.16.x<br />
1.3.6.1.2.1.2.2.1.10.x</p></blockquote>
<p>with x being the number before the interface listed with &#8222;br0&#8243; in the list we just got. In my case, it was 6. Also set your Update Period to 1000ms, which translates to 1s update intervals. Take a look at the rest of the settings and adapt them to your likings, then hit OK and go to File -&gt; Save to save that configuration somewhere. From now on, you should always start STG with the configuration file you have just saved. Cause some traffic. STG should now show a blue line displaying your downstream- and a green one showing your upstream-traffic.</li>
</ol>
<p>Alright, all done. I hope this helps some people.</p>
<p>Sources:</p>
<p><a href="http://www.linksysinfo.org/forums/showthread.php?t=51064" target="_blank">http://www.linksysinfo.org/forums/showthread.php?t=51064</a><br />
- <em>initial howto from bokh and my way of solving my issue</em></p>
<p><a href="http://cacti.net/" target="_blank">http://cacti.net/</a> &amp; <a href="http://oss.oetiker.ch/mrtg/" target="_blank">http://oss.oetiker.ch/mrtg/</a><br />
- <em>two linux solutions to SNMP monitoring</em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=7&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2007/01/22/wrt54gl-tomato-firmware-and-bandwidth-monitoring-via-snmp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
		<item>
		<title>Azureus and automatic download directory classification</title>
		<link>http://jultech.wordpress.com/2007/01/09/azureus-and-automatic-download-directory-classification/</link>
		<comments>http://jultech.wordpress.com/2007/01/09/azureus-and-automatic-download-directory-classification/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 03:08:40 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[p2p]]></category>
		<category><![CDATA[azureus]]></category>
		<category><![CDATA[download]]></category>

		<guid isPermaLink="false">http://bogy.mine.nu/wordpress/index.php/2007/01/09/azureus-and-automatic-download-directory-classification/</guid>
		<description><![CDATA[Okay, this is gonna be a quick one.
Since i&#8217;m partially downloading .torrent files from IRC &#8211; which are afterwards automatically loaded into Azureus &#8211; and want the resulting Bittorrent-files to be downloaded into a folder other than the default one set in Azureus&#8217; options, i&#8217;ve come across a quite interesting solution that however requires the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=6&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Okay, this is gonna be a quick one.</p>
<p>Since i&#8217;m partially downloading .torrent files from IRC &#8211; which are afterwards automatically loaded into Azureus &#8211; and want the resulting Bittorrent-files to be downloaded into a folder other than the default one set in Azureus&#8217; options, i&#8217;ve come across a quite interesting solution that however requires the use of two additional plugins:</p>
<p><span id="more-6"></span></p>
<ol>
<li><a href="http://azureus.sourceforge.net/plugin_details.php?plugin=azcatdest" target="_blank">AZCatDest</a> &#8211; Category based download folders.</li>
<li><a href="http://azureus.sourceforge.net/plugin_details.php?plugin=autocat" target="_blank">Auto Categorizer</a> &#8211; Rule-based automatic torrent categorization plugin.</li>
</ol>
<p>What you have to do now is the following:</p>
<p>Go to <strong>Plugins -&gt; AZCatDest</strong> and hit the green plus-button. You will be asked for a new category name. Punch one in. After hitting OK, you will see your new category in the list. Double click on the entry. You can then select the folder that Azureus is in future supposed to download the files to, according to the filters that you will set now:</p>
<p>If you&#8217;re done with that, go to <strong>Tools -&gt; Options -&gt; Plugins -&gt; AutoCategory</strong>. This is quite easy as well. first take note of the last two dropdown-boxes. Under &#8222;Category&#8220;, select the category that you created just now. under &#8222;Field&#8220;, set either <em>Tracker URL</em> or <em>Filename</em>. This should already be giving you a clear idea of which criteria you can use in order to categorize your new torrents. Finally, under, &#8222;Trigger&#8220;, you can enter a string that either the <em>Tracker URL</em> or <em>Filename</em> should contain.</p>
<p>I&#8217;m used to downloading torrents from #EZTV on EFNET. They usually have an &#8222;[eztv]&#8220; at the end of their filename, so I just entered that string and used the Filename filter. Starting .torrent files with [eztv] in the filename now lets Azureus automatically download them into their designated directory.</p>
<p>Hope that helps someone else in the future.</p>
<p><em>EDIT:</em> As it turns out, the input box in  &#8222;Trigger&#8220; appears to also respond to  regular expressions. Hence, my &#8222;[eztv]&#8220; categorized any .torrent file that had either of these letters in them &#8211; e, z, t or v to be downloaded into my set directory. Just removing the syntactical square brackets solved the issue. At least i hope so.  <img src="http://forum.ingame.de/broodwar/images/smilies/ugly.gif" alt="" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=6&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2007/01/09/azureus-and-automatic-download-directory-classification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>

		<media:content url="http://forum.ingame.de/broodwar/images/smilies/ugly.gif" medium="image" />
	</item>
		<item>
		<title>WRT54GL, Tomato firmware and Filezilla FTP Server</title>
		<link>http://jultech.wordpress.com/2007/01/02/wrt54gl-tomato-firmware-and-filezilla-ftp-server/</link>
		<comments>http://jultech.wordpress.com/2007/01/02/wrt54gl-tomato-firmware-and-filezilla-ftp-server/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 18:39:44 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[filezilla ftp server]]></category>
		<category><![CDATA[layer7]]></category>
		<category><![CDATA[QoS]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[wrt54g]]></category>

		<guid isPermaLink="false">http://bogy.mine.nu/wordpress/index.php/2007/01/02/wrt54gl-tomato-firmware-and-filezilla-ftp-server/</guid>
		<description><![CDATA[Alrighty folks, first entry.
I have recently switched firmwares on my Linksys WRT54GL from DD-WRT, which has, despite its bloatedness, always served me well, to the Tomato firmware.
The first thing you&#8217;ll notice is the entirely different Web-Interface. Everything is based heavily on AJAX, so the load on the firmware&#8217;s HTTP server is reduced. Additionally, configuring becomes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=5&subd=jultech&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Alrighty folks, first entry.</p>
<p>I have recently switched firmwares on my Linksys WRT54GL from <a href="http://www.dd-wrt.com" target="_blank">DD-WRT</a>, which has, despite its bloatedness, always served me well, to the <a href="http://www.polarcloud.com/tomato" target="_blank">Tomato firmware</a>.</p>
<p>The first thing you&#8217;ll notice is the entirely different Web-Interface. Everything is based heavily on <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" target="_blank">AJAX</a>, so the load on the firmware&#8217;s HTTP server is reduced. Additionally, configuring becomes a lot more &#8222;fluent&#8220;, as only the values that the Web-Interface presents you with, are being reloaded, instead of the entire page.</p>
<p><span id="more-5"></span></p>
<p>Second thing that jumps at you is going to be the Bandwidth meter. It shows &#8211; in realtime &#8211; how much down- and upstream are being used. They are using <a href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics" target="_blank">Scalable Vector Graphics</a> for the generation of the graphs, which is interpreted on a client-basis, so again: no stress to the router.</p>
<p>Another important feature, that, in my opinion, also shows how Tomato is superior to DD-WRT, is Tomato&#8217;s <a href="http://en.wikipedia.org/wiki/Quality_of_service" target="_blank">QoS</a> settings. The Basic settings are quite basic &#8211; they are used for the definition of classes that will later on represent different priorities. This section isn&#8217;t too different from DD-WRT&#8217;s. The easy configuration that takes place in &#8222;Classification&#8220;, as well as the again svg-driven, beautiful connection and bandwidth distribution graphs under &#8222;View Graphs&#8220; will blow your mind. This part of the firmware shows a great piece of AJAX-programming, and in my opinion, elevates Tomato to one of, if not THE best firmware of WRT54g/gl/gs routers out there.</p>
<p>As I set up the priorization rules for different kinds of traffic however, i stumbled over an issue. Outbound connections from my local <a href="http://filezilla.sourceforge.net/" target="_blank">Filezilla FTP Server</a> would not be recognized as FTP-connections by any QoS rule using the <a href="http://en.wikipedia.org/wiki/Application_layer" target="_blank">Layer7</a> <a href="//l7-filter.sourceforge.net/layer7-protocols/protocols/ftp.pat" target="_blank">FTP filter</a>.</p>
<p>I took a look at the file and my (fairly poor) understanding of regular expressions used in these filters led me to understand, that the pattern demanded, that after the <a href="http://www.faqs.org/rfcs/rfc959.html" target="_blank">ftp 220-command</a>, a string containing &#8222;ftp&#8220; was to follow. Looking at the RFC for the FTP, i found, that the string the pattern file required wasn&#8217;t considered mandatory in the RFC. As it turns out, there are a lot of FTP Server programs that have &#8222;ftp&#8220; standing in their 220-command due to the fact that it usually contains the application&#8217;s name. Filezilla FTP Server appears to be different here &#8211; its standard greeting message (which is, while connecting, displayed after the 220-command) is as follows:</p>
<blockquote><p>%v<br />
written by Tim Kosse (Tim.Kosse@gmx.de)<br />
Please visit http://sourceforge.net/projects/filezilla/</p></blockquote>
<p>Noticed anything? No &#8222;ftp&#8220; in there. That exactly is, what prevents the firmware from recognizing the ftp connections.</p>
<p>Obviously, you can easily fix this by going into the Filezilla FTP Server Interface, navigating through the menus to <strong>Edit/Settings/General Settings/Welcome message</strong> and just adding a &#8222;ftp&#8220; somewhere in there. This would for instance be a solution that deviates the least from the default message:</p>
<blockquote><p>FTP %v<br />
written by Tim Kosse (Tim.Kosse@gmx.de)<br />
Please visit http://sourceforge.net/projects/filezilla/</p></blockquote>
<p>But you really just need an &#8222;ftp&#8220; in there, so throw in a little fantasy. Afterwards, a rule using the Layer7-FTP-filter will work just fine.</p>
<p>Links:</p>
<p><a href="http://www.linksysinfo.org/forums/showthread.php?t=50687" target="_blank">http://www.linksysinfo.org/forums/showthread.php?t=50687</a></p>
<p><em>- thread that discussed the phenomenon</em></p>
<p><a href="http://www.linksysinfo.org/forums/forumdisplay.php?f=160" target="_blank">http://www.linksysinfo.org/forums/forumdisplay.php?f=160</a></p>
<p><em>- tomato support forums on linksysinfo.org</em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jultech.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jultech.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jultech.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jultech.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jultech.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jultech.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jultech.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jultech.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jultech.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jultech.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jultech.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jultech.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jultech.wordpress.com&blog=4443938&post=5&subd=jultech&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jultech.wordpress.com/2007/01/02/wrt54gl-tomato-firmware-and-filezilla-ftp-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2c60fb26b41ff4d6c6cd33fa851374e?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=R" medium="image">
			<media:title type="html">bog</media:title>
		</media:content>
	</item>
	</channel>
</rss>