Project

General

Profile

Wiki » History » Version 7

« Previous - Version 7/11 (diff) - Next » - Current version
Richard Kwarciany, 03/21/2013 05:56 PM


DCMWiki

FEB FPGA Firmware

DCM FPGA Firmware

Available DCMs

The configuration and purpose of these units is listed in the following table:

DCM USB Port Host Name Debugger Name Purpose FEBs Location Timing Chain Assigned To
1 yes dcm1028 0-31 port0:I=TDU,O=dcm1006 ron
2 yes dcm1006 0,1,16,17,25 port0:I=dcm1028,O=dcm1010
3 yes dcm1010 none teststand port0:I=dcm1006,O=dcm1145
4 yes dcm1145 0,1,16,17,25 port0:I=dcm1010,O=dcm1139
5 yes dcm1139 none port0:I=dcm1145,O=Loopback kurt
6 yes dcm1159 none
7 no dcm1194 none
8 no dcm1049 none
9 no dcm1026 none

Note: Nodes that are on the NDOS can only be accessed from the DAQ cluster. All machines on the cluster have access to the DCMs. To access them, ssh to novadaq-ctrl-master (or any other DAQ machine) and then ssh to the dcm of interest as either the user "dcm" or as "root". (i.e. ssh dcm@dcm-01)

Remote resetting of DCMs

The dcms that are deployed to the NDOS are each connected to channel of the power distribution system and can be turned on or off remotely.

To turn power on to a given DCM (and its associated front end boards) issue the command:

power-on-<diblockid>-<dcmid>

DCM ids correspond to the location of the DCM on the detector and run from 1 to 3 where:
1 = NDOS Top (x views)
2 = NDOS Side (y views) upper two rows
3 = NDOS Side (y views) bottom row.

For example:

power-on-1-2

Will turn on the DCM that is located on diblock 1, in the second position (side of the detector top rows)

To power off a DCM (and the corresponding FEBs) issue:

power-off-<diblockid>-<dcmid>

To toggle power on one of these nodes (take the power down, wait an appropriate amount of time and then power back up):

reset-power-dcm-<diblockid>-<dcmid>

? = maybe sitting in the rack w/o power after upgrade.
Xtal = 32 MHz oscillator.
DMA = bootloader enables DMA support

We currently have 2 debuggers.
Currently, dcm-01 is incompatible with the debuggers.

To access the CONSOLES use:

minicom -o dcm-usb
or
minicom -o dcm-usbN

To see the available names:
ls /etc/minirc.*

Currently DCMs have only two enabled accounts, root and a generalized account "dcm" for logins.

Accessing a DCM

The set of prototype DCMs (DCM-V2.0) are currently connected via a USB hub system that provide their logon consoles over the serial interface. Each of the DCMs is connected to one serial port and these can be accessed as /dev/ttyUSB0, ttyUSB1, ttyUSB2, or ttyUSB3. The DCM bootloaders have been configured to show all output over these lines, started from the initial memory configuration and continuing through the booting of Linux down to a root command prompt.

In addition the DCM-V1.0 is connected with a standard RS232 serial cable and is available on /dev/ttyS0 of the test stand computer. This direct serial connect will bring up the console on the DCM and allow you to interact with the DCM. Since the actual console has been mapped over this interface will also show console and boot messages.

Serial access

To access the DCM over the serial line, use the minicom terminal emulation program or the "screen" terminal emulation. A configuration file (/etc/minirc.dcm) has been setup to give the proper serial line settings for the DCM. In general all of the DCMs have been set to assume a default baud rate of 38400 and a communication parity of 8N1. These settings have been recorded to a set of configuration files for minicom that reside in /etc/ (minirc.xxxxx). There are currently configuration files for the dcm on the standard serial connection, as well as on each of the USB lines. These configuration can be accessed by starting minicom with the extension of the configuration file:

> minicom -o dcm-usb              (starts minicom for DCM-0)

> minicom -o dcm-usb1             (starts minicom for DCM-1)

In addition there are generalized scripts that are availabe in the /usr/bin area of novatest01 which will correctly start new sessions to each of the dcms that include a console port and debugger session (if available) to a given machine. These scripts are "DCM_Debug_Session-1.sh" "DCM_Debug_Session-2.sh" and "DCM_Debug_Session-3.sh". Note that only one person can access the console or debugger box at a given time.

IP access

After boot up the dcm will start an ssh server to allow people to ssh into the device.

Each of the prototype DCMs is assigned an IP address based on it's MAC address, and these are aliases in the /etc/hosts file of novatest01.

Each of the DCMs also has a second ethernet port designated as the "control" network port. For each of the DCMs this is given a host name alias of "dcm-ctrl-XX" and start at a base IP of 192.168.140.? for ?.

To ssh into a dcm from novatest01, you must enter as the "dcm" user:

ssh dcm-01 -l dcm
dcm@dcm-01's password:
-bash-3.2$

From this point you can work normally on the dcm.

Root Access

Root access is available one of two ways, either directly from the console (i.e. the USB-serial line) where the console is brought up in a root shell, or via "su" on normal logins.

For general security, root login over the network has been disabled (i.e. no ssh'ing in as root) but when logged into the dcm, you can su over to root.

As a side note, due to the way the DCMs are configured using Busybox as the provider of system applications, the sticky bit has been set on busybox in order for certain utilities to work properly. This is required using the older version of busybox that is current installed, but may change when the new version of the filesystem is ready.

What this means is that effectively ALL commands that run on a DCM run as a privileged user. For this reason be careful! In the very near future we may want to redo the NFS mounted areas to make them read only to prevent accidental modification by the DCM.

Additional information