STEC s1120 PCIe Treiber-Installation

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Die Treiber für die STEC s1120 PCIe Accelerator SSD-Karte werden von STEC in Form von RPMs zur Verfügung gestellt. In dem RPM-Paket befinden sich die Quelldateien und das zugehörige Makefile zum Kompilieren und Installieren des Treibers. Dieser Artikel zeigt, wie der Treiber unter Ubuntu 12.04 Server kompiliert und installiert wird.

Anforderungen

Für das Kompilieren des Treibers müssen eine Build-Umgebung und die dem Kernel zugehörigen Header-Dateien installiert sein:

:~$ uname -r
3.2.0-33-generic
:~$ dpkg --get-selections |grep 3.2.0-33-generic
linux-headers-3.2.0-33-generic			install
linux-image-3.2.0-33-generic			install

Wird der Treiber nicht auf jenem System kompiliert, auf dem er später installiert wird, müssen die Kernel-Versionen der beiden System übereinstimmen.

Für den Umgang mit den RMP-Paketen werden außerdem folgende Pakete benötigt:

:~$ sudo apt-get install rpm alien

Installation des Source RPMs

Unter Ubuntu wird bei der Installation des RPMs das Verzeichnis "rpmbuild" im Home-Verzeichnis des Users angelegt:

:~$ rpm --install s1120_linux_driver-2.2.1-0220.src.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
:~$ ls rpmbuild/
SOURCES  SPECS

Kompilieren des Treibers

Unter Zuhilfenahme dieser Dateien wird der Treiber erstellt:

:~$ cd rpmbuild/
:~/rpmbuild$ rpmbuild -bb SPECS/s1120.spec
[...]

Das Treiber-RPM befindet sich nun im Verzeichnis "RPM":

:~/rpmbuild$ ls RPMS/x86_64/
s1120_linux_driver-2.2.1-0220.x86_64.rpm

Installation des Treibers

Vor der Installation wird sicher gestellt, dass kein anderer Treiber installiert ist:

:~/rpmbuild$ dpkg --get-selections |grep s1120
:~/rpmbuild$
:~/rpmbuild$ find /lib/modules -name skd.ko
:~/rpmbuild$
:~/rpmbuild$ sudo rmmod skd
ERROR: Module skd does not exist in /proc/modules

Nach diesen Kontroll-Kommandos wird der Treiber mit "alien" installiert:

:~/rpmbuild$ sudo alien -i --scripts RPMS/x86_64/s1120_linux_driver-2.2.1-0220.x86_64.rpm 
	dpkg --no-force-overwrite -i s1120-linux-driver_2.2.1-221_amd64.deb
Selecting previously unselected package s1120-linux-driver.
(Reading database ... 113843 files and directories currently installed.)
Unpacking s1120-linux-driver (from s1120-linux-driver_2.2.1-221_amd64.deb) ...
INFO: STEC, Inc. S1120 SSD driver 2.2.1-b0220
INFO: Installation proceeding.
INFO: Device nodes are /dev/skd0, /dev/skd1, etc
Setting up s1120-linux-driver (2.2.1-221) ...
:~/rpmbuild$

Überprüfung der Installation

Ist das STEC eigene Kommandozeilen-Werkzeug bereits vorhanden, kann mit diesem nach dem PCIe-Device gescannt werden:

:~/rpmbuild$ sudo sdmcmd64 ScanLocal
Results for ScanLocal
                       operationResult = Success
                            [...]

Die Parameter des geladenen Moduls können ebenfalss geprüft werden:

:~/rpmbuild$ modinfo skd
filename:       /lib/modules/3.2.0-33-generic/extra/skd.ko
version:        2.2.1-0220
description:    STEC, Inc. S1120 PCIe SSD bio driver (b0220)
license:        BSD
author:         bug-reports: support@stec-inc.com
srcversion:     ED9E14EBE883F4467AF0D8D
alias:          pci:v00001B39d00000001sv*sd*bc*sc*i*
depends:        
vermagic:       3.2.0-33-generic SMP mod_unload modversions 
parm:           skd_isr_type:Interrupt type capability. (0==legacy, 1==MSI, 2==MSI-X, default==1) (int)
parm:           skd_max_req_per_msg:Maximum SCSI requests packed in a single message. (1-14, default==1) (int)
parm:           skd_max_queue_depth:Maximum SCSI requests issued to S1120. (1-200, default==64) (int)
parm:           skd_sgs_per_request:Maximum SG elements per block request. (1-4096, default==256) (int)
parm:           skd_max_pass_thru:Maximum SCSI pass-thru at a time. (1-50, default==32) (int)
parm:           skd_dbg_level:S1120 debug level (0,1,2) (int)                devices[8] = gen4pcie:Drive0

Deinstallation des Treibers

Über "dpkg" wird der Treiber auch wieder deinstalliert:

:~$ dpkg --get-selections |grep s1120
s1120-linux-driver				install
:~$ sudo dpkg --purge s1120-linux-driver

Das könnte Sie auch interessieren

STEC s1120 PCIe Accelerator
STEC s840 Enterprise SAS SSDs