Difference between revisions of "DAQ Networking"

From PREX Wiki
Jump to: navigation, search
(DAQ Computers)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
See also - [[DAQ Doc Portal]]
 
See also - [[DAQ Doc Portal]]
 
= DAQ Network Components =
 
= DAQ Network Components =
 +
== Hall A File System adaqfs ==
 +
There are several separate computers which all mount the same file system and are connected to the JLab network behind the hall gateway and share user accounts between eachother. These are used for DAQ and analysis and file storage.
 +
 +
* apar
 +
* adaq
 +
* aonl
 +
* moller
 +
* compton
 +
 +
Monitor with [https://hallcweb.jlab.org/munin/jlab.org/hamoller.jlab.org/index.html#disk Munin]
 +
 
== Portserver ==
 
== Portserver ==
 
A portserver is a telnet (insecure network interface) capable, serial cable connected, network interface. The advantage to using serial connections is it allows a network connection during boot and enables easy remote power cycling and NVRAM restoration to ROCs.
 
A portserver is a telnet (insecure network interface) capable, serial cable connected, network interface. The advantage to using serial connections is it allows a network connection during boot and enables easy remote power cycling and NVRAM restoration to ROCs.
Line 8: Line 19:
 
=== Command Line Functions ===
 
=== Command Line Functions ===
 
=== ROC NVRAM Restore ===
 
=== ROC NVRAM Restore ===
 +
=== Setup a new Portserver ===
 +
To set up a new portserver you need to
 +
* Request a IP address for it's MAC
 +
* Use that IP to modify the portserver's settings through an instance of Minicom
 +
Minicom:
 +
* In general you need a serial port connection to port 1 to get started.  On atedf3 this is set up, I believe.  It uses port  /dev/ttyS0 on atedf3 which needs root permissions to read/write (it is the case on atedf3).
 +
* Type "minicom" on atedf3.  Connect to portserver:
 +
login: root, password: ****
 +
* Now you have a prompt:
 +
#>
 +
* Execute commands below, appropriately adjusted for your device.
 +
** Note on how to exit minicom:
 +
** When you're done, type
 +
** ctrl-A
 +
** then "Z" (without the quotes), and finally "X".
 +
** This leads to the quesiton of whether you want to quit minicom, answer Yes.
 +
 +
hatsv28:             
 +
#> set config ip = 129.57.36.190
 +
IP Address Changes will be valid on next reboot (if dhcp=off).
 +
#> set config nyname = hatsv28
 +
Syntax error: nyname
 +
#> set config myname = hatsv28
 +
#> set config dhcp=off
 +
#> set config domain = jlab.org
 +
#> set config nameserv = 129.57.32.100
 +
#> set config submask = 255.255.252.0
 +
Submask Changes will be valid on next reboot (if dhcp=off).
 +
#> set config gateway = 129.57.36.1
 +
#> set port dev=term range=1
 +
#> set port dev=prn range=2-4
 +
* (this is assuming a 4-port portserver, obviously if there are more ports your range should cover them.  Also "term" is for a /dev/ttyS0 while "prn" works best for frontends, empirically).
 +
 +
TEDF 1546 Portserver backups:
 +
* hatsv28 - 00:40:9d:ad:aa:b7 - 129.57.36.190 - port 7
 +
* hatsv29 - 00:40:9d:ad:aa:4e - 129.57.37.19 - port 9 
 +
* hatsv17 - 00:40:9d:4c:47:04 - 129.57.37.29 - port 11
  
 
== Console Server ==
 
== Console Server ==
Line 53: Line 101:
  
 
{| class="wikitable"
 
{| class="wikitable"
!colspan="6"|As of July 27th 2018 DAQ Network Map
+
!colspan="7"|As of July 27th 2018 DAQ Network Map
 
|-
 
|-
!Location||SSH Hostname||Software ROC#||Hardware ROC# and Branch||Serial Access Method||Access Command (udp Write Failure error messages are normal)
+
!Location||SSH Hostname||IP||Software ROC#||Hardware ROC# and Branch||Serial Access Method||Access Command||Log Out
 
|-
 
|-
 
!rowspan="1"|RHRS
 
!rowspan="1"|RHRS
| 'happex7' || 26 || 02 branch 4 || serial port via portserver hatsv3 port 2 || 'telnet hatsv3 2002'
+
| 'happex7' || 129.57.192.60 || 26 || 02 branch 4 || serial port via portserver hatsv3 port 2 || 'telnet hatsv3 2002' || ctrl+], q
 
|-
 
|-
 
!rowspan="1"|LHRS
 
!rowspan="1"|LHRS
| 'hallavme14' || 25 || 05 branch 4 || serial port via portserver hatsv21 port 4 || 'telnet hatsv21 2004'
+
| 'hallavme14' || 129.57.192.14 || 25 || 05 branch 4 || serial port via portserver hatsv21 port 4 || 'telnet hatsv21 2004' || ctrl+], q
 
|-
 
|-
 
!rowspan="1"|TS
 
!rowspan="1"|TS
| 'happex4' || no ROC || no ROC || serial port via network console server acons1 port 8 || 'ssh adaq:ttyS8\@acons1'
+
| 'happex4' || 129.57.164.103 || no ROC || no ROC || serial port via network console server acons1 port 8 || 'ssh adaq:ttyS8\@acons1' || ctrl+z, exit
 
|-
 
|-
 
!rowspan="1"|Counting House
 
!rowspan="1"|Counting House
| 'halladaq6' || 23 || 00 branch 1 || serial port via network console server acons1 port 4 || 'ssh adaq:ttyS4\@acons1'
+
| 'halladaq6' || 129.57.164.13 || 23 || 00 branch 1 || serial port via network console server acons1 port 4 || 'ssh adaq:ttyS4\@acons1' || ctrl+z, exit
 
|-
 
|-
 
!rowspan="1"|Injector
 
!rowspan="1"|Injector
| 'qweak1' || 24 || 00 branch 2 || serial port via network rpi12 server 'minicom' || 'ssh pi@rpi12' the 'run_minicom'
+
| 'qweak1' || 129.57.164.61 || 24 || 00 branch 2 || serial port via network console server injhdaqcon port 1 (injparitydaq1) || 'ssh adaq:injparitydaq1\@injhdaqcon' || ctrl+z, exit
 
|}
 
