| Previous | Next |
| kIOFWMessagePowerStateChanged | kIOBluetoothDeviceResetError |
kIOFWMessageTopologyChanged
kIOFWMessageTopologyChanged reports a FireWire topology change, typically around a bus reset or device attachment/removal. Cached node IDs and generation-scoped resources may therefore no longer be valid.
First returning layer
IOKit return values, internal tokens, and service messages share an integer representation but not the same control-flow meaning. Determine whether the API returns the value or delivers it as a message before treating it as failure.
Evidence map
| Capture | Diagnostic value |
|---|---|
| Old/new bus generation, node IDs, GUIDs, channel/bandwidth allocations, and attached services. | Identifies the concrete object and operation associated with FireWire bus-topology-change message. |
| Numeric IOReturn/message value decoded with the matching SDK header. | Separates argument or lifecycle state from the provider beneath kIOFWMessageTopologyChanged. |
| Registry generation and first provider/client event before the result. | Correlates the topology message with the registry generation and provider/client event that preceded it. |
| Known-good device or service state on the same macOS/driver build. | Shows whether kIOFWMessageTopologyChanged is the first result or a translated summary. |
Change one condition at a time
- Trigger one controlled attach/detach and correlate the topology message with re-enumeration.
- Change one topology or lifecycle condition while keeping the request payload fixed.
- Verify cleanup and object lifetime after the controlled operation.
Repair and regression test
Targeted correction. Invalidate generation-scoped node IDs and rebuild allocations from stable device GUIDs.
Acceptance criterion. Clients re-enumerate once, bind the intended device by stable identity, and stale-generation requests are rejected.
Technical references
- Apple XNU: IOReturn definitions — defines the status namespace used.
- Apple: IOKit documentation — documents the API or lifecycle boundary behind it.
- Apple OSS: XNU source — provides ABI, implementation, or protocol context.
- Apple XNU: FireWire family common definitions — supports the portability and verification limits.
Looking for a different code? Search another status or error code.