OpenSuSE 10.1 -> Umsteigen von sky2 auf sk98lin?

T

TomSoniq

Grünschnabel
Moin,

ich habe OpenSuSE 10.1 auf einem Board mit onboard Marvell Yukon 8053 Gigabit Controllern und einer SK-9E21D Karte laufen. Leider hängt sich der mitgelieferte sky2 Treiber des öfteren mal auf, und auch der neueste 1.4'er bringt keine Besserung.

Also wollte ich auf den sk98lin von der Marvell Homepage umsteigen. Ich bekomme das Modul auch übersetzt, und jetzt liegt es in /lib/modules/2.6.16.13-4-default/kernel/drivers/net/sk98lin/

modinfo sk98lin sagt:
Code:
filename:       /lib/modules/2.6.16.13-4-default/kernel/drivers/net/sk98lin/sk98lin.ko
author:         Mirko Lindner <mlindner@syskonnect.de>
description:    SysKonnect SK-NET Gigabit Ethernet SK-98xx driver
license:        GPL
vermagic:       2.6.16.13-4-default 586 REGPARM gcc-4.1
...
alias:          pci:v00001148d00009E00sv*sd*bc*sc*i*
...
alias:          pci:v000011ABd00004362sv*sd*bc*sc*i*
...

lspci sagt:
Code:
01:00.0 Ethernet controller: SysKonnect SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (rev 17)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 19)
03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 19)

Um auf den sk98lin umzusteigen habe ich folgendes probiert:
Code:
ifdown eth0
ifdown eth1
ifdown eth2
rmmod sky2
modprobe sk98lin
ifup eth0
...

Bloß dann kommt die Meldung, eth0 sei nicht available. (Möchte ich jetzt nicht nochmal ausprobieren, da ich dann wieder aus dem Netz fliege X( )

Bin für jeden Tip dankbar, wie ich das zum laufen bringen könnte.

Tom
 
Was meinst du mit 1.4er? (edit: Habs grad gelesen, 1.4 vom sky2)
Soviel ich weiss, gibt es diese beiden Versionen:
8.32.2.3
8.40.2.3

Ein Problem könnte sein, dass du deinen Kernel nicht mit gcc4.1 gebaut hast, sondern mit einer anderen Compilerversion. Dann kann der Treiber nicht geladen werden oder funktioniert nicht.

Was sagt denn "lsmod" wenn du den sky2 entlädst und sk98lin reinlädst? Passiert da was?
 
Ein Problem könnte sein, dass du deinen Kernel nicht mit gcc4.1 gebaut hast, sondern mit einer anderen Compilerversion. Dann kann der Treiber nicht geladen werden oder funktioniert nicht.

Naja, ich nehme zur Zeit noch den bei OpenSUSE 10.1 mitgelieferten Kernel, von dem ich ausgehe, daß er auch mit dem mitgelieferten gcc gebaut wurde, und das ist 4.1.

Was sagt denn "lsmod" wenn du den sky2 entlädst und sk98lin reinlädst? Passiert da was?

Code:
server:~ # rmmod sky2
server:~ # modprobe sk98lin
server:~ # lsmod | grep sk98lin
sk98lin               159572  0

Also kann das Modul wohl zumindest geladen werden.

Woher weiß denn bei SUSE das ifup kommando, welchen Treiber es für welches Interface nehmen soll?
 
Ich habe bei mir das Netzwerkmodul sky2 folgendermassen durch sk98lin ersetzt.

Sk98lin vom Hersteller downgeloadet und compiliert und in den /lib/modules/<kernelversion>/kernel/drivers/net installiert. Sicherheitshalber habe ich das alte Modul sky2 von dort herausgelöscht.

Dann habe ich /lib/modules/<kernelversion>/modules.pcimap und modules.alias so editiert, dass alle Verweise auf sky2 durch sk98lin ersetzt wurden. Nach einem Reboot lässt sich mit Yast2 die Netzwerkschnittstelle unter Verwendung von sk98lin konfigurieren. Dazu am besten den existierenden Interface-Eintrag ganz löschen und neu erstellen.

Wenn mans mag, kann man /etc/sysconfig/kernel so editieren, dass das Modul sk98lin in die initrd aufgenommen wird und immer automatisch geladen wird (mkinitrd nicht vergessen). Aber eigentlich ist das überflüssig, weil das Netzwerkinterface beim Hochfahren das Modul nach lädt (wird anhand der modules.pcimap an der PCI Geräte-ID erkannt)

Folgende Probleme treten bei mir auf einem Notebook Fujitsu Siemens E7110 mit Intel Core Duo auf:

In ca 50% aller Fälle hängt sich das sk98lin Module beim dynamischen Laden auf. Die letzte ausgegebene Meldung bezieht sich auf einen PCI Interrupt - vermutlich führt der zum Crash. Das Problem verschwindet wenn ich das Modul fest in den Kernel eincompiliere.

Bei Datenraten von ca 5 MBit/s in Empfangsrichtung bekomme ich Packet Loss., der beispielsweise ein Videostreaming stark beeinträchtigt. Ich experimentiere gerade mit Kernel- bzw. Module-Optionen um das Problem zu beseitigen.

Christian Buchner
 
Sehr schöner Beitrag!

Wenn du noch weitere Erkenntnisse hast, poste sie ruhig hier. Bin immer dran interessiert. Hab das Ding in meinem Tochiba M50, aber bei mir funktioniert jetzt egentlich alles.

 

Ähnliche Themen

xrandr: cant open display

Ethernet wird nicht erkannt

kein Sound bei sämtlichen Distributionen...

Treibermodule mit DKMS laden - Probleme

Unbekanntes Netzwerkproblem [kernel?]

Zurück
Oben