WRT54GL, Tomato und VDSL

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 -> 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 set vlan7ports=”4t 5″
nvram set wan_ifnameX=vlan7
nvram commit

Man beachte, dass es sich hinter “et” um eine NULL handelt. Durch den Commit wird das ganze abgespeichert. Der Rest laeuft ueber das Web-Interface ab. Unter Administration -> Scripts legen wir im Init-Script folgende Zeilen ab:

ifconfig vlan7 up
service wan stop
service wan restart

Das Ganze noch abspeichern und den Router rebooten. Ab da sollte der Router sich dann kurz nach dem Hochbooten erfolgreich einwaehlen.

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:

nvram set clkfreq=250
nvram commit

und rebooten – ohne QoS bekommt man beispielsweise per Bittorrent dann einigermassen stabile 5,5MByte/s.

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.

20 responses to “WRT54GL, Tomato und VDSL

  1. Hello

    danke für das Tutorial … hat bei mir leider nicht geklappt, der Router findet das Modem nicht.

    Kann es sein, dass nvram set “wan_ifnameX=vlan7” eigentlich nvram set “wan_ifname=vlan7” sein müßte?

    Liebe Grüße

    wirtsi

  2. Ok, jetzt klappt es …

    man muss das WAN-Interface aus vlan1 rausnehmen, sonst klappt es nicht. Scheinbar können sich nicht 2 vlans die externe Schnittstelle teilen.

    Also

    nvram set vlan1ports=5

    und es klappt 🙂

  3. Danke fuer den Nachtrag!
    Bei mir funktionierte das auch so.

    wan_ifnameX ist eine Variable, die der Tomato-Entwickler in einer Beta von 1.24 eingebaut hatte nachdem ich ihm geschrieben hatte, dass die wan_ifname/wan_ifnames-Variablen bei Aenderung staendig resettet werden. Die Variable bewirkt im Prinzip, dass eben die beiden zuvor erwaehnten Variablen mit dem Inhalt eben dieser wan_ifnameX-Variable ueberschrieben werden.
    Zuvor hatte ich das Ganze mit einem Startup-Script geloest, das eben bei jedem Booten die wan_ifname/s Variablen auf vlan7 umbiegt, aber seit 1.24 kann man sich mit dem einmaligen wan_ifnameX-Befehl dieses Script eben sparen.

  4. Hi Julian -klasse Anleitung, erstmal vorweg. Ich hab aber eine Frage, bevor ich anfange: Ich hatte neulich eine Umstellung bem VDSL, der Telekommitarbeiter an der Hotline meinte “DSL kommt jetzt von links und IPTV von rechts”. Ich hab mich mit dem Thema noch nicht auseinander gesetzt aber ich vermute das IPTV nun unabhänig vom PPPoE verarbeitet wird. Mein Frage nun ist recht simpel: Klappt nach der Umstellung deine Anleitung immer noch UND, kann ich damit den MR300 ebenfalls über den WRT54G nutzen?

    • Update: Ich hab mich ein wenig schlau gemacht (naja, zumindest versucht es zu tun) und die Umstellung ist wohl die Geschichte mit dem vlan7 und vlan8; IPTV über vlan8, rest über vlan7. Irgendwo hab ich gelesen das der “tolle” w721v nun auch IPTV steuert, wenn es offline und ohne Zugangsdaten ist. Probieren konnte ich das heute noch nicht aber falls das stimmt, brauch ich nur eine Antwort ob ich dann nach wie vor den “normalen” Internetbetrieb (vlan7) mit deiner Anleitung über den WRT54G Tomato laufen lassen kann?

  5. Die kurze, aber leider traurige Antwort: nein.

    Hier die laengere Version: Wie du richtig erfahren hast, ist nach dieser Umstellung auf die sogenannte “Zielnetzarchitektur” das IPTV (zum Grossteil) vom restlichen Internet “getrennt”. Bewerkstelligt wird das ueber die Aufsplittung der Leitung in ein Vlan mit Tag ID 8 (iptv) und eines mit Tag ID 7 (Internet).
    Prinzipiell waere diese Aufsplittung fuer Tomato kein Problem. Das laesst sich auch alles ganz locker implementieren.
    Der Crux mit dem IPTV ist allerdings bereits in der vorherigen Architektur, in der alles ueber Vlan ID 7 lief, vorhanden. Das Problem liegt bei der Verwendung von Tomato schlichtweg darin, dass dessen Linux-Kernel zu alt ist. Genaugenommen ist der von Linksys verwendete Kernel (da Tomato auf diesen aufsetzt benutzt es denselben) von version 2.4.20. Dieser Kernel hat ob seines Alters keine Unterstuetzung fuer das IGMP Protokoll der Version 3, sondern unterstuetzt lediglich Version 2. Diese neuere Version wurde erst in einem der 2.6er-Kernel implementiert. Zwar gab es einen Backport der Funktionalitaet in den 2.4.22er-Kernel, jedoch hilft uns das auch nicht sonderlich viel weiter.
    Daraus ergibt sich der Umstand, dass ein auf Tomato basierter Router zwar durchaus die rudimentaere Verbindung aufbauen kann, jedoch nicht mithilfe des IGMP Protokolls einen Fernsehsender abfragen kann. Jegliche Requests dahingehend werden in Version 2 des Protokolls abgeschickt und schlichtweg nicht beantwortet – die T-Home-Server bieten da keine Abwaertskompatibilitaet.

    Wer sich von seinem Tomato nicht trennen kann, dem bleiben nur obskure Loesungen. So habe ich aktuell beispielsweise das Ganze wie folgt geloest:
    Ich habe am Modem (SP300HS) einen Switch angeschlossen. Im Switch stecken zwei Kabel, an denen jeweils WRT54Gs haengen. Einer davon ist mit Tomato, der andere mit DD-WRT bespielt. Tomato ist nach meiner Anleitung konfiguriert, sodass er das Internet kontrolliert. Der DD-WRT wurde so eingestellt, dass er sich nicht einwaehlt, wohl aber das IPTV per Vlan ID 8 managed. Die LAN-Switches der beiden WRTs sind miteinander verbunden. Schaltet man nun noch den DHCP-Server des DD-WRT ab, stellt dessen Standardgateway auf die IP des Tomato und setzt eine Route Richtung DD-WRT fuer alle Pakete, die in das 224.0.0.0/4-Netz (Multicast) wollen, dann kann der MR300 einerseits aus dem Vlan ID 7 (Internet) den EPG usw. abrufen und besorgt sich andererseits ueber den DD-WRT das IPTV ueber Vlan ID 8. Wie du siehst – sehr materialverschwendend und aufwaendig.

    Bzgl Vlan ID 8 und Umstellung der Zielnetzarchitektur helfen diese Anleitungen besser beim Herausfinden, ob man bereits umgestellt ist, als das blosse Abschalten des Internet:
    http://www.onlinekosten.de/forum/showthread.php?p=1909465#post1909465

    • Die Zielnetzarchitektur benötigt IGMPv2, der IGMP-proxy reicht aus, nur der switch im Router benötigt IGMPv3 für das snooping.

      Bei mir läuft IPTV, allerdings EdgeOs, mit IGMPv2 der IGMP-proxy stellt mir an einen beliebigen Port dann den Multicast zur Verfügung. Sodas ich im Router kein IGMPsnooping benötige.

  6. Mist 🙂 Nun denne – es sieht aus als wäre ich in der Zielnetzarchitektur (will ich auch hoffen, denn durch ein Fehler bei der Umstellung war ich eine Woche lang offline – aber andere Geschichte). Also dann werde ich mich wohl mal vom Tomato verabschieden und die DD antesten. Schade eigentlich aber wie du schon sagtes, alles andere wäre sehr aufwendig… Davon ab wusste ich nicht das der MR300 übers vlan8 IPTV bezieht, den EPG aber übers vlan7.

    Auf jeden Fall danke ich dir für deine schnelle und ausführliche Antwort!

  7. Hi Julian,

    ich habe ein aehnliches setup wie du nur verlangt mein ISP das ich den WAN port auf Vlan Id 132 setze. Wenn ich mich an dein Anleitung halte klappt es leider nicht. Was mir aber aufgefallen ist das es problemlos fuer VlanIds 0 bis 15, da werden auch immer die interfaces z.B. vlan15 direkt erzeugt und sind unter /proc/net/vlan ersichtlich.
    Aber ueber vlan 15 funktioniert das nicht mehr, bzw werden auch die interfaces unter /proc/net/vlan nicht angelegt.
    Kannst du mir vielleicht einen Tip geben wie ich das setup fuer vlan id 132 zum laufen bekomme?

  8. entschuldige die absurd spaete antwort, aber ich war RL-technisch leicht abgelenkt.

    fuer dein setup sehe ich momentan eher schwarz. du hast ganz korrekt erkannt, dass tomato bei vlan15 abbricht, obwohl das standard-tool bspw. unter debian vlan-adapter bis 4095 zulaesst.
    das problem liegt darin, dass vlans unter tomato (gleichermassen glaube ich gilt das auch fuer dd-wrt) waehrend dem init-vorgang erstellt werden und nicht ueber ein kommandozeilenprogramm, oder gar automatisch per config-files. wie im howto erwaehnt, geschieht die konfiguration ueber NVRAM-variablen. dass tomato keine vlans hoeher als das 15. erstellt, liegt vmtl. daran, dass das verantwortliche init-skript keine nvram-vlan-id konfiguration ueber 15 ausliest; also dass es eine hardgecodete schranke gibt. das ist keine schoene/dynamische loesung, spart aber zeit und i/o.
    leider weiss ich nicht genau, wo ich da im quellcode anfangen sollte zu schauen, sonst wuerd ich mal nachsehen, ob ich was finde.
    moeglicherweise koenntest du mit openwrt glueck haben; da funktioniert mittlerweile vieles, wenn nicht gar alles konfigurationstechnische ueber konfigurationsdateien auf dem flashchip. moeglicherweise ist damit auch die vlan-aktivierung anders/stabiler geregelt.

    kleiner nachtrag im neuen jahr: diese id-grenze auf 15 liegt daran, dass das treibertool fuer den broadcomswitch nicht mehr zulaesst.

  9. Danke für deine Hilfe. Mit deiner Anleitung läuft VDSL25 (ohne IPTV, also nur VLAN7) auf anhieb. Mit DD-WRT habe ich Stundenlang rumprobiert, ohne erfolgt. Nochmal Danke !

  10. Pingback: WRT54GL und VDSL

    • Ich dreh echt noch durch. Deine Anleitung ist echt super, aber der Wrt (Tomato 1.28) will einfach keine Verbindung per PPPOE zum W722V A aufbauen.Alle Daten aus dem “Modem” sind schon raus und PPPOE ist aktiviert. Aber nix is.

      Eine Verbindung mit dem Notebook per PPPOe funktioniert über den Speedport..

      Eine Idee???
      Gruß Digfish

  11. Hallo Digfish,
    die ganze VLAN-Geschichte kannst du dir sparen, wenn du den w72xv benutzt. Der kaschiert naemlich das VLAN-Tagging komplett und reicht lediglich das 7er-(Internet-)VLAN weiter, nicht jedoch das bei Entertain-Anschluessen ebenfalls geschaltete 8er-VLAN.
    Ein normales PPPoE einrichten, wan_ifnameX wieder auf den Ursprungswert stellen und schon sollte die Einwahl funktionieren.

  12. Hallo zusammen,
    auf meinem WRT54GL klappte das alles relativ gut, ABER..
    Kann mir bitte jemand sagen wie ich das VDSL VLAN7 Tagging auf meinem neuen RT-N66 mit 1.28 Shibby zum laufen kriege? Ich könnte langsam heulen..:) Danke

    • schau mal, ob es ein toastman build fuer die kiste gibt. bei dessen firmware gibt es unter advanced->vlan ein menue, in dem man vlans fuer beliebige ports einstellen kann, inklusive tagging.

      bin leider zu faul, den post hier an aktuelle versionen von tomato anzupassen. die sind mit dem ganzen geforke sowieso etwas zerfleddert und nur schwer zu verfolgen.

  13. Ich habe gerade meinen WRT54GL mit Tomato 1.28.1816 von polarcloud.com/tomato wieder herausgesucht (~2010). Ich würde ihn als Router für ein VDSL25 betreiben wollen (nur für’s Internet, kein IPTV etc.).

    Trifft die Anleitung in diesem Artikel noch zu (immerhin fast 8 Jahre später)? Ggf. könnte ich auch ein Build von Shibby, Toastman, oÄ aufspielen.

    Und genereller gefragt: Macht es Sinn den WRT54GL zu benutzen, oder sollte ich mir besser einen neuen Router zulegen?

    • VLAN7 tagging funktioniert ohne Probleme mit der aktuellen Tomato V1.38 Shibby build. Du kannst alles über die Weboberfläche konfigurieren.
      Um VLAN7 tagging für Telekom VDSL50 oder VDSL100 zu aktivieren,
      gehe unter Advanced->VLAN. Dort sind default mäßig zwei Einträge
      VLAN1/VID1 und VLAN2/VID2. Den VLAN2 Eintrag klickst Du mit der Maus an um ihn zu bearbeiten. Dabei änderst Du einfach VLAN von 2 auf 7 und auch die VID von 2 nach 7. Das Häkchen bei WAN lässt Du aktiviert und aktivierst zusätzlich rechts daneben das Häkchen “tagged”
      Danach OK und unten rechts “SAVE” um die Einstellungen zu speichern.
      Das wars
      Was danach allerdings nicht mehr funktioniert ist die “Route Modem IP” Einstellung unter den “WAN Settings” für PPPOE
      Also quasi um dein DSL Modem per IP über den WAN Port zu erreichen.

Leave a comment