Emulex SCSI & RAID Devices Driver Download For Windows 10

12/14/2021by admin

The Linux SCSI Target Wiki

Jump to: navigation, search

The advanced feature set of LinuxIOhas made it the SCSI target of choice for many storage array vendors, for instance allowing them to achieve VMware® Ready certifications. Native support for LIOin QEMU/KVM, libvirt, and OpenStack™ (setup, code) makes it an attractive storage option for cloud deployments. Emc approved common win 2000 scsi miniport 32-bit x86 driver,, emc approved windows 2000 scsi miniport 32-bit x86 driver. Accept, a scsi port driver is to enable a. The miniport drivers, because, linux and 9 systems. Emulex 95y2377, scsiport miniport driver. That's how it should work with the Emulex OneConnect cards like Emulex OCe10102, they all share the same IQN. What you do is simply add another IP on card/port number two, and if your storage array is intelligent enough it will see two IPs coming from this same IQN. This is the same principle as when you add a VMware Software ISCSI adapter.


Fibre Channel fabric module(s)
Original author(s)Nicholas Bellinger
Andrew Vasquez
Madhu Iyengar
Developer(s)Datera, Inc.
Initial releaseJuly 21, 2012
Stable release4.1.0 / June 20, 2012;
8 years ago
Preview release4.2.0-rc5 / June 28, 2012;
8 years ago
Development statusProduction
Written inC
Operating systemLinux
TypeFabric module
LicenseGNU General Public License
See LIO for a complete overview over all fabric modules.
QLogic Fibre Channel running at line rate in target mode with PCIe device passthrough and MSI-X polled interrupts across Linux/SCSI qla2xxx LLD request and response rings.
TCM v4.0 qla2xxx using PCIe device passthrough for target mode MSI-X interrupts, and QEMU Megasas HBA emulation into Windows7 64-bit guest.

Fibre Channel (FC) provides drivers for various FC Host Bus Adapters (HBAs). Fibre Channel is a gigabit-speed network technology primarily used for storage networking.


  • 4targetcli
  • 5Scripting with RTSlib


Fibre Channel is standardized in the T11 Technical Committee of the Inter National Committee for Information Technology Standards (INCITS), an American National Standards Institute (ANSI) - accredited standards committee.

Fibre Channel has been the standard connection type for storage area networks (SAN) in enterprise storage. Despite its name, Fibre Channel signaling can run on both twisted pair copper wire and fiber-optic cables.

The Fibre Channel Protocol (FCP) is a transport protocol which predominantly transports SCSI commands over Fibre Channel networks.

Hardware support

