RTL8111(B)

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche

Netzwerkkarte RTL8111(B) als Kernelmodul einbinden

Dieser Teil ist Artikel der Hardware Serie.
Laptops Motherboards Servers Eingabegeräte RAID Controller TV Karten Wireless Andere Hardware Andere Architekturen alphabetischer Hardware Index


Inhaltsverzeichnis

[Bearbeiten] Vorwort

Dieses Howto versucht zu erläutern, wie man die Treiber für den Chipsatz Realtek r8111 manuell in den Kernel einbindet. Für dieses Howto werden installierte Kernel-Sources benötigt. Ab den gentoo-sources-2.6.18 ist der Treiber im Modul r8169 enthalten.

[Bearbeiten] Treiber herunterladen

Als erstes müssen die Treiber von der Realtek-Website heruntergeladen werden. http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false Die aktuelle Version (04.12.06) ist 1.05. Falls es Probleme damit gibt, kann man auch die ältere 1.04 nehmen.

wget ftp://61.56.86.122/cn/nic/r1000_v1.05.tgz
wget http://www.iol.ie/~tomkbt/Arch/r1000_v1.04.tgz

[Bearbeiten] Entpacken und Kompilieren

Als nächstes entpacken wir das heruntergeladene Paket.

tar vzxf r1000_v1.05.tgz

Dann wechseln wir in das Verzeichnis und kompilieren den Treiber als Root.

cd r1000_v1.05
make clean modules
make install
depmod -a

Sollten bei "make clean modules" errors kommen, bitte Troubleshooting weiter unten konsultieren. Ansonsten ist der Treiber nun installiert.

[Bearbeiten] Treiber laden und testen

Nun muss der Treiber nur noch geladen und getestet werden.

modprobe r1000
ifconfig

Die Ausgabe von dmesg sollte folgendes enthalten:

Realtek RTL8168/8111 Family PCI-E Gigabit Ethernet Network Adapter
Driver version:1.05
Released date:2006/11/27
Link Status:Linked
Link Speed:100Mbps
Duplex mode:Full-Duplex

[Bearbeiten] Autostart r1000

Hierzu wird die /etc/modules.autoload.d/kernel-2.6 bearbeitet

nano -w /etc/modules.autoload.d/kernel-2.6

und eine neue Zeile 'r1000' eingefügt.

r1000

[Bearbeiten] Troubleshooting

[Bearbeiten] MODULE_PARM Error in Version 1.04

/home/max/r1000_v1.04/src/r1000_n.c:51: error: parse error before string constant
/home/max/r1000_v1.04/src/r1000_n.c:51: warning: type defaults to `int' in declaration of `MODULE_PARM'
/home/max/r1000_v1.04/src/r1000_n.c:51: warning: function declaration isn't a prototype
/home/max/r1000_v1.04/src/r1000_n.c:51: warning: data definition has no type or storage class
/home/max/r1000_v1.04/src/r1000_n.c:52: error: parse error before string constant
/home/max/r1000_v1.04/src/r1000_n.c:52: warning: type defaults to `int' in declaration of `MODULE_PARM'
/home/max/r1000_v1.04/src/r1000_n.c:52: warning: function declaration isn't a prototype
/home/max/r1000_v1.04/src/r1000_n.c:52: warning: data definition has no type or storage class
/home/max/r1000_v1.04/src/r1000_n.c:53: error: parse error before string constant
/home/max/r1000_v1.04/src/r1000_n.c:53: warning: type defaults to `int' in declaration of `MODULE_PARM'
/home/max/r1000_v1.04/src/r1000_n.c:53: warning: function declaration isn't a prototype
/home/max/r1000_v1.04/src/r1000_n.c:53: warning: data definition has no type or storage class

Um den Fehler zu beheben muss die Datei r1000_n.c bearbeitet werden.

nano -w src/r1000_n.c

Dort nach folgendem Zeichensatz suchen (Zeile 51-53):

MODULE_PARM (speed, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM (duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM (autoneg, "1-" __MODULE_STRING(MAX_UNITS) "i");

Diese Zeilen müssen wie folgt abgeändert werden:

MODULE_PARM_DESC (speed, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM_DESC (duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM_DESC (autoneg, "1-" __MODULE_STRING(MAX_UNITS) "i");

[Bearbeiten] entdev-Bug in Version 1.03

/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)

Es handelt sich hierbei wohl um einen Schreibfehler der Programmierer. Um diesen Fehler zu beheben, editiere die Datei src/r1000_n.c

nano -w /usr/src/linux/src/r1000_n.c

Dort muss 'entdev' in 'netdev' geändert werden. (Dieser Bug betrifft nur Version 1.03. Ab Version 1.04 ist dies behoben.)

'Persönliche Werkzeuge