Re: Async_Read in 1394 Deviices

Hi all,
can anyone tell me why async_read in 1394 devices, in both
windows98/Wine2k, can be made only as quadlets. Is the IOCTL for reading
the entire config-rom implemented. Any pointers will be helpful.

TIA,
britto.

Hi britto

the ohci spec supports only quadlet read in config rom. As windows
implementation is ohci based, so only quadlet read should be used to read
config rom

regards
jeseem
mailto:xxxxx@hotmail.com

----- Original Message -----
From:
To: “NT Developers Interest List”
Sent: Wednesday, September 20, 2000 4:12 AM
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Hi all,
can anyone tell me why async_read in 1394 devices, in both
windows98/Wine2k, can be made only as quadlets. Is the IOCTL for reading
the entire config-rom implemented. Any pointers will be helpful.

TIA,
britto.


You are currently subscribed to ntdev as: xxxxx@hotmail.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Thanks you Jeseem,
My nest question is if Async_read can be made in quadlets, can we be able
to read multiple quadlets at a time.

best regards,
britto.

“Jeseem” @lists.osr.com on 09/20/2000 08:43:42 PM

Please respond to “NT Developers Interest List”

Sent by: xxxxx@lists.osr.com

To: “NT Developers Interest List”
cc:

Subject: [ntdev] Re: Async_Read in 1394 Deviices

Hi britto

the ohci spec supports only quadlet read in config rom. As windows
implementation is ohci based, so only quadlet read should be used to read
config rom

regards
jeseem
mailto:xxxxx@hotmail.com

----- Original Message -----
From:
To: “NT Developers Interest List”
Sent: Wednesday, September 20, 2000 4:12 AM
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Hi all,
can anyone tell me why async_read in 1394 devices, in both
windows98/Wine2k, can be made only as quadlets. Is the IOCTL for reading
the entire config-rom implemented. Any pointers will be helpful.

TIA,
britto.


You are currently subscribed to ntdev as: xxxxx@hotmail.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@scmmicro.co.in
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

yes you can

From: xxxxx@scmmicro.co.in
Reply-To: “NT Developers Interest List”
>To: “NT Developers Interest List”
>Subject: [ntdev] Re: Async_Read in 1394 Deviices
>Date: Thu, 21 Sep 2000 09:17:01 +0530
>
>
>Thanks you Jeseem,
>My nest question is if Async_read can be made in quadlets, can we be able
>to read multiple quadlets at a time.
>
>best regards,
>britto.
>
>
>
>
>
>“Jeseem” @lists.osr.com on 09/20/2000 08:43:42 PM
>
>Please respond to “NT Developers Interest List”
>
>Sent by: xxxxx@lists.osr.com
>
>
>To: “NT Developers Interest List”
>cc:
>
>Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
>
>Hi britto
>
>the ohci spec supports only quadlet read in config rom. As windows
>implementation is ohci based, so only quadlet read should be used to read
>config rom
>
>regards
>jeseem
>mailto:xxxxx@hotmail.com
>
>----- Original Message -----
>From:
>To: “NT Developers Interest List”
>Sent: Wednesday, September 20, 2000 4:12 AM
>Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
>
>
>Hi all,
>can anyone tell me why async_read in 1394 devices, in both
>windows98/Wine2k, can be made only as quadlets. Is the IOCTL for reading
>the entire config-rom implemented. Any pointers will be helpful.
>
>TIA,
>britto.
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@scmmicro.co.in
>To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>
>
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at
http://profiles.msn.com.

> the ohci spec supports only quadlet read in config rom.

The OHCI spec describes the host controller only, not all 1394 devices.
Windows can use not only OHCI host controllers like TI’s LV23, but also
things like TILynx or Adaptec hardware.
The correct anwsers are:

  • the OHCI spec supports only quadlet read in config rom OF THE HOST
    MACHINE in case if some other bus node will try this.
  • the 1394 bus spec does not require the device to support block reads from
    the config ROM.

Max

> can anyone tell me why async_read in 1394 devices, in both

windows98/Wine2k, can be made only as quadlets. Is the IOCTL for reading
the entire config-rom implemented.

No.
This is not a problem of the MS’s 1394 stack. This is allowed by the 1394
spec.
Supporting block reads from the config ROM is not mandatory in the 1394
device. So, your particular 1394 does not support them.
Read the config ROM quadlet by quadlet, carefully parsing it in progress to
find all unit directories and leaves.
As about block read/writes in the 1394 stack - they work fine, provided the
device supports them at the addresses requested.

Max

> My nest question is if Async_read can be made in quadlets, can we be able

to read multiple quadlets at a time.

No. This will be block read.

Max

Another interesting thing I found is when I do a Asynch_read to 1394 device
config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
mode. Is this expected? Then how about for block write? Do I have to change
the data to BIG INDIAN mode before I write it?

Another problem I have is when I allocated the address range, I specified
the callback routine. But I didn’t get the callback as I expected. Can any
body tell me what could be the problem?

thanks

James

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Sunday, September 24, 2000 7:21 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

can anyone tell me why async_read in 1394 devices, in both
windows98/Wine2k, can be made only as quadlets. Is the IOCTL for reading
the entire config-rom implemented.

No.
This is not a problem of the MS’s 1394 stack. This is allowed by the 1394
spec.
Supporting block reads from the config ROM is not mandatory in the 1394
device. So, your particular 1394 does not support them.
Read the config ROM quadlet by quadlet, carefully parsing it in progress to
find all unit directories and leaves.
As about block read/writes in the 1394 stack - they work fine, provided the
device supports them at the addresses requested.

Max


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Another interesting thing I found is when I do a Asynch_read to 1394 device
config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
mode. Is this expected?

  • Yes when I made a read of the config-rom it was only in BIG-ENDIAN
    format…

1394 spec says the quadlet will be in BIG-ENDIAN format

Pamitha

-----Original Message-----
From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
Sent: Thursday, September 28, 2000 8:56 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Another interesting thing I found is when I do a Asynch_read to 1394
device
config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
mode. Is this expected?

  • Yes when I made a read of the config-rom it was only in BIG-ENDIAN
    format…

You are currently subscribed to ntdev as: xxxxx@nestec.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Then when I do a write (both quadlet and block), do I have to convert the
data to big-endian format?

Thanks

James

-----Original Message-----
From: PAMITHA [mailto:xxxxx@nestec.net]
Sent: Thursday, September 28, 2000 1:10 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

1394 spec says the quadlet will be in BIG-ENDIAN format

Pamitha

-----Original Message-----
From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
Sent: Thursday, September 28, 2000 8:56 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Another interesting thing I found is when I do a Asynch_read to 1394
device
config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
mode. Is this expected?

  • Yes when I made a read of the config-rom it was only in BIG-ENDIAN
    format…

You are currently subscribed to ntdev as: xxxxx@nestec.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Any has experience on how to get callback when a 1394 device reads/writes
from/to PC host?

Thanks

James

-----Original Message-----
From: Zhou, James [mailto:xxxxx@asia.adaptec.com]
Sent: Thursday, September 28, 2000 1:35 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Then when I do a write (both quadlet and block), do I have to convert the
data to big-endian format?

Thanks

James

-----Original Message-----
From: PAMITHA [mailto:xxxxx@nestec.net]
Sent: Thursday, September 28, 2000 1:10 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

1394 spec says the quadlet will be in BIG-ENDIAN format

Pamitha

-----Original Message-----
From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
Sent: Thursday, September 28, 2000 8:56 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Another interesting thing I found is when I do a Asynch_read to 1394
device
config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
mode. Is this expected?

  • Yes when I made a read of the config-rom it was only in BIG-ENDIAN
    format…

You are currently subscribed to ntdev as: xxxxx@nestec.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

As far I know You need to pack the data in BIG-ENDIAN format for write (both
in block and quadlet)as the data in the config ROM is in BIG-ENDIAN format.

Pamitha

-----Original Message-----
From: Zhou, James [SMTP:xxxxx@asia.adaptec.com]
Sent: Thursday, September 28, 2000 11:05 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Then when I do a write (both quadlet and block), do I have to convert the
data to big-endian format?

Thanks

James

-----Original Message-----
From: PAMITHA [mailto:xxxxx@nestec.net]
Sent: Thursday, September 28, 2000 1:10 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