|}
  
Line 99: Line 147:
  
 
{| class="wikitable"
 
{| class="wikitable"
!colspan="6"|Test Lab GEM setup
+
!colspan="6"|Test Lab GEM setup (off halla-daq-sw-2 switch)
 
|-
 
|-
 
!SSH Hostname||IP||Username||Purpose
 
!SSH Hostname||IP||Username||Purpose
 
|-
 
|-
|daq3-prex||129.57.37.65|| ||Analyzer
+
|daq3-prex||129.57.37.65|| ||GEM DAQ/linearity analyzer
 
|-
 
|-
|rpi1-prex||129.57.37.85|| ||Raspberry Pi for Camera
+
|rpi1-prex||129.57.164.23|| ||Raspberry Pi for RHRS motion control and camera
 
|-
 
|-
|rpi2-prex||129.57.37.92|| ||Raspberry Pi for Linearity tests
+
|rpi2-prex||129.57.164.67|| ||Raspberry Pi for linearity tests
 
|-
 
|-
 
|rpi3-prex||129.57.37.88|| ||Raspberry Pi for for gain
 
|rpi3-prex||129.57.37.88|| ||Raspberry Pi for for gain
 
|-
 
|-
|daq4-prex||129.57.37.96|| ||
+
|daq4-prex||129.57.37.96|| ||Integrating DAQ for linearity tests
 
|-
 
|-
|rocdaq4-prex||129.57.37.93|| ||VME Linux ROC
+
|rocdaq4-prex||129.57.37.93|| ||VME Linux ROC for linearity tests
 
|-
 
|-
|rocdaq3-prex||129.57.37.94|| ||VME Linux ROC
+
|rocdaq3-prex||129.57.37.94|| ||VME Linux ROC for GEM and QDC
 
|-
 
|-
|rpi4-prex||129.57.37.95|| ||spare Raspberry Pi
+
|rpi4-prex||129.57.164.59|| ||Raspberry Pi for LHRS motion control and camera
 +
|-
 +
|rpi19||129.57.164.69|| pi ||Raspberry Pi in CH for general use and VLC
 
|}
 
|}
 +
The 164 subnet is the Hall A subnet. 188 is the Hall A tech staff subnet for [[Remote_Power_Control|Remote Power Control]], etc.
 +
 
== MCC/ACE/Injector ==
 
== MCC/ACE/Injector ==
 
There is also a computer on wheels in the Injector area. To log in to this computer you need to have a Machine Control Center (MCC) account, which is independent of the main JLab CUE system (but not agnostic of it). To get a MCC/ACE account follow these steps.
 
