Categories
Knowledge Support Documentation Support exacqVision Server Products

Configuring the Time Server on Linux-based exacqVision Systems

To configure the time server on a Linux-based exacqVision system, complete the following steps:

  1. In exacqVision Client, make sure Enable Time Server is not selected on the Date/Time tab on the System Setup page.
  2. In a Terminal window, type sudo /etc/init.d/edvrserver stop to stop the exacqVision service.
  3. In a Terminal window, type sudo /etc/init.d/ntp start.
  4. Type sudo /etc/init.d/edvrserver start to start the exacqVision service.

On the System Setup page, Enable Time Server should now be selected and not greyed out.

Configuring-the-Time-Server-on-Linux-based-exacqVision-Systems.pdf
Categories
Knowledge Support Documentation Support exacqVision Server Products

Manually Deleting Log Files from Linux-based exacqVision Systems

It is possible for log files to become large enough to prevent proper access to an exacqVision system. If this happens, complete the following steps to delete the files manually:

  1. Restart the system.
  2. During the system startup process, press the Esc key to boot to shell.
  3. Type /usr/local/exacq/server/logs.
  4. Type ls -la for a list of files and sizes.
  5. Type less 'filename' to see the error.
  6. Type sudo rm 'filename'.
Manually-Deleting-Log-Files-from-Linux-based-exacqVision-Systems.pdf

Categories
Knowledge Support Support exacqVision Server Categories Products

Replacing XDVR drivers with SDVR drivers on Linux-based exacqVision Systems

If you have an Linux-based exacqVision system (such as exacqVision EL) that requires SDVR drivers, but you mistakenly installed XDVR drivers, you must remove the XDVR drivers before installing the SDVR drivers. There are two equal ways to remove the XDVR drivers; use the one that you prefer or have better access to:

  1. In Terminal, type sudo apt-get purge xdvapi .
  2. In Synaptic Package Manager, search for xdvapi, right-click its entry, and select Completely Remove.

Now you can proceed with installing the SDVR drivers.

<br>

Replacing-XDVR-drivers-with-SDVR-drivers-on-Linux-based-exacqVision-Systems.pdf
Categories
Knowledge Support Support exacqVision Server Categories Products

Bad Package Quality Error when Installing exacqVision Software on Ubuntu 11.04

Exacq recommends installing exacqVision software on Ubuntu 10.04 because of its extensive testing within the Ubuntu community and its status as a Long Term Support version.

However, if you try to install exacqVision Client and exacqVision Server software version 4.5 and older, exacqVision Web Service, or Enterprise Health Manager on a Ubuntu 11.04 system, the new Ubuntu Software Center installer displays a false error message indicating a “package of bad quality.” This error can be ignored. Changes in exacqVision version 4.6 prevent this message from being displayed.

<br>

Bad-Package-Quality-Error-when-Installing-exacqVision-Software-on-Ubuntu-11.04.pdf
Categories
Knowledge Support Support exacqVision Client Categories Products

No Audio from PC Speaker on Linux-Based exacqVision Systems

If you cannot hear audio on Linux-based exacqVision (eV) systems, try adjusting the volume setting on the front speaker (the default setting is for this volume is zero). To adjust the volume setting, complete the following steps:

  1. Exit the eV Client software and log out of the user account.
  2. Log in to Linux using an administrator account.
  3. In the bottom-right corner of the main window, left-click the speaker icon and select Open Volume Control from the pop-up menu.
  4. Make sure Mute is NOT selected for the Master or Front volume settings. You can tell that Mute is selected if the speaker icon below the settings’ slider bars is obscured by a red “x.”
  5. Move the Master and Front volume settings sliders up.
  6. Test the audio in eV Client.
  7. If necessary, repeat these steps to change the volume settings to an appropriate level.

<br>

No-Audio-from-PC-Speaker-on-Linux-Based-exacqVision-Systems.pdf
Categories
Knowledge Support Highlighted Support Categories exacqVision Webservice Products

Using SSL with exacqVision Web Service (Linux)

Version 8.4 and Higher

Follow the instructions in Article 1002 to configure HTTPS support in the Web Service.

<br>

Version 8.2 and Lower

SSL, a security system combining authentication and encryption, is used to protect communication between a web server and client. Enabling SSL on a web server allow all clients connecting to that server two key protections:

  1. The client is able to identify the server. There is no way for a fake server to misrepresent itself to a client.
  2. The communication between the client and server is encrypted, preventing a third-party from seeing what data is sent. This ensures the safety of private communication such as usernames and passwords, video data, and more.

