1

Im trying to install the highpoint driver for the RocketRAID 2720 HBA.I want to use the attached drives as individual block devices in linux.

For that i have flashed via freedos the "non-raid" bios: https://www.highpoint-tech.com/USA_new/series_rr272x_configuration.htm

The device appears as "Marvell 88SE9480 Controller":

# lspci | grep -i "Marvell"
03:00.0 RAID bus controller: Marvell Technology Group Ltd. 88SE9480 SAS/SATA 6Gb/s RAID controller (rev c2)

Now i strungle with installing the linked driver from the highpoint website.

I have followed the "readme" files from the tgz archiv, and issued "make" which does not run successfull.

[root@server]# make
make ARCH=x86_64 CC=cc LD=ld CROSS_COMPILE= V= -C /lib/modules/4.18.0-240.15.1.el8_3.x86_64/build SUBDIRS=`pwd` modules
make[1]: Verzeichnis „/usr/src/kernels/4.18.0-240.15.1.el8_3.x86_64“ wird betreten
  CC [M]  /root/installation_non_raid_bios/partial/linux_main.o
In file included from /root/installation_non_raid_bios/partial/mv_os.h:9,
                 from /root/installation_non_raid_bios/partial/hba_header.h:4,
                 from /root/installation_non_raid_bios/partial/linux_main.h:4,
                 from /root/installation_non_raid_bios/partial/linux_main.c:8:
./include/linux/config.h:3:9: Fehler: #include erwartet "DATEINAME" oder <DATEINAME>
 #include
         ^
