I am trying to get an LSI 9300 SAS HBA working in FreeBSD 11.2. I'm currently running driver 18:

# dmesg | grep mpr
mpr0: <Avago Technologies (LSI) SAS3008> port 0xa000-0xa0ff mem 0xfb300000-0xfb30ffff at device 0.0 numa-domain 0 on pci5
mpr0: Firmware:, Driver:

I'm having trouble seeing all the disks so I want to update the driver to version 20 but I don't know how to update it. I downloaded it and tried:

# kldload ./mpr.ko
kldload: can't load ./mpr.ko: module already loaded or in kernel.

Since this module does not appear in kldstat unless I use -v, I believe this means it's built into the kernel. On Linux I could blacklist it in modprobe.d but how does this work on FreeBSD?

  • Get FreeSD sources and take a look into sys/amd64/conf/GENERIC file.
    – arrowd
    Commented Sep 14, 2019 at 5:09
  • Are you saying I have to recompile the kernel just to update a driver?
    – Elliott B
    Commented Sep 14, 2019 at 5:11
  • AFAIK, it is an only way, if the driver is statically compiled into the kernel.
    – arrowd
    Commented Sep 14, 2019 at 5:12

1 Answer 1


The answer from LSI support is actually very simple.

Copy the file mpr.ko to /boot/kernel/ and add this line to /boot/loader.conf:


You must log in to answer this question.

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