Netzwerktreiber auf FreeNAS/NAS4Free installieren (Full-Installation)

Letzte Aktualisierung: 12. Januar 2014
Dienstag, 29. Dezember 2009

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.

Plattform Architektur Downloadquelle Dateiname Dank an
FreeNAS 0.69 (FreeBSD 6.4) 32-bit http://jp.roliers.free.fr/if_rl.ko if_rl.ko JP Roliers
FreeNAS 0.69 (FreeBSD 6.4) 64-bit - - -
FreeNAS 0.7.2 (FreeBSD 7.3) 32-bit Realtek_RTL8111F_FreeNAS7-x86.zip if_re.ko Tim Rupe
FreeNAS 0.7.2 (FreeBSD 7.3) 64-bit http://www.auslancer.com/if_re.ko if_re.ko hsvryan
NAS4Free 9 (FreeBSD 9) 64-bit Realtek_RTL8111F_NAS4Free9-amd64.zip if_re.ko, if_rl.ko Camerlengo

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.

Autor:
Datum: Dienstag, 29. Dezember 2009
Trackback: Trackback-URL
Themengebiet: Englische Artikel, Deutsche Artikel, How Tos, NAS, Netzwerk
Feed zum Beitrag: RSS 2.0 Diesen Artikel kommentieren  -

Teilen | |

