Installing 8.2 booting std Proxmox iso & mpt3sas-driver

Hmmmm. As a general thought, it might be possible to manually unload the wrong driver from the terminal (using one of the Control-Alt-F<something> consoles), then load the correct one instead.

If you do that on the very first screen of the Proxmox installer before it shows the disk selection screen, it might then show the correct drives for the rest of the install to use.

That's purely a guess though. I don't have one of those controllers to experiment with. I've used the terminal mode during install to diagnose other stuff, though not tried changing the running drivers before.
 
Hmmmm. As a general thought, it might be possible to manually unload the wrong driver from the terminal (using one of the Control-Alt-F<something> consoles), then load the correct one instead.

If you do that on the very first screen of the Proxmox installer before it shows the disk selection screen, it might then show the correct drives for the rest of the install to use.

That's purely a guess though. I don't have one of those controllers to experiment with. I've used the terminal mode during install to diagnose other stuff, though not tried changing the running drivers before.
Can you help me ?
Which commands to unload megaraid-sas and load mpt3sas-driver ?

Thanks
 
@blondie63 You'll need to do some experimenting. ;)

These are the commands that I think will be useful for you:

  • lspci - this displays a list of PCI/PCIe devices attached to the computer. It has a number of options (check the man page), but you'll probably want to use lspci -s, and lspci -s -v
  • grep - this filters the output from a previous command, so just the lines with a desired text fragment are shown. grep -i does case insensitive matching
  • lsmod - this lists the kernel modules (ie drivers) currently loaded in your system
  • rmmod - this unloads a kernel driver
  • modprobe - this loads a kernel driver

So, I'd probably start with trying to confirm the driver being used for your LSI card.

Here's an example of using lspci to check the driver being used, but for a (different) card on my system. The principle should be the same for yours:

Bash:
# lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
(and a whole bunch more)

The list generated by lspci is often WAAAY too long, so use the grep command to filter out anything not containing the term you want (for example) "LSI":

Bash:
# lspci | grep -i LSI
02:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)

You're only really after the first part of the line, the 02:00.0 bit. That's the (PCIe) address of the LSI controller attached to my system.

You use that address with the lspci -s option, then add -v (aka "verbose info") which tells lspci to give more details.

Like this:

Bash:
# lspci -s 02:00.0 -v
02:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)
        DeviceName: Integrated RAID                 
        Subsystem: Dell SAS2308 PCI-Express Fusion-MPT SAS-2
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
(...)
        Capabilities: [190 v1] Dynamic Power Allocation <?>
        Capabilities: [148 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 0
                ARICtl: MFVC- ACS-, Function Group: 0
        Kernel driver in use: mpt3sas
        Kernel modules: mpt3sas

The last two lines of the output show the kernel module/driver loaded for that device. So, in my case the mpt3sas driver is in use. Yours sounds like it'll be megaraid instead.

Next, I'd run the lsmod command to get the list of loaded kernel modules (and pipe that through sort for easier reading). It'll be a long list, so you'd probably want to use the grep thing again to filter out anything not containing (for example) "mpt".

Bash:
# lsmod | sort | grep -i mpt
mpt3sas               364544  8
raid_class             12288  1 mpt3sas
scsi_transport_sas     53248  1 mpt3sas

So we can see the mpt3sas kernel module is loaded on my system and it's used by the raid_class and scsi_transport_sas kernel modules.

I'd unload it by running this:
Bash:
# rmmod mpt3sas

I'm not actually going to run it on my system though, as it would screw up my system. It actually uses those disks. :)

In your case, it'll probably be this instead:

Bash:
# rmmod megaraid

Anyway, with that module unloaded if you run the lspci command again to show your device info, it should display a blank entry for the "Kernel modules" line.

You can then manually run the modprobe command to try loading the driver you want. In your case it'll probably be this:

Bash:
# modprobe mpt3sas

If no errors are returned, then use the lspci command again to see if your card is using the new driver. And maybe the lsmod command again as well, just to see what mpt related modules are loaded (like I did above).

Oh, the scsi kernel modules/drivers that are available to load are in the /usr/lib/modules/KERNEL_VERSION/kernel/drivers/scsi/ directory on your system. You should be able to get that list by running this:

# ls -la /usr/lib/modules/`uname -r`/kernel/drivers/scsi/

Hopefully that helps. :)
 
Last edited:
linux modules are easy to work with, but I'm having a hard time understanding what problem you are trying to fix. are you saying that the installer does not see your VDs?
Yes, installer does not recognize any VD !
I found this way: I chose the item "Install Proxmox with terminal debug"
So he leaves and stays on this page for a long time
He then says that he can't find any disks and by pressing ok I can go to the command prompt.