NOTES:

  1. This article assumes that exacqVision Web Service version 3.10 or later has been installed with default settings. If you are running version 3.0 to 3.8, see the attached legacy PDF.
  2. A self-signed certificate allows you to use a web browser, but it does not work with mobile devices. Only trusted third-party certificates work with mobile devices.

To use SSL with exacqVision Web Server in Linux, complete the following steps:

  1. Stop exacqVision Web Server by typing sudo /usr/local/exacq/webservice/service.sh stop in a Terminal window.
  2. Open the Web Server Apache Configuration file by typing sudo gedit /etc/evapache/httpd.conf in a Terminal window.
    Find the following lines:

    #Include /etc/evapache/extra/httpd-ssl.conf
    #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    #LoadModule ssl_module modules/mod_ssl.so
  3. Delete the pound signs (#) at the beginning of each line.
  4. Save and close the file.
  5. It is recommended, but not required, that you disable the access log for SSL, as this file can grow very large. To do this, open the Apache SSL Configuration file by typing sudo gedit /etc/evapache/extra/httpd-ssl.conf in a Terminal window.
    Find the line with the following text:

    TransferLog “${SRVROOT}/logs/access.log”

    Change it to:#TransferLog “${SRVROOT}/logs/access.log”When finished, save and close the file.
  6. Open the Web Service configuration file by typing sudo gedit /etc/webservice.conf
    Add the following lines to the end of the document:

    [Broker]
    ssl_private_key = /etc/evapache/server.key
    ssl_certificate = /etc/evapache/server.crt

    When finished, save and close the file.
  7. If you were issued certificates, rename them to server.crt and server.key and save them to the /etc/evapache directory and then skip to Step 10. Otherwise, continue with the following steps.
  8. Run cd /etc/evapache in a Terminal window.
  9. To create a self-signed certificate, type sudo openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/evapache/server.crt -keyout /etc/evapache/server.key and answer the questions.

    NOTE: 
    COMMON NAME should be the IP address or FQDN that you use for access to your exacqVision Web Service.
  10. Re-start exacqVision Web Server by typing sudo /usr/local/exacq/webservice/service.sh restart.

    NOTE: To connect to exacqVision Web Server using SSL, you must use HTTPS instead of HTTP.

Troubleshooting

If exacqVision Web Service does not start after configuring it for SSL, complete the following steps:

  1. Open the Apache error logs, found by default at /user/local/exacq/webservice/evapache/logs/error_log.
  2. Look for an entry similar to the following:

    [Wed Mar 04 09:08:54.512004 2015] [ssl:emerg] [pid 19116] AH02565: Certificate and private key www.example.com:443:0 from CERTIFCATE_FILE_NAME.crt and KEYFILE_NAME.key do not match AH00016: Configuration Failed
  3. If you see this entry, complete the following steps:

    a.) Run the following commands, replacing the values in all caps with your values:

    openssl.exe x509 -noout -modulus -in PATH_TO_CRT | openssl md5
    openssl.exe rsa -noout -modulus -in PATH_TO_KEY | openssl md5
    openssl.exe req -noout -modulus -in PATH_TO_CSR | openssl md5

    For example:

    openssl.exe x509 -noout -modulus -in ..\conf\certificate.crt | openssl md5
    openssl.exe rsa -noout -modulus -in ..\conf\privateKey.key | openssl md5
    openssl.exe req -noout -modulus -in ..\conf\csr.csr | openssl md5

    b.) Compare the result values from all of the calls. Each resulting string should be identical. If the values do not match, confer with the certificate authority that issued the certificate.


NOTE: Web Sockets communication will not work using SSL encryption for Web Service versions 7.2.0 – 7.2.6.

Workaround

Disable web sockets in the client configuration page of the browser Client.

Resolution

Update to exacqVision Web Service version 8.4 or later.

<br>

Categories
Knowledge Support Support exacqVision Server Categories exacqVision Hardware Products

Changing the Automatic Login User in Linux (Legacy)

To change the automatic login user in Linux, complete the steps provided for your Linux version.

<br>

Ubuntu 18.04 and higher

On systems built by Exacq with Ubuntu version 18.04 and higher, the ability to use the operating system to configure automatic logins has been removed as a security measure.

You may, however, utilize the Exacq Kiosk User software to create kiosk user accounts and select whether or not a kiosk user account will automatically login.

See also: Setting up the Kiosk User for ExacqVision Systems

