* An oscillocope with at least 150Mhz bandwitdh (500Mhz is recommanded).
* A PC with with at least two `PCIe x4` ports (`x8` & `x16` are also compatible)
* The Operative System Ubuntu 12.04 LTS 32bit (Long Term Support) with kernel `3.2.x.`
* The Operative System **Ubuntu LTS 32bit (Long Term Support)** installed.
* Two mini-USB (B) cables (not provided with the kit).
This tutorial has been tested and verified with Ubuntu LTS 12.04 and Ubuntu LTS 14.04,
this mean that standard support will only be given for these releases.
However, the `spec-sw` driver should work with other releases, distributions and architectu
that run kernel `2.8.x` to `3.5.x`.
Finally, [Seven Solutions] also provides a fully setup PC or USB-live images to skip
the instalation process and ease the introduction to the *"White Rabbit World"*.
> ***Note:*** This tutorial follow a configuration with two [SPEC+FMCDIO] boards connected in the two **PCIe x16** interfaces of the same computer. However, you can also use two different computers (if you do not have two **PCIe x4**) and follow this tutorial; you just need to replace all the commands with `wr1` or `0x0300` by the `wr0` and its corresponding bus_id on the second PC. The configuration with two separated PCs is more *"natural"* to understand how to communicate two different nodes using the starting kit,
but it requires more physical space to implement it.
![Configuration with one or two PCs](ssk_configs.png)
> ***Warning:*** This tutorial fully support the latest ubuntu LTS release. Other distro or kernel version might work, however we can not guarantee full compatibility and therefore full support. Please check the
[wr-starting-kit] wiki for a more detailed list of which distro has been tested.
Starting kit components
-----------------
...
...
@@ -236,22 +240,13 @@ Physical setup
(A Virtual UART is also available, but it is safer to use the physical
one).
* Connect the two [SPEC+FMCDIO] boards using the SFPs and the optical fiber cable (LC-LC)
* Start your Ubuntu LTS distribution.
* In the demo we have put the violet SFP on the top SPEC board (wr0)
* ... and the blue SFP below (wr1)
* Start Ubuntu LTS.
* Prepare an oscilloscope with at least two input channels to access
the [FMCDIO] outputs.
> ***Note:*** This tutorial follow a configuration with two [SPEC+FMCDIO] boards connected in the two **PCIe x16** interfaces of the same computer.
> You can also use two different computers (if you do not have two **PCIe x4**) and follow this tutorial; you
just need to replace all the commands with `wr1` or `0x0300` by the `wr0` and its corresponding bus_id on the second PC.
The configuration with two separated PCs is more *"natural"* to
understand how to communicate two different nodes using the starting kit,
but it requires more physical space to implement it.
![Configuration with one or two PCs](ssk_configs.png)
![Mounting two SPECs in the same PC](ssk_inside.jpg)
![Connecting SFPs and fiber](ssk_sfp.jpg)
...
...
@@ -259,20 +254,41 @@ but it requires more physical space to implement it.
![The UART use a mini-USB cable to communicate](ssk_usb.jpg)
Installation of WR-NIC
Installation
=======================
Once you have the linux system is with the boards plugged in the
equipments:
Once you have your system running with the boards plugged, you need to:
* Check that the boards has been detected
* Install the tools to build drivers, etc...
* The drivers : `spec-sw`
* The HDL bitstream of [SPEC+FMCDIO]: `wr-nic`
SPEC detection
----------------
First you should check that the boards has been correctly detected on your PCIe bus by doing the following:
@@ -319,6 +346,8 @@ includes the [spec-sw] project.
>:$ git submodule update
~~~~~~~~~~~~
Or you can try our new Makefile that should perform everything!
[^commitgit]:You should only use our package or proper release (tagged commit).
The **master** branch might have the latest source but support is only offered for tagged release. The other branches are normally used for development and are not stable.
...
...
@@ -374,14 +403,30 @@ A Makefile in the [spec-sw] project has been written to compile and install easi
~~~~~~~~~~~
If everything works well you should see the driver in
~~~~~~~~~~~
~~~~{.sh}
>:$ ls -l /lib/modules/$(uname -r)/extra
~~~~~~~~~~~
> ***Notes:*** In some distributions such as Ubuntu 12.04, you might
need to force the creation of dependency
to load the modules using modprobe.
> ***Notes:*** The procedure below is specific to ubuntu distribution so you
might want to find a similar way to perform it if you use another
distribution.
You should add the `extra` folder to the search of module so that at
next reboot the kenel modules are easily founded.
~~~~{.sh}
## Open the configuration file
>:$ sudo nano /etc/depmod.d/ubuntu.conf
~~~~~~~~~~~
Check if you already have the extra folder or otherwise add it. You
should obtain a line similar as:
search updates ubuntu extra built-in
Finally, you must regenerate the map of dependencies with this new path
by calling:
~~~~{.sh}
>:$ sudo depmod -a
...
...
@@ -393,19 +438,30 @@ Download, install & load the gateware
You need to install the gateware[^version] to `/lib/firmware/fmc`
### Manual installation
First you need to download the gateware/firmware files from our website: