Re: Problems getting the 1394 ROM configuration info
From: Raj (r_konjeti_at_mailcity.com)
Date: 08/16/04
- Next message: Mart: "How does NDISWAN work?"
- Previous message: Gary G. Little: "Re: newbie: ExAllocatePoolWithTag"
- In reply to: Jeff Henkels: "Re: Problems getting the 1394 ROM configuration info"
- Messages sorted by: [ date ] [ thread ]
Date: 16 Aug 2004 05:49:24 -0700
1394 configRom format is defined in specification.
Read first quadlet. Get businfo block length. If bus info block len =
1, stop reading. It is minimal quadlet. Otherwise, read second quadlet
upto bus info block length. Next quadlet after businfo gives root
directory length. Start read upto root directory. Then you get all
unit directory offsets. Each offset will give you length of its
directory length.
"Jeff Henkels" <jeff@mapson.privatemail.com> wrote in message news:<#NHcwCjgEHA.536@TK2MSFTNGP11.phx.gbl>...
> "BJ Johns" <hjohns1@ix.netcom.com> wrote in message
> news:OJ8bYg6fEHA.1656@TK2MSFTNGP10.phx.gbl...
> > I am new to device drivers and am working on a driver for a 1394 firewire
> > video device. I am having some problems in getting the ROM configuration
> > info.
> >
> > I am able to perform multiple async reads of 4 bytes at a time to read the
> > ROM data starting at 0xFFFFFF0000400 and continuing until I have read the
> > entire contents of the config info. And I have verified that all of the
> > retrieved data is correct.
>
> So, how do you figure out how many quadlets you have to read to get the
> entire config ROM? I'd like to try this method next.
>
> > But if I try to read anything more than 4 bytes at a time, I just get all
> > zero's back. First question....Is there a limit to the number of bytes
> that
> > can be retrieved at a time when reading the ROM config info?
> >
> > Next, I tried calling REQUEST_GET_CONFIGURATION_INFO in the
> IOCTL_1394_CLASS
> > to get the buffer sizes of the Unit Directory, Unit Dependent Directory,
> > Vendor Leaf and Model Leaf by first setting each of these values to zero
> > before making the call. After returning success, the call only seems to
> set
> > the u.GetConfigurationInformation.UnitDirectoryBufferSize value to 12
> (which
> > is incorrect) and leaves all others at zero.
>
> I've noticed this too; I've been working with the 1394DCAM DDK sample, which
> uses REQUEST_GET_CONFIGURATION_INFO. My guess, based on one or two things
> I've read here in this group, is that the 1394 class driver assumes a
> specific format for the config ROM and gets confused if the format isn't
> what it expects.
>
> > Why does it not return the correct values?
> >
> > At worst case I can just take the retrieved data from my first technique
> and
> > extract the same information as the call
> > to REQUEST_GET_CONFIGURATION_INFO should have done but I want to find out
> > why this call doesn't seem to work for me.
> >
> > Thanks
> > -BJ
> >
> >
- Next message: Mart: "How does NDISWAN work?"
- Previous message: Gary G. Little: "Re: newbie: ExAllocatePoolWithTag"
- In reply to: Jeff Henkels: "Re: Problems getting the 1394 ROM configuration info"
- Messages sorted by: [ date ] [ thread ]