Ubuntu 16.04

  1. Log out of the User account.
  2. Log in as an Admin.
  3. From the upper-right corner, click the computer icon from the menu bar.
  4. Select System Settings from the menu.
  5. In the Settings window that appears, select Users.
  6. Select Unlock. Enter the admin password when prompted.
  7. Highlight the user account you wish to automatically login.
  8. Toggle the Automatic Login switch for the user account.
  9. Close the User Accounts window.
  10. Restart the system to test the new automatic login.

Ubuntu 14.04

  1. Log out of the User account.
  2. Log in as an Admin.
  3. From the upper-left corner, open the Applications menu.
  4. Expand the System Tools option from the menu.
  5. Expand the Administration menu, then select User Accounts.
  6. Select Unlock. Enter the admin password when prompted.
  7. Highlight the user account you wish to automatically login.
  8. Toggle the Automatic Login switch for the user account.
  9. Close the User Accounts window.
  10. Restart the system to test the new automatic login.

Ubuntu 12.04

  1. Log out of the User account.
  2. Log in as an Admin.
  3. From the upper-left corner, open the Applications menu.
  4. Expand the System Tools option from the menu.
  5. Select System Settings.
  6. In the System Settings window, select User Accounts.
  7. Select Unlock. Enter the admin password when prompted.
  8. Highlight the user account you wish to automatically login.
  9. Toggle the Automatic Login switch for the user account.
  10. Close the User Accounts window.
  11. Restart the system to test the new automatic login.

Ubuntu 10.04

  1. Log out of the User account.
  2. Log in as an Admin.
  3. In the upper-left corner, select System from the menu bar.
  4. Select Administration from the menu.
  5. Select Login Screen from the menu.
  6. Select Unlock. Enter the admin password when prompted.
  7. Select Log In As and then select the desired user from the drop-down list.
  8. Click Close.
  9. Restart the system to test the new automatic login.

<br>

Categories
Knowledge Support Support exacqVision Server Categories Products

Adding/Configuring Locales on Ubuntu Linux

For Ubuntu, adding a new locale (language) is a two-step process. First, determine the UTF8-encoded locale name, then generate the UTF8-encoded locale.

<br>

Determine Locale Name

Open a command line window and type:

less /user/share/i18n/SUPPORTED

This will list all of the locales Ubuntu supports. Scroll down to find the one that matches the ISO 639-1/ISO 3369-1 language codes of the language you are wanting to add.

Please be aware that some of the locales will not have a suffix (look closely – there is no period (‘.’) between the xx_YY language code and the following characters). Others will have a suffix of ‘.UTF-8.’ Still others will have suffixes like ‘@euro’ and ‘.EUC-KR.’ For ExacqVision, you must use the locale with the ‘UTF-8’ suffix.

For example, Irish in Ireland has these three locales:

...
ga_IE.UTF-8 UTF-8
ga_IE ISO-8859-1
ga_IE@euro ISO-8859-15
...

The first one has a ‘UTF-8’ suffix and should be used. The second and third ones do not have the ‘UTF-8’ suffix and should NOT be used.

<br>

Generate Locale

Since we’ve now determined the proper locale to generate, head back to the command prompt and type (once for each locale you wish to generate):

sudo locale-gen ga_IE.UTF-8

To actually trigger Ubuntu to generate the locale(s), type:

sudo dpkg-reconfigure locales

To verify that the locale(s) were generated, type:

locale -a

<br>

Change the Locale

For any given run of any program

Also, you may run the exacqVision Client from the command line preceded by an env setting. For example:

env LANG=es_CL.utf8 /usr/local/exacq/client/edvrclient

will cause the exacqVision Client to run with the Chilean Spanish translation.

<br>

Permanently

To change the locale, you may change the entire operating system by going to System->Administration->Language Support and changing the default language dropdown. This will require a reboot.

<br>

Categories
Knowledge Support Support exacqVision Server Categories Products

Common Linux CLI Commands (Terminal)

Download the latest release

Use the ‘wget‘ command followed by the URL for each exacqVision application:

Server
https://www.exacq.com/release/exacqVisionServerRC.deb

Client
https://www.exacq.com/release/exacqVisionClientRC.deb

Web Service
https://www.exacq.com/release/exacqVisionWebServiceRC.deb

<br>

Install the latest release

Use the ‘dpkg’ package manager to install exacqVision packages after downloading using the ‘wget‘ commands above.

Server
dpkg -i exacqVisionServer.deb

Client
dpkg -i exacqVisionClient.deb

Web Service
dpkg -i exacqVisionWebService.deb

<br>

Check available hard drive space

Use the ‘disk free’ command. Disk partitions used by exacqVision are usually labeled with their mount points as /mnt/edvr/1, 2, 3, and so on.

df -h

<br>

Check if exacqVision Server is running

