www.fabiankeil.de/blog-surrogat/2005/11/30/vivanco-gigabit-nic.html

Samba mit (noch funktionsloser) GigaBit-NIC versorgt

[Foto: Vivanco-Netzwerkarte ausgepackt neben Beipackzettel und Anti-Statik-Hülle] Nachdem Samba nun auch als NFS-Server läuft, hielt ich es für sinnvoll, endlich auch eine GigaBit-Netzwerkkarte reinzupacken.

Der D-Link 664T würde sie zwar ausbremsen, doch bei Direktverbindung zwischen Laptop und Samba müsste der Geschwindigkeits-Anstieg zu spüren sein. Zum Router hin soll weiter die alte Karte benutzt werden.

Bestellt habe ich eine Vivanco PCI Gigabit Ethernet Card NEU. Vollständige Beschreibung bei eBay war: Die Karte wird mit Bedienungsanleitung und Software geliefert. Diesem Umstand habe ich vermutlich den günstigen Preis von 4,19 € zu verdanken, Versandkosten inklusive.

Niedrige Erwartungen

Erwartet und auch bekommen habe ich eine RealTek-Karte. Bei Netzwerkkarten ist FreeBSD eher unkritisch, momentan läuft mein Neuerwerb dennoch nicht, obwohl prinzipiell ein Treiber existiert:

fk@samba ~ $pciconf -lv|grep Gigabit  -B 2 -A 2
re0@pci0:9:0:   class=0x020000 card=0x816910ec chip=0x816910ec rev=0x10 hdr=0x00
    vendor   = 'Realtek Semiconductor'
    device   = 'RTL8169 Gigabit Ethernet Adapter'
    class    = network
    subclass = ethernet

Beim Versuch den Treiber zu laden gibt es die Fehlermeldung:

re0: <RealTek 8169S Single-chip Gigabit Ethernet> port 0xc400-0xc4ff\
    mem 0xa1000000-0xa10000ff irq 10 at device 9.0 on pci0
re0: eeprom autoload timed out
re0: MII without any phy!
device_attach: re0 attach returned 6

Fehlerhafte Fehler-Diagnose

Wenn ich /usr/src/sys/dev/re/if_re.c richtig interpretiere, hält der Treiber die Karte für ein Modell mit dem etwas hochwertigeren Chip 8169S, der im Gegensatz zum 8169 über built-in copper gigE PHYs verfügt. Die Annahme vom Treiber ist auch richtig.

Auf der FreeBSD-Mailingliste habe ich einen Diagnose-Patch gefunden, die Ausgabe sieht interessant aus: re_probe(): vid 10ec did 8169 hwrev 7cc00000.

Momentan kompiliere ich einen neuen Kernel mit veränderter /usr/src/sys/pci/if_rlreg.h: RL_HWREV_8169S habe ich einen Fatasiewert zugeordnet und RL_HWREV_8169 den alten Wert von RL_HWREV_8169S gegeben. In meiner Theorie wird die Netzwerkkarte danach richtig erkannt – mal sehen. In der Realität hat es nichts gebracht, da meine Diagnose unsinnig war.

Das Problem ist nicht dringend, eine weitere GigaBit-Netzwerkkarte ist unterwegs.