We have many Windows computers for SpinQuest. This page collects commonly-used methods of setting these Windows computers.
BOS+EOS Handler
A program to detect the BOS & EOS signals to update the BOS, EOS & SPILLCOUNTER variables on EPICS.
Turning Off
- Click the "STOP" button. It might show an error, but it is fine for now.
- Close the VI file, by clicking the right-top Close button of the window. Do not save any change, if asked.
Turning On
- Make sure that the NIM bin with the gate generator for BOS/EOS is on. It is in the bottom of the right most rack.
- Double-click "bos_eos_mostreal_atBOS_sid_saved.vi" (which is a shortcut) on the desktop.
- Click the VI "Start" icon.
- Right-click "monitor_spill.ps1" on the desktop and click "Run with PowerShell". It pops up a small text terminal.
- Wait for one minute at max to confirm that the text terminal shows new records of BOS, EOS and SPILLCOUNTER.
Communication with Slow Control Devices
All devices in the slow control rack are connected with the target computer through the interface converters. The hardware configuration is explained in README.md, note_converter.md, etc. in this repository:
https://github.com/uva-spin/Temperature-Pressure-VIs
All virtual USB devices are usually disconnected. You have to connect/disconnect each device before/after you use it via "SX Virtual Link". You can click the icon in the taskbar to bring up the user interface like this.
Usage of Git Repository
The "uva-spin" GitHub repository ( https://github.com/uva-spin ) is cloned at "github" on desktop. Our default software to manipulate the repository is "Git Bash" in "Git for Windows" ( https://gitforwindows.org/ ).
You can right-click the desktop and click "Git Bash Here" in the menu, or you can click the icon of "Git Bash" in the task bar. Once a text terminal of "Git Bash" is opened, you can do "cd github/e1039-target-controls", "git pull", etc.
Environmental Variables for EPICS
The target computer has to communicate with the EPICS server to set BOS, EOS and SPILLCOUNTER. We follow this procedure.
- Search for "env" in the search box.
- Bring up "Edit the system environment variables".
- Click the "Environment Variables..." button.
- Add or modify the EPICS variables; EPICS_BASE, EPICS_CA_ADDR_HOST and EPICS_HOST_ARCH. Example.
- Reboot.
NFS Mount
The target computer mounts the E906/E1039 network disk (i.e. "/data2") to record slow-control data. The disk is automatically mounted when the main user logs in. It was configured on 2021-11-21 by the following procedure.
- Collect the information on the network disk.
- Network path = "192.168.24.160:/mnt/seaquestdsk0" — Found in "e1039gat1:/etc/fstab"
- UID = 500 (e1039daq) and GID = 10391 (e1039sc) — Found by "ls -n /data2/e1039_data/slowcontrol_data"
- Network path = "192.168.24.160:/mnt/seaquestdsk0" — Found in "e1039gat1:/etc/fstab"
- Search for "turn windows features on or off" on the task-bar search box, and click it.
- Enable both "Administrative Tools" and "Client for NFS" under "Services for NFS".
- Enable the write permission.
Open "regedit" from the task-bar search box.
Expand HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> ClientForNFS -> CurrentVersion -> Default.
Create a new DWORD value (via right-click menu), with name = "AnonymousUid" and value = "500".
Create a new DWORD value (via right-click menu), with name = "AnonymousGid" and value = "10391".
- Reboot the OS.
- Mount the network disk manually for test.
- Open "command prompt" from the search box.
- Execute this command: "mount -o anon -o nolock -o fileaccess=775 \\192.168.24.160\mnt\seaquestdsk0 Z:". Note that "-o anon,nolock,fileaccess=775" does not work!
- Screenshots: Command prompt. and Z: folder.
- Set up an automated mount via startup
- "Start Menu" → "Run" → Enter "shell:startup".
Create "nfsmount.bat" with the following contents:
mount -o anon -o nolock -o fileaccess=775 \\192.168.24.160\mnt\seaquestdsk0 Z: - Reference: https://dop-amine.com/posts/persistent-nfs-windows/
Notes:
- The mount option "-o nolock" was necessary to avoid an error when creating a file: "0x80070021: The process cannot access the file because another process has locked a portion of the file."
- "UID = GID = 65534" didn't work since the write permission of "/data2/e1039_data/slowcontrol_data" is not granted.
- It is a bit anxious that any user on the target computer can (re)move any network files by mistake, where such mistake can happen more easily on graphical interface. A precaution is wanted.
- The registry can be edited via the command prompt. Have a try next time:
- New-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousUID -Value 500 -PropertyType "DWord"
- New-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousGID -Value 10391 -PropertyType "DWord"
- Reference: https://blog.edie.io/2018/06/16/mounting-nfs-shares-in-windows-using-identity-mapping/
- Reference: https://docs.datafabric.hpe.com/61/AdministratorGuide/MountingNFSonWindowsClient.html
Disabling Automatic Windows Update
There are several ways of disabling the automatic Windows updates on Windows 10 Pro. Let's use "Group Policy" on the target computer. It was disabled by the following procedure on 2021-10-25.
- Search for "gpedit.msc" (using the task-bar search box) and execute it.
- Go to "Computer Configuration" -> "Administrative Templates" -> "Windows Components" -> "Windows Update".
- Double click "Configure Automatic Updates" policy setting and select "Enabled".
- Choose "2" ("Notify for download and notify for install") under "Configure automatic updating" section.
- Click "Apply", followed by "OK".
The standard configuration about the Windows update is available at "Settings" -> "Update & Security" -> "Advanced Options". It allows us to only postpone an update up to 35 days.