[lkml]   [2007]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectLinux' IEEE 1394/ FireWire subsystem TODO list
    Hi lists,

    I copied the ancient linux1394 project TODO list from the static page at over to and
    substantially updated it now. I certainly missed a few important TODOs
    and ideas, but the list is quite long nevertheless. I thought of
    posting a FireWire driver status report to LKML recently --- so I am
    simply posting the TODO list now. Another page related to FireWire
    driver development status is .

    Reply or edit the wiki if you have additions or disagree with a TODO
    item. AFAIK does not require registration for

    Linux1394 Project TODO List

    See our list of bugs
    at There are also bugs filed in distributors' bug
    trackers but they are not as easy to query.


    IEEE1394 Subsystem (a.k.a. Linux1394 driver stack)
    * subsystem and core driver
    * sbp2
    * ether1394
    * raw1394
    FireWire subsystem (a.k.a. Juju driver stack)
    * support in userspace
    * subsystem and core driver
    * firewire-ohci
    * firewire-sbp2


    IEEE1394 Subsystem (a.k.a. Linux1394 driver stack)

    subsystem and core driver

    * Bug 8403 <>: If
    several Linux boxes are plugged into the same bus, they may go
    multiple forced bus resets, fighting over who gets to be IRM. Our
    IRM code is too pessimistic if errors happen when querying the
    remote IRM for its capabilities.

    * Handle same node being connected to multiple local hosts


    * Bug 1872 <>: Fix

    * Implement per-node queueing options.

    Also see sbp2's TODO list in the source


    * Improve reliability (bug 8361
    <>, bug 8704
    <>). Fix "Waking
    dma ctx=0 ... processing is probably too slow", perhaps by
    increasing the AR DMA buffer size in ohci1394.

    * Implement MCAP and multicast support.


    * Bug 4779 <>: Test
    and fix 32bit userland on 64bit kernel. It appears that only
    address range mapping is still buggy as of Linux 2.6.23.

    * Implement access to RAW1394_REQ_MODIFY_ROM in libraw1394. This
    should be used instead of RAW1394_REQ_UPDATE_ROM. Make sure that
    the RAW1394_REQ_MODIFY_ROM accessor can be ported to the ROM
    manipulation ioctl of the new firewire-core ABI, which should
    eventually be fully supported by libraw1394 too.


    FireWire subsystem (a.k.a. Juju driver stack)

    support in userspace

    * Finish support by libraw1394.

    * Add support in libdc1394 v1?

    * Add support in FFmpeg's libavformat.

    subsystem and core driver

    * Replace fw_notify() and fw_error() (defined in
    drivers/firewire/fw-transaction.h) by dev_notice() and dev_err()
    (defined in include/linux/device.h).

    * Implement IPv4 over FireWire as per RFC 2734, i.e. port the
    functionality of eth1394 to the new driver stack. But try not to
    port eth1394's bugs too.

    * Add IPv6 support as per RFC 3146.

    * Implement an SBP-2 target using the in-kernel SCSI target
    framework as an alternative to Endpoint (Oracle's SBP-2 target
    implementation in userspace).


    * Implement isochronous I/O for OHCI 1.0 compliant chips (such as
    VIA VT6306 and chips from NEC and Ricoh which are not OHCI 1.1
    compliant). That is, implement a mode which does not require
    dual-buffer IR DMA.

    * Bug 8828 <>: Come
    up with a quirk fix for NForce2. The person to do so will most
    certainly require direct access to this hardware. Note, the
    NForce2 workaround in ohci1394 is unacceptable by today's
    standards as it involves busy-waiting in the interrupt handler.
    Either we find something better for firewire-ohci, or NForce2
    remains unsupported in firewire-ohci.

    * Quirk fix for old Apple UniNorth adapters?

    * There seem to be issues with ALi controllers.


    * Eliminate calls to fw_memcpy_to_be32() by directly writing in big
    endian into struct fields of ORBs etc..

    * Fix remaining device recognition bugs. Best done in hands-on mode
    rather than via e-mail debugging.

    * Implement hand-over from OpenFirmware login. When an Apple PC
    boots from a FireWire disk, the OpenFirmware is already logged in
    but does apparently not log out after it loaded the kernel image.
    When then the kernel's firewire-sbp2 (or sbp2, for that matter)
    logs in, the target may deny access. This has been observed with
    Momobay CX-1. The old ieee1394 driver stack somehow overcomes this
    because of timing subtleties, but firewire-sbp2 ends up with
    failed login due to denied access.

    * Implement dynamically appended ORB lists for performance
    improvement. Note, the old sbp2 driver's implementation of ORB
    lists is very buggy and does not seem to improve performance

    * Implement SBP-3 FASTSTART protocol which is rumored to be
    supported by newer OxSemi bridges.

    * Bug 3225 <>:
    Integrate with scsi_wait_scan module?

    PS: It seems also appropriate to disclose the current manpower behind
    FireWire driver development and maintenance. There are just two people
    who regularly work on the drivers: Kristian Høgsberg (author and
    maintainer of the new firewire subsystem, in the past also involved with
    the old ieee1394 subsystem) and me (co-maintainer of both the new and
    old subsystems). But we both have a lot of other projects going on at
    the moment.
    Stefan Richter
    -=====-=-=== =--= -=---

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-09-08 12:47    [W:0.041 / U:18.512 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site