Files
ecmc_server_cfg/README.md
2025-04-16 13:54:28 +02:00

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)