Netzwerktreiber auf FreeNAS/NAS4Free installieren (Full-Installation)

FreeNAS unterstützt nativ die jeweilige Hardware, der eingesetzten FreeBSD-Version, auf die es basiert. Trotzdem kann es Produkte geben, für die FreeBSD keine Treiber anbietet. Dieses How-To beschreibt, wie auch unerfahrene Unix-Anwender einen Netzwerkadaptertreiber auf einer „Full-Installation“ von FreeNAS installieren. Als Grundlage dient hier FreeNAS 0.69.2 (Muad’Dib), das auf FreeBSD 6.4 basiert. Es gibt aber Hinweise bei Abweichungen zu neueren NAS4Free/FreNAS-Versionen.

Bei einer „embedded Installation“ gibt das How-To „Netzwerktreiber auf  FreeNAS/Nas4Free installieren (embedded)“ Hilfestellung.

Voraussetzungen

  • Beliebiger Monitor, der sich an den FreeNAS-Server anschließen lässt
  • Tastatur
  • USB-Stick, Fat32-formatiert, als temporärer Speicher für die Treiberdatei)
  • FreeNAS muss als „Full OS on HDD + DATA + SWAP Partition“ installiert sein. Bei der „embedded“ Installation werden Änderungen nur in die RAM-Disk geschrieben und der Treiber steht beim nächsten Neustart nicht mehr zur Verfügung. Für embedded Installationen gehe nach Netzwerktreiber auf  FreeNAS/Nas4Free installieren (embedded).
  • Binäre Treiberdatei (*.ko) für die entsprechende FreeBSD-Version auf die das entsprechende FreeNAS basiert.

Treiber installieren

Dieses How-To beschreibt als Beispiel die Installation eines binär vorhandenen Netzwerktreibers für die Netzwerkkarten mit Realtek RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C, RTL8111CP, RTL8111D(L), RTL8168C, RTL8111DP, RTL8111E auf FreeNAS 0.6x oder 0.7x.

  1. Passenden Treiber herunterladen oder selber kompilieren.
    Für die oben genannten Netzwerkadapter  haben einige Freiwillige Treiber kompiliert. Siehe Download-Bereich. Bitte beachte die unterschiedliche Schreibweise von if_rl... und if_re... aufgrund der verschiedenen Treiberdateinamen in den Anweisungen Punkt 8 und 9!
  2. Treiber auf den USB-Stick kopieren. Achte darauf, dass der Stick mit dem Dateisystem Fat32 formatiert ist. Das ist in allen mir bekannten Fällen der Auslieferungszustand, so dass du i.d.R. nichts umformatieren musst.
  3. Monitor und Tastatur an den FreeNAS-Server anschließen und Server starten.
  4. Shell starten durch Wahl der Option 6 (Shell) im Console-Setup:

    Bildschirmfoto: Console Setup von FreeNAS

    Console Setup von FreeNAS

  5. USB-Stick einstecken.
  6. Der Befehl
    dmesg | tail

    zeigt den Gerätenamen des Sticks an, z.B. da2(siehe Screenshot unten).

    Ausgabe von: dmesg | tail

    Ausgabe von: dmesg | tail

  7. USB-Stick mounten mit
    mount_msdosfs /dev/da2s1 /mnt

    Der Anhang s1 an da2 beschreibt den ersten Slice auf dem Gerät da2 (hier: USB-Stick). Weitere Informationen findet man im FreeBSD-Handbuch, Kapitel 3.

  8. Kopiere die Treiberdatei in das Verzeichnis /boot/kernel mit:
    cp /mnt/if_rl.ko /boot/kernel

    Wenn dieser Befehl fehlschlägt, hast du eine neuere NAS4Free/FreeNAS-Version. In neueren Versionen befinden sich die Treiber in /cf/boot/kernel und /cf ist nur lesend ins Dateisystem eingehängt. Darum muss zuerst /cf ausgehängt und mit Schreib- und Leserechten wieder eingehängt werden. Dann kann man alle weiteren Aktionen durchführen:

    umount /cf && mount -o rw /cf
    cp /mnt/if_rl.ko /cf/boot/kernel
  9. Automatischer Laden des Treibers einstellen durch Eintragen von if_rl_load=„YES“ in die Datei /boot/loader.conf bzw. bei neueren Versionen in /cf/boot/loader.conf mit:
    echo if_rl_load="YES" >> /boot/loader.conf

    bzw.

    echo if_rl_load="YES" >> /cf/boot/loader.conf
    Optional: Zum temporären Einbinden kann man auch
    kldload /boot/kernel/if_rl.ko

    bzw.

    kldload /cf/boot/kernel/if_rl.ko

    eingeben um zu testen, ob der Treiber ohne Fehlermeldungen geladen wird. Auch hier kann dmesg|tail die letzten Systemmeldungen anzeigen. Beim temporären Laden des Treibers mit kldload wird er beim nächsten Neustart aber nicht mehr eingebunden! Darum sollte man den Treiber immer in die /boot/loader.conf eintragen

  10. Reboot system (Option 7 im Console Setup).

    Bildschirmfoto: Console Setup von FreeNAS

    Console Setup von FreeNAS

Download

Weiter unten kannst du bereits fertig kompilierte (binäre) Treiber für Netzwerkkarten mit RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C, RTL8111CP, RTL8111D(L), RTL8168C, RTL8111DP, RTL8111E, für ein paar FreeNAS-Version herunterladen, die einige Freiwillige dankenswerter Weise zur Verfügung gestellt haben.

Ich kann keine Gewähr für die Funktionalität, Qualität oder Datensicherheit der unten angegebenen Treiber übernehmen, noch habe ich sie alle getestet! Die Benutzung erfolgt unter eigener Verantwortung.

[TABLE=3] Für FreeNAS 8 kann ich derzeit keine Dowloadquellen für binären Treiber angeben. Wenn du einen binären Treiber für FreeNAS 8 findest, freue ich mich über eine kurze Nachricht per Mail oder Kommentar.

Interessante Links

Bildnachweis

Titleimage:
BSD Daemon by Diavolo Qqta (CC BY-NC-SA 2.0)
Ethernet NIC 100Mbit PCI“ by afrank99. CC BY-SA 2.0 via Wikimedia Commons.


43 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert