# LSI MegaRAID Drivers for FreeBSD 10



## serveroneblu (Apr 14, 2014)

Hello,
I'm trying to install LSI MegaRAID Drivers (Firmware version:2.130.353.-1663) on FreeBSD 10. Searching on LSI website the driver for MegaRAID SAS 9280-24i4e I have found only this version FreeBSD - MR 4.10  for FreeBSD 7.x, 8.x, and 9.x.
(http://www.lsi.com/support/Pages/downlo ... 9280-24i4e)

I try to install this version anyway, the file mfi_tbolt.c was missing on freebsd_components.tgz by LSI
I found it for FreeBSD 8 here: http://sources.freebsd.org/RELENG_8/src ... fi_tbolt.c
but I'm failing miserably 
I have some errors compiling the kernel on FreeBSD 10.

```
/usr/src/sys/dev/mfi/mfi_tbolt.c:73:15: error: unknown type name 'pMpi25IeeeSgeChain64_t'
    *mfi_cmd, pMpi25IeeeSgeChain64_t sgl_ptr, struct mfi_cmd_tbolt *cmd);
              ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:95:1: error: no previous prototype for function 'mfi_tbolt_enable_intr_ppc' [-Werror,-Wmissing-prototypes]
mfi_tbolt_enable_intr_ppc(struct mfi_softc *sc)
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:102:1: error: no previous prototype for function 'mfi_tbolt_disable_intr_ppc' [-Werror,-Wmissing-prototypes]
mfi_tbolt_disable_intr_ppc(struct mfi_softc *sc)
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:109:1: error: no previous prototype for function 'mfi_tbolt_read_fw_status_ppc' [-Werror,-Wmissing-prototypes]
mfi_tbolt_read_fw_status_ppc(struct mfi_softc *sc)
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:115:1: error: no previous prototype for function 'mfi_tbolt_check_clear_intr_ppc' [-Werror,-Wmissing-prototypes]
mfi_tbolt_check_clear_intr_ppc(struct mfi_softc *sc)
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:139:1: error: no previous prototype for function 'mfi_tbolt_issue_cmd_ppc' [-Werror,-Wmissing-prototypes]
mfi_tbolt_issue_cmd_ppc(struct mfi_softc *sc, bus_addr_t bus_add,
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:142:14: error: use of undeclared identifier 'MFI_REQ_DESCRIPT_FLAGS_MFA'
        bus_add |= (MFI_REQ_DESCRIPT_FLAGS_MFA
                    ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:143:9: error: use of undeclared identifier 'MFI_REQ_DESCRIPT_FLAGS_TYPE_SHIFT'
            << MFI_REQ_DESCRIPT_FLAGS_TYPE_SHIFT);
               ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:153:1: error: no previous prototype for function 'mfi_tbolt_adp_reset' [-Werror,-Wmissing-prototypes]
mfi_tbolt_adp_reset(struct mfi_softc *sc)
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:204:1: error: no previous prototype for function 'mfi_tbolt_init_globals' [-Werror,-Wmissing-prototypes]
mfi_tbolt_init_globals(struct mfi_softc *sc)
^
/usr/src/sys/dev/mfi/mfi_tbolt.c:207:6: error: no member named 'reply_size' in 'struct mfi_softc'
        sc->reply_size = MEGASAS_THUNDERBOLT_REPLY_SIZE;
        ~~  ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:207:19: error: use of undeclared identifier 'MEGASAS_THUNDERBOLT_REPLY_SIZE'
        sc->reply_size = MEGASAS_THUNDERBOLT_REPLY_SIZE;
                         ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:208:6: error: no member named 'raid_io_msg_size' in 'struct mfi_softc'
        sc->raid_io_msg_size = MEGASAS_THUNDERBOLT_NEW_MSG_SIZE;
        ~~  ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:208:25: error: use of undeclared identifier 'MEGASAS_THUNDERBOLT_NEW_MSG_SIZE'
        sc->raid_io_msg_size = MEGASAS_THUNDERBOLT_NEW_MSG_SIZE;
                               ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:216:6: error: no member named 'max_SGEs_in_main_message' in 'struct mfi_softc'
        sc->max_SGEs_in_main_message =
        ~~  ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:217:21: error: no member named 'raid_io_msg_size' in 'struct mfi_softc'
            (uint8_t)((sc->raid_io_msg_size
                       ~~  ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:218:9: error: invalid application of 'sizeof' to an incomplete type 'struct mfi_mpi2_request_raid_scsi_io'
            - (sizeof(struct mfi_mpi2_request_raid_scsi_io)
               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/sys/dev/mfi/mfi_tbolt.c:218:23: note: forward declaration of 'struct mfi_mpi2_request_raid_scsi_io'
            - (sizeof(struct mfi_mpi2_request_raid_scsi_io)
                             ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:219:15: error: use of undeclared identifier 'MPI2_SGE_IO_UNION'
            - sizeof(MPI2_SGE_IO_UNION))) / sizeof(MPI2_SGE_IO_UNION));
                     ^
/usr/src/sys/dev/mfi/mfi_tbolt.c:219:45: error: use of undeclared identifier 'MPI2_SGE_IO_UNION'
            - sizeof(MPI2_SGE_IO_UNION))) / sizeof(MPI2_SGE_IO_UNION));
                                                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
```
Thanks in advance,


----------



## ondra_knezour (Apr 14, 2014)

See this mailing list thread, may be related.


----------



## ondra_knezour (Apr 14, 2014)

And here is stated, that there is native support in FreeBSD from 9.1 release. May be there are only some IDs missing? The mfi() man page lists MegaRAID adapters up to 9260, but the Github repository README file includes 9280-24i4e.


----------

