Installation

System Requirements

  • A recent 64-bit Linux distribution or a 64-bit version of Windows 7 or later.
  • One of the supported VME Controllers:
  • At least 4 GB RAM is recommended.
  • A multicore processor is recommended as mvme itself can make use of multiple cores: readout, data compression, analysis and the user interface all run in separate threads.

Mesytec MVLC

WIENER VM-USB

  • WIENER VM-USB VME Controller with a recent firmware

    The VM-USB firmware can be updated from within mvme. See VM-USB Firmware Update for a guide.

  • Latest USB chipset driver for your system.

    Updating the driver is especially important for Windows versions prior to Windows 10 in combination with a NEC/Renesas chipset (frequently found in laptops). The driver shipped by Microsoft has a bug that prevents libusb from properly accessing devices. See the libusb wiki for more information.

  • USB Driver: libusb-0.1 (Linux) / libusb-win32 (Windows)

    The windows installer can optionally run Zadig to handle the driver installation.

Struck SIS3153

  • The SIS3153 controller requires a GBit/s ethernet connection.

Installation Steps

Linux

The mvme archives for Linux include all required libraries. The only external dependency is the GNU C Library glibc. When using a modern Linux distribution no glibc versioning errors should occur.

To install mvme unpack the archive and execute the mvme startup script:

$ tar xf mvme-x64-1.0.tar.bz2
$ ./mvme-x64-1.0/mvme.sh

MVLC_USB and VM-USB Device Permissions

To be able to use the MVLC_USB or the VM-USB VME Controllers as a non-root user a udev rule to adjust the device permissions needs to be added to the system.

For the MVLC a udev rules file is contained in the installation directory under extras/mvlc/51-ftd3xx.rules. Copy this file to your udev rules directory (usually /etc/udev/rules.d/).

The rules file for the VMUSB can be found under extras/vm-usb/999-wiener-vm_usb.rules.

After copying the file reload udev using service udev reload or /etc/init.d/udev reload or service systemd-udev reload depending on your distribution or simply reboot the machine. The controller also has to be reconnected to your PC for the device permissions to update.

Windows

Run the supplied installer and follow the on screen instructions to install mvme.

VM-USB only: Driver Installation

To be able to use the VM-USB VME Controller the libusb-win32 driver needs to be installed and registered with the device. An easy way to install the driver is to use the Zadig USB Driver Installer which comes bundled with mvme. You can run Zadig at the end of the installation process or at a later time from the mvme installation directory.

In the Zadig UI the VM-USB will appear as VM-USB VME CRATE CONTROLLER. If it does not show up there’s either a hardware issue or another driver is already registered to handle the VM-USB. Use Options -> List All Devices to get a list of all USB devices and look for the controller again.

_images/installation_zadig.png

Fig. 5 Zadig with VM-USB and libusb-win32 selected

Make sure libusb-win32 is selected as the driver to install, then click on Install Driver. Zadig will generate a self-signed certificate for the driver and start the installation process.

It is highly recommended to restart your system after driver installation, especially if you replaced an existing driver. Otherwise USB transfer errors can occur during VME data acquisition!

In case you want to manually install the driver a ZIP archive can be found here: libusb-win32.

Installation from source

The mvme sources are available on github: https://github.com/flueke/mvme

Refer to the README file for a list of required dependencies and build instructions for Linux, Windows and Mac OS X.

Ethernet DHCP/ARP setup

When using the MVLC via Ethernet or the SIS3153 controller some network setup has to be done.

The easiest way to get a working setup is if you are running a DHCP server on your network. Both of the controllers will request an IPv4-Address and a hostname via DHCP after powerup.

The MVLC will request the hostname mvlc-NNNN where NNNN is the serial number shown on the front-panel near the Ethernet port.

The SIS3153 requests a hostname of the form sis3153-0DDD where DDD is the decimal serial number as printed on the board.

After the DHCP phase the two controllers should be reachable via their hostnames. You can verify this by opening a command prompt and running

ping mvlc-0010

for the MVLC with serial number 10.

Using a manual ARP entry

In case DHCP with hostname assignment should not or cannot be used an alternative approach is to manually associate the MAC-address of the controller with an IP-address.

  • Obtaining the controllers MAC-address

    The first step is to figure out the controllers MAC-address. This is the serial-number dependent Ethernet address of the controller.

    For the MVLC the MAC-address is 04:85:46:d2:NN:NN where the NN:NN is the serial number of the MVLC in decimal. So for MVLC-0015 the full MAC-address is 04:85:46:d2:00:15.

    The MAC-address of the SIS3153 is 00:00:56:15:3x:xx where x:xx is the serial number in hexadecimal. So for my development controller with S/N 42 the serial becomes 0x2a and the resulting MAC-address is 00:00:56:15:30:2a.

With the MAC-address at hand we can now create an IPv4-address to MAC-address mapping in the operating systems ARP table.

This step is specific to the operating system and will require root/admin permissions. The below examples associate the IP-address 192.168.100.42 with the controllers MAC-address. You have to change the IP-address to match your local network setup, otherwise the operating system does not know how to reach the controller.

  • Creating the ARP entry under linux:

    With root permissions an ARP entry can be addded this way:

    arp -s 192.168.100.42 04:85:46:d2:00:15

    To make the entry permanent (at least on debian and ubuntu systems) the file /etc/ethers can be used. Add a line like this to the file:

    04:85:46:d2:00:15 192.168.100.42

    This will take effect on the next reboot (or when restarting the networking services I think).

  • Creating the ARP entry under windows:

    Open a cmd.exe prompt with administrator permissions and use the following command to create the ARP entry:

    arp -s 192.168.100.42 04-85-46-d2-00-15

To verify that the connection is working you can try to ping the controller:

ping 192.168.100.42

If everything is setup correctly the controller should answer the ping requests.