Erstes Hardcore-Debugging

Update: Due to an increasing number of english speaking visitors I have translated the main conclusion of this entry. Have a look at the comments.

Na, das ging ja gut los. Der Versuch, mit dem KNetworkManager eine statische IP-Adresse über's normale Kabel einzurichten, scheiterte. Die Daten wurden akzeptiert, aber nicht aktiviert. Der gleiche Versuch mit der Gnome-Variante des Tools (nm-applet) verlief erfolgreich, integrierte sich aber natürlich alles andere als gut in die KDE-Umgebung (ansonsten hätte ich damit auch leben können).

Auf der Kommandozeile war als Ausgabe nur diese läppische Zeile zu finden:

Activate Connection /org/freedesktop/NetworkManagerSettings/Connection/2 on Device /org/freedesktop/Hal/devices/net_00_00_f1_7b_97_e0

Das Syslog (/var/log/syslog) war da etwas informativer:

Nov 3 14:02:40 sam NetworkManager:  connection_get_settings_cb(): connection_get_settings_cb: Invalid connection: 'NMSettingIP4Config' / 'addresses' invalid: 1
Nov 3 14:02:40 sam NetworkManager:  connection_get_settings_cb(): connection_get_settings_cb: Invalid connection: 'NMSettingIP4Config' / 'addresses' invalid: 1
Nov 3 14:02:57 sam NetworkManager: connection_updated_cb: assertion `old_connection != NULL' failed

Bei der Suche nach dieser Ausgabe stieß ich auf einen Bugreport, der mir zeigte, dass ich nicht der einzige mit dem Fehler war. Um es kurz zu machen: Nachdem es auch dort keine Lösung gab, habe ich mir die Quelltexte der Pakete network-manager und network-manager-kde heruntergeladen, mit einigen Debugging-Ausgaben angereichert und bin schließlich dahinter gekommen, dass der Systemdienst NetworkManager die Netmask im CIDR-Format erwartet ("/24"), KNetworkManager diese aber im Dezimalformat ("255.255.255.0") übergibt.

Zu einem Patch hatte ich dann keine Zeit mehr, aber es gibt einen einfachen Workaround: Im Feld für die Netzmaske diese in CIDR-Schreibweise in den ersten Block eintragen, und die restlichen mit Nullen auffüllen: "24.0.0.0". Dann bekommt NetworkManager genau das übergeben, was er erwartet.

Aber das so ein fundamentaler Fehler im Release noch nicht behoben worden ist, erstaunt mich dann ja doch.

Comments

Shortened english translation:

KNetworkManager 0.7 has a bug when forwarding the static netmask to NetworkManager. NM expects the netmask to be in CIDR notation ("/24"), but KNetworkManager uses dotted-decimal-notation ("255.255.255.0").

The author, Helmut Schaa, wrote me on Nov 5th and reported that this bug has been fixed in the development tree. Meanwhile, you can work around this problem by entering the netmask in cidr notation into the first field, and type "0" into the rest: "24.0.0.0" instead of "255.255.255.0".