./include/linux/config.h:4:1: Fehler: expected identifier or »(« before »<« token
 <linux/autoconf.h>
 ^
In file included from ./include/uapi/asm-generic/types.h:7,
                 from ./arch/x86/include/uapi/asm/types.h:5,
                 from ./include/uapi/linux/types.h:5,
                 from ./include/linux/types.h:6,
                 from ./include/linux/list.h:5,
                 from /root/installation_non_raid_bios/partial/mv_os.h:12,
                 from /root/installation_non_raid_bios/partial/hba_header.h:4,
                 from /root/installation_non_raid_bios/partial/linux_main.h:4,
                 from /root/installation_non_raid_bios/partial/linux_main.c:8:
./include/asm-generic/int-ll64.h:16:9: Fehler: unbekannter Typname: »__s8«
 typedef __s8  s8;
         ^~~~
In file included from ./include/linux/quota.h:42,
                 from ./include/linux/fs.h:236,
                 from ./include/drm-backport/linux/fs.h:14,
                 from ./include/linux/proc_fs.h:9,
                 from /root/installation_non_raid_bios/partial/mv_os.h:24,
                 from /root/installation_non_raid_bios/partial/hba_header.h:4,
                 from /root/installation_non_raid_bios/partial/linux_main.h:4,
                 from /root/installation_non_raid_bios/partial/linux_main.c:8:
./include/uapi/linux/dqblk_xfs.h:54:2: Fehler: unbekannter Typname: »__s8«
  __s8  d_version; /* version of this structure */
  ^~~~
./include/uapi/linux/dqblk_xfs.h:55:2: Fehler: unbekannter Typname: »__s8«
  __s8  d_flags; /* FS_{USER,PROJ,GROUP}_QUOTA */
  ^~~~
./include/uapi/linux/dqblk_xfs.h:156:2: Fehler: unbekannter Typname: »__s8«
  __s8  qs_version; /* version number for future changes */
  ^~~~
./include/uapi/linux/dqblk_xfs.h:158:2: Fehler: unbekannter Typname: »__s8«
  __s8  qs_pad;  /* unused */
  ^~~~
./include/uapi/linux/dqblk_xfs.h:200:2: Fehler: unbekannter Typname: »__s8«
  __s8   qs_version; /* version for future changes */
  ^~~~
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_probe«:
/root/installation_non_raid_bios/partial/linux_main.c:112:30: Fehler: »DMA_64BIT_MASK« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »DMA_BIT_MASK«?
  if ( !pci_set_dma_mask(dev, DMA_64BIT_MASK) ) {
                              ^~~~~~~~~~~~~~
                              DMA_BIT_MASK
/root/installation_non_raid_bios/partial/linux_main.c:112:30: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
/root/installation_non_raid_bios/partial/linux_main.c:117:10: Fehler: »DMA_32BIT_MASK« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »DMA_BIT_MASK«?
          DMA_32BIT_MASK);
          ^~~~~~~~~~~~~~
          DMA_BIT_MASK
/root/installation_non_raid_bios/partial/linux_main.c: Auf höchster Ebene:
/root/installation_non_raid_bios/partial/linux_main.c:180:23: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »mv_remove«
 static void __devexit mv_remove(struct pci_dev *dev)
                       ^~~~~~~~~
/root/installation_non_raid_bios/partial/linux_main.c:347:14: Fehler: Implizite Deklaration der Funktion »__devexit_p« [-Werror=implicit-function-declaration]
  .remove   = __devexit_p(mv_remove),
              ^~~~~~~~~~~
/root/installation_non_raid_bios/partial/linux_main.c:347:26: Fehler: »mv_remove« ist hier (außerhalb einer Funktion) nicht deklariert; meinten Sie »mv_resume«?
  .remove   = __devexit_p(mv_remove),
                          ^~~~~~~~~
                          mv_resume
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »scsi_cmd_to_req_conv«:
/root/installation_non_raid_bios/partial/linux_main.c:909:24: Warnung: Typkonvertierung von Zeiger auf Ganzzahl anderer Breite [-Wpointer-to-int-cast]
  pReq->Device_Id     = (u32)scmd->device->hostdata;
                        ^
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »hba_ioctl_req_callback«:
/root/installation_non_raid_bios/partial/linux_main.c:936:15: Fehler: »struct request« hat kein Element namens »sense«
  scmd->request->sense = pReq->Sense_Info_Buffer;
               ^~
/root/installation_non_raid_bios/partial/linux_main.c:937:15: Fehler: »struct request« hat kein Element namens »sense_len«
  scmd->request->sense_len = pReq->Sense_Info_Buffer_Length;
               ^~
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »scsi_ioctl_cmd_adjust«:
/root/installation_non_raid_bios/partial/linux_main.c:959:38: Fehler: »struct request« hat kein Element namens »errors«
  memcpy(pReq->Cdb,mvcdb[scmd->request->errors - 1],16);
                                      ^~
/root/installation_non_raid_bios/partial/linux_main.c:971:46: Fehler: »struct request« hat kein Element namens »errors«
  pReq->Data_Buffer = kbuf_array[scmd->request->errors - 1];
                                              ^~
/root/installation_non_raid_bios/partial/linux_main.c:975:15: Fehler: »struct request« hat kein Element namens »errors«
  scmd->request->errors = 0;
               ^~
/root/installation_non_raid_bios/partial/linux_main.c:976:41: Fehler: »struct request« hat kein Element namens »sense«
  pReq->Sense_Info_Buffer = scmd->request->sense;
                                         ^~
/root/installation_non_raid_bios/partial/linux_main.c:977:48: Fehler: »struct request« hat kein Element namens »sense_len«
  pReq->Sense_Info_Buffer_Length = scmd->request->sense_len;
                                                ^~
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_linux_timed_out«:
/root/installation_non_raid_bios/partial/linux_main.c:1215:34: Fehler: »BLK_EH_NOT_HANDLED« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »BLK_EH_DONE«?
  return (ret)?BLK_EH_RESET_TIMER:BLK_EH_NOT_HANDLED;
                                  ^~~~~~~~~~~~~~~~~~
                                  BLK_EH_DONE
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_linux_queue_command_lck«:
/root/installation_non_raid_bios/partial/linux_main.c:1292:18: Fehler: »struct request« hat kein Element namens »errors«
  if(scmd->request->errors)
                  ^~
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_scsi_slave_alloc«:
/root/installation_non_raid_bios/partial/linux_main.c:1573:19: Warnung: Typkonvertierung in Zeiger von Ganzzahl anderer Breite [-Wint-to-pointer-cast]
  sdev->hostdata = (void *)base_id;
                   ^
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_scsi_slave_configure«:
/root/installation_non_raid_bios/partial/linux_main.c:1718:3: Fehler: Implizite Deklaration der Funktion »scsi_adjust_queue_depth«; meinten Sie »scsi_change_queue_depth«? [-Werror=implicit-function-declaration]
   scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
   ^~~~~~~~~~~~~~~~~~~~~~~
   scsi_change_queue_depth
/root/installation_non_raid_bios/partial/linux_main.c:1718:33: Fehler: Implizite Deklaration der Funktion »scsi_get_tag_type«; meinten Sie »scsi_get_prot_type«? [-Werror=implicit-function-declaration]
   scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
                                 ^~~~~~~~~~~~~~~~~
                                 scsi_get_prot_type
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_change_queue_type«:
/root/installation_non_raid_bios/partial/linux_main.c:1766:2: Fehler: Implizite Deklaration der Funktion »scsi_deactivate_tcq«; meinten Sie »scsi_device_tpgs«? [-Werror=implicit-function-declaration]
  scsi_deactivate_tcq(scsi_dev, 1);
  ^~~~~~~~~~~~~~~~~~~
  scsi_device_tpgs
/root/installation_non_raid_bios/partial/linux_main.c:1768:2: Fehler: Implizite Deklaration der Funktion »scsi_set_tag_type«; meinten Sie »scsi_set_prot_type«? [-Werror=implicit-function-declaration]
  scsi_set_tag_type(scsi_dev, qt);
  ^~~~~~~~~~~~~~~~~
  scsi_set_prot_type
/root/installation_non_raid_bios/partial/linux_main.c:1769:2: Fehler: Implizite Deklaration der Funktion »scsi_activate_tcq«; meinten Sie »scsi_execute_req«? [-Werror=implicit-function-declaration]
  scsi_activate_tcq(scsi_dev, scsi_dev->queue_depth);
  ^~~~~~~~~~~~~~~~~
  scsi_execute_req
/root/installation_non_raid_bios/partial/linux_main.c: Auf höchster Ebene:
/root/installation_non_raid_bios/partial/linux_main.c:1791:3: Fehler: »struct scsi_host_template« hat kein Element namens »proc_info«; meinten Sie »show_info«?
  .proc_info                   =  mv_linux_proc_info,
   ^~~~~~~~~
   show_info
/root/installation_non_raid_bios/partial/linux_main.c:1791:34: Fehler: Initialisierung von »struct proc_dir_entry *« von inkompatiblem Zeigertyp »int (*)(struct Scsi_Host *, char *, char **, off_t,  int,  int)« {alias »int (*)(struct Scsi_Host *, char *, char **, long int,  int,  int)«} [-Werror=incompatible-pointer-types]
  .proc_info                   =  mv_linux_proc_info,
                                  ^~~~~~~~~~~~~~~~~~
/root/installation_non_raid_bios/partial/linux_main.c:1791:34: Anmerkung: (nahe der Initialisierung für »mv_driver_template.proc_dir«)
/root/installation_non_raid_bios/partial/linux_main.c:1806:3: Fehler: »struct scsi_host_template« hat kein Element namens »change_queue_type«; meinten Sie »change_queue_depth«?
  .change_queue_type  = mv_change_queue_type,
   ^~~~~~~~~~~~~~~~~
   change_queue_depth
/root/installation_non_raid_bios/partial/linux_main.c:1806:24: Fehler: Initialisierung von »int (*)(struct Scsi_Host *)« von inkompatiblem Zeigertyp »int (*)(struct scsi_device *, int)« [-Werror=incompatible-pointer-types]
  .change_queue_type  = mv_change_queue_type,
                        ^~~~~~~~~~~~~~~~~~~~
/root/installation_non_raid_bios/partial/linux_main.c:1806:24: Anmerkung: (nahe der Initialisierung für »mv_driver_template.map_queues«)
/root/installation_non_raid_bios/partial/linux_main.c:1833:3: Fehler: »struct scsi_transport_template« hat kein Element namens »eh_timed_out«
  .eh_timed_out   =  mv_linux_timed_out,
   ^~~~~~~~~~~~
/root/installation_non_raid_bios/partial/linux_main.c:1833:21: Fehler: Initialisierung von »struct list_head *« von inkompatiblem Zeigertyp »enum blk_eh_timer_return (*)(struct scsi_cmnd *)« [-Werror=incompatible-pointer-types]
  .eh_timed_out   =  mv_linux_timed_out,
                     ^~~~~~~~~~~~~~~~~~
/root/installation_non_raid_bios/partial/linux_main.c:1833:21: Anmerkung: (nahe der Initialisierung für »mv_transport_template.host_attrs.ac.node.next«)
/root/installation_non_raid_bios/partial/linux_main.c:1832:63: Warnung: geschweifte Klammern fehlen um Initialisierung [-Wmissing-braces]
 static struct scsi_transport_template mv_transport_template = {
                                                               ^
  .eh_timed_out   =  mv_linux_timed_out,
                     {{{
 };
 }}}
/root/installation_non_raid_bios/partial/linux_main.c: In Funktion »mv_linux_timed_out«:
/root/installation_non_raid_bios/partial/linux_main.c:1217:1: Warnung: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Wreturn-type]
 }
 ^
