June 24, 2003
Overview
The following changes are introduced in this release:
Note:
This release includes a new FPGA configuration and new embedded code.
Run the dpflashup program after installation to update the
embedded code on the DPT4 board(s).
Board and System Hang Problems Resolved
In some cases only the embedded code on the board would get into a hung state.
In other cases the entire system could hang, sometimes indefinitely or
only for a matter of minutes.
The type of problems encountered would vary depending on the nature of
the problem encountered.
The resolution to these problems involved changes to the Host interface FPGA
configuration, the dpinit program and the embedded code running on
the on-board MIPS processor.
Specific changes to these components are described below.
Modifications to Software Installation
The header files for the CACIPC and HEXPARSER library functions are now
installed directly in $CAC/include rather than in separate
sub-directories under $CAC/include.
In most cases, customer application programs do not utilize these libraries.
Those that do may require modifications to #include directives as follows:
The diagnostic programs for DPT4 are now installed in a separate directory
named $CAC/dpt/diag instead of in $CAC/bin.
Anyone who regularly uses the diagnostic programs should include $CAC/dpt/diag
on the program search path along with $CAC/bin.
The following DPT4 utility programs are still installed in $CAC/bin:
The following DPT4 diagnostic programs are now installed
in $CAC/dpt/diag:
Not all of the programs listed are supported under Windows.
Various demonstration programs, if enabled,
are now installed in $CAC/dpt/demos.
To ensure that outdated programs are removed from the $CAC/bin
directory, Solaris and Linux users should run the command,
make uninstall, before running make install.
Do this with the new software distribution, as previous versions
may not have properly implemented that "uninstall" procedure.
The installer for Windows users will automatically remove the old programs.
Changes to the dpinit Program
Redundant calls to the board and device driver reset procedure were
removed from the smPCI module initialization procedure.
The default behavior of the program has been changed to wait for the
embedded code to start before the program completes.
This ensures that the MIPS application is running and avoids errors that
could occur if applications are started before the MIPS application is ready.
In addition, for Unix, user interrupts (Control-C and Control-Z) are blocked
during the initialization procedure for each board.
Changes to the dpflashup Program
The help ensure that upgraded boards are running with the proper clock
frequency the dpflashup program now checks the setting of the
system clock generator and adjusts its frequency if necessary.
New API Function to Synchronize Receive Channels
The new function is pci_open_chan_rcv_host_start and has the same
arguments and the normal pci_open_chan function.
The function will open the channel on the DPT4 module and, provided that
the receive channelization hardware is currently not running on the
specified framer, it will not start the receive channelization hardware.
The receive channelization hardware is stopped by the embedded application
when the last channel on the framer is closed.
The pci_start_receive function, introduced with version 1.4.2 of the
DPT4 software, is still required to enable channelization on selected framers
or connectors.
This function is used to start the channelization synchronously after the
application has opened its receive channels with
pci_open_chan_rcv_host_start.
See the DPT4 Programmer Reference Manual (version 1.4.3 or higher)
for details.
Support for Linux Kernel Change in the Linux Device Driver
The configuration of the DPT4 Linux device driver code now attempts
to determine the number of arguments for the function and sets a macro
used in the source code the control how the function is used.
Bug Fix in the Windows Device Driver
Modifications to Utility and Diagnostic Programs
The dpserial and dpinfo programs are modified to include
information about new Rev3 boards and a possible new flash
memory component.
The Rev3 boards (also known as DPT4-RJ) is a new revision of the
printed circuit board that includes special shielded RJ-45 connectors;
not to be confused with previous revisions of the board that could be
populated with BNC, Trompeter or non-shielded RJ-45 connectors.
The dpchantest program has a new -z option for controlling
the size of the frame buffer in dual-port memory.
Note that the framer buffer size is left at the size requested
and is not changed unless explicitly specified.
Changes in the Embedded Code
New functionality is added to support the pci_open_chan_rcv_host_start.
Code supporting the old pci_disable_receive_start function is removed.
Several problems were resolved that contributed to possible system hangs
during the initialization of DPT boards - during system boot sequence or
anytime the dpinit program was run.
Two aspects of the DPT software installation have changed to provide
compatibility with software installations for other CAC products
1) the location of certain header files and 2) the location of
diagnostic programs.
Old Include Directive:
New Include Directive:
#include <cacipc/cacipc.h>
#include <cacipc.h>
#include <hexparser/hexparser.h>
#include <hexparser.h>
dpclock
dpcons
dpdumpcfg
dpeeunlock
dpfind
dpflashdump
dpflashup
dpinfo
dpinit
dpled
dprun
dps2pci
dpserial
dptp12config
dp54xdiag
dpburn
dpburntime
dpchantest
dpdebug
dpdmaxfer
dpdpram
dph100diag
dpmemtest
dpmoddma
dppiomem
dptiming
Checks are added to ensure that the MIPS processor is not running
during the register initialization procedure and the order of
register initialization has been fixed to avoid possible
dead-lock situations involving MIPS interrupts.
Due to timing requirements in the new version of the Host FPGA configuration
the normal, default DPT4 system clock frequency is now 30.88 MHz
(reduced from 33 MHz).
A new API function is added to the library providing the ability to
synchronize the starting of receive channels, minimizing the effects of
frame offsets between channels coming from different framers.
This new function replaces the pci_disable_receive_start that was
included in the previous release.
Recent Kernel updates from Red Hat include new code from the pre-release
of the official Linux 2.4.21 Kernel that added an argument to the
remap_page_range() kernel system call.
Affected Red Hat releases include Red Hat 9 and recent Kernel updates for
Red Hat 7.1, 7.2, 7.3 and 8.
A bug is fixed in the Windows device driver that caused it to falsely report
timeouts waiting for the embedded application program to respond to requests.
The default behavior of the dprun program, like dpinit,
has been changed to wait for the embedded code to start before the program
completes.
This ensures that the MIPS application is running and avoids errors that
could occur if applications are started before the MIPS application is ready.
Modifications and bug fixes are made to the start-up portion
of the embedded application to avoid dead-lock situations that
could cause the board to hang.