Silicon Readout Electronics 1

2002-09-17. Reset latchup. 1

2002-09-17. Check fiber connection from FFIs to the tunnel. 1

Solaris hosts 1

How can I tell whether I'm running 32 or 64 bit kernel: 1

How to Test Network Performance 1

VxWorks hosts 3

How to get Tornado working on phobosx 3

1/29/2003 15:05. How to access local memory of the MVME 2604 from vmesparc 3

How to access A32 bit address from mv2304 3

How to Run and Control WorkerVME 4

Run WorkerVME 4

Control 4

Bits in the control word 1 4

To print status of the WorkerVME: 5

To enable diagnostics: 5

To exclude a subsystem (queue) from the event building 5

StreamStor 5

Network 7

Make a TCP/IP tunnel using SSH 7

 

Silicon Readout Electronics

2002-09-17. Reset latchup.

In EMM window:

silicon EMMTrigger > emm_latchup_reset()

2002-09-17. Check fiber connection from FFIs to the tunnel.

On the FFI module check voltage on the pin 8 (right pin on the 4-th row from the top).  If there is no connection (at least one fiber disconnected) it will be 3.5 V. When the optical link is established (both fibers connected properly) then this signal will stay at 3.5 V during 10 seconds and then drops to 0 V.  If everything is OK then voltages on pins 2,4,6,8,10 = 0,0,0,0,3.5 V. If something is wrong then  2,4,6,8,10 = 0,0,0,3.5,3.5 V.

Solaris hosts

How can I tell whether I'm running 32 or 64 bit kernel:

isainfo -kv

It is also seen in /var/adm/messages if line with SunOS Release ... has '64-bit'

How to Test Network Performance

Internal transfer on phobosxg.

Internal transfer rate on phobosx is: TCP = 700 Mbits/sec, UDP = 900 Mbits/sec In both cases CPU usage =100%. Bellow is the report:

phobosxg:/usr/local/bin/netperf -H phobosxg -- -s 65000,65000
TCP STREAM TEST to phobosxg
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

24576 65000 65000 9.99 700.94

/usr/local/bin/netperf -H phobosxg -t UDP_STREAM -- -s 65000,65000
UDP UNIDIRECTIONAL SEND TEST to phobosxg
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec

65000 65000 9.99 17246 0 897.59
8192 9.99 16253 845.91

Transfer from phobosvg to phobosxg

Transfer rate from phobosvg to phobosxg is 283 Mbits/sec, Th CPU usage on phobosxg is 100%, on phobosvg is approximately 75%.
Report:

phobosxvg:netperf -H phobosxg -- -s 65000,65000
TCP STREAM TEST to phobosxg
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

24576 65000 65000 10.00 243.14

netperf -H phobosxg -- -s 128000,128000
TCP STREAM TEST to phobosxg
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

24576 128000 128000 10.00 249.01

netperf -H phobosxg -- -s 64000,64000 -S 64000,64000
TCP STREAM TEST to phobosxg
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

64320 64000 64000 10.00 304.76

> netperf -l 172000 -H phobosxg -- -s 64000,64000 -S 64000,64000
TCP STREAM TEST to phobosxg
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

64320 64000 64000 172002.66 283.01 (running for 2 days)

Problem: Queueing problem with rxg (PMC667 Gigabit Interface) driver

The round trip time of ping can jump up by integer number of seconds and stay at 1,2...20 sec for a long (1 hour or so) time then resets to normal ~0. Usually it is accompanied by following system console messages:
Jan 18 21:00:10 vmesparc unix: gbinit:freeCnt= 19
Jan 18 21:00:10 vmesparc unix: rxg0rxg: Manual link override: Speed 1000 Mb, Ful
l Duplex.
Jan 18 21:14:18 vmesparc unix: WARNING: no more xmit buf

VxWorks hosts

How to get Tornado working on phobosx

setenv WIND_HOST_TYPE sun4-solaris2
setenv WIND_BASE /usr/wind
setenv WIND_REGISTRY phobosx
setenv PATH $WIND_BASE/host/$WIND_HOST_TYPE/bin:$PATH
/export/home/wind/host/sun4-solaris2/bin/launch

1/29/2003 15:05. How to access local memory of the MVME 2604 from vmesparc

>cd /opt/THEMISvme/example

> vme_mmap

Themis Computer - VME test program

Enter command, h for help :

s 0x01

VME file /dev/vme32d32 successfully opened.

Enter command, h for help : m 0x08000000

 

0x08000000: 1b1b1b1b    ?

0x08000004: e4e4e4e4    ?

0x08000008: 11400800    ?

0x0800000c: 05040040    ?

 

> cd /opt/THEMISvme/example/

> vme_mmap

Enter command, h for help : s 0x1

VME file /dev/vme32d32 successfully opened.

Enter command, h for help : m 0x8800000

0x08800000: 00000000    ?

Enter command, h for help : m 0x9800000

0x09800000: 00000020    ?

0x09800004: 00000004    ?

0x09800008: 00000000    ?

0x0980000c: 00100010    ?

0x09800010: 00000000    ?

0x09800014: 04000000    ?

0x09800018: 00000000    ?

0x0980001c: 00000008    ?

 

How to access A32 bit address from mv2304

