SAS Expander Driver

Hi All,

Is there a template somewhere that shows how to create a basic driver a SCSI SAS Expander and what I need to do?

I know that Microsoft has a driver, which expanders use, if a user provides no driver, but the default Microsoft driver does not expose any interfaces, which allow one to open a channel using CreateFile and then call DeviceIOControl, ReadFile, and/or WriteFile.

Thanks in advance.

xxxxx@jmr.com wrote:

Hi All,

Is there a template somewhere that shows how to create a basic driver
a SCSI SAS Expander and what I need to do?

I know that Microsoft has a driver, which expanders use, if a user
provides no driver, but the default Microsoft driver does not expose
any interfaces, which allow one to open a channel using CreateFile
and then call DeviceIOControl, ReadFile, and/or WriteFile.

Well I’ve spent a fair bit of time developing software that runs on SAS
expanders and software that talks to them. The main reason there isn’t a
sample driver is that people writing software to talk to devices like
that open the SCSI HBA device and use the SCSI Passthrough IOCTLs as
this means that all development is done in user mode with no need for a
kernel mode driver at all. As with all device driver work why do
something in kernel mode when an application or service can do it in
user mode. There isn’t usually any high throughput requests that need to
be sent to an expander either. Even if there was the limiting factor in
most cases would be the performance of the firmware running in the
expander rather than the SCSI passthrough interface.

The only reason for the MS provided placeholder driver is to keep the
Windows Add hardware/device manager code from complaining about a device
with no driver.

What sort of SCSI target type does your expander report? I’ve seen them
report as both SES targets and processor targets. It is also potentially
the case that the expander doesn’t support any sort of user level SCSI
access (no SSP target enabled). In this case you can only send SMP
commands to the expander and the interface to do that is vendor specific
and depends on the HBA in the system.

Mike

Mike Pumford, Senior Software Engineer
MPC Data Limited
e-mail: xxxxx@mpcdata.com web: www.mpcdata.com
tel: +44 (0) 1225 710600 fax: +44 (0) 1225 710601
ddi: +44 (0) 1225 710635

MPC Data Limited is a company registered in England and Wales with
company number 05507446
Registered Address: County Gate, County Way, Trowbridge, Wiltshire,
BA14 7FJ
VAT no: 850625238

The information in this email and in the attached documents is
confidential and may be legally privileged. Any unauthorized review,
copying, disclosure or distribution is prohibited and may be unlawful.
It is intended solely for the addressee. Access to this email by anyone
else is unauthorized. If you are not the intended recipient, please
contact the sender by reply email and destroy all copies of the original
message. When addressed to our clients any opinions or advice contained
in this email is subject to the terms and conditions expressed in the
governing contract.