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.
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.
- 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...undif_re...aufgrund der verschiedenen Treiberdateinamen in den Anweisungen Punkt 8 und 9! - 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.
- Monitor und Tastatur an den FreeNAS-Server anschließen und Server starten.
-
USB-Stick einstecken.
- Der Befehl
dmesg | tail
zeigt den Gerätenamen des Sticks an, z.B.
da2(siehe Screenshot unten). -
USB-Stick mounten mit
mount_msdosfs /dev/da2s1 /mnt
Der Anhang
s1anda2beschreibt den ersten Slice auf dem Gerätda2(hier: USB-Stick). Weitere Informationen findet man im FreeBSD-Handbuch, Kapitel 3. -
Kopiere die Treiberdatei in das Verzeichnis
/boot/kernelmit:cp /mnt/if_rl.ko /boot/kernel
-
Automatischer Laden des Treibers einstellen durch Eintragen von
if_rl_load=„YES“in die Datei/boot/loader.confmit:echo if_rl_load="YES" >> /boot/loader.conf
Optional: Zum temporären Einbinden kann man auchkldload /boot/kernel/if_rl.ko
eingeben um zu testen, ob der Treiber ohne Fehlermeldungen geladen wird. Auch hier kann
dmesg|taildie letzten Systemmeldungen anzeigen. Beim temporären Laden des Treibers mitkldloadwird er beim nächsten Neustart aber nicht mehr eingebunden! Darum sollte man den Treiber immer in die/boot/loader.confeintragen - Reboot system (Option 7 im Console Setup).
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.
| 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.
Interessante Links
- Unix-Treiber (Quellcode) für RTL81xxx – Realtek Homepage


Dienstag, 4. Mai 2010 6:29
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
Mittwoch, 5. Mai 2010 20:14
Hallo Felix,
Kannst mir die Antworten auch mailen, wenn sie zu umfangreich sind.
Hani
Samstag, 24. Juli 2010 0:26
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
Sonntag, 25. Juli 2010 20:19
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
Freitag, 13. August 2010 16:57
Hi Hani,
I keep getting the error link_elf:symbol m_gethdr undefined & kldload: can’t load.
Can u help me out
Jobin
Samstag, 14. August 2010 14:23
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
Mittwoch, 29. September 2010 0:25
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
Mittwoch, 29. September 2010 7:00
Thank you for sharing your self-compiled RL8111E 32-bit driver, Tim. I appreciate it and it will help other users surely.
Hani
Freitag, 8. Oktober 2010 21:57
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
Montag, 11. Oktober 2010 7:57
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
Montag, 11. Oktober 2010 8: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
Montag, 11. Oktober 2010 8:59
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
Sonntag, 31. Oktober 2010 20:18
Can someone with a freebsd 64bit compile the driver please ?
it can be found here : http://tinyurl.com/y9dkvnx
Mittwoch, 3. November 2010 23:51
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
Freitag, 5. November 2010 5:07
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
Samstag, 6. November 2010 14:31
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
Montag, 15. November 2010 18:26
Großartige Anleitung, danke das ihr euch die Arbeit für uns Unwissende macht.
Samstag, 11. Dezember 2010 14:41
Super Anleitung, funktioniert auf Anhieb. Wake on Lan wird allerdings wohl nicht unterstützt. Hast du da eine Lösung dafür?
Sonntag, 12. Dezember 2010 0:00
Danke Leo, ob WoL unterstützt wird hängt in erster Linie von deinem BIOS ab und nicht vom Betriebssystem. Gruß Hani
Mittwoch, 29. Dezember 2010 21:20
Good day! Maybe somebody could make ready ISO with integrated drivers RTL8111E for i386, I’ll be very grateful.
Mittwoch, 2. März 2011 7:54
Thanks for the info. You got me over the hump getting a raid driver installed into FreeNAS!!
Sonntag, 17. April 2011 6:14
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)
Sonntag, 17. April 2011 7:06
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.
Montag, 18. April 2011 13:14
@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.
Dienstag, 26. April 2011 21:23
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
Donnerstag, 28. April 2011 8:39
@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.
Montag, 13. Juni 2011 14:32
very useful article. helped me in fixing up my RTL8111E gigalan card under PFSense 1.2.3 version. Thanks dude.
Montag, 15. August 2011 13:47
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
Donnerstag, 18. August 2011 22:49
@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.
Donnerstag, 18. August 2011 22:50
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.
Sonntag, 3. Juni 2012 18:53
Hey
i compiled a driver for my Free4Nas 9 64bit(based on FreeBSD 9)
http://shareplace.com/?02715E1729
Sonntag, 3. Juni 2012 19:58
Thank you for sharing your driver, Camerlengo
Montag, 16. Juli 2012 3:18
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).
Montag, 16. Juli 2012 22:37
Yes, Chris, the file is not available at SharePlace.com anymore. I will provide this file on my webspace and update the link.
Samstag, 29. September 2012 8:21
Shauncro,
Make sure you make your FREENAS drive writable. Try this:
mount -uw /
Regards,
Dan
Dienstag, 1. Januar 2013 16:53
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