cc1: Einige Warnungen werden als Fehler behandelt
make[2]: *** [scripts/Makefile.build:316: /root/installation_non_raid_bios/partial/linux_main.o] Fehler 1
make[1]: *** [Makefile:1544: _module_/root/installation_non_raid_bios/partial] Fehler 2
make[1]: Verzeichnis „/usr/src/kernels/4.18.0-240.15.1.el8_3.x86_64“ wird verlassen
make: *** [Makefile:144: all] Fehler 2

I have no clue whats wrong and how to resolve it.

Does some one know whats wrong or what i missed? How can i install a driver for the Marvell Controller?

Thanks for any advice! Any help is appreciated.


Discoveries / Findings

EDIT: In the pdf "what bios to choice" from the hightpoint side, it says that the use of the non-raid bios supports the linux "mvsas" driver.

With the Non-RAID BIOS installed, the RocketRAID 272x/271x HBA can only support single disk configurations. This mode allows the HBA to essentially function as a non-RAID “Rocket”2700 model, and can support Linux OS’s embedded mvsas driver.

How can i use/load the mvsas driver?

EDIT 2: Found out that the mvsas driver was removed in CentOS 8. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/considerations_in_adopting_rhel_8/hardware-enablement_considerations-in-adopting-rhel-8

In the CentOS 8 plus kernel the driver was added again: https://bugs.centos.org/view.php?id=16762 & https://bugs.centos.org/view.php?id=16817

What is the advantage of using the plus kernel across from the standard kernel?

1 Answer 1

0

I found a solution for my problem. I use the "mvsas" driver which was remove from CentOS 8.

The elrepo project has ready-to-install packages which can be found here: https://elrepo.org/linux/dud/el8/x86_64/ (thanks for the incrediable work!)

Mount the driver iso:

mount dd-mvsas-0.8.16-3.el8_3.elrepo.iso /media/
cd /media/rpms/x86_64

Install the driver package with:

rpm -i kmod-mvsas-0.8.16-3.el8_3.elrepo.x86_64.rpm

Reboot the system. Afer the reboot completes, all attached disks show up.

Side note: I flashed the original quick bios to the controller, even with that and the mvsas driver i can use all disks indivudal. However, i use the non-raid bios in the end.

Make sure to uninstall all other drivers used before.

hptuninrr272x_1x

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .