Wir haben seit einiger Zeit eine AVM Fritz!Box als DSL-Router. War bei unserem neuen DSL-Anschluss mit dabei, und als kleiner Bonus sind wir so kostenlos über das Internet anrufbar.

Lief auch bisher ganz gut. Nur kam jetzt auf einmal der Windows-Rechner von meiner Mutter nicht mehr ins Internet. Ich hatte zuerst Windows im Verdacht, aus dem einfachen Grund dass der selbe Rechner unter Linux ohne Probleme ins Netz kam. (Meine Mutter hat auch Linux, und nutzt es z.B. zum Filme schauen, weil Windows DVDs nur ohne Ton abspielt, und für LaTeX um ihre Bücher zu layouten)

DHCP war dabei das Problem - Windows bekam einfach keine IP zugewiesen - mit einer statischen IP ging alles wunderbar. Ein einfacher Reboot des Routers brachte auch keine Besserung.

Also das volle Programm an Windows-Fehlerkorrektur. Die zahlreichen im Internet zu findenden Hilfestellungen bei so einem Problem beinhalten mindestens drei Reboots, und dass man auf der Windows-Kommandozeile (Start, Ausführen, cmd) “netsh winsock reset catalog” eingibt (und das soll einfacher sein als bei Linux? Mal davon abgesehen dass es nichts gebracht hat…)

Also hab ich dann doch Linux auf nem Laptop als “bridge” zwischen den Windows-PC und den DSL-Router gehängt. Und siehe da: Windows schickt brav seine DHCP-Anfragen, und bekommt wirklich keine Antwort. Es ist also kein Fehler in der Windows-Firewall der die Antwort verliert (wie sonst), sondern irgendwas stimmt mit dem Router nicht.

Also mal etwas über den Router gegoogled. Da gibts einen kleinen Hack, eine Pseudo-Firmware die man hochladen muss, dann kann man per telnet sich auf dem Router einloggen. Sehr praktisch. Denn da sieht man bessere Fehlermeldungen z.B. folgende: multid[377]: DHCPD: no lease found, for DHCPDISCOVER.

Diese Fehlermeldung kam jedes mal, wenn Windows eine IP anfragte. Also habe ich schnell die Datei gefunden, wo er die DHCP-Zuweisungen (“leases”) speichert. Die sah zwar sauber aus, aber ich habe trotzdem mal folgendes gemacht:

killall multid
rm /var/flash/multid.leases
multid&

Also diesen ominösen multid (den AVM selbstgestrickt hat, und der wohl besser “Eierlegendewollmilchsaudaemon” heissen sollte) beendet, diese Datei gelöscht und ihn dann wieder neu gestartet.

Und siehe da: auch Windows kommt wieder ins Netz (der Ton bei DVDs fehlt aber immernoch).

Zum Glück kann man sich manchmal in seine AVM-Hardware “reinhacken” und selbst Hand anlegen - genaueres hier: detaillierte Anleitung bei TecChannel.de

Als kleine Seitenbemerkung: Verletzt AVM mit der Fritz!Box die GPL?

Ich bin mit AVM derzeit nicht wirklich glücklich… ihre Treiberunterstützung ist, gelinde gesagt, bescheiden. Statt aber für offene Treiber zu sorgen, drohen sie den Kernel-Entwicklern mit einer kompletten Einstellung ihrer (wie gesagt nur mäßigen) Treiberentwicklung, wenn diese es ihnen nicht erlauben, proprietäre Treiber in den Kernel einzubinden.

Proprietäre Treiber für Linux haben sich bisher aber alles andere als bewährt (sprich: sie taugen nichts, sorgen für ein instabiles System und machen nur Schwierigkeiten bei Upgrades) und sind nach einer aktuellen Studie wohl auch bisher schon eine Rechtsverletzung.

Leider leben wir in einer Welt, in der jedes kleine unsinnige Detail gleich als “Betriebsgeheimnis” bewertet wird. Selbst wenn die Konkurrenz das selbe schon lange auch macht… z.B. zusätzliche Tasten (“play” etc.) an Laptops, wo bei Compaq keine Informationen dazu zu erhalten waren, oder eben ISDN. Oder 3D-Grafik: es gibt OpenSource-Treiber für die meisten Radeon-Grafikkarten, die halt bei jeder neuen Grafikkarten-Generation wieder ein klein wenig angepasst werden müssen. Diese Treiber verfügen über 3D-Beschleunigung. Trotzdem entwickelt ATI lieber eigene (instabile, vielleicht illegale) Treiber, die umständlich zu installieren sind, statt einfach die bestehenden OpenSource-Treiber zu verbessern. Auch PCI-Express ist keine “geheime” Technologie, sondern ein Industriestandard (und wird von den OpenSource-Treibern inzwischen auch voll unterstützt, aber da musste halt wieder jemand ehrenamtlich ran, was ATI wenigstens mit entsprechender Dokumentation hätte unterstützen sollen…) - leider ist Nvidia aber auch nicht besser, deswegen können sie sich das erlauben.