1394 spec says the quadlet will be in BIG-ENDIAN format

Pamitha

> -----Original Message-----
> From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
> Sent: Thursday, September 28, 2000 8:56 AM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
>
>
>
> Another interesting thing I found is when I do a Asynch_read to 1394
> device
> config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE
INDIAN
> mode. Is this expected?
>
> - Yes when I made a read of the config-rom it was only in BIG-ENDIAN
> format…
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@nestec.net
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@nestec.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

When I allocate address range for a buffer, I specify that I wnat to be
called back (callback routine and callbackcontext filled) when the buffer is
written. But I didn’t get called when the buffer is written. Any body knows
why?

I specify the parameter as follows:

irb->FunctionNumber = REQUEST_ALLOCATE_ADDRESS_RANGE;
irb->Flags = 0;
irb->u.AllocateAddressRange.Mdl = Mdl;
irb->u.AllocateAddressRange.nLength = Length;
irb->u.AllocateAddressRange.MaxSegmentSize = 32 * 1024;
irb->u.AllocateAddressRange.fulAccessType = 0; // Little indian
irb->u.AllocateAddressRange.fulNotificationOptions =
NOTIFY_FLAGS_AFTER_WRITE;

irb->u.AllocateAddressRange.Callback = CallbackRoutine;
irb->u.AllocateAddressRange.Context = CallbackContext;
RtlZeroMemory(&irb->u.AllocateAddressRange.Required1394Offset,
sizeof(ADDRESS_OFFSET));
irb->u.AllocateAddressRange.FifoSListHead = NULL;
irb->u.AllocateAddressRange.FifoSpinLock = NULL;
irb->u.AllocateAddressRange.AddressesReturned = 0;
irb->u.AllocateAddressRange.p1394AddressRange = AddressRange;

James

-----Original Message-----
From: Jeseem [mailto:xxxxx@hotmail.com]
Sent: Thursday, September 28, 2000 2:30 PM
To: xxxxx@asia.adaptec.com
Subject: Re: [ntdev] Re: Async_Read in 1394 Deviices

which one are you trying postcallback or precallback?

jeseem

----- Original Message -----
From: “Zhou, James”
To: “NT Developers Interest List”
Sent: Thursday, September 28, 2000 1:48 AM
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Any has experience on how to get callback when a 1394 device reads/writes
from/to PC host?

Thanks

James

-----Original Message-----
From: Zhou, James [mailto:xxxxx@asia.adaptec.com]
Sent: Thursday, September 28, 2000 1:35 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Then when I do a write (both quadlet and block), do I have to convert the
data to big-endian format?

Thanks

James

-----Original Message-----
From: PAMITHA [mailto:xxxxx@nestec.net]
Sent: Thursday, September 28, 2000 1:10 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

1394 spec says the quadlet will be in BIG-ENDIAN format

Pamitha

> -----Original Message-----
> From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
> Sent: Thursday, September 28, 2000 8:56 AM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
>
>
>
> Another interesting thing I found is when I do a Asynch_read to 1394
> device
> config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
> mode. Is this expected?
>
> - Yes when I made a read of the config-rom it was only in BIG-ENDIAN
> format…
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@nestec.net
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@hotmail.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Hi,
Do you mean, that your application won’t get notify if the buffer is written.
What do you put in a CallbackRoutine ? I think to get your application notify,
you must create an event to notify a application.
Regards,
Ie Piu.

“Zhou, James” wrote:

When I allocate address range for a buffer, I specify that I wnat to be
called back (callback routine and callbackcontext filled) when the buffer is
written. But I didn’t get called when the buffer is written. Any body knows
why?

I specify the parameter as follows:

irb->FunctionNumber = REQUEST_ALLOCATE_ADDRESS_RANGE;
irb->Flags = 0;
irb->u.AllocateAddressRange.Mdl = Mdl;
irb->u.AllocateAddressRange.nLength = Length;
irb->u.AllocateAddressRange.MaxSegmentSize = 32 * 1024;
irb->u.AllocateAddressRange.fulAccessType = 0; // Little indian
irb->u.AllocateAddressRange.fulNotificationOptions =
NOTIFY_FLAGS_AFTER_WRITE;

