58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
# ecmc server cfg
|
|
Repo containing cfg for **ecmc servers**, only **ecmc servers**.
|
|
|
|
**THE SETTINGS IN THIS REPO IS ONLY SUPPOSED TO BE A TEMPLATE AND WILL NOT WORK FOR ALL MACHINES**
|
|
|
|
**THE PERSON COMMISSIONING THE SERVER IS RESPONSIBLE FOR THE SETTINGS**
|
|
|
|
## Usage
|
|
|
|
Clone this repository to hosts:
|
|
|
|
```shell
|
|
cd /ioc/hosts/<hostname>
|
|
git clone git@git.psi.ch:motion/ecmc_server_cfg.git cfg
|
|
```
|
|
then check the settings are valid. A reboot is needed for the settings to take effect.
|
|
|
|
## note on IGB driver
|
|
|
|
The file ETHERCATDRVR defines what drivers to use:
|
|
```
|
|
DEVICE_MODULES="igb generic"
|
|
```
|
|
The default setup is that igb-driver will be used if possible and fallback to generic otherwise.
|
|
|
|
The "S10-eth-irq-prio" script will only have effect if generic driver is used. In the default case when igb-drivber is used the script might give some error messages but should not affect anything in a negative way.
|
|
|
|
### check which driver is in use:
|
|
|
|
On ecmc server:
|
|
```
|
|
lsmod | grep ec_
|
|
ec_generic 16384 0
|
|
ec_igb 249856 1
|
|
ec_master 421888 4 ec_igb,ec_generic
|
|
```
|
|
|
|
In this case igb (ec_igb) driver is in use.
|
|
|
|
## add EtherCAT network interfaces
|
|
In ETHERCATDRVR define the EtherCAT interfaces by adding `LINK_DEVICES` and `LINK_DEVICE_MACS`
|
|
|
|
**NOTE**: Always specify the MACS with lower case letters!!
|
|
|
|
```shell
|
|
DEVICE_MODULES="igb generic"
|
|
|
|
LINK_DEVICES="ens2f0 ens2f1 ens2f2 ens2f3"
|
|
LINK_DEVICE_MACS="d4:f5:ef:b3:7b:d8 d4:f5:ef:b3:7b:d9 d4:f5:ef:b3:7b:da d4:f5:ef:b3:7b:db"
|
|
```
|
|
|
|
The number of entries in LINK_DEVICES and LINK_DEVICE_MACS must be the same. If igb and LINK_DEVICE_MACS are defined then the names in LINK_DEVICES are not important but must be defined (dummy1, dummy2..). However, if generic driver is used, then the LINK_DEVICES names must correspond to the actual interface names.
|
|
|
|
# workflow for new server
|
|
|
|
See [WORKFLOW](WORKFLOW.md)
|
|
|