.

WPA mit ndiswrapper unter Debian Etch |

Wir hatten vor ein paar Tagen ganz schön zu schwitzen, um unsere Schulungsnotebooks über WPA/PSK und TKIP in das hauseigene WLAN zu holen. Als WLAN-Adapter war der Broadcom BCM4310 verbaut und unter Debian Etch über Ndiswrapper dem System zugänglich gemacht.

Um anderen die gleiche Bastelorgie zu ersparen, hier ein kurzes “Howto”:

Voraussetzen möchte ich einen laufenden NDiswrapper (die Einrichtung unter Ubuntu auf einem HP NX6325 ist unter: Ubuntu auf dem Compaq NX6325 erklärt, das Ganze funktioniert unter Etch analog).

Für WPA wird nun eigentlich nur noch “WPA-Supplicant” benötigt, der mittels:
# apt-get install wpasupplicant
schnell seinen Platz im System findet.

Und weiter geht’s als root auf der Shell. Die Eingabe von:
# wpa_passphrase [ssid] [passphrase] >/etc/wpa_supplicant.conf
legt eine Konfigurationsdatei für WPA-Supplicant an, in der beispielsweise steht:

network={
   ssid="meine_ssid"
   #psk="meinepassphrase"
   psk=kryptischkryptischkryptisch
}

Diese Datei muss nun noch um die Art der Verschlüsselung, und ein paar weitere Kleinigkeiten ergänzt werden. Fertig sah meine Konfiguration dann in etwa so aus:

network={
   ssid="meine_ssid"
   key_mgmt=WPA-PSK
   pairwise=TKIP
   group=TKIP
   proto=WPA
   auth_alg=OPEN
   #psk="meinepassphrase"
   psk=kryptischkryptischkryptisch
}

Um nun wpa_supplicant mit dieser Konfigurationsdatei beim Starten des Netzwerkinterfaces zu aktivieren, habe ich das Programm in der /etc/network/interfaces für den Wlan-Adapter im Parameter “pre-up” mit aufgenommen. Die Datei sah anschließend so aus:

auto wlan0
iface wlan0 inet dhcp
   pre-up /sbin/wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf -B

Beim nächsten Start des Netzwerk-Interfaces (beispielweise mit: “/etc/init.d/networking restart” als root) stand dann die Verbindung zum Accesspoint.

Wichtig ist, dass der Parameter “-D”, entgegen der Annahme die man aus “wpa_supplicant -h” treffen könnte, nicht mit “ndiswrapper” sondern mit “wext” zu füttern ist. Da bin ich auch nur duch Zufall drauf gekommen … Vorher hagelte es immer die Fehlermeldungen wie:

Authentication with 00:00:00:00:00:00 timed out.

oder

Association request to the driver failed

