How-To: Installation of a Timing Receiver
THIS HOWTO IS DEPRECATED
Introduction
Installation of a timing receivers should be easy and straight-forward. The physical installation is form factor specific and the usual procedures apply (how to mount of a PCIe card in a PC is not described here). The concept of the FPGA gateware of timing receiver nodes is based on using a Wishbone bus architecture that allows accessing the functionality of the various IP cores instantiated on the FPGA. This how-to describes the steps that are required to access the timing receiver from a user-land application in a Linux operating system.
Installation of Drivers and Software
At present the following the following host-bus bridges are supported. The installation of drivers and software is described
here.
The SCU is special, since it's operating system is maintained by the CSCOIN team. Etherbone and related tools are installed via nfs.init, maintained by the CSCOTG team. More information is available
here.
Installation of Hardware
(Disconnect and) connect your hardware. Check, if the hardware is detected via "dmesg" and "lsmod" - look for "wish". If not, try "depmod -a" or power cycling your computer. Please check the documentation of the relevant
release.
Verification
Try
eb-ls <protocol/host/port>
in most cases "port" is not required and "protocol/port" may have the following values
- USB: "dev/ttyUSB0" - this is available on all timing receivers at GSI.
- PCIe or VME: "dev/wbm0"
- Ethernet: "udp/192.2.3.4"
Here is an example for USB:
lxyz99:~> eb-ls dev/ttyUSB0
belnbg024:~> eb-ls dev/ttyUSB0
BusPath VendorID Product BaseAddress(Hex) Description
1 0000000000000651:eef0b198 400 WB4-Bridge-GSI
1.1 0000000000000651:eef0b198 600 WB4-Bridge-GSI
1.1.1 0000000000000651:10050082 700 IRQ_ENDPOINT_010
1.2 ---
1.3 ---
2 0000000000000651:eef0b198 40000 WB4-Bridge-GSI
2.1 000000000000ce42:66cfeb52 40000 WB4-BlockRAM
2.2 0000000000000651:eef0b198 60000 WB4-Bridge-GSI
2.2.1 000000000000ce42:ab28633a 60000 WR-Mini-NIC
2.2.2 000000000000ce42:650c2d4f 60100 WR-Endpoint
2.2.3 000000000000ce42:65158dc0 60200 WR-Soft-PLL
2.2.4 000000000000ce42:de0d8ced 60300 WR-PPS-Generator
2.2.5 000000000000ce42:ff07fc47 60400 WR-Periph-Syscon
2.2.6 000000000000ce42:e2d13d04 60500 WR-Periph-UART
2.2.7 000000000000ce42:779c5443 60600 WR-Periph-1Wire
2.2.8 0000000000000651:68202b22 60700 Etherbone-Config
3 0000000000000651:10041000 80000 CB_LM32_CLUSTER
3.1 0000000000000651:10040086 80000 CLUSTER_INFO_ROM
3.2 000000000000ce42:66cfeb52 84000 WB4-BlockRAM
3.3 0000000000000651:10040202 80100 LOAD_MANAGER
3.4 ---
3.5 ---
3.6 0000000000000651:eef0b198 80200 WB4-Bridge-GSI
3.6.1 0000000000000651:10050082 80300 IRQ_ENDPOINT_010
3.7 0000000000000651:eef0b198 c0000 WB4-Bridge-GSI
3.7.1 000000000000ce42:66cfeb52 e0000 WB4-BlockRAM_010
4 0000000000000651:2d39fa8b 800 GSI:BUILD_ID ROM
5 0000000000000651:5cf12a1c 1000000 SPI-FLASH-16M-MMAP
6 0000000000000651:3a362063 0 FPGA_RESET
7 0000000000000651:00000815 2000000 Etherbone_Master
8 0000000000000651:10051981 100 GSI_TM_LATCH_V2
9 0000000000000651:8752bf44 80 ECA_UNIT:CONTROL
10 0000000000000651:8752bf45 7ffffff0 ECA_UNIT:EVENTS_IN
11 0000000000000651:9bfa4560 40 ECA_UNIT:ACTION_QUE
12 0000000000000651:4d78adfd 10 GSI:IODIR_HACK
13 0000000000000651:b77a5045 200 SERIAL-LCD-DISPLAY
14 ---
15 ---
16 ---
17 ---
18 ---
19 ---
Congratulations!
White Rabbit Console
The Etherbone Way
The GSI timing team has developed the tool eb-console which uses Etherbone. Try
eb-console <proto/host/port>
.
The White Rabbit Way
The USB interface on all timing receivers supports the White Rabbit console via the same cable in parallel to the USB-Wishbone driver.Even without any installation of additional drivers, a standard Linux PC should support a White Rabbit console via USB.
minicom -D /dev/ttyACM0
Common Problems
Incorrect Protocol
eb-ls /dev/wbm0
does not work, as the correct format is
eb-ls <protocol/host/port>
. Try
eb-ls dev/wbm0
instead (remove the leading slash).
Missing Privileges
eb-ls <protocol/host/port>
does not work:
failed to open Etherbone device: system failure
. This is due to missing privileges.
- Check /dev/ttyUSB0, /dev/wbm0: The user must be member of the
wishbone
group.
- In case of a standard local GSI desktop machine administered by the IT department, becoming a member of the
wishbone
group requires contacting the IT department.
- Hack
- (not boot-safe) change permissions of the relevant file such as /dev/wbm0
- use
sudo
--
DietrichBeck - 26 Jun 2015