|
# Configure a Data Master
|
|
# Configure a Data Master
|
|
|
|
|
|
|
|
A data master in the timing start 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](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](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](Read-the-current-time),
|
|
|
|
[Schedule-events](Schedule-events), or
|
|
|
|
[Capture-timestamps](Capture-timestamps).
|
|
|
|
|