38 Kommentare

  1. Avatar
    1

    Hallo.
    Klasse Anleitung.
    Habe versucht eine Realtek 8169 dem Freenas (0.7.1 )hinzuzufügen, leider klappt das nicht.
    Beim kldload sagt mir freenas das die datei if_rl.ko nicht vorhanden ist :(

  2. Avatar
    2

    Hallo Felix,

    1. Wie lautet denn die genaue Fehlermeldung?
    2. Was sagt dmesg|tail nach dem Aufruf von kldload?
    3. Bist du sicher, dass du den richtigen Treiber zu deinem FreeNAS runtergeladen hast (32-/64-bit)? AFAIK basiert FreeNAS 0.7x auf FreeBSD 7.2. und nicht wie FreeNAS 0.69.x auf FreeBAS 6.4. Ein binärer Treiber für das eine System dürfte nicht auf dem anderen laufen.
    4. Wo hast du denn den Treiber runtergeladen?

    Kannst mir die Antworten auch mailen, wenn sie zu umfangreich sind.

    Hani

  3. Avatar
    3

    Hallo,
    ich habe Dienen Blog mit Freude gelesen und abgearbeitet. Super beschrieben! aber ich komme Leider trotzdem nicht weiter.
    Ich bekomme eine Fehlermeldung das das Format nicht ok ist.
    Ich vermute dass der von mir geladene Treiber nicht 64bit fähig ist. Kannst Du mir sagen wo ich einen 64bit Treiber für eine Realtek r8111e bekomme. Googel hat mir leider nicht weitergeholfen.

    Stefan

  4. Avatar
    4

    Hi Stefan,

    welche FreeNAS-Version nutzt du? Unterstützt die 0.7er nicht die 8111er?

    Vielleicht helfen ja die Tipps in dem Beitrag Realtek 8111b/c Driver / Atom MB im FreeNAS-Forum bei dir weiter.

    Was spricht eigentlich dagegen, die 32-bittige Version von FreeNAS einzusetzen? Dann könnte dein Problem elegant gelöst sein.

    Hani

  5. Avatar
    5

    Hi Hani,

    I keep getting the error link_elf:symbol m_gethdr undefined & kldload: can’t load.

    Can u help me out

    Jobin

  6. Avatar
    6

    Hi Jobin,

    Have not ever seen your error on my machine. I need a bit more information:

    Please tell me which FreeNAS-Version/architecture (0.6.x/0.7.x, x86/amd64) and NIC card do you use. And which driver did you downloaded and from where? Please send me the detailed error message.

    Hani

  7. Avatar
    7

    When I tried to use the linked driver you posted, the network card still didn’t work (For FreeNAS 0.7.2). However, I got the latest version of Realtek’s driver (1.80), and compiled it in FreeBSD 7.2, and made this new 32 bit driver. It works great for me, and your instructions work perfectly with a slight modification to use different module file name. Anyway, here is a link to my compiled module: https://files.me.com/twoslick/12js1a

  8. Avatar
    8

    Thank you for sharing your self-compiled RL8111E 32-bit driver, Tim. I appreciate it and it will help other users surely.

    Hani

  9. Avatar
    9

    Hallo,

    gibt es vllt. auch einen 64-bit Treiber für den RTL8111E Chipsatz?
    Ansonsten super Anleitung, hab sogar ich verstanden und ich wusste vor ner Woche nichtmal das es freeBSD gibt…

    Gruß Jonas

  10. Avatar
    10

    Hi Jonas, leider habe ich noch keinen 64-bit Treiber ausfindig machen können. Ansonsten mein Standardspruch: Was spricht gegen eine 32-bit Installation?

    Hani

  11. Avatar
    11

    Hallo,

    würde die 32-bit Version problemlos laufen? Wenn ja spricht bei mir nichts dagegen. Könnte ja später immernoch umsteigen, zu FreeNas 0.8 Zeiten (wenn der Treiber dann implementiert sein sollte).

    Vielen Dank und ein großes Lob an deine Arbeit hier!

    Jonas

  12. Avatar
    12

    Mit Tim Rupes Treiber sollte es funktionieren. Du musst meine Anweisungen – wie beschrieben – bei Pkt. 8 und 9 noch anpassen: if_rl… durch if_re… ersetzen. Viel Erfolg, Hani

  13. Avatar
    13

    Can someone with a freebsd 64bit compile the driver please ?
    it can be found here : http://tinyurl.com/y9dkvnx

  14. Avatar
    14

    Hani,

    Could you please have a look at this post:
    http://sourceforge.net/apps/ph.....=20#p40296

    It should be the 64bit driver for the RTL8111E.

    Can it be used in the how-to you described above, but this time for a 64bit install.

    I did not manage to get it working.

    But, I’m a newbee….

    Thanks for your great site!

    Willek

  15. Avatar
    15

    Sorry Wilvliet, I do not know whether it will work or not and I can not check it. By the way as I suggested in some of my German replies: What speaks against a 32-bit installation of FreeNAS even on 64-bit hardware? Regards, Hani

  16. Avatar
    16

    Hani, thanks for your reply. I also considered a 32bit installation. But, I got hands on old ethernet card. The 64bit installation is running now. I will wait until the 64bit driver for the RTL8111E has been incorporated in FreeNAS. Then the old card will be removed.
    Regards, Willek

  17. Avatar
    17

    Großartige Anleitung, danke das ihr euch die Arbeit für uns Unwissende macht.

  18. Avatar
    18

    Super Anleitung, funktioniert auf Anhieb. Wake on Lan wird allerdings wohl nicht unterstützt. Hast du da eine Lösung dafür?

  19. Avatar
    19

    Danke Leo, ob WoL unterstützt wird hängt in erster Linie von deinem BIOS ab und nicht vom Betriebssystem. Gruß Hani

  20. Avatar
    20

    Good day! Maybe somebody could make ready ISO with integrated drivers RTL8111E for i386, I’ll be very grateful.

  21. Avatar
    21

    Thanks for the info. You got me over the hump getting a raid driver installed into FreeNAS!!

  22. Avatar
    22

    I tried this today using the file from 7 above. I can’t get it work – I am getting an “Exec Format error”.

    I am trying to set up 0.7.2.5543 on a GA-D525TUD board (RTL8111E)

  23. Avatar
    23

    I think I just found my issue – and found a 64 bit driver. at http://zalil.ru/30224952

    Although this loads when I manually load it – I cannot get it to stick even when I don’t load it manually.

    After a reboot there are no interfaces there and I can’t even manually load it.

  24. Avatar
    24

    @pwapwap: Did you installed FreeNAS “embedded” or “full”?

    If you installed FreeNAS “embedded” refer https://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=9&t=6984&start=20#p7616. Otherwise the driver will be installed in the RAM disk and can not be loaded again after a reboot.

  25. Avatar
    25

    Danke erstmal fuer deine Anleitung.
    Bin natuerlich erstmal ueber den Part mit dem alternativen Treiber gestolpert, da ich ‘ne RTL8168B Karte habe.
    ich scheitere daran, die .ko Datei nach /boot/kernel zu kopieren. (read-only filesystem …)
    Ich vermute mal, ich habe mir die embedded version installiert?

    achso, ich nutze die 8er Version.

    hast du einen Tip fuer mich?
    Vielen Dank schon mal.

    Gruß,
    Alex

  26. Avatar
    26

    @Alex: ich kenne die 8.0-Version nicht. Da soll sich eine Menge geändert haben. Da diese Version auch auf FreeBSD 8 basiert, brauchst du natürlich auch einen Treiber , der für diese Version kompiliert wurde! Die hier für 0.6 und 0.7 genannten werden nicht funktionieren.

    Wenn du des Englischen mächtig bist hilft dir vielleicht die englische Kurzanleitung unter https://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=9&t=6984&start=20#p7616 weiter.

    Sollte das mit der 8.0 nicht funktionieren bzw. wenn du nur einen binären Treiber für die 0.7er hast, ist die Installation der älteren 0.7er FreeNAS-Version sicher nicht die schlechteste Lösung.

  27. Avatar
    27

    very useful article. helped me in fixing up my RTL8111E gigalan card under PFSense 1.2.3 version. Thanks dude.

  28. Avatar
    28

    Hi Hani,

    Trying to install this on FreeNas 8 but keep getting the following error when we run cp /mnt/if_rl.ko /boot/kernel

    cp: /boot/kernel/if+rl.ko: read-only file system.

    Any idea what i can do to resolve?

    THanks

    Shaun

  29. Avatar
    29

    @Shaun: The binary drivers mentioned on this blog are only for FreeNAS 0.6x and 0.7 32-bit, resp.

    FreeNAS 8 is based on FreeBSD 8 neither on FreeBSD 7 (FreeNAS 0.7x) nor on FreeBSD 6 (FreeNAS 0.6x).

    So you need a appropriate driver for your platform (FreeBSD 8). Please be advised that you need different drivers for 32-bit and 64-bit environments. I have not found any driver for this platform yet.

    Ask at http://sourceforge.net/apps/phpbb/freenas/ if someone has already compiled a driver for your platform.

    Kind regards, Hani

    PS: Maybe FreeNAS 0.7 fits our needs. For this version you find a binary driver for sure.

  30. Avatar
    30

    EN: For a 64-bit driver for FreeNAS 0.7x for the NIC’s RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C, RTL8111CP, RTL8111D(L), RTL8168C, RTL8111DP, RTL8111E try http://sourceforge.net/apps/ph.....ani#p40296

    DE: Ein 64-bit Treiber für FreeNAS 0.7x und die NICs RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C, RTL8111CP, RTL8111D(L), RTL8168C, RTL8111DP, RTL8111E könnte der Treiber http://sourceforge.net/apps/ph.....ani#p40296 funktionieren.

  31. Avatar
    31

    Hey

    i compiled a driver for my Free4Nas 9 64bit(based on FreeBSD 9)

    http://shareplace.com/?02715E1729

  32. Avatar
    32

    Thank you for sharing your driver, Camerlengo

  33. Avatar
    33

    Hi Camerlengo or Hani—Do you have an updated d/l link for the FreeBSD 9/NAS4Free drivers? The one linked to off of this page appears to be broken. (Sending a RST when I click the link, after waiting for the counter to tick-down).

  34. Avatar
    34

    Yes, Chris, the file is not available at SharePlace.com anymore. I will provide this file on my webspace and update the link.

  35. Avatar
    35

    Shauncro,

    Make sure you make your FREENAS drive writable. Try this:

    mount -uw /

    Regards,
    Dan

  36. Avatar
    36

    New how-to for embedded installations available, refer: http://blog.hani-ibrahim.de/?p=1749

    Neues How-To für “embedded”-Installationen verfügbar: http://blog.hani-ibrahim.de/?p=1749

  37. Avatar
    37

    How-To aktualisiert: “file exist” Fehlermeldung bei aktuellen Versionen. Danke an Markus für den Hinweis.

    How-to modified: Address “file exist” error. Thanks to Markus for pointing me to this isssue.

  38. Avatar
    38

    Hello, I think your website might be having browser compatibility issues.
    When I look at your blog in Ie, it looks fine but when opening in Internet
    Explorer, it has some overlapping. I just wanted to give you a quick
    heads up! Other then that, superb blog!

Kommentar abgeben