Zum Debuggen der Verbindung sind folgende Dinge sehr hilfreich.

  • Der manuelle Aufruf von wpa_supplicant mit dem Parameter “-d” (oder ausführlicher mit “-dd”) hilft sehr bei der Fehleranalyse. Der Parameter “-B” sollte dann natürlich weggelassen werden ;)
  • Das Tool wpa_cli:

    Mit “wpa_cli” kann sehr detailliert ermittelt werden, wo denn nun die Verbindung hakt:

    Mit scan_results beispielsweise wird sichtbar, ob überhaupt der gewünschte Accesspoint gefunden wird. Das bringt dann zumindest schon einmal die Gewissheit, dass mit der WLAN-Karte gearbeitet werden kann.

    interfaces gibt eine Liste der WPA-Fähigen Nics zurück, status gibt den Verbindungsstatus aus, list_networks die aktuell verfügbaren Netzwerke.

    get_capability gibt zurück, welche Protokolle, welches Keymanagement, … verwendet werden können.

    Um eine gesetzte Variable zu einem Netzwerk zu erfahren, lässt sich get_network einsetzen, beispielsweise ermittelt >get_network 0 proto das zu Netzwerk “0″ gesetzte Protokoll. Mit set_network lässt sich eine entsprechende Variable auch setzen.

  • So, jetzt möchte ich aber niemanden von eigenen Erkundungstouren abhalten, deswegen sei nur noch help als möglicher Befehl genannt. ;)

    8 Antworten zu 'WPA mit ndiswrapper unter Debian Etch'
    1. jensh:

      Danke!!
      Endlich mal eine wlan-Anleitung, die auf Anhieb funktioniert (mit Fritz WLAN USB Stick und ndiswrapper).
      Danke nochmals.
      Hinweis: evtl. ist es nicht verkehrt, in
      /etc/wpa_supplicant.conf
      ctrl_interface=/var/run/wpa_supplicant

      einzugeben, da klappts auch mit wpa_cli, hat ohne nicht geklappt.
      In /etc/network/interfaces gehört dann noch z.Bsp.
      post-down killall -q wpa_supplicant
      post-down rm -r /var/run/wpa_supplicant

      JensH

    2. Sascha:

      Hallo,

      das grosse D mit wext war echt der Hasenfuss, aber am Ende auch bei mir die Lösung des Problems.

      Richtig super wäre, wenn das udev dazu bewegt werden könnte, bei Einstecken des USB-Sticks das Netzwerk anzustarten, wie es das mit PCMCIA kann.

      Ein erstes Angucken der udev-Rules hat mich da erstmal von abgeschreckt.

      Habt Ihr da schon dran rumgefuxt und könnt da Tips geben?

      cu
      Sascha

    3. Stefan:

      @Sascha: normalerweise müsste es genügen, in der /etc/network/interfaces:
      allow hotplug [nic]
      einzutragen.

      $ man interfaceshilft ggf. weiter.

      Gruß
      Stefan

    4. Sascha:

      Danke Stefan, hatte ich wohl, aber keine Geduld und den Stick immer schneller wieder heraus- und reingestöpselt, so dass ich die Automatik überwunden hatte ….

      Inzwischen funktioniert’s super gut. Was mir jetzt noch fehlt, ist ein Manager-Programm, das verschiedene Profile verwalten kann, oder ein automagisches Etwas, dass einen Wlan-Scan macht und aus den erreichbaren und der Favouritenliste “das richtige” macht - am besten beides in Kombination.

      Mit so’nem Schleppi kommt man ja schon mal ganz schön rum. Die Dateifidelei geht natürlich, aber bequem ist das nicht so richtig.

      Also, habt Ihr da was auf Lager?

    5. Michael Altmann:

      Die Start- und Stopskripten für wpa_supplicant sind in Etch bereits enthalten, es sind Links namens ndiswrapper in den pre- und post-Unterverzeichnissen, welche auf /etc/wpa_supplicant/ifupdown.sh verlinken. Man muß in der /etc/network/interfaces nur den Ort der Konfigurationsdatei angeben:

      auto wlan0
      iface wlan0 inet dhcp
      wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

      Schade nur, daß es dazu keine Dokumentation gibt, man muß dazu die ifupdown.sh und functions.sh selbst durchsehen.

    6. Michael Altmann:

      Nachtrag:

      Die Links in den pre- und post-Unterverzeichnissen heißen natürlich nicht ndiswrapper, sonder wpasupplicant.

    7. Christian:

      Danke!
      Ohne Eure Hilfe müsste ich immer noch ein Kabel quer durch die Wohnung legen. Die erste Anleitung die auf Anhieb klappte!

      Jetzt muss ich nur noch rausfinden wie ich meine 40GB Laptop Platte auf die 60GB Platte klone, ohne “GRUB Fehler 17″ zu bekommen.

      Mit friedlichem Grinsen,
      Christian

    8. Emanuel:

      endlich funktionierts! besten dank!

    Eine Antwort eintragen

    *benötigt

    *benötigt / nicht sichtbar

    Kalender
    November 2006
    M D M D F S S
     12345
    6789101112
    13141516171819
    20212223242526
    27282930EC
    Ereignisse
      • Keine Termine.
    Kategorien
    Archiv
    Wichtiges!?

    .