Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

socom_22

macrumors member
Dec 28, 2022
59
42
So I ended up ordering a couple of those HP-branded LSI SAS3041E-HP cards. I figured that if the chipset is identical, they should be flashable.

Upon receiving the cards and installing them, sure enough, they prevented my Quad from booting - frozen at the Apple logo. No worries, immediately into a DOS PC they went and I flashed them using the process consolidated by @V.Yakob in post 203. I then used LSIUtil to configure the cards to run at 3-gigabit speeds.

This is to confirm that this worked for me with the HP cards. As you can see, OpenFirmware detects the card as a scsi-2 device and the FCode expansion ROM has been successfully loaded. I did not test booting because I really don't want to disassemble my FC setup right now, but I am quite confident that the cards are bootable.

1702452476115.png
 
  • Like
Reactions: LightBulbFun

Tratkazir_the_1st

macrumors 6502a
Original poster
Feb 11, 2020
956
511
Russia, Moscow region
OpenFirmware detects the card as a scsi-2 device
This is really funny thing :D. I think so - if card has FCode ROM onboard & you see it's properties in OF Shell - it have to be bootable.
BTW - you can try to find LSI3081E-R - 8 port elder brother, SFF-8087 ports :). According to official specs - it supports SPARC Solaris & obviously have FCode ROM onboard. https://docs.broadcom.com/doc/12352186
 

socom_22

macrumors member
Dec 28, 2022
59
42
This is really funny thing :D. I think so - if card has FCode ROM onboard & you see it's properties in OF Shell - it have to be bootable.
It's actually completely normal and expected. SAS = Serial Attached SCSI and the LSI SAS1064E "Fusion MPT" chip is essentially just a multi-port SCSI host bus controller.

We also cannot assume that just because the Fcode has loaded properly and the card is configured with additional properties on the OF device tree, that the card is bootable. The necessary drivers must be implemented to allow booting. For LSI SAS and FC cards with Fcode ROMs, usually they are (for OS X at least).

This is the reason why no one has figured out how to boot OS9 from LSI fibre channel or SAS cards yet. OS9 does include drivers/extensions for these types of controllers but sadly cannot boot from them.
 
Last edited:

socom_22

macrumors member
Dec 28, 2022
59
42
As a follow-up to my previous post about flashing the HP-branded cards, I discovered an interesting limitation with the G5 Quad which I also encountered previously with other LSI fibre channel cards as well.

What I discovered a couple years ago is that if I take any 3 LSI Logic fibre channel cards and plug them into a Quad, it works just fine and I can boot normally. If I add a fourth card, the system does not boot into OS X but instead redirects to the OpenFirmware prompt showing the below error:

Method <SetQuietEnable> not found; ihandle=0 phandle=0

1702487213094.png


The interesting part is that ANY combination of >3 LSI Logic Fusion-MPT controllers (any mix of >3 SAS or Fibre Channel LSI cards present) will refuse to boot.

I have been stumped by this limitation for years now and I need some help to figure it out.

I need to understand what exactly this error means and what might be preventing multiple FC/SAS controllers from working together. As I mentioned any combination of 3 controllers or less present on the PCI bus work just fine. I am not clear whether this is a limitation in OpenFirmware or whether it is a limitation or conflict in the LSI Logic firmware which initializes and configures the Fusion-MPT controllers. If anyone has any ideas I am all ears.

If I can find a way around this limitation, it would allow me to use use more controllers simultaneously and unlock some really amazing storage possibilities never before attempted on a PowerPC Mac.
 
Last edited:

Tratkazir_the_1st

macrumors 6502a
Original poster
Feb 11, 2020
956
511
Russia, Moscow region
This is the reason why no one has figured out how to boot OS9 from LSI fibre channel or SAS cards yet.
By "bootable" I mean that LSI controller/HBA installs it's PCI ROM & export drives further, as it works with PCs. SCSI\SAS HBAs usually load PCI ROM & install their BIOS extension, and drives are visible through int13h (excuse me if I explain it cumbersome :) ). After successful BIOS install drives accessible even in DOS :). BTW, where can I read about similar procedures but for PowerMacs?
 

joevt

Contributor
Jun 21, 2012
6,689
4,087
As a follow-up to my previous post about flashing the HP-branded cards, I discovered an interesting limitation with the G5 Quad which I also encountered previously with other LSI fibre channel cards as well.

What I discovered a couple years ago is that if I take any 3 LSI Logic fibre channel cards and plug them into a Quad, it works just fine and I can boot normally. If I add a fourth card, the system does not boot into OS X but instead redirects to the OpenFirmware prompt showing the below error:

Method <SetQuietEnable> not found; ihandle=0 phandle=0

The interesting part is that ANY combination of >3 LSI Logic Fusion-MPT controllers (any mix of >3 SAS or Fibre Channel LSI cards present) will refuse to boot.

I have been stumped by this limitation for years now and I need some help to figure it out.

I need to understand what exactly this error means and what might be preventing multiple FC/SAS controllers from working together. As I mentioned any combination of 3 controllers or less present on the PCI bus work just fine. I am not clear whether this is a limitation in OpenFirmware or whether it is a limitation or conflict in the LSI Logic firmware which initializes and configures the Fusion-MPT controllers. If anyone has any ideas I am all ears.

