Modifying the Default Behavior of the IEEE 1394 Bus Driver

Windows 7 includes 1394ohci.sys, a new IEEE 1394 bus driver that is implemented by using the kernel-mode driver framework (KMDF). The 1394ohci.sys bus driver replaces the legacy IEEE bus driver in port/miniport configuration-- 1394bus.sys and ochi1394.sys.

In some situations you might want to override the default behavior of 1394ohci.sys,. You can do this by setting certain registry values that it supports.

Registry Value Locations

You can set the 1394-related registry values either globally for all 1394 controllers in the system or individually for each 1394 controller. The 1394ohci.sys, bus driver first queries the global 1394 registry values and then queries the individual 1394 controller registry values.

The following registry location contains the global 1394 registry values:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1394ohci \Parameters

The following registry location contains the individual 1394 controller registry values:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class \{6BDD1FC1-810F-11D0-BEC7-08002BE2092F}\<NNNN>

<NNNN> represents the instance identification number for each 1394 controller.

Registry Values

The following table describes the registry values that the new 1394 bus driver supports. You can specify all registry values either globally or for a particular 1394 controller. Any registry values that are specified for a particular 1394 controller override any corresponding globally specified registry values.

Name Type Value Default Description
DisableGenerationCountCompare DWORD 0 or 1 0 The 1394ohci.sys bus driver compares the generation count value in the self_id register of the 1394 controller with the generation count value that is received in the asynchronous receive DMA request context buffer when it processes received asynchronous requests. Setting this value to 0 enables generation count comparison. Setting this value to 1 disables generation count comparison.
UseQuadletReadsForEnumeration DWORD 0 or 1 0 Setting this value to 0 enables the default method for retrieving the contents of the configuration ROM. Setting this value to 1 causes the new 1394 bus driver to use asynchronous quadlet read transactions to retrieve the contents of the configuration ROM.
EnumerateIP1394 DWORD 0 or 1 0 Setting this value to 0 disables enumeration of IP1394 devices on the 1394 bus. Setting this value to 1 enables enumeration of IP1394 devices on the 1394 bus.
EnableGapCountOptimization DWORD 0 or 1 Optimize for 1394a topology only Setting this value to 0 disables gap count optimization. Setting this value to 1 enables gap count optimization.
Note Enabling gap count optimization improves the gap count for all 1394 bus topologies, including 1394b. The gap count value that is used is based on the table method, as specified in the IEEE-1394a specification. End-users must make sure that the gap count that is used is valid for their 1394 bus topology.
EnablePersistentCycleStarts DWORD 0 or 1 0 Setting this value to 0 disables cycle start packets if no isochronous-capable nodes are found on the 1394 bus. Setting this value to 1 enables cycle start packets regardless of whether isochronous-capable nodes are found on the 1394 bus.
Note The 1394ohci.sys bus driver disables and enables cycle start packets only if the local node is the bus manager.

The IEEE 1394 Driver Stack
IEEE 1394 Bus Driver in Windows 7