Netzwerk-Treiber unter Solaris suchen und finden

Heute bekam mein Server zuhause eine neue Netzwerkkarte. Ein willkommener Anlaß, um über Netzwerktreiber unter Solaris zu bloggen. Wenn also jemand von Euch ein Netzwerk-Interface unter Solaris in Betrieb nehmen will, findet dieser hier vielleicht ein wenig Hilfe.

Preisgünstig, aber doch noch von einem Markenhersteller sollte sie sein. Bei mir fiel die Wahl auf eine D-Link DGE-530T, im Internet-Elektronik-Versand für unter 20 Euro zu haben und Gigabit-Ethernet-kompatibel.

Der erste Test: Wird die Karte sofort von Solaris erkannt? Nach Einbau und Einschalten des Rechners sollte man mit devfsadm(1M) dafür sorgen, daß Solaris nach neuen Geräten sucht. Danach schauen wir uns die Ausgabe von prtconf -v an und suchen im Text nach "Ethernet". Die Infos zu unserer D-Link-Karte sehen dann so aus:

            pci1186,4b01 (driver not attached)
Hardware properties:
name='assigned-addresses' type=int items=10
value=820e0810.00000000.e2000000.00000000.00004000.810e0814.00000000.00002000.00000000.00000100
name='reg' type=int items=15
value=000e0800.00000000.00000000.00000000.00000000.020e0810.00000000.00000000.00000000.00004000.010e0814.00000000.00000000.00000000.00000100
name='compatible' type=string items=7
value='pci1186,4b01.1186.4b01.11' + 'pci1186,4b01.1186.4b01' + 'pci1186,4b01' + 'pci1186,4b01.11' + 'pci1186,4b01' + 'pciclass,020000' + 'pciclass,0200'
name='model' type=string items=1
value='Ethernet controller'
name='power-consumption' type=int items=2
value=00000001.00000001
name='66mhz-capable' type=boolean
name='fast-back-to-back' type=boolean
name='devsel-speed' type=int items=1
value=00000001
name='interrupts' type=int items=1
value=00000001
name='max-latency' type=int items=1
value=0000001f
name='min-grant' type=int items=1
value=00000017
name='subsystem-vendor-id' type=int items=1
value=00001186
name='subsystem-id' type=int items=1
value=00004b01
name='unit-address' type=string items=1
value='1'
name='class-code' type=int items=1
value=00020000
name='revision-id' type=int items=1
value=00000011
name='vendor-id' type=int items=1
value=00001186
name='device-id' type=int items=1
value=00004b01

Die Zeile ganz oben, "pci1186,4b01" sagt uns die PCI-Vendor-ID und die Product-ID für unser PCI-Gerät. Beunruhigend ist die Bemerkung danach: "driver not attached", Nach unserem drvconfig heißt das, dass Solaris keinen Treiber gefunden hat, der sich mit diesem PCI-Gerät verbinden konnte.

In der Solaris Hardware Compatibility List (HCL) steht unsere Karte leider nicht drin. Also Googlen wir sie und versuchen herauszufinden, welchen Chipsatz sie hat. Nach einigen Recherchen stoßen wir z.B. auf diesen Post: Die Karte hat also einen Marvell Yukon 88E8001 Chipsatz. Naja, hätten wir das Produkt-Foto auf der D-Link-Seite aufmerksam studiert, hätten wir dort auch genau diesen Namen auf dem dicksten Chip gedruckt gefunden...

Und wer hätte das gedacht, unser Chipsatz taucht auch in der Solaris Hardware Compatibility List (HCL) auf. In diesem Fall ist der Chip in einem Mainboard verbaut und taucht daher mit einer anderen PCI ID auf. Doch wir lernen aus diesem Eintrag, daß der Treiber für diesen Chipsatz "skge" heißt und hier heruntergeladen werden kann.

Unser Freund von der HCL hat auch einen Tipp parat, wie man Treiber-fremden Karten eine neue PCI-ID beibringen kann: Nach Installation des skge-Treibers (in meinem Fall die 64-Bit Version) sagen wir also:

/usr/sbin/update_drv -a -i '"pci1186,4b01"' skge

Jetzt weiß Solaris, daß der skge-Treiber auch diese Karte nutzen kann.

Und schon erkennt prtconf unsere Karte wieder:

# prtconf -D | grep 1186,4b01
pci1186,4b01, instance #0 (driver name: skge)

Hurra, der Treiber ist attached! Nun kann man die Karte ganz normal mit ifconfig skge0 plumb etc. konfigurieren bzw. eine hostname.skge0-Datei in /etc anlegen.

Als letzten Schritt sollte man sich ein wenig für die Solaris-Community engagieren und so tragen wir unsere frischen Erfahrungen in das "Submit Hardware"-Formular der Solaris HCL ein, auf daß zukünftige D-Link-Netzwerker es einfacher haben mögen.

Kommentare:

Hi Gonzo, es ist immer wieder ein Spass Deine Kommentare und Einträge zu lesen. Bleib weiterhin so erfrischend geradeaus - und Du weisst ja, die Bösen atmen durch dunkle Masken !

Gesendet von Frank Gamerdinger am Mai 07, 2007 at 04:32 PM MESZ #

Hm, ich habe hier keine "reale" Netzwerkhardware. Solaris soll in Paralles auf einem MacBook Pro via Bridged Ethernet laufen. Leider sind nach der Installation keine Interfaces zum plumben da. Das prtconf -v lieferte wie im Text beschrieben ein "driver not attached": pci10ec,8029 (driver not attached) ... Die Ansteuerung der Hardware ist doch aber Sache der VM / von Parallels; Solaris muesste einen generischen Treiber vorgesetzt bekommen. Oder? Habt ihr einen Tipp, wie das Netzwerk in einer VM von Parallels 3 aktiviert werden kann?

Gesendet von Juergen am August 02, 2007 at 03:06 PM MESZ #

Hallo Jürgen, ich hab' leider kein MacBook (Pro) zur Hand und auch kein Parallels, aber ich hab' mit ein wenig Googlen folgenden Blog gefunden: http://mysqldatabaseadministration.blogspot.com/2007/05/installing-solaris-10-on-mac-book-using.html Der Autor sagt auch, daß die Netzwerk-Konfiguration für Solaris unter Parallels wenig trivial ist, hat aber alles schön Schritt für Schritt beschrieben. Ich hoffe, das hilft Dir weiter! Ciao, Constantin

Gesendet von Constantin am August 03, 2007 at 02:51 AM MESZ #

hi Constantin, der Tipp war Gold wert! Ich musste die vmtools.iso mounten und den 8029-Driver installieren. Nach einem Reboot ist das Interface ni0 vorhanden.

Gesendet von Juergen am August 03, 2007 at 08:43 AM MESZ #

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet
Search

Archives
« April 2014
MoDiMiDoFrSaSo
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Heute