If I can find a way around this limitation, it would allow me to use use more controllers simultaneously and unlock some really amazing storage possibilities never before attempted on a PowerPC Mac.

[B]Method <...> not found; ihandle=0 phandle=0[/B]
Is an error message from $call-method which has existed since the B&W G3.

Can you show .properties and words from each card? Or just do a dump-device-tree to capture everything.

Does .log show anything interesting?

If you have a second Mac or PC, then you can capture text from Open Firmware using telnet.

Maybe there's a limit in Open Firmware that is being reached?

There might be some ideas for debugging at https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/
 

flyproductions

macrumors 65816
Jan 17, 2014
1,049
445
The necessary drivers must be implemented to allow booting. For LSI SAS and FC cards with Fcode ROMs, usually they are (for OS X at least).
Yes, looks like they are! The Quad, Sorbet Leopard in this case, boots perfectly fine with the card. Even a Raid0 which the Mac Pro cannot.
 

tfelder

macrumors newbie
Jan 13, 2023
6
14
Now I'm in search for SAS card (or at least SATA2) for G4 (MDD) :D.

So... a bit late to reply here, but you can definitely do this with the SAS3041E cards.

  • It only works with 1 disk attached, probably because the controller refuses to initialize more than a single PCI lane when it's on the PCI-PCIe-Adapter.
  • It's not faster than an IDE-to-SATA adapter
IMG_0201.jpg
 

Attachments

  • PCI-PCIe SAS3041E SAMSUNG MZ7TD128HAFV.png
    PCI-PCIe SAS3041E SAMSUNG MZ7TD128HAFV.png
    123.3 KB · Views: 37

Betonmischer_86

macrumors newbie
Apr 28, 2024
2
0
I have the exact same LSI SAS3041E-R, and it booted in my G5 Quad out of the box. Until I decided to flash it from IR to IT mode to disable the built-in RAID capabilities and gain some extra performance that way. As expected, the latest version of bios from Broadcom made the system unbootable until I applied the fcode patch from this thread. Curiously, when I reverted both firmware and bios from backup to those the card came with, it won't boot either. Would someone take a look at my original bios dump to figure out why?
 

Attachments

  • bios_old.rom.zip
    115.5 KB · Views: 8
Last edited:
I have the exact same LSI SAS3041E-R, and it booted in my G5 Quad out of the box. Until I decided to flash it from IR to IT mode to disable the built-in RAID capabilities and gain some extra performance that way. As expected, the latest version of bios from Broadcom made the system unbootable until I applied the fcode patch from this thread. Curiously, when I reverted both firmware and bios from backup to those the card came with, it won't boot either. Would someone take a look at my original bios dump to figure out why?
Put the hba in a PCIe based PC and check the entries in the cards NVRAM (bios) ! To my knowledge the fcode reads the cards NVRAM too ! If the NVRAM is corrupted or has inappropriate boot settings the g5 will see the ssd but won’t boot from it.

Just to make sure if I did get it right - is the g5 not booting with the hba inserted (no Apple logo) or is the g5 just deneying to boot from the attached ssd ?
 

Betonmischer_86

macrumors newbie
Apr 28, 2024
2
0
Put the hba in a PCIe based PC and check the entries in the cards NVRAM (bios) ! To my knowledge the fcode reads the cards NVRAM too ! If the NVRAM is corrupted or has inappropriate boot settings the g5 will see the ssd but won’t boot from it.
To be clear, that's what did work so far and what didn't:

1. My HBA with its BIOS, firmware and NVRAM settings as it came out of the box was bootable in the G5.
2. I nuked the HBA with 'sasflash -o -e 6' to install the latest BIOS and IT mode firmware from Broadcom. Otherwise, it wouldn't let me write an IT mode firmware over an IR one. After that the HBA was no longer bootable. The G5 would still boot from other sources (internal SATA etc.).
3. I erased the HBA once more and restored the original BIOS and firmware from backup, but that didn't make it bootable.
3. The FCODE patch from this thread over the latest IT firmware and BIOS from Broadcom made it bootable again. Which is how I currently use it.

Here's what I make out of this. The original BIOS had FCODE included along with other boot services, as the HBA was bootable in the G5 out of the box. But FCODE alone apparently isn't enough, you need specific NVRAM variables to be set. On the other hand, if all other boot services except for FCODE are removed (which is what the patch does), the default NVRAM variables work just fine.

If we can figure out what those variables are, for SOME cards there will be no need for a patched BIOS, provided the stock one has FCODE included. I don't mind using a custom BIOS, but modifying this old HBA is a huge pain. From what I found, you need a PC motherboard with either a BIOS (not UEFI) or a 32-bit UEFI to be able to erase the flash memory with sasflash. I'm not sure if the same is true for straight upgrading though, as I didn't try to do that in a modern PC.

Unfortunately, I didn't take note of the original variables in the PC boot utility (or lsutil) prior to nuking the flash. And I'm not eager to set up a Socket AM2 bench system again for experimentation, to be honest. :) Still, I'm willing to give it a try someday.

BTW, switching from IR to IT firmware seems to be worth it in the end. My 4KB sequential reads in Xbench went from 270 to 290 MB/s using two 15K HDDs in RAID0. That could be due to a newer firmware alone though. I wonder if anyone else would like to try it and post their results. Apparently, those HBAs are set up for IR by default.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.