The following QLogic Fiber Channel HBAs are supported in 4/8-gigabit mode:

  • QLogic 2400 Series (QLx246x), 4GFC
  • QLogic 2500 Series (QLE256x), 8GFC (fully qual'd)

The QLogic Fibre Channel fabric module (qla2xxx.ko, Linux kernel driver database) for the Linux SCSITarget was released with Linux kernel 3.5 on July 21, 2012.[1]

With Linux 3.9, the following 16-gigabit QLogic Fibre Channel HBA is supported, which makes LIO the first open source target to support 16GFC:

  • QLogic 2600 Series (QLE266x), 16GFC, SR-IOV

With Linux 3.9, the following QLogic CNAs are also supported:

  • QLogic 8300 Series (QLE834x), 16GFS/10 GbE, PCIe Gen3 SR-IOV
  • QLogic 8100 Series (QLE81xx), 8GFC/10 GbE, PCIe Gen2

Enable target mode

By default, the upstream qla2xxx driver runs in initiator mode. To use it with LIO, first enable Fibre Channel target mode with the corresponding qlini_mode module parameter.[2]

To enable target mode, add the following parameter to the qla2xxx module configuration file:

Depending on your distribution, the module configuration file might be different, for instance:

  • /etc/modprobe.d/qla2xxx.conf: CentOS, Debian, Fedora, RHEL, Scientific Linux
  • /etc/modprobe.conf.local: openSUSE, SLES

In order for these changes to take effect, the initrd/initramfs will need to be rebuilt.

Please verify that initrd/initramfs is accepting the additional qla2xxx parameter.


targetcli from Datera, Inc. is used to configure Fibre Channel targets. targetcli aggregates LIO service modules via a core library, and exports them through an API, to provide a unified single-node SAN configuration shell, independently of the underlying fabric(s).

Cheat sheet

Command Comment
/backstores/iblock create my_disk /dev/sdb Create the LUN my_disk on the block device /dev/sdb
/qla2xxx create <WWPN> Create a Fibre Channel target
In /qla2xxx/<WWPN>:
luns/ create /backstores/iblock/my_disk
Export the LUN my_disk
In /qla2xxx/<WWPN>:
acls/ create <Initiator WWPN>
Allow access for the initiator at <WWPN>
/saveconfig Commit the configuration


targetcli is invoked by running targetcli as root from the command prompt of the underlying LIO shell.

Upon targetcli initialization, the underlying RTSlib loads the installed fabric modules, and creates the corresponding ConfigFS mount points (at /sys/kernel/config/target/<fabric>), as specified by the associated spec files (located in /var/target/fabric/fabric.spec).

Display the object tree

Use ls to list the object hierarchy, which is initially empty:

Per default, auto_cd_after_create is set to true, which automatically enters an object context (or working directory) after its creation. The examples here are modeled after this behavior.

Optionally, set auto_cd_after_create=false to prevent targetcli from automatically entering new object contexts after their creation:

Create a backstore

Create a backstore using the IBLOCK or FILEIO type devices.

For instance, enter the top-level backstore context and create an IBLOCK backstore from a /dev/sdb block device:

targetcli automatically creates a WWN serial ID for the backstore device and then changes the working context to it.

The resulting object hierarchy looks as follows (displayed from the root object):

Alternatively, any LVM logical volume can be used as a backstore, please refer to the LIO Admin Manual on how to create them properly.

For instance, create an IBLOCK backstore on a logical volume (under /dev/<volume_group_name>/<logical_volume_name>):

Again, targetcli automatically creates a WWN serial ID for the backstore devices and then changes the working context to it.

Instantiate a target

The Fibre Channel ports that are available on the storage array are presented in the WWN context with the following WWNPs, for instance:

  • 21:00:00:24:ff:31:4c:48
  • 21:00:00:24:ff:31:4c:49

Instantiate a Fibre Channel target, in this example for QLogic HBAs, on the existing IBLOCK backstore device my_disk (as set up in targetcli):

targetcli automatically changes the working context to the resulting tagged Endpoint.

Export LUNs

Declare LUNs for the backstore device, to form a valid SAN storage object:

targetcli per default automatically assigns the default ID '0' to the LUN, and then changes the working context to the new SAN storage object. The target is now created, and exports /dev/sdb as LUN 0.

Return to the underlying Endpoint as the working context, as no attributes need to be set or modified for standard LUNs:

Define access rights

Configure the access rights to allow logins from initiators. This requires setting up individual access rights for each initiator, based on its WWPN.

Determine the WWPN for the respective Fibre Channel initiator. For instance, for Linux initiator systems, use:

For a simple setup, grant access to the initiator with the WWPN as determined above:

targetcli per default automatically adds the appropriate mapped LUNs.

Display the object tree

The resulting Fibre Channel SAN object hierarchy looks as follows (displayed from the root object):

Persist the configuration

Use saveconfig from the root context to persist the target configuration across OS reboots:

Spec file

Datera spec files define the fabric-dependent feature set, capabilities and available target ports of the specific underlying fabric.

In particular, the QLogic spec file /var/target/fabric/qla2xxx.spec is included via RTSlib. WWN values are extracted via /sys/class/fc_host/host*/port_name in wwn_from_files_filter, and are presented in the targetcliWWN working context to register individual Fibre Channel port GUIDs.

Scripting with RTSlib

Setup script

The following Python code illustrates how to setup a basic Fibre Channel target and export a mappedLUN:

Note that while Fibre Channel TPGs are masked by targetcli, they are not masked by RTSlib.

Object tree

The resulting object tree looks as follows:


The following specifications are available as T10 Working Drafts:

  • Fibre Channel Protocol (FCP): FCP defines the protocol to be used to transport SCSI commands over the T11 Fibre Channel interface, 1995-12-04
  • SCSI Fibre Channel Protocol - 2 (FCP-2): FCP-2 defines the second generation Fibre Channel Protocol to be used to transport SCSI commands over the T11 Fibre Channel interface, 2002-10-23
  • Fibre Channel Protocol - 3 (FCP-3): FCP-3 defines the third generation Fibre Channel Protocol to be used to transport SCSI commands over the T11 Fibre Channel interface, 2005-09-13
  • Fibre Channel Protocol - 4 (FCP-4): FCP-4 defines the fouth generation Fibre Channel Protocol to be used to transport SCSI commands over the T11 Fibre Channel interface, 2010-11-09


  • Host Bus Adapter (HBA): provides the mechanism to connect Fibre Channel devices to processors and memory.


  • RFC 2625: IP and ARP over Fibre Channel
  • RFC 2837: Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard
  • RFC 3723: Securing Block Storage Protocols over IP
  • RFC 4044: Fibre Channel Management MIB
  • RFC 4625: Fibre Channel Routing Information MIB
  • RFC 4626: MIB for Fibre Channel's Fabric Shortest Path First (FSPF) Protocol

See also

  • LinuxIO, targetcli
  • FCoE, iSCSI, iSER, SRP, tcm_loop, vHost


  1. Linus Torvalds (2012-07-21). 'Linux 3.5 released'. marc.info.
  2. Nicholas Bellinger (2012-09-05). 'Re: targetcli qla2xxx create fails'. spinics.net.

External links

  • RTSlib Reference Guide [HTML][PDF]
  • Fibre Channel Wikipedia entry
  • QLogic Wikipedia entry
  • QLogic website
  • Emulex website
  • T11 home page
Timeline of the LinuxIO
FeatureLIO CoreLoop backFCoEiSCSIPerfSRP
vHostPerfMisc16 GFCiSERMiscVAAIMiscDIF Core
DIF iSERDIFFC vhostTCMU XenMiscMiscvirtio 1.0MiscNVMe OF
Retrieved from 'http://linux-iscsi.org/wiki/Fibre_Channel'
# lspci grep -i emulex
05:0d.0 Fibre Channel: Emulex Corporation LP9802 Fibre Channel Host Adapter (rev 01)
# cat /sys/class/scsi_host/host0/fwrev
1.90A4 (H2D1.90A4)
# cat /sys/class/scsi_host/host0/node_name
# cat /sys/class/scsi_host/host0/port_name
0x10000000c94f7dd9Emulex SCSI & RAID Devices Driver Download For Windows 10
# cat /sys/class/scsi_host/host0/lpfc_drvr_version
Emulex LightPulse Fibre Channel SCSI driver
# cat /sys/class/scsi_host/host0/serialnum
# cat /sys/class/scsi_host/host0/speed
2 Gigabit
# cat /sys/class/scsi_host/host0/state
Link Up - Ready:
Fabriccat /etc/redhat-release
[[email protected] ~]# cd /sys/class/scsi_host/host1/device/fc_host:host1/
[[email protected] fc_host:host1]# more port_name
How to identify/get QLogic WWN on Red Hat Enterprise Linux 5 (RHEL5).
First identify your installed or recognized
# lspci grep -i fibre
04:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
04:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
05:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
05:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
On Red Hat Enterprise Linux 5 (5.x) is on /sys/class/fc_host/hostX/port_name
(X is your device 1,2,3,…N)
For get use:
cat /sys/class/fc_host/hostX/port_name
Sample with multiple HBA (Fibre) QLogic
# ls /sys/class/fc_host/
host3 host4 host5 host6
# cat /sys/class/fc_host/host[3-6]/port_name

Emulex Scsi & Raid Devices Driver Download For Windows 10 Windows 10

On Red Hat Enterprise Linux 4 (AS/ES) is on /proc/scsi/qla2xxx/1 (1,2,3,..N)
# egrep [node port] /proc/scsi/qlx2xxx/0
# ls /sys/class/fc_host
host0 host1 host2 host3
fdisk -l 2>/dev/null egrep '^Disk' egrep -v 'dm-' wc -l
echo '1' > /sys/class/fc_host/host0/issue_lip
echo '- - -' > /sys/class/scsi_host/host0/scan
echo '1' > /sys/class/fc_host/host1/issue_lip
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '1' > /sys/class/fc_host/host2/issue_lip
echo '- - -' > /sys/class/scsi_host/host2/scan
echo '1' > /sys/class/fc_host/host3/issue_lip
echo '- - -' > /sys/class/scsi_host/host3/scan
cat /proc/scsi/scsi egrep -i 'Host:' wc -l
fdisk -l 2>/dev/null egrep '^Disk' egrep -v 'dm-' wc -l
delete LUN
#echo 1 > /sys/block/sdb/device/delete
#echo 1 > /sys/block/sdd/device/delete
How to rescan LINUX OS for new Storage with Emulex HBA card
by Kumar on September 9, 2011
1.How to rescan the new Storage in RHEL4/RHEL5 with Emulex HBA Cards
In order to get the fiber channel adapters detail to rescan, list the /sys/class/fc_host directory. In old RHEL 4 host you will not be getting this listing. In this case you can use the /sys/class/scsi_host directory but it will list all internal adapters too.
# ls -l /sys/class/fc_host
total 0
drwxr-xr-x 3 root root 0 Jul 9 02:37 host0
drwxr-xr-x 3 root root 0 Jul 9 02:37 host1
#echo '1' > /sys/class/fc_host/host1/issue_lip
#echo '1' > /sys/class/fc_host/host2/issue_lip
#echo '- - -' > /sys/class/scsi_host/host1/scan
#echo '- - -' > /sys/class/scsi_host/host2/scan
2. After rescanning, confirm whether you are seeing the new storage disks[LUN] by listing the content under proc
cat /proc/scsi/scsi or cat /proc/scsi/scsi grep scsi uniq
3. If you are using powerpath for multipathing, run the below command to scan the powerpath to get the newly added storage devices under powerpath control
powermt config
4. Then Check the newly added device under powerpath using the below command.
powermt display dev=all
5.If you are using device mapper multipathing, run the below command to scan the DMP to get the newly added storage devices under Linux DMP control
multipath -v1
multipath -v2
6.Then Check the newly added device under Linux DMP using the below command.
multipath -ll
How to scan newly added LUN using rescan-scsi-bus.sh ?
ENV : RHEL 5.4 and later
I suggest you NOT to scan the existing LUNs since I/O operations are still in use and if you scan them it will/may corrupt the file system.
So, I always suggest you to scan the new added device or storage. Once you add it,
HBA will detect the device and then you can scan this non-existent LUNs to the HBA. As an example you can execute the command like :
#rescan-scsi-bus.sh --hosts=1 --luns=2
Note : I assume that on host 1/or on HBA 1, lun 2 doesn't exist.
For more details please get help from :
Driver#rescan-scsi-bus.s --help
Here are outputs for commands:
Emulex scsi & raid devices driver download for windows 10 free# uname -a
Linux 64-cncrclinrpts 2.6.38-11-generic-pae #48-Ubuntu SMP Fri Jul 29 20:51:21 UTC 2011 i686 i686 i386 GNU/Linux
# file jasperreports-server-cp-4.1.0-linux-x64-installer.run
jasperreports-server-cp-4.1.0-linux-x64-installer.run: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.0, stripped
# ldd -r jasperreports-server-cp-4.1.0-linux-x64-installer.run
not a dynamic executable
install CCI
cd /
cpio -idmu < ./program/RM/HP-UX/RMHORC
This version supports hot adding new luns, etc. Please see text below on how
to perform the lun hot add procedure. The latest driver-v7.00.60-fo has the
mechanism which allows the user to force the driver to do re-scan of the
devices to allow a new device to be added. This triggers the driver to
initiate lun discovery process.
To do this from the command line:
#echo 'scsi-qlascan' > /proc/scsi/<driver-name>/<adapter-id> (qlogic
driver will re-scan)
Where <driver-name> can be either one : qla2100/qla2200/qla2300 <adapter-id>
~ is the instance number of the HBA.
Once that has been done , user then can force the scsi mid layer to do
its own scan
and build the device table entry for the new device:
# echo 'scsi add-single-device 0 1 2 3' >/proc/scsi/scsi
(scsi mid layer will re-scan) with '0 1 2 3'
replaced by your 'Host Channel Id Lun'. The scanning has to be done in
the above mentioned order.
First the driver (qla2300/qla2200 driver etc) and then the Linux scsi
mid layer.
You take a look into 'dmesg less' and search for the information about

Emulex Scsi & Raid Devices Driver Download For Windows 10 Free

'Host Channel Id Lun', the Lun you have to know, from the Storage
echo 'scsi-qlascan' > /proc/scsi/qla2200/1
echo 'scsi-qlascan' > /proc/scsi/qla2200/2
echo 'scsi add-single-device 1 0 0 6' >/proc/scsi/scsi
than take a look into 'cat /proc/partions' if the pation is not there
you can do a 'partprobe' (man partprobe).
+ Multi Path
#cat /etc/multipath.conf
multipaths {
multipath {
wwid 360060e80105425e0056fcaee0000000d
alias tuan
defaults {
user_friendly_names yes
blacklist {
devnode 'sda'
# multipath -ll
tuan (360060e80105425e0056fcaee0000000d) dm-2 HITACHI,DF600F

Emulex Scsi & Raid Devices Driver Download For Windows 10 64

_ round-robin 0 [prio=1][active]
_ 1:0:0:0 sdb 8:16 [active][ready]
_ round-robin 0 [prio=0][enabled]

Emulex SCSI & RAID Devices Driver Download For Windows 10

_ 2:0:0:0 sdc 8:32 [active][ready]
Comments are closed.