Hello,
We are chip vender for the IDE/ATA storagebox that is connected to 1394
(Firewire).
Microsoft’s generic 1394 port driver(sbp2port.sys) translates SRBs from DISK
CLASS driver into SBP-2 commands which are issued to the underlying IEEE
1394 driver stack. So, we are able to read/write/format etc.
My question is,
-
How can we send the vender specific ATA SMART commands from our
management applicaction through the above mentioned driver stack?
-
Is the IEEE 1394 prot driver (sbp2prot.sys) also provides pass through
support something similar to ATA_PASS_THROUGH provided by atapi.sys?
Please help,
Thanks in advance,
Shakeel
“shakeel” wrote in message news:xxxxx@ntdev…
> Hello,
>
> We are chip vender for the IDE/ATA storagebox that is connected to 1394
> (Firewire).
>
> Microsoft’s generic 1394 port driver(sbp2port.sys) translates SRBs from
DISK
> CLASS driver into SBP-2 commands which are issued to the underlying IEEE
> 1394 driver stack. So, we are able to read/write/format etc.
>
> My question is,
> 1. How can we send the vender specific ATA SMART commands from our
> management applicaction through the above mentioned driver stack?
You can use SCSI commands and remap them, just like you do the standard RBC
commands (READ, WRITE, etc).
> 2. Is the IEEE 1394 prot driver (sbp2prot.sys) also provides pass through
> support something similar to ATA_PASS_THROUGH provided by atapi.sys?
SCSI_PASS_THROUGH (SPT). Pretty much limited to RBC commands that have
clear mappings from ATA to SCSI. However, you can map whatever vendor
unique SCSI commands you want to whatever ATA commands you want to.
Phil
–
Philip D. Barila Windows DDK MVP
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.
Great! Thanks Philip,
Deos it require to write a kernel mode driver.
Can we do this from the application level using(IOCTL_SCSI_PASS_THROUGH)?
Thanks,
Shakeel
“Phil Barila” wrote in message
news:xxxxx@ntdev…
> “shakeel” wrote in message news:xxxxx@ntdev…
> > Hello,
> >
> > We are chip vender for the IDE/ATA storagebox that is connected to 1394
> > (Firewire).
> >
> > Microsoft’s generic 1394 port driver(sbp2port.sys) translates SRBs from
> DISK
> > CLASS driver into SBP-2 commands which are issued to the underlying IEEE
> > 1394 driver stack. So, we are able to read/write/format etc.
> >
> > My question is,
> > 1. How can we send the vender specific ATA SMART commands from our
> > management applicaction through the above mentioned driver stack?
>
> You can use SCSI commands and remap them, just like you do the standard
RBC
> commands (READ, WRITE, etc).
>
> > 2. Is the IEEE 1394 prot driver (sbp2prot.sys) also provides pass
through
> > support something similar to ATA_PASS_THROUGH provided by atapi.sys?
>
> SCSI_PASS_THROUGH (SPT). Pretty much limited to RBC commands that have
> clear mappings from ATA to SCSI. However, you can map whatever vendor
> unique SCSI commands you want to whatever ATA commands you want to.
>
> Phil
> –
> Philip D. Barila Windows DDK MVP
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
>
>
>
Yes, you can do this with an application in user mode. See the SPTI
sample on the DDK (src\storage\tools\spti directory). Note that you can
only send commands through the storage driver (sbp2port) that use SCSI
command descriptors - ATA passthrough is not an option on 1394, so this
makes it difficult for you to do what you want.
-----Original Message-----
From: shakeel [mailto:xxxxx@yahoo.com]
Sent: Monday, February 02, 2004 10:25 AM
Subject: Re: IEEE 1394 port driver
Great! Thanks Philip,
Deos it require to write a kernel mode driver.
Can we do this from the application level
using(IOCTL_SCSI_PASS_THROUGH)?
Thanks,
Shakeel
“Phil Barila” wrote in message
news:xxxxx@ntdev…
> “shakeel” wrote in message news:xxxxx@ntdev…
> > Hello,
> >
> > We are chip vender for the IDE/ATA storagebox that is connected to
1394
> > (Firewire).
> >
> > Microsoft’s generic 1394 port driver(sbp2port.sys) translates SRBs
from
> DISK
> > CLASS driver into SBP-2 commands which are issued to the underlying
IEEE
> > 1394 driver stack. So, we are able to read/write/format etc.
> >
> > My question is,
> > 1. How can we send the vender specific ATA SMART commands from our
> > management applicaction through the above mentioned driver stack?
>
> You can use SCSI commands and remap them, just like you do the
standard
RBC
> commands (READ, WRITE, etc).
>
> > 2. Is the IEEE 1394 prot driver (sbp2prot.sys) also provides pass
through
> > support something similar to ATA_PASS_THROUGH provided by atapi.sys?
>
> SCSI_PASS_THROUGH (SPT). Pretty much limited to RBC commands that
have
> clear mappings from ATA to SCSI. However, you can map whatever vendor
> unique SCSI commands you want to whatever ATA commands you want to.
>
> Phil
> –
> Philip D. Barila Windows DDK MVP
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
>
>
>
Jeff and Philip,
Thanks for your help. So, how can I send vender specific SMART commands to a
IDE/ATA device connected over 1394?
Jeff you are right. DDK says (sbp2port.sys) converts SRBs from the DISK
CLASS driver into SPB2 commands for the uppermost driver on 1394 driver
stack.
Wondering if we insert filter driver some where in that driver stack could
give the access point for the Application to send Vender specific ATA SMART
commands. Just a thought! May be I am wrong. Please advise.
Thanks,
Shakeel.
“Jeffrey Goldner” wrote in message
news:xxxxx@ntdev…
Yes, you can do this with an application in user mode. See the SPTI
sample on the DDK (src\storage\tools\spti directory). Note that you can
only send commands through the storage driver (sbp2port) that use SCSI
command descriptors - ATA passthrough is not an option on 1394, so this
makes it difficult for you to do what you want.
-----Original Message-----
From: shakeel [mailto:xxxxx@yahoo.com]
Sent: Monday, February 02, 2004 10:25 AM
Subject: Re: IEEE 1394 port driver
Great! Thanks Philip,
Deos it require to write a kernel mode driver.
Can we do this from the application level
using(IOCTL_SCSI_PASS_THROUGH)?
Thanks,
Shakeel
“Phil Barila” wrote in message
news:xxxxx@ntdev…
> “shakeel” wrote in message news:xxxxx@ntdev…
> > Hello,
> >
> > We are chip vender for the IDE/ATA storagebox that is connected to
1394
> > (Firewire).
> >
> > Microsoft’s generic 1394 port driver(sbp2port.sys) translates SRBs
from
> DISK
> > CLASS driver into SBP-2 commands which are issued to the underlying
IEEE
> > 1394 driver stack. So, we are able to read/write/format etc.
> >
> > My question is,
> > 1. How can we send the vender specific ATA SMART commands from our
> > management applicaction through the above mentioned driver stack?
>
> You can use SCSI commands and remap them, just like you do the
standard
RBC
> commands (READ, WRITE, etc).
>
> > 2. Is the IEEE 1394 prot driver (sbp2prot.sys) also provides pass
through
> > support something similar to ATA_PASS_THROUGH provided by atapi.sys?
>
> SCSI_PASS_THROUGH (SPT). Pretty much limited to RBC commands that
have
> clear mappings from ATA to SCSI. However, you can map whatever vendor
> unique SCSI commands you want to whatever ATA commands you want to.
>
> Phil
> –
> Philip D. Barila Windows DDK MVP
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
>
>
>
> Thanks for your help. So, how can I send vender specific SMART commands to a
IDE/ATA device connected over 1394?
I think this is impossible.
This requires some support from the enclosure which connects the IDE disk to
1394 bus, and there is no obligations from its vendor to provide this support.