The defaul mapping in mvme2304:

         #define VME_A32_MSTR_BUS  0x08000000

         #define VME_A32_MSTR_SIZE 0x08000000  /* (128MB) */

 

     The master window address mappings are as follows:

     VME Master

     Address Space   VME Base Address   Size    Local Base Address

     _____________________________________________________________

     A16             0x0000             64KB    0xFBFF0000

     A24             0x000000           16MB    0xFA000000

     A32             0x10000000         128MB   0x10000000

     A32 (Mailbox)   0xFB000000         4KB     0xFB000000

 

That means local addresses:

0x10000000:0x20000000

corresponds to the VME addresses:

0x08000000:0x18000000

 

Note! The  sysBusToLocalAdrs function does not work for A32

vmeroc >laddr=0;

new symbol "laddr" added to symbol table.

laddr = 0x1bd06e8: value = 0 = 0x0

vmeroc >sysBusToLocalAdrs(0x09,0,&laddr);

lavalue = -1 = 0xffffffffd = gloop_control + 0xfe4249fb

 

How to Run and Control WorkerVME

Run WorkerVME

vmesparc:$DAQ/2004/Mercury/bin/runmc -ce 25 daqWorkerVME.ppc

[0]: Purged 0 words from the FIFO

[0]workerVME: Reset error 8c00 != ac00

workerVME: EVIN initialized EVIN=8c00 0000 0000 0000 0000 0000 0000 0000

[0]workerVME: Attaching to WOQHeaders...

[0]workerVME: WOQHeaders[cb20] mapped @ 1006e000

[0]workerVME: quals = 01 04 15

[0]workerVME: SMB Out01 for processed data created.

[0]workerVME: SMB Out01 created: m on CE25[140000]

[0]workerVME: SMB Out01[140000] mapped

[0]workerVME: DX transfer reated

[0]workerVME: DX transfers created

workerVME: Setup Completed. EVIN=8c00 0000 0000 0000 0000 0000 0000 0000

[0]workerVME: DPReady set

[0]workerVME: Wait when DPReady drops...

 

Enable FB in event builder and run WorkerVME

>daq_control.exe 1 1 0x00 0 8; runmc -ce 25 daqWorkerVME.ppc

Control

The control program is vmesparc:/export/home/phobos/DAQ/2004/Mercury/bin/daq_control.exe

First argument is queue id. Fastbus: 1, VMEROC: 2, Silicon Workers: 4 through 24

Second argument:         control byte. 1 or 2.

Third argument:             pattern to be loaded

Fourth argument:           starting bit in control byte where the pattern will be placed

Fifth argument:              number of bits to use.

 

Bits in the control word 1

See EBQueue.h:

#define OQC_DISABLE_EVENT_BUILDING 0x80

#define OQC_LOOP_CONTROL_MASK      0x30

#define OQC_LOOP_CONTROL_NOTHING   0x00

#define OQC_LOOP_CONTROL_REPORT    0x10

#define OQC_LOOP_CONTROL_BAILOUT   0x20

#define OQC_LOOP_CONTROL_EXIT      0x30

#define OQC_VERBOSITY_MASK         0x03

#define OQC_VERBOSITY_0            0x00

#define OQC_VERBOSITY_1            0x01

#define OQC_VERBOSITY_2            0x02

#define OQC_VERBOSITY_3            0x03

 

0:1       printout verbosity

4:5       commands. 1 – print status, 2 - bail out from a loop, 3 – exit

7          exclude subsystem from the event building

To print status of the WorkerVME:

Go to vmesparc.phobos.bnl.gov:/export/home/phobos/DAQ/2004/Mercury/bin

>daq_control.exe 1 1 0x1 4 2

the WorkerVME will respond :

workerVME: Waiting for DPReady=0 EVIN=ac00 0000 0000 0000 0000 0000 0000 0000

Bytes received 0 in 15.923 sec. 0 KB/s

To exit:             >daq_control.exe 1 1 3 4 2

Bail out:            >daq_control.exe 1 1 2 4 2

To enable diagnostics:

Verbosity 1:

>daq_control.exe 1 1 0x1 0 2

Verbosity 2:

>daq_control.exe 1 1 0x2 0 2

Verbosity 3:

>daq_control.exe 1 1 0x3 0 2

To exclude a subsystem (queue) from the event building

Disable FBROC:

>daq_control.exe 1 1 0x1 7 1

Disable VMEROC:

>daq_control.exe 2 1 0x1 7 1

 

StreamStor. Useful commands

/usr/local/streamstor/linux/util/ssopen

 

cd DAQ/2004/StreamStor/tests/

./record_and_read SS_MODE_READ_EXT 1000

od -t x4 -N 256 -j 0 record_and_read.dat

 

./record_and_read n 3000

./record_and_read n 3000 -1

./record_and_read n –1

 

cvs -d sukhanov@rftpexp.rhic.bnl.gov:/phobos/u/phobos/Repository

 

cd /mnt/ramdisk

/home/andrei/DAQ/2004/StreamStor/tests/record_events 1000000 noCRC noWrite

ls -ltr /mnt/ramdisk

 

./record_and_read NO_RECORD

 

hexdump -n 256 -e '"%04_ax: " 8/4 "%08x " "\n"'

Network

Make a TCP/IP tunnel using SSH

ssh -g -L 7002:localhost:7002 vmesparc.phobos.bnl.gov

After this command you can access vmesparc.phobos.bnl.gov:7002 using localhost:7002

 

Fastbus

Calculate pedestals

.x $PHAT2HOME/macros/load_all_libs.C

.L $PHATHOME/macros/DAQ/getFBPeds.C

getFBPeds("$DATA2004/rawdata_PR04/PhoRaw014575s000.pdaq")

Accumulate(500);

FitPeds()