madwifi-ng und cisco vpnclient
Seit ich die "Next Generation" der madwifi-Treiber (benutze zZt Version 0.1531.20060427) installiert habe, bekomme ich kein VPN mehr mit dem Cisco-Client (4.8.00.0490-k9) über die wlan-Karte hin. Die Pakete, die eigentlich an ath0 gerichtet sind, bleiben bereits in der wifi0-Schnittstelle hängen. Auf der madwifi-Webseite gibt es ein Fix dafür, allerdings nur mit englischer Beschreibung, deswegen dieser Eintrag hier für alle, die dessen nicht so 100% mächtig sind:
(Für Gentoo-ler: Das ganze setzt voraus, daß wir den vpn-client "von Hand" und nicht über portage installieren. Es ginge zwar auch über ein portage-overlay, aber so viel Arbeit wollen wir uns dann doch nicht machen, nicht wahr?)
Wir wechseln in das Verzeichnis, in das wir zuvor den vpn-client ausgepackt haben. Dort editiren wir die Datei interceptor.c und fügen in die Funktion supported_device() nach der Zeile rc=0; folgenden Code ein:
(Für Gentoo-ler: Das ganze setzt voraus, daß wir den vpn-client "von Hand" und nicht über portage installieren. Es ginge zwar auch über ein portage-overlay, aber so viel Arbeit wollen wir uns dann doch nicht machen, nicht wahr?)
Wir wechseln in das Verzeichnis, in das wir zuvor den vpn-client ausgepackt haben. Dort editiren wir die Datei interceptor.c und fügen in die Funktion supported_device() nach der Zeile rc=0; folgenden Code ein:
if (strncmp(dev->name,"wifi",4) == 0) {
rc=0;
} else
Wer das nicht von Hand machen will, hier ein Diff:rc=0;
} else
453,460d452
< // fix for madwifi wifi0 device that should not be intercepted
< if (strncmp(dev->name,"wifi",4) == 0)
< {
< rc=0;
< }
< else
< // end fix
Das Ganze mache ich nur, damit ich endlich wieder die D-Link-Karte benutzen kann, weil mir der ndiswrapper für den USB-WLAN-Stick ziemlich auf den Keks geht (weil er den ganzen Rechner hängt, wenn man unvorsichtigerweise das Teil raus zieht, wenn es in Betrieb ist). Außerdem brauche ich den wlan-Stick eigentlich wo anders.
< // fix for madwifi wifi0 device that should not be intercepted
< if (strncmp(dev->name,"wifi",4) == 0)
< {
< rc=0;
< }
< else
< // end fix