Emulex/Broadcom Fibre Channel Hardware on Linux

Hey L1T community!

Long time viewer here, first time actually posting on the forums!

I’ve recently acquired a bunch of Emulex Fibre Channel HBAs from ~2007. AFAIK they’re IBM OEM Cards, of the type Emulex LPE12002 (8Gb/s)

I spent a fare bit of time with these cards now, trying them under different Linux systems and they do seem to be supported by the mainline LPFC kernel module on any decently recent distro I tried.

Now here’s where things turn messy:

I wanted to use them running in Target mode for my homelab, but I just can’t seem to find any way to make it work beyond asking Broadcom for their OneCore Storage SDK (which I have to admit I haven’t yet given a try).

TargetCLI to controle the LIO does support FC targets, but seems to do so only with the QLogic cards.

Changing gears to ESOS and SCST, they do support Emulex cards only if you compile with the added SDK from broadcom.

For the mainline LPFC module, I can’t seem to find a proper documentation about how to make the card behave as a Target.

Maybe I’m missing something obvious here. Maybe these cards really aren’t supported in Target mode at all without begging Broadcom. Maybe I’m just taking a completely wrong approch to this.

Am I better off just shelling out another 30 bucks for a QLogic card and use the Emulex cards as Initiators?

Should I ditch Fibre Channel completely? (I imagined it as a good learning experience about FC)

PS.: Have a great day, and thank you for reading!

1 Like

I have not tried this in ages but I think that you need to QLogic cards in place. That is how they were used at a place that I worked in the past. You may be able to recompile with the SDK but I have no experience with that.

With that being said, maybe the cards need to be reflashed to put into Target mode. The kernel now has a lot of firmware support and the ability to flash firmware to hardware now. It may be supported. I wish that I could help more.

I’ve done some research into alternatives and found that I’ve gotten myself stuck in a time machine of archaic technologies.

These cards were fairly cheap for EU standards as the Ethernet above 1GbE (and let’s be honest the only logical step would be to raise to 40GbE) is almost unobtainably expensive even used (talking ~200$ and up per card + SFP modules.

Now I’m contemplating on how to proceed. Eat up the cost of the FC cards, ditch that mess and try something else, maybe importing QSFP Modules from the States or go through with this, buy a QLogic card as Target and use the ones I have as Initiators…

Well this has been a learning experience for sure. FC usage is still fairly common from the companies that have on-premise infra my area. (I asked around a bit) Man…

1 Like

Just in case someone from the future is reading this and needs more info about the same problem:

  1. The emulex cards basically do not support target mode on linux unless you get your hands on the broadcom SDK. ESOS supports compiling with the SDK if you get your hands on it. Sadly the only way to do so seems to be begging broadcom.

  2. I bought some QLogic HBA cards (2560 iirc) and they are working great OOTB. I’ve been using ESOS as the target operating system and with just a simple config it’s up and running (everything’s described on their wiki)

  3. The Emulex cards work fine as initiators, so that’s what I’m using them for now.

Sources:

Broadcom SDK (no download link)
ESOS
ESOS Documentation

2 Likes

I can’t check it out on this computer, but I found this and one of the packages says SDK https://de.pcdrivers.guru/avago-onecore-storage-sdk-program/download-738622.html

Hello there.
I was stuck exactly like you with old Emulex cards.
Actually I made it working as a target, without any answer or help from Broadcom.
If you are still interested, I can post the full solution.

Hi ardianp, can you post the full solution.
I have with me old Emulex Corporation LPe12000 Series 8Gb Fibre Channel Adapter (rev 03) need to make it working as a target in Linux.

Hi ardianp, can you post the full solution.
I have with me old Emulex Corporation LPe12000 Series 8Gb Fibre Channel Adapter (rev 03) need to make it working as a target in Linux.