There is also a computer on wheels in the Injector area. To log in to this computer you need to have a Machine Control Center (MCC) account, which is independent of the main JLab CUE system (but not agnostic of it). To get a MCC/ACE account follow these steps.

Latest revision as of 14:02, 16 June 2019

See also - DAQ Doc Portal

DAQ Network Components

Hall A File System adaqfs

There are several separate computers which all mount the same file system and are connected to the JLab network behind the hall gateway and share user accounts between eachother. These are used for DAQ and analysis and file storage.

  • apar
  • adaq
  • aonl
  • moller
  • compton

Monitor with Munin

Portserver

A portserver is a telnet (insecure network interface) capable, serial cable connected, network interface. The advantage to using serial connections is it allows a network connection during boot and enables easy remote power cycling and NVRAM restoration to ROCs.

See here for some useful commands.

Login, Log Off, Kick Idles

Command Line Functions

ROC NVRAM Restore

Setup a new Portserver

To set up a new portserver you need to

  • Request a IP address for it's MAC
  • Use that IP to modify the portserver's settings through an instance of Minicom

Minicom:

  • In general you need a serial port connection to port 1 to get started. On atedf3 this is set up, I believe. It uses port /dev/ttyS0 on atedf3 which needs root permissions to read/write (it is the case on atedf3).
  • Type "minicom" on atedf3. Connect to portserver:
login: root, password: ****
  • Now you have a prompt:
#> 
  • Execute commands below, appropriately adjusted for your device.
    • Note on how to exit minicom:
    • When you're done, type
    • ctrl-A
    • then "Z" (without the quotes), and finally "X".
    • This leads to the quesiton of whether you want to quit minicom, answer Yes.

hatsv28:

#> set config ip = 129.57.36.190
IP Address Changes will be valid on next reboot (if dhcp=off).
#> set config nyname = hatsv28
Syntax error: nyname
#> set config myname = hatsv28
#> set config dhcp=off
#> set config domain = jlab.org
#> set config nameserv = 129.57.32.100
#> set config submask = 255.255.252.0
Submask Changes will be valid on next reboot (if dhcp=off).
#> set config gateway = 129.57.36.1
#> set port dev=term range=1
#> set port dev=prn range=2-4
  • (this is assuming a 4-port portserver, obviously if there are more ports your range should cover them. Also "term" is for a /dev/ttyS0 while "prn" works best for frontends, empirically).

TEDF 1546 Portserver backups:

  • hatsv28 - 00:40:9d:ad:aa:b7 - 129.57.36.190 - port 7
  • hatsv29 - 00:40:9d:ad:aa:4e - 129.57.37.19 - port 9
  • hatsv17 - 00:40:9d:4c:47:04 - 129.57.37.29 - port 11

Console Server

SSH to use telnet

Raspberry Pi

Minicom

Ethernet Switch

NFS Network File System

Main Article - NFS Installation Guide

To mount an NFS filesystem to a ROC (linux or VXworks) there are several steps involved (see How To Forge - NFS Guide)

  • Have NFS serve the CODA 2.6.2 directory to localhost (127.0.0.1).
  • Mount it, in a different location (pretending to me the VME controller):
    • example /etc/exports:
/coda/2.6.2/    localhost(rw,sync,no_root_squash,no_subtree_check)
mount it /somewhere_else
    • (as root)
mkdir /somewhere_else 
mount localhost:/coda/2.6.2 /somewhere_else

FAQ

For linux systems:

  • Make sure that the ethernet ports being used are configured to DHCP over the ethernet network
    • Edit the /etc/sysconfig/network-scripts/ifcfg-eth# configuration files are correctly set to allow the desired ethernet port to DHCP on-boot (on RHEL and Centos only)
    • Acquire a static IP from the ethernet network you are using (if its a LAN you manage set these in the router or switch yourself)
    • Identify the hostnames and IPs of the local machine and remote server you want to connect to in the /etc/hosts file
    • Make sure the /etc/sysconfig/network file has the localhost's hostname set in it (can also be done with the 'host' unix command)
    • On the NFS host server ensure that the /etc/exports file correctly targets the IPs or entire network (using .0 as the last digit of the IP address) that you want to server the NFS contents to
      • After updating a network connection or target computer in /etc/exports run the "service autofs restart" or "exports -a" command as root
      • Make sure the /etc/hosts file includes the same information for all computers on the local network involved in the NFS file sharing, with 127.0.0.1 assigned to 'localhost' on all
    • Make sure that the permissions for the shared files allow for appropriate read, write, and execute privileges for all users and groups, on local and remote computers
      • To check the user and group permissions are set correctly, the naming conventions can be deceptive - use ls -n to show the number of users and groups, which is what really matters
      • Even if two separate computers have the same user and group names but their user and group numbers are different you are able to tell this and assign the rwx privileges correctly on the shared folders (using 'chown -R' and 'chmod -R 777' or whatever correct permissions you want to set)