Use the ‘process status’ command to list running processes followed by the ‘grep’ command to filter results to ‘core’ which is the name of the exacqVision Server process.

ps auxw | grep core

<br>

Stop the exacqVision Server service

Use either of the following commands:

  • sudo service edvrserver stop
  • sudo /etc/init.d/edvrserver stop

<br>

Start the exacqVision Server service:

Use either of the following commands:

  • sudo service edvrserver start
  • sudo /etc/init.d/edvrserver start

<br>

Stop the exacqVision Web Service

sudo /usr/local/exacq/webservice/service.sh stop

<br>

Start the exacqVision Web service

sudo /usr/local/exacq/webservice/service.sh start

<br>

List server log files

Log files are titled by date.

ls /usr/local/exacq/server/logs/

<br>

View a log file

Replace *filename* with the name of the log file you wish to open.

sudo less /usr/local/exacq/server/logs/*filename*

<br>

Compress a server log file to send to support

Replace *filename* with the name of the log file you wish to compress.

tar -cvjf log.tar.bz2 /usr/local/exacq/server/logs/*logfilename*

<br>

Compress all server log files to send to support

tar -cvjf logs.tar.bz2 /usr/local/exacq/server/logs

<br>

Open log file to show new entries as they are written

Replace *filename* with the name of the log file for the current date.

tail -n 25 -f /usr/local/exacq/server/logs/*filename*

Stop the update and return to a command prompt by pressing CTRL+C.

Note: The number after “-n” allows the number of lines displayed to be adjusted. (25 lines in this case)

<br>

Check for a mounted data drive

mount

<br>

Edit the Web Service config file

The command used will depend on the version of the web service used on the NVR.

9.6+          sudo nano /etc/webservice/wfe.json

9.0 – 9.4   sudo nano /etc/webservice/webservice.conf

1.x – 8.8   sudo nano /etc/webservice.conf

Note: Press CTRL+X to exit. This will prompt to save changes.

<br>

List PCI Devices in System (Capture Boards, Sound Card, Video Card)

lspci

<br>

List Motherboard BIOS information

sudo dmidecode

<br>

Show routing table

route -n

On newer OS’s if route is not installed by default, you may use ip.

ip route list

<br>

Add a static route

Setting static routes may be necessary when you have two or more networks that your computer needs to send traffic to. Most devices only connect to one network and all network traffic is routed to the default gateway, which is a router that chooses where to forward traffic to next. When you add more static routes, it adds more gateways. This will tell the system to send data you know is destined for a specific network to a chosen router instead of the default.

Replace NETWORK with the target network IP. Replace NETMASK and GATEWAY with the respective network mask and gateway IP address.

sudo route add -net NETWORK netmask NETMASK gw GATEWAY

Example: sudo route add -net 192.168.5.0 netmask 255.255.0.0 gw 192.168.5.1

On newer OS’s if route is not installed by default, you may use ip. Replace CIDR with the CIDR notation for the netmask and INTERFACE with the name of the network interface.

sudo ip route add NETWORK/CIDR dev INTERFACE

Example: sudo ip route add 192.168.5.0/16 dev eth0

<br>

Local Commands

Change Screen Resolution for the User profile

Press CTRL+ALT+F3.

Log in as user and run the following 2 commands:

  1. export DISPLAY=:0.0
  2. gnome-display-properties

Press CTRL+ALT+F7.

<br>

Categories
Knowledge Support Support exacqVision Server Categories Products

How do I monitor Disk I/O?

Disk I/O (input/output) plays a crucial role in how you experience the exacqVision software. If disks are unable to handle the amount of data being written to them, you could see reliability issues.

To help pinpoint the source of these issues on your server, use the following steps as a guide based on your system operating system.

<br><br>

Linux (Ubuntu)

How to view I/O wait

Ubuntu, and most versions of Linux, come with the ‘top’ command already installed.

Press CTRL+ALT+T to open a Terminal window and enter ‘top’ by typing top and pressing Enter.

Towards the top-left, find the row that shows ‘%Cpu(s)’ and follow this line over to the right. The ‘wa’ statistic here reports the percentage of time the CPU is waiting for disk I/O to finish.

You may exit ‘top’ by pressing ‘q’.

I/O wait is an indicator to look further. This is where tools such as ‘iotop’ can help determine which processes have high I/O percentages.

How to find the causes of high I/O wait times

The ‘iotop’ command does not come pre-installed with Ubuntu, so you will probably need to install it.

When connected to the internet, enter the following commands to install ‘iotop’.

sudo apt-get update
sudo apt-get install iotop

You will probably need to run ‘iotop’ with elevated privileges using the sudo command, so enter sudo iotop.

The top left and right sections display the overall read and write throughput.

Below this, ‘iotop’ displays a live updating list of processes and their individual read and write I/O values.

The column you are most concerned with is that of ‘IO’. This column reports the percentage of time the process on that row was performing I/O against its total processing time.

Let’s say it takes approximately 1 second to write 200 MB to disk. You’ve issued a Save command to write 160 MB to file, which took 800ms, then your I/O wait time would be 80%.

Many systems today have multiple cores. Use Terminal again to enter the following command cat /proc/cpuinfo and find the number of Cores. You may need to scroll up a bit to find this.

Calculate 1/# of Cores.

If your wait time percent is regularly near or above this amount, your CPU is spending a lot of time waiting for disks to catch up, and thus slowing your system.

<br><br>

Windows

Monitoring disk I/O with Performance Monitor

Windows packages a tool called Performance Monitor (perfmon.exe) on it’s operating system. Open this application by clicking on the Windows (Start) icon on the toolbar and typing “Performance Monitor,” then click to open it.

from the left-hand navigation panel, expand ‘Monitoring Tools’ and select ‘Performance Monitor.’

The monitor panel will usually be very empty by default, so you will need to add the specific counters you wish to monitor.

Click the green ‘Add’ button from the toolbar above the main panel.

Beneath ‘Available Counters,’ scroll to find ‘PhysicalDisk’ and expand it. The statistics you will be interested in are:

  • ‘% Disk Time’
  • ‘% Idle Time’
  • ‘Current Disk Queue Length’
  • ‘Disk Reads/sec’
  • ‘Disk Writes/sec’

When you highlight each of these, the below panel allows you to select individual drives, ‘All Instances’, or ‘_Total’. Total will sum all activity between multiple instances, whereas selecting ‘All Instances’ adds them all individually to your displayed data. On your NVR you will probably only be concerned with the recording disk(s).

After selecting each counter and the instances below, be sure to click the ‘Add>>’ button below to move it to the ‘Added counters’ panel on the right.

NOTE: If your system is utilizing RAID or you have partitions spanning multiple disks in a JBOD configuration you can also monitor these using statistics found under ‘LogicalDisk,’ which provides statistics for partitions rather than physical disks.

Before moving on, you may also wish to expand ‘Processor’ from the ‘Available counters’ panel and add:

  • ‘% Idle Time’

When you have finished adding all your counters, click the ‘OK’ button.

By default the Performance Monitor displays a graph, but this can be difficult to read with many counters added at once, nor does it display the current values well. From the toolbar, use the ‘Display Type’ icon to cycle through the type options with each click, or use the drop-down arrow beside it to select ‘Report.’

You are no able to monitor the live disk I/O values and processor time.

The figure you will be most concerned with is the ‘% Disk Time.’ You could also choose to display the ‘% Disk Read Time’ and ‘% Disk Write Time,’ but by using ‘% Disk Time, this is the sum of both reading and writing, so the total I/O for that disk.

Many systems today have multiple cores. Press CTRL+SHIFT+Esc to open Windows Task Manager, then click on the ‘Performance’ tab to find the number of cores on your system. This example from a Windows 10 machine shows 6 cores.

Calculate 1/# of Cores.

If your idle time percent is regularly near or above this amount, then your CPU is spending a lot of time waiting for disks to catch up, and thus slowing your system. I/O wait is merely and indicator to look further.

Adding the ‘Available MBytes’ instance from the ‘Memory’ counter in Performance Monitor will show you if a large amount of memory is being consumed while data is waiting to be written to disk. The ‘Current Disk Queue Length’ instance from the ‘PhysicalDisk’ counter will help display how many operations are in the disk queue waiting to be completed.

Finally, you may search under ‘Process’ for ‘IO Data Bytes/sec’ for the ‘exacqd’ instance to display the amount of ‘IO Bytes’ the Exacq application is performing. High processor idle time, high % Disk Time, combined with high memory usage can point to a disk I/O bottleneck on the system.

<br><br>

Factors that can affect I/O

  • Average I/O performance per disk
    Higher Read/Write speeds mean more data transactions per second.
  • RAID Arrays
    Having several disks in an array increases I/O transactions.
  • RAID Factor
    While RAID factors are varied to provide a number of levels to mitigate the possibility of data loss through fault-tolerance, the RAID factor can determine if more read/write transactions are necessary for each operation. For example, all other things being equal, RAID 5 has better I/O performance than RAID 6 due to the additional parity required by RAID 6.


<br>