Commit 0c53decd authored by Stefan Richter's avatar Stefan Richter

firewire: new stack is no longer experimental

The new stack is now recommended over the old one if used for industrial
video (IIDC/DCAM) or for storage devices (SBP-2) due to better
performance, improved compatibility, added features, and security.  It
should also be functionally on par with and is more secure than the old
ieee1394 stack in the use case of consumer video devices.

IP-over-1394 support for the new stack is currently emerging, and a
backend of the firedtv DVB driver to the new stack should be available
soon.

The one remaining area where the old stack is still required are audio
devices, as the new stack is not yet able to support the FFADO FireWire
audio framework.
Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 00635b8e
comment "A new alternative FireWire stack is available with EXPERIMENTAL=y" comment "You can enable one or both FireWire driver stacks."
depends on EXPERIMENTAL=n comment "See the help texts for more information."
comment "Enable only one of the two stacks, unless you know what you are doing"
depends on EXPERIMENTAL
config FIREWIRE config FIREWIRE
tristate "New FireWire stack, EXPERIMENTAL" tristate "FireWire driver stack"
depends on EXPERIMENTAL
select CRC_ITU_T select CRC_ITU_T
help help
This is the "Juju" FireWire stack, a new alternative implementation This is the new-generation IEEE 1394 (FireWire) driver stack
designed for robustness and simplicity. You can build either this a.k.a. Juju, a new implementation designed for robustness and
stack, or the old stack (the ieee1394 driver, ohci1394 etc.) or both. simplicity.
Please read http://ieee1394.wiki.kernel.org/index.php/Juju_Migration See http://ieee1394.wiki.kernel.org/index.php/Juju_Migration
before you enable the new stack. for information about migration from the older Linux 1394 stack
to the new driver stack.
To compile this driver as a module, say M here: the module will be To compile this driver as a module, say M here: the module will be
called firewire-core. called firewire-core.
This module functionally replaces ieee1394, raw1394, and video1394. This module functionally replaces ieee1394, raw1394, and video1394.
To access it from application programs, you generally need at least To access it from application programs, you generally need at least
libraw1394 version 2. IIDC/DCAM applications also need libdc1394 libraw1394 v2. IIDC/DCAM applications need libdc1394 v2.
version 2. No libraries are required to access storage devices No libraries are required to access storage devices through the
through the firewire-sbp2 driver. firewire-sbp2 driver.
NOTE:
FireWire audio devices currently require the old drivers (ieee1394,
ohci1394, raw1394).
config FIREWIRE_OHCI config FIREWIRE_OHCI
tristate "OHCI-1394 controllers" tristate "OHCI-1394 controllers"
...@@ -37,11 +38,9 @@ config FIREWIRE_OHCI ...@@ -37,11 +38,9 @@ config FIREWIRE_OHCI
stack. stack.
NOTE: NOTE:
If you want to install firewire-ohci and ohci1394 together, you
You should only build either firewire-ohci or the old ohci1394 driver, should configure them only as modules and blacklist the driver(s)
but not both. If you nevertheless want to install both, you should which you don't want to have auto-loaded. Add either
configure them only as modules and blacklist the driver(s) which you
don't want to have auto-loaded. Add either
blacklist firewire-ohci blacklist firewire-ohci
or or
...@@ -50,12 +49,7 @@ config FIREWIRE_OHCI ...@@ -50,12 +49,7 @@ config FIREWIRE_OHCI
blacklist dv1394 blacklist dv1394
to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf
depending on your distribution. The latter two modules should be depending on your distribution.
blacklisted together with ohci1394 because they depend on ohci1394.
If you have an old modprobe which doesn't implement the blacklist
directive, use "install modulename /bin/true" for the modules to be
blacklisted.
config FIREWIRE_OHCI_DEBUG config FIREWIRE_OHCI_DEBUG
bool bool
...@@ -79,13 +73,15 @@ config FIREWIRE_SBP2 ...@@ -79,13 +73,15 @@ config FIREWIRE_SBP2
configuration section. configuration section.
config FIREWIRE_NET config FIREWIRE_NET
tristate "IP networking over 1394" tristate "IP networking over 1394 (EXPERIMENTAL)"
depends on FIREWIRE && INET depends on FIREWIRE && INET && EXPERIMENTAL
help help
This enables IPv4 over IEEE 1394, providing IP connectivity with This enables IPv4 over IEEE 1394, providing IP connectivity with
other implementations of RFC 2734 as found on several operating other implementations of RFC 2734 as found on several operating
systems. Multicast support is currently limited. systems. Multicast support is currently limited.
NOTE, this driver is not stable yet!
To compile this driver as a module, say M here: The module will be To compile this driver as a module, say M here: The module will be
called firewire-net. It replaces eth1394 of the classic IEEE 1394 called firewire-net. It replaces eth1394 of the classic IEEE 1394
stack. stack.
...@@ -4,7 +4,7 @@ menu "IEEE 1394 (FireWire) support" ...@@ -4,7 +4,7 @@ menu "IEEE 1394 (FireWire) support"
source "drivers/firewire/Kconfig" source "drivers/firewire/Kconfig"
config IEEE1394 config IEEE1394
tristate "Stable FireWire stack" tristate "Legacy alternative FireWire driver stack"
depends on PCI || BROKEN depends on PCI || BROKEN
help help
IEEE 1394 describes a high performance serial bus, which is also IEEE 1394 describes a high performance serial bus, which is also
...@@ -33,11 +33,9 @@ config IEEE1394_OHCI1394 ...@@ -33,11 +33,9 @@ config IEEE1394_OHCI1394
module will be called ohci1394. module will be called ohci1394.
NOTE: NOTE:
If you want to install firewire-ohci and ohci1394 together, you
You should only build either ohci1394 or the new firewire-ohci driver, should configure them only as modules and blacklist the driver(s)
but not both. If you nevertheless want to install both, you should which you don't want to have auto-loaded. Add either
configure them only as modules and blacklist the driver(s) which you
don't want to have auto-loaded. Add either
blacklist firewire-ohci blacklist firewire-ohci
or or
...@@ -46,12 +44,7 @@ config IEEE1394_OHCI1394 ...@@ -46,12 +44,7 @@ config IEEE1394_OHCI1394
blacklist dv1394 blacklist dv1394
to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf
depending on your distribution. The latter two modules should be depending on your distribution.
blacklisted together with ohci1394 because they depend on ohci1394.
If you have an old modprobe which doesn't implement the blacklist
directive, use "install modulename /bin/true" for the modules to be
blacklisted.
comment "PCILynx controller requires I2C" comment "PCILynx controller requires I2C"
depends on IEEE1394 && I2C=n depends on IEEE1394 && I2C=n
...@@ -105,7 +98,7 @@ config IEEE1394_ETH1394_ROM_ENTRY ...@@ -105,7 +98,7 @@ config IEEE1394_ETH1394_ROM_ENTRY
default n default n
config IEEE1394_ETH1394 config IEEE1394_ETH1394
tristate "IP networking over 1394" tristate "IP networking over 1394 (experimental)"
depends on IEEE1394 && EXPERIMENTAL && INET depends on IEEE1394 && EXPERIMENTAL && INET
select IEEE1394_ETH1394_ROM_ENTRY select IEEE1394_ETH1394_ROM_ENTRY
help help
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment