# 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/ 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)