irb->u.AllocateAddressRange.Callback = CallbackRoutine;
irb->u.AllocateAddressRange.Context = CallbackContext;
RtlZeroMemory(&irb->u.AllocateAddressRange.Required1394Offset,
sizeof(ADDRESS_OFFSET));
irb->u.AllocateAddressRange.FifoSListHead = NULL;
irb->u.AllocateAddressRange.FifoSpinLock = NULL;
irb->u.AllocateAddressRange.AddressesReturned = 0;
irb->u.AllocateAddressRange.p1394AddressRange = AddressRange;

James

-----Original Message-----
From: Jeseem [mailto:xxxxx@hotmail.com]
Sent: Thursday, September 28, 2000 2:30 PM
To: xxxxx@asia.adaptec.com
Subject: Re: [ntdev] Re: Async_Read in 1394 Deviices

which one are you trying postcallback or precallback?

jeseem

----- Original Message -----
From: “Zhou, James”
> To: “NT Developers Interest List”
> Sent: Thursday, September 28, 2000 1:48 AM
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
> Any has experience on how to get callback when a 1394 device reads/writes
> from/to PC host?
>
> Thanks
>
> James
>
> -----Original Message-----
> From: Zhou, James [mailto:xxxxx@asia.adaptec.com]
> Sent: Thursday, September 28, 2000 1:35 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
> Then when I do a write (both quadlet and block), do I have to convert the
> data to big-endian format?
>
> Thanks
>
> James
>
> -----Original Message-----
> From: PAMITHA [mailto:xxxxx@nestec.net]
> Sent: Thursday, September 28, 2000 1:10 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
> 1394 spec says the quadlet will be in BIG-ENDIAN format
>
> Pamitha
>
> > -----Original Message-----
> > From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
> > Sent: Thursday, September 28, 2000 8:56 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] Re: Async_Read in 1394 Deviices
> >
> >
> >
> >
> > Another interesting thing I found is when I do a Asynch_read to 1394
> > device
> > config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE INDIAN
> > mode. Is this expected?
> >
> > - Yes when I made a read of the config-rom it was only in BIG-ENDIAN
> > format…
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@nestec.net
> > To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@hotmail.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@fokus.gmd.de
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)

No. I mean the callback to driver. Now I found the problem. Not only the
data read/written by host from/to 1394 device needs to be converted to BIG
ENDIAN, but also the data to be read/written by 1394 device from/to host
needs to be converted to BIG ENDIAN.

Any body knows where can I find the document on the interface between
SBP2PORT and upper level driver like disk driver?

Thanks

James

-----Original Message-----
From: Ie Piu Cu [mailto:xxxxx@fokus.gmd.de]
Sent: Thursday, September 28, 2000 5:41 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Hi,
Do you mean, that your application won’t get notify if the buffer is
written.
What do you put in a CallbackRoutine ? I think to get your application
notify,
you must create an event to notify a application.
Regards,
Ie Piu.

“Zhou, James” wrote:

When I allocate address range for a buffer, I specify that I wnat to be
called back (callback routine and callbackcontext filled) when the buffer
is
written. But I didn’t get called when the buffer is written. Any body
knows
why?

I specify the parameter as follows:

irb->FunctionNumber = REQUEST_ALLOCATE_ADDRESS_RANGE;
irb->Flags = 0;
irb->u.AllocateAddressRange.Mdl = Mdl;
irb->u.AllocateAddressRange.nLength = Length;
irb->u.AllocateAddressRange.MaxSegmentSize = 32 * 1024;
irb->u.AllocateAddressRange.fulAccessType = 0; // Little indian
irb->u.AllocateAddressRange.fulNotificationOptions =
NOTIFY_FLAGS_AFTER_WRITE;

irb->u.AllocateAddressRange.Callback = CallbackRoutine;
irb->u.AllocateAddressRange.Context = CallbackContext;
RtlZeroMemory(&irb->u.AllocateAddressRange.Required1394Offset,
sizeof(ADDRESS_OFFSET));
irb->u.AllocateAddressRange.FifoSListHead = NULL;
irb->u.AllocateAddressRange.FifoSpinLock = NULL;
irb->u.AllocateAddressRange.AddressesReturned = 0;
irb->u.AllocateAddressRange.p1394AddressRange = AddressRange;

