www.fabiankeil.de/blog-surrogat/2005/12/11/freebsd-6-und-vivanco-gigabit-nic.html

Vivanco GigaBit-NIC läuft in Africanqueen

Da die Vivanco GigaBit-Netzwerkkarte in Samba nicht funktionierte, habe ich sie heute zum Testen in Africanqueen gesteckt. Auf Samba läuft FreeBSD 5.4, auf Africanqueen FreeBSD 6.0. Seit dem Kabelwechsel sogar stabil.

Nach dem Laden vom Kernelmodul if_re.ko wurde die Karte gleich erkannt, Beschwerden über MII without any phy! blieben aus:

re0: <RealTek 8169S Single-chip Gigabit Ethernet> port 0xc000-0xc0ff mem 0xeb000000-0xeb0000ff irq 10 at device 9.0 on pci0
miibus1: <MII bus> on re0
rgephy0: <RTL8169S/8110S media interface> on miibus1
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto
re0: Ethernet address: 00:40:f4:9b:39:36
re0: [GIANT-LOCKED]

Beim ersten Test blieb die Geschwindigkeit deutlich unter den Erwartungen. Für eine 100MBit-Karte wäre das Ergebnis sehr gut, für eine GigaBit-Karte ist es peinlich:

ftp> put WM_IN_2005_KatyHunter.wmv
local: WM_IN_2005_KatyHunter.wmv remote: WM_IN_2005_KatyHunter.wmv
229 Entering Extended Passive Mode (|||49209|)
150 Opening BINARY mode data connection for 'WM_IN_2005_KatyHunter.wmv'.
100% |*************************************| 90019 KB    7.58 MB/s    00:00 ETA
226 Transfer complete.
92180374 bytes sent in 00:11 (7.57 MB/s)

Kopiert wurde vom ThinkPad R51 in den Arbeitsspeicher von Africanqueen. Beide Netzwerkkarten waren im vollduplexen GigaBit-Modus:

fk@T51 ~ $ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=b<RXCSUM,TXCSUM,VLAN_MTU>
        inet 192.168.2.49 netmask 0xffffff00 broadcast 192.168.2.255
        inet6 fe80::211:25ff:fe2f:e89f%em0 prefixlen 64 scopeid 0x2 
        ether 00:11:25:2f:e8:9f
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
root@africanqueen ~ #ifconfig re0
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=18<VLAN_MTU,VLAN_HWTAGGING>
        inet6 fe80::240:f4ff:fe9b:3936%re0 prefixlen 64 scopeid 0x4 
        inet 192.168.2.48 netmask 0xffffff00 broadcast 192.168.2.255
        ether 00:40:f4:9b:39:36
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active

Die Fehlersuche habe ich erstmal verschoben. Möglicherweise liegt es am Kabel oder am Interrupt-Sturm auf dem Laptop: Interrupt storm detected on "irq11: fwohci0 em0+"; throttling interrupt source. Testweise habe ich hw.intr_storm_threshold mal im Laufenden Betrieb vergrößert, spürte jedoch keine Auswirkungen. Ich nehme an, dass die Variable bereits verändert werden muss, bevor gebremst wird.

Der Giant Lock auf Africanqueen wird die Geschwindigkeit auch negativ beeinflussen, doch kaum um den Faktor zehn.

Das Problem ist gelöst. Diagnose ist PEBCAK.