[gelöst]Adaptec 71605 - aacraid - Treiber kompillieren

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
debiankoe
Beiträge: 42
Registriert: 21.10.2011 19:23:28

[gelöst]Adaptec 71605 - aacraid - Treiber kompillieren

Beitrag von debiankoe » 01.03.2020 01:32:19

Guten Abend,

Debian 10.3 64x

Ich versuche unter Debian 10.3 64x den "neusten" Treiber für den Adaptec 71605 Raidcontroller zu kompilieren/erstellen. Ich weis das Debian bereits einen Treiber mitbringt, der von Adaptec ist aber neuer.

Ich habe zuerst versucht die Installation mit den dkms modulen bzw .deb-Paketen zu installieren. Leider schlug dies fehl aufgrund der selben Fehler wie beim soruce Treiber...

Ich verwende dazu den Source-Treiber den Adaptec anbietet:
https://storage.microsemi.com/en-us/spe ... 33_tgz.php

Ich folge den Instruktionen in der Readme:
Readme: https://pastebin.com/FkApXaMx

Ich erhalte beim kompilieren/erstellen folgende Fehler:

Code: Alles auswählen

root:/opt/aacraid-1.2.1-52033# make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
make: Verzeichnis „/usr/src/linux-headers-4.19.0-8-amd64“ wird betreten
  CC [M]  /opt/aacraid-1.2.1-52033/linit.o
  CC [M]  /opt/aacraid-1.2.1-52033/aachba.o
/opt/aacraid-1.2.1-52033/aachba.c: In function ‘aac_register_fib_send’:
/opt/aacraid-1.2.1-52033/aachba.c:5556:26: warning: self-comparison always evaluates to false [-Wtautological-compare]
  if (aac_fib_send_switch != aac_fib_send) {
                          ^~
  CC [M]  /opt/aacraid-1.2.1-52033/commctrl.o
  CC [M]  /opt/aacraid-1.2.1-52033/comminit.o
/opt/aacraid-1.2.1-52033/comminit.c: In function ‘aac_define_int_mode’:
/opt/aacraid-1.2.1-52033/comminit.c:771:7: error: implicit declaration of function ‘pci_enable_msix’; did you mean ‘pci_enable_msi’? [-Werror=implicit-function-declaration]
   i = pci_enable_msix(dev->pdev, dev->msixentry, msi_count);
       ^~~~~~~~~~~~~~~
       pci_enable_msi
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-headers-4.19.0-8-common/scripts/Makefile.build:309: /opt/aacraid-1.2.1-52033/comminit.o] Fehler 1
make[2]: *** [/usr/src/linux-headers-4.19.0-8-common/Makefile:1537: _module_/opt/aacraid-1.2.1-52033] Fehler 2
make[1]: *** [Makefile:146: sub-make] Fehler 2
make: *** [Makefile:8: all] Fehler 2
make: Verzeichnis „/usr/src/linux-headers-4.19.0-8-amd64“ wird verlassen
aachba.c : https://pastebin.com/5ceYnyqc
comminit.c : https://pastebin.com/BRGnMw5K

Ist jemand hier der weis wie man dies behebt ?

Freundliche Grüsse
debiankoe
Zuletzt geändert von debiankoe am 01.03.2020 13:34:28, insgesamt 2-mal geändert.

debiankoe
Beiträge: 42
Registriert: 21.10.2011 19:23:28

Re: Adaptec 71605 - aacraid - Treiber kompillieren

Beitrag von debiankoe » 01.03.2020 13:32:30

Ich habe es geschafft das das Modul zu kompillieren.

Es bestehen immer noch Warnungen, diese behindern das kompillieren nicht:

Code: Alles auswählen

root@vmDeb:/aacraid/aacraid-1.2.1-52033# make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
make: Verzeichnis „/usr/src/linux-headers-4.19.0-8-amd64“ wird betreten
  CC [M]  /aacraid/aacraid-1.2.1-52033/linit.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/aachba.o
/aacraid/aacraid-1.2.1-52033/aachba.c: In function ‘aac_register_fib_send’:
/aacraid/aacraid-1.2.1-52033/aachba.c:5556:26: warning: self-comparison always evaluates to false [-Wtautological-compare]
  if (aac_fib_send_switch != aac_fib_send) {
                          ^~
  CC [M]  /aacraid/aacraid-1.2.1-52033/commctrl.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/comminit.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/commsup.o
/aacraid/aacraid-1.2.1-52033/commsup.c: In function ‘aac_fib_send’:
/aacraid/aacraid-1.2.1-52033/commsup.c:762:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if (hw_fib->header.XferState & cpu_to_le32(AdapterProcessed))
     ^~
/aacraid/aacraid-1.2.1-52033/commsup.c:776:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  fibptr->flags &= FIB_CONTEXT_POOL;
  ^~~~~~
/aacraid/aacraid-1.2.1-52033/commsup.c: In function ‘aac_handle_sa_aif’:
/aacraid/aacraid-1.2.1-52033/commsup.c:1701:7: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
       if( dev->cur_hba_map[bus][target].devtype == AAC_DEVTYPE_NATIVE_RAW )
       ^~
/aacraid/aacraid-1.2.1-52033/commsup.c:1703:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
         if( aac_issue_bmic_identify(dev, bus, target) < 0 ){
         ^~
  CC [M]  /aacraid/aacraid-1.2.1-52033/dpcsup.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/rx.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/sa.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/rkt.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/nark.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/src.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/fwdebug.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/csmi.o
  CC [M]  /aacraid/aacraid-1.2.1-52033/adbg.o
  LD [M]  /aacraid/aacraid-1.2.1-52033/aacraid.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /aacraid/aacraid-1.2.1-52033/aacraid.mod.o
  LD [M]  /aacraid/aacraid-1.2.1-52033/aacraid.ko
make: Verzeichnis „/usr/src/linux-headers-4.19.0-8-amd64“ wird verlassen
Änderung:
https://patchwork.kernel.org/patch/6739991/

Code: Alles auswählen

diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
index b4b6088..e4ff47e 100644
--- a/drivers/scsi/aacraid/comminit.c
+++ b/drivers/scsi/aacraid/comminit.c
@@ -366,7 +366,7 @@  void aac_define_int_mode(struct aac_dev *dev)
 
 	if (msi_count > 1 &&
 	    pci_find_capability(dev->pdev, PCI_CAP_ID_MSIX)) {
-		i = pci_enable_msix(dev->pdev,
+		i = pci_enable_msix_exact(dev->pdev,
 				    dev->msixentry,
 				    msi_count);
 		 /* Check how many MSIX vectors are allocated */
@@ -374,7 +374,7 @@  void aac_define_int_mode(struct aac_dev *dev)
 			dev->msi_enabled = 1;
 			if (i) {
 				msi_count = i;
-				if (pci_enable_msix(dev->pdev,
+				if (pci_enable_msix_exact(dev->pdev,
 				    dev->msixentry,
 				    msi_count)) {
 					dev->msi_enabled = 0;

Code: Alles auswählen

root@vmDeb:/aacraid/aacraid-1.2.1-52033# modinfo aacraid
filename:       /lib/modules/4.19.0-8-amd64/kernel/drivers/scsi/aacraid/aacraid.ko
version:        1.2.1.52033src
license:        GPL
description:    Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI driver
author:         Red Hat Inc and Adaptec
Download:
https://www.file-upload.net/download-13 ... ar.gz.html

Verwendung auf eigene Gefahr! Ich übernehmen keine Garantie/Haftung!

Gruss
debiankoe

Antworten