ADC Home > Reference Library > Technical Q&As > Legacy Documents > Mac OS 9 & Earlier >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

How do I ring the Doorbell?

Q: How do I ring the Doorbell?

A: Ringing the Doorbell is rather simple, once you have the SBP2 device's fetch agent address. The Doorbell's address is 16 bytes past the fetch agent's address. To ring the Doorbell, you write any value into the Doorbell's address using the FWWrite command.

You get the address of the fetch agent from the login status notification (because each login could have its own fetch agent, and therefore Doorbell register). Make sure that you register a login status notification function before you log into your SBP2 device; otherwise, you won't get the address of the SBP2 device's fetch agent.

Because the four-byte payload of the write to the Doorbell is ignored, you can put diagnostic information in it (but only four bytes), and examine the data with a FireWire packet analyzer. Even if you do not send diagnostic data, you must set a valid pointer in the asynchronous command object (the memory must be able to be held, for example).

[May 17 1999]

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.