forked from ribalda/ethercat
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
README with instructions specific for PSI.
- Loading branch information
Tadej Humar
authored and
Tadej Humar
committed
Jul 6, 2021
1 parent
422da16
commit c8974f8
Showing
1 changed file
with
52 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# EtherCAT master at PSI | ||
This is the EtherCAT master implementation that is currently used at PSI. | ||
It includes the official EtherLab IgH Master 1.5.2 with addition of all the | ||
community patches, and some PSI fixes. | ||
|
||
### Hardware & OS | ||
The master was tested on: | ||
|
||
* Intel CPU (XEON) | ||
* Intel I210 & I350 network cards | ||
* Debian 10 with PREEMPT-RT patched kernel 4.19 | ||
|
||
### Building | ||
Before building, ensure that all required software to build kernel modules and libraries is present. | ||
|
||
apt install build-essential dkms automake tree linux-headers-rt-amd64 | ||
|
||
After downloading the repo: | ||
|
||
cd ethercat | ||
./bootstrap | ||
./configure --enable-cycles=yes --enable-igb --enable-generic --disable-8139too --disable-e100 --disable-e1000 --disable-e1000e --disable-r8169 --disable-ccat --enable-static=yes --enable-shared=yes --enable-eoe=no --enable-hrtimer=yes --enable-regalias=no --enable-tool=yes --enable-userlib=yes --enable-sii-assign=yes --enable-rt-syslog=yes | ||
make all modules | ||
make modules_install install | ||
depmod | ||
|
||
### Usage | ||
TODO | ||
|
||
#### User ec_igb on the specific port only | ||
In case only one port should run the dedicated driver this can be done: | ||
|
||
1. Find the BDF of the port we want to replace the driver (usual format XX:XX.X) using | ||
|
||
lspci | ||
|
||
2. Unbind the current driver | ||
|
||
echo -n "BDF number" > /sys/bus/pci/drivers/igb/unbind | ||
|
||
3. Add the ethercat master module | ||
|
||
modprobe ec_master main_devices=$(MAC_ADDRESS) | ||
|
||
4. Add the dedicated network driver | ||
|
||
modprobe ec_igb | ||
|
||
### Test | ||
In order to test if the ethercat master is running type: | ||
|
||
ethercat master |