Typing lspci I get this:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 V6/7th Gen Core Processor
00:01.0 PCI bridge: Intel Corporation Gen Core Processor PCIe Host Bridge/DRAM Registers (rev 05)
00:14.0 USB controller: Intel
00:14.2 Signal Corporation processing controller: 100 Series/C230 Series Chipset Family USB 3.0 XHCI Controller (rev 31)
00:16.0 Communication controller: Series Chipset Family Thermal Subsystem (rev 31)
00:16.1 Communication controller: Intel 100 Series/C230 Series Chipset Family MEI Controller #1 Series/C230 Series Chipset Family MEI Controller #2 (rev 31)
00:17.0 SATA controller: Intel
00:10.0 PCI bridge: Corporation Q170/@150/B150/H170/H110/2170/CM236 Chipset SATA Controller [AHCI Model Intel Corporation
00:10.5 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:10.6 PCI 100 Series/C230 Series Chipset Family PCI Express Root Port #6 (rev f1)
00:1f.0 bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #7 (rev f1) Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev
01:00.0 RAID bus controller: Broadcom / LSI MegaRAID Chipset Family SMBus (rev 31)
02:00.0 VGA compatible controller: Matrox Electronics
02:00.1 Co-processor: Emulex Corporation ServerView Systems Ltd. MGA G200e [Pilot] ServerEngines (SEP1) (rev 05)
03:00.0 Ethernet 1210 Gigabit Network Connection (rev 03)
04:00.0 Ethernet 1210 Gigabit Network Connection (rev 03)

Running "lsmod | sort | grep -i mpt" i've no result
Running "lsmod | sort | grep -i mega" i've this:
FJ-raid-driver-loaded.png

What you think i can do ?
 
how do I go to the command prompt
Control-Alt-F3. :)

There are a few different um... window things available when you're using the standard installer, by pressing Control-Alt-F<something>.
  1. Control-Alt-F1 seems to be the output of the installer
  2. Control-Alt-F2 seems to be the output from the kernel log (or maybe X server output?)
  3. Control-Alt-F3 seems to be a command prompt for people to use for doing stuff when needed
  4. Control-Alt-F4 is the installer window
There's probably an official list of what each of these are, but I haven't looked for such a thing yet. ;)
 
Last edited:
01:00.0 RAID bus controller: Broadcom / LSI MegaRAID Chipset Family SMBus (rev 31)
In your lspci output, that's the raid controller.

So, use lspci to check which driver it's using. Run this and look for the driver info in the last two lines:

Bash:
lspci -s 01:00.0 -v
 
Oh, I wonder if your LSI controller is running in "IR" mode rather than "IT" mode?

That used to be a thing with older LSI controllers, where they could be flashed to have RAID firmware (IR mode), or non-RAID firmware (IT mode).

I've only ever used the ones using non-RAID firmware (IT mode), so I'm not super clued in on the differences and if it's even a thing in newer cards.
 
Last edited:
Cool. That shows it's currently using the kernel module called megaraid_sas, which lines up with your use of the lsmod command earlier showing that module being loaded by the kernel.

If you unload that module from the running kernel (rmmod megaraid_sas), what happens if you then try loading the mpt3sas kernel module (modprobe mpt3sas)?

I'm half expecting that the modprobe command will work, loading the kernel module into memory... but it might not want to work with your card.

If that mpt3sas kernel module does load, but your card doesn't automatically start using it, then something else is going on (maybe the firmware thing?).
 
Just wonder if any other normal Linux ISO, rocky 9, Ubuntu 24 will show up the disk storage and you may reference the driver in used.

Cheers,
 
Cool. That shows it's currently using the kernel module called megaraid_sas, which lines up with your use of the lsmod command earlier showing that module being loaded by the kernel.

If you unload that module from the running kernel (rmmod megaraid_sas), what happens if you then try loading the mpt3sas kernel module (modprobe mpt3sas)?

I'm half expecting that the modprobe command will work, loading the kernel module into memory... but it might not want to work with your card.

If that mpt3sas kernel module does load, but your card doesn't automatically start using it, then something else is going on (maybe the firmware thing?).
I can unload megaraid_sas and load mpt3sas without error but after this how can i see the virtual drive ?
 
Just wonder if any other normal Linux ISO, rocky 9, Ubuntu 24 will show up the disk storage and you may reference the driver in used.

Cheers,
I've tried Debian 12.5.0 and Ubuntu 24.04 but neither sees the Virtual Drive created by the CP400i controller configuration
 
after this how can i see the virtual drive ?
Use the lsblk command for that. It lists all of the "block devices" attached to the system.

See if the virtual drive shows up once the megaraid device driver has been unloaded + the mpt3sas has been loaded.

The related question is whether the LSI card is using that mpt3sas kernel module after you load it?

If it isn't, then then there are probably two potential paths to follow:

a) Change the firmware on your card to be the "IT" mode thing. I've done this before with my LSI cards, and although its a bit nervous causing the first time around it's actually not super hard. :)

or b) Download and install the Megaraid utilities for Linux from Broadcom (or Fujitsu?)

This seems like a version of the Megaraid command line utilities ("StorCLI") that should work for your card:

https://docs.broadcom.com/docs/007.2203.0000.0000_Unified_StorCLI.zip

I found that on the Broadcom site just now, but haven't used it before personally. To find that, I went looking for cards with the same chipset as yours... but nothing showed up as it's no longer on their supported list.

So instead I picked a random newer card that is in their supported list, went to it's Downloads tab, picked the "Management Software and Tools" section, switched to the "Archive" sub-tab and started reading a few "Read Me" files for older releases, looking for one that supports cards with your chip set.

The "7.22" release and older seem to, so it's probably among the downloads for that. You might need to convert whatever the package format is to something that works on Debian. The tool "alien" seems to be what people recommend for doing that conversion.



As @alexskysilk suggested, some screenshots of your virtual drive settings is probably a good idea too. There might be something that needs changing there and everything might just magically work after that. :)
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!