Without this support, you will be able to send base SCSI commands only.
1394-attached disk uses SBP-2 protocol, which packages nearly any SCSI commands
and sends them over 1394 wire. Then they arrive to your enclosure, which will
translate them to IDE commands to a drive.
This second translation is not covered by any standards, so, I think that many
such devices will end supporting READ/WRITE/IDENTIFY/VERIFY only - of all ATA
commands. This is cheaper.
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
> > Thanks for your help. So, how can I send vender specific SMART commands
to a
> > IDE/ATA device connected over 1394?
>
> I think this is impossible.
>
> This requires some support from the enclosure which connects the IDE disk
to
> 1394 bus, and there is no obligations from its vendor to provide this
support.
> 
If I’m reading the previous messages in this thread correctly, the OP is the
enclosure (at least the bridge chip) vendor. So he can provide the support
you mention below.
> Without this support, you will be able to send base SCSI commands only.
>
> 1394-attached disk uses SBP-2 protocol, which packages nearly any SCSI
commands
> and sends them over 1394 wire. Then they arrive to your enclosure, which
will
> translate them to IDE commands to a drive.
Shakeel, if you are really doing the tailgate (bridge) chip, you are the
only link in the chain that can implement what you want. Define a
vendor-unique SCSI command which implements an ATA Pass Through. Then use
the SPT interface to send the ATA command inside your vendor-unique SCSI
command.
> This second translation is not covered by any standards, so, I think that
many
> such devices will end supporting READ/WRITE/IDENTIFY/VERIFY only - of all
ATA
> commands. This is cheaper.
Since his company is doing the chip, he gets to decide what is supported.
Phil
–
Philip D. Barila Windows DDK MVP
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.
“shakeel” wrote in message news:xxxxx@ntdev…
> Jeff and Philip,
>
> Thanks for your help. So, how can I send vender specific SMART commands to
a
> IDE/ATA device connected over 1394?
Define a vendor-unique SCSI command that implements ATA Pass Through.
> Jeff you are right. DDK says (sbp2port.sys) converts SRBs from the DISK
> CLASS driver into SPB2 commands for the uppermost driver on 1394 driver
> stack.
>
> Wondering if we insert filter driver some where in that driver stack could
> give the access point for the Application to send Vender specific ATA
SMART
> commands. Just a thought! May be I am wrong. Please advise.
Not even close. Your chip defines what’s translated from SCSI CDBs into ATA
commands. The SBP2 stack will deliver almost anything to your chip, but you
have to provide a mapping from the CDB to an ATA command. Just like you do
for a READ or WRITE.
Phil
–
Philip D. Barila Windows DDK MVP
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.