For VXworks systems:

  • The same things apply as for ethernet network mounted file systems, except that VXworks uses the ~/.rhosts file to determine which IPs to allow to mount an NFS shared folder
    • Therefore, follow the /etc/exports file convention, except with ~/.rhosts instead for VXworks ROC file sharing
    • The ROC_name and ROC_name.jlab.org addresses both need to be listed for it to work

DAQ Network Map

For History, see DAQ Network Map

As of July 27th 2018 DAQ Network Map
Location SSH Hostname IP Software ROC# Hardware ROC# and Branch Serial Access Method Access Command Log Out
RHRS 'happex7' 129.57.192.60 26 02 branch 4 serial port via portserver hatsv3 port 2 'telnet hatsv3 2002' ctrl+], q
LHRS 'hallavme14' 129.57.192.14 25 05 branch 4 serial port via portserver hatsv21 port 4 'telnet hatsv21 2004' ctrl+], q
TS 'happex4' 129.57.164.103 no ROC no ROC serial port via network console server acons1 port 8 'ssh adaq:ttyS8\@acons1' ctrl+z, exit
Counting House 'halladaq6' 129.57.164.13 23 00 branch 1 serial port via network console server acons1 port 4 'ssh adaq:ttyS4\@acons1' ctrl+z, exit
Injector 'qweak1' 129.57.164.61 24 00 branch 2 serial port via network console server injhdaqcon port 1 (injparitydaq1) 'ssh adaq:injparitydaq1\@injhdaqcon' ctrl+z, exit

Accessible Computers

DAQ Computers

Workspace Computers
Location SSH Hostname Username
Hall A LHRS halla-lpt1 ahut
Hall A RHRS halla-lpt2 ahut
rpi4 pi
Hall A Counting House adaq1 apar
adaq2 apar
adaq3 apar
adaq4 apar
Test Lab GEM setup (off halla-daq-sw-2 switch)
SSH Hostname IP Username Purpose
daq3-prex 129.57.37.65 GEM DAQ/linearity analyzer
rpi1-prex 129.57.164.23 Raspberry Pi for RHRS motion control and camera
rpi2-prex 129.57.164.67 Raspberry Pi for linearity tests
rpi3-prex 129.57.37.88 Raspberry Pi for for gain
daq4-prex 129.57.37.96 Integrating DAQ for linearity tests
rocdaq4-prex 129.57.37.93 VME Linux ROC for linearity tests
rocdaq3-prex 129.57.37.94 VME Linux ROC for GEM and QDC
rpi4-prex 129.57.164.59 Raspberry Pi for LHRS motion control and camera
rpi19 129.57.164.69 pi Raspberry Pi in CH for general use and VLC

The 164 subnet is the Hall A subnet. 188 is the Hall A tech staff subnet for Remote Power Control, etc.

MCC/ACE/Injector

There is also a computer on wheels in the Injector area. To log in to this computer you need to have a Machine Control Center (MCC) account, which is independent of the main JLab CUE system (but not agnostic of it). To get a MCC/ACE account follow these steps.

  • Go to the main JLab CCPR system here
  • Click on the link at the top for ACE CCPRs here
  • Then select New User Account in the category menu and proceed with your request
  • They will process your request and send you an email asking you to log in with your JLab CUE account to change your ACE password
  • You need to log in to a computer that has a static DHCP managed JLab IP address and follow that link to change your password (which cannot be the same as your current CUE password)

Phone Numbers

Commonly Used Phone Numbers
Who Why Number
Machine Control Center (MCC) To control the accelerator (757) 269 7047 or 7048
Security Guards Emergency (757) 269 5822
Normal (757) 269 7169
Hall A Counting House Back Room (757) 269 5505
(757) 269 5509
Control Room (757) 269 5501
Radcon Radiation help (757) 876 1743
Computer Helpdesk Computer or network help (757) 269 7155
Health Clinic Health questions (757) 269 7539

For table formatting help see MediaWiki Help:Tables