1394API

Hi,
I am new to the Microsoft Driver Programming. Recently, I try to run the
1394 examples, that have been provided in WIN 2000 DDK. The Problem I
have is that, Everytime I try to do a Async Write to the other computer.
The target Computer will be hanged and I must reboot the target
computer. Have anybody else the same experience? Of course I do a
AllocateAddressRange at the target computer before I send it with
AsyncWrite. Can somebody tell me,how to do it right???
Ip

What settings have you used for AllocateAddressRange?
Is the AsynRead to the config Rom area working.
What card are you using?

Regards
Jeseem
mailto:xxxxx@hotmail.com

----- Original Message -----
From: “Ie Piu Cu”
To: “NT Developers Interest List”
Sent: Thursday, July 20, 2000 8:47 AM
Subject: [ntdev] 1394API

> Hi,
> I am new to the Microsoft Driver Programming. Recently, I try to run the
> 1394 examples, that have been provided in WIN 2000 DDK. The Problem I
> have is that, Everytime I try to do a Async Write to the other computer.
> The target Computer will be hanged and I must reboot the target
> computer. Have anybody else the same experience? Of course I do a
> AllocateAddressRange at the target computer before I send it with
> AsyncWrite. Can somebody tell me,how to do it right???
> Ip
>
> —
> You are currently subscribed to ntdev as: xxxxx@hotmail.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>

Hi,
Thanks for your Reply.I am using Firewire Card from UniBrain (400 OHCI).
The AsyncRead work only if I read a quadlet.
The Setting for Allocate AddressRange:
Buffer Flags: Use Mdl
Access Type: Read Write Lock.
Notification Options: After Write
Address Range : offset High:0 offset low:0
Address Size :Length:200 Max Segment Size :0
The response that I got: Required1394Offset.Off_high= 1,
Required1394Offset.Off_low = 0.
Then I used the other computer to write to this address. And I got the famous
blue screen with error number.
Ip
Jeseem wrote:

What settings have you used for AllocateAddressRange?
Is the AsynRead to the config Rom area working.
What card are you using?

Regards
Jeseem
mailto:xxxxx@hotmail.com

----- Original Message -----
From: “Ie Piu Cu”
> To: “NT Developers Interest List”
> Sent: Thursday, July 20, 2000 8:47 AM
> Subject: [ntdev] 1394API
>
> > Hi,
> > I am new to the Microsoft Driver Programming. Recently, I try to run the
> > 1394 examples, that have been provided in WIN 2000 DDK. The Problem I
> > have is that, Everytime I try to do a Async Write to the other computer.
> > The target Computer will be hanged and I must reboot the target
> > computer. Have anybody else the same experience? Of course I do a
> > AllocateAddressRange at the target computer before I send it with
> > AsyncWrite. Can somebody tell me,how to do it right???
> > Ip
> >
> > —
> > 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’)

> computer. Have anybody else the same experience? Of course I do a

AllocateAddressRange at the target computer before I send it with
AsyncWrite. Can somebody tell me,how to do it right???
Ip

AllocateAddressRange is working.
It is an essential part of the DV software - AV/C protocol (camera’s tape
mechanics control over 1394) - uses the address range on the host to catch
responses.
So, looks like you have done something wrong. Try different approaches to
allocating an address range - just MDL, MDL with a callback function,
specified address or 1394bus’s chosen address etc.
Try to set a breakpoint in 1394bus!Bus1394Indication - this will help you.
OHCI hardware itself can handle only trivial address ranges - and
non-trivial
attempts to allocate the address range are handled by 1394bus and will cause
Bus1394Indication to be called on packet arrive.

Max

> Is the AsynRead to the config Rom area working.

If you read the config ROM quadlet by quadlet - surely. 1394bus uses this to
enumerate the devices on the bus.
But block reads from the config ROM can be unsupported by the 1394 node

  • this support is not mandatory.
    Also note that the config ROM of the machine itself is emulated by 1394bus
    in software by a feature similar to the internal AllocateAddressRange.

Max