Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
G
GSI Timing Starter Kit
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • GSI Timing Starter Kit
  • Wiki
  • Configure a data master

Configure a data master

Last edited by Wesley W. Terpstra Sep 12, 2012
Page history

Configure a Data Master

A data master in the timing starter kit is a normal Linux PC connected to the white rabbit switch. It must run a BOOTP server to provide FECs with IP addresses and can control those FECs using Etherbone. You will probably need a second network card which is connected to the white rabbit switch.

You should configure your second network card with an address in a private network. The addresses 10.x.y.z are reserved for use inside an organization. For example, you can choose 10.0.0.42 as the address for your data master and set the netmask to 255.0.0.0. The exact details of configuring a static IP address vary between linux distributions. For debian/ubuntu these lines in /etc/network/interfaces do the trick:

auto eth2
iface eth2 inet static
  address 10.x.y.z # The IP you choose for your data master
  netmask 255.0.0.0

To configure a BOOTP server, one approach is to install the "dnsmasq" package. Then you add these lines to the /etc/dnsmasq.conf file:

interface=ethX # Set ethX to the name of your second network card attached to the WR switch
listen-address=10.x.y.z # Set 10.x.y.z to the IP address you choose for your data master
dhcp-range=10.0.0.1,10.254.254.254,12h
# SPEC cards:
dhcp-host=8:0:30:61:a8:0e,10.2.0.1 # Timing demo SPEC 1
dhcp-host=8:0:30:62:1d:a1,10.2.0.2 # Timing demo SPEC 2

You must create a dhcp-host entry per FEC card you attach to the switch. You can find their MAC address by typing "mac" on the White-Rabbit-console.

Once you've setup dnsmasq, start it up and you should see your FEC devices report:

Sending BOOTP request...
Discovered IP address!

You can read the IP address they got using the "ip" command.

Now that your data master is configuring FEC devices, you need to configure the data master to control them. Simply follow the Building-from-Sources directions to install the Etherbone library on your system. Once it is installed, you can confirm control of remote devices using:

terpstra@belapc060:~$ eb-ls udp/10.0.0.1
BusPath        VendorID         Product   BaseAddress(Hex)  Description
1              0000000000000651:eef0b198                 0  WB4-Bridge-GSI     
1.1            000000000000ce42:66cfeb52                 0  WB4-BlockRAM       
1.2            0000000000000651:eef0b198             20000  WB4-Bridge-GSI     
1.2.1          000000000000ce42:ab28633a             20000  WR-Mini-NIC        
1.2.2          000000000000ce42:650c2d4f             20100  WR-Endpoint        
1.2.3          000000000000ce42:65158dc0             20200  WR-Soft-PLL        
1.2.4          000000000000ce42:de0d8ced             20300  WR-PPS-Generator   
1.2.5          000000000000ce42:ff07fc47             20400  WR-Periph-Syscon   
1.2.6          000000000000ce42:e2d13d04             20500  WR-Periph-UART     
1.2.7          000000000000ce42:779c5443             20600  WR-Periph-1Wire    
1.2.8          0000000000000651:68202b22             20700  Etherbone-Config   
2              0000000000000651:eef0b198            100000  WB4-Bridge-GSI     
2.1            0000000000000651:8752bf44            140000  GSI_ECA_UNIT       
2.2            0000000000000651:10051981            180000  GSI_TM_LATCH       

At this point, you probably want to Read-the-current-time, Schedule-events, or Capture-timestamps.

Clone repository
  • Building from sources
  • Capture timestamps
  • Configure a data master
  • Configure a spec host
  • Configure a vme host
  • Configure a vme system
  • Documents
  • Flash a xilinx device
  • Flash an altera device
  • Home
  • Io assignments
  • Prebuilt images
  • Read the current time
  • Documents
    • Project attachments
    • Syslinux.cfg
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.