James

-----Original Message-----
From: Jeseem [mailto:xxxxx@hotmail.com]
Sent: Thursday, September 28, 2000 2:30 PM
To: xxxxx@asia.adaptec.com
Subject: Re: [ntdev] Re: Async_Read in 1394 Deviices

which one are you trying postcallback or precallback?

jeseem

----- Original Message -----
From: “Zhou, James”
> To: “NT Developers Interest List”
> Sent: Thursday, September 28, 2000 1:48 AM
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
> Any has experience on how to get callback when a 1394 device reads/writes
> from/to PC host?
>
> Thanks
>
> James
>
> -----Original Message-----
> From: Zhou, James [mailto:xxxxx@asia.adaptec.com]
> Sent: Thursday, September 28, 2000 1:35 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
> Then when I do a write (both quadlet and block), do I have to convert the
> data to big-endian format?
>
> Thanks
>
> James
>
> -----Original Message-----
> From: PAMITHA [mailto:xxxxx@nestec.net]
> Sent: Thursday, September 28, 2000 1:10 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Async_Read in 1394 Deviices
>
> 1394 spec says the quadlet will be in BIG-ENDIAN format
>
> Pamitha
>
> > -----Original Message-----
> > From: xxxxx@scmmicro.co.in [SMTP:xxxxx@scmmicro.co.in]
> > Sent: Thursday, September 28, 2000 8:56 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] Re: Async_Read in 1394 Deviices
> >
> >
> >
> >
> > Another interesting thing I found is when I do a Asynch_read to 1394
> > device
> > config ROM, the quadlet I got is in BIG INDIAN mode, not in LITTLE
INDIAN
> > mode. Is this expected?
> >
> > - Yes when I made a read of the config-rom it was only in BIG-ENDIAN
> > format…
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@nestec.net
> > To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@hotmail.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
> —
> You are currently subscribed to ntdev as: xxxxx@fokus.gmd.de
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

> Any body knows where can I find the document on the interface between

SBP2PORT and upper level driver like disk driver?

The usual IOS .PDR interface in Win9x (SBP2PORT in Win9x is an interesting
thing - a VXD able to call the WDM stack below it).
The SCSI port interface (IRP_MJ_SCSI, SRBs etc) in w2k.

Max

Max,

Why in the ConfigRom does SBP-2 device need to report device’s (HD’s or
CD’s) ManuID string and Model Number string in VendorId text leaf and
ModelId leaf? I saw these string in some products?

What is exact matching criteria that MS to load an SBP2 driver? If I want to
replace MS sbp2port driver with my own driver, what should I put in .inf
file and device ConfigRom?

Thanks

James

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, October 04, 2000 2:27 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Async_Read in 1394 Deviices

Any body knows where can I find the document on the interface between
SBP2PORT and upper level driver like disk driver?

The usual IOS .PDR interface in Win9x (SBP2PORT in Win9x is an interesting
thing - a VXD able to call the WDM stack below it).
The SCSI port interface (IRP_MJ_SCSI, SRBs etc) in w2k.

Max


You are currently subscribed to ntdev as: xxxxx@asia.adaptec.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

> Why in the ConfigRom does SBP-2 device need to report device’s (HD’s or

CD’s) ManuID string and Model Number string in VendorId text leaf and
ModelId leaf? I saw these string in some products?

These leaves are used to form the PnP ID for a device which is:
1394\vendor_leaf&model_leaf.
If is very strange that SBP2 does not mandate these values to be some
criteria of whether the device is SBP2 or not.

What is exact matching criteria that MS to load an SBP2 driver?

Don’t know, maybe a) PnP ID or b) some other config ROM contents (the config
ROM can be read by the 1394 stack clients).
(a) way looks problematically - according to your information, the PnP ID
for SBP2 device will have no information of whether this is an SBP2 or usual
1394 device).
AFAIK SBP2 is the bus filter driver for the 1394 bus - it filters all PDOs
and reports some of them as SCSI peripherals to the PnP (providing SCSI
IOCTLs handling for them), while reporting others as usual 1394 devices.

Max