NACK/Cmnt: [SRU][N][PATCH 0/3] Integrate IgH EtherCAT master
Edoardo Canepa
edoardo.canepa at canonical.com
Wed Sep 16 13:14:03 UTC 2026
Rejected for the following reasons:
This is HWE and out of scope for SRU.
On 9/16/26 13:33, Wen-chien Jesse Sung via kernel-team wrote:
> BugLink: https://launchpad.net/bugs/2138621
>
> SRU Justification:
>
> [ Impact ]
> Noble linux does not ship the IgH EtherCAT master. Users who need EtherCAT
> have to build the out-of-tree driver themselves.
>
> [ Fix ]
> Import IgH EtherCAT master 1.6.8 under ubuntu/igh-ecat, wire it into Kbuild,
> and enable it as a module on amd64.
>
> The series:
> - UBUNTU: SAUCE: ubuntu/igh-ecat: Import IgH EtherCAT master
> from https://gitlab.com/etherlab.org/ethercat tag 1.6.8
> (commit 2543cc55bd13833ddefb6cd9ec24a064cde68959)
> - UBUNTU: SAUCE: igh-ecat: Plug IgH EtherCAT master into Kbuild
> - UBUNTU: [Config] Enable IgH EtherCAT master
>
> The generic Ethernet device driver is included. Device-specific drivers
> are still TBD.
>
> [ Test Plan ]
> On amd64:
>
> $ modinfo ec_master
> $ sudo modprobe ec_master
> $ sudo modprobe ec_generic
> $ lsmod | grep '^ec_'
> $ dmesg | grep -i ethercat
>
> Without the patches: modules are absent.
> With the patches: both modules load. dmesg shows the master driver coming
> up.
>
> On an EtherCAT setup, load the master with main_devices=<mac> and confirm
> it sees slaves. Device-specific drivers are not in this series.
>
> [ Where problems could occur ]
> This is a large out-of-tree import living under ubuntu/. It does not change
> in-tree net drivers.
>
> If the generic device module binds a NIC, that interface leaves the normal
> network stack. A wrong main_devices= argument can take a production NIC
> offline.
>
> Build or module-load failures would show up as missing ec_master /
> ec_generic, or as errors from the master thread or ioctl path.
>
> Config is amd64-only (m). Other arches stay disabled.
>
> [ Other Info ]
> Not in mainline. Source is https://gitlab.com/etherlab.org/ethercat.
>
> Already in Ubuntu linux 6.19.0-3.3 (Resolute). This is the Noble backport.
>
> Wen-chien Jesse Sung (3):
> UBUNTU: SAUCE: ubuntu/igh-ecat: Import IgH EtherCAT master
> UBUNTU: SAUCE: igh-ecat: Plug IgH EtherCAT master into Kbuild
> UBUNTU: [Config] Enable IgH EtherCAT master
>
> debian.master/config/annotations | 3 +
> ubuntu/Kconfig | 4 +
> ubuntu/Makefile | 4 +
> ubuntu/igh-ecat/Kconfig | 21 +
> ubuntu/igh-ecat/Makefile | 7 +
> ubuntu/igh-ecat/config.h | 100 +
> ubuntu/igh-ecat/devices/Makefile | 5 +
> ubuntu/igh-ecat/devices/ecdev.h | 71 +
> ubuntu/igh-ecat/devices/generic.c | 483 ++
> ubuntu/igh-ecat/globals.h | 55 +
> ubuntu/igh-ecat/include/Makefile.am | 26 +
> ubuntu/igh-ecat/include/ecrt.h | 3153 ++++++++++++
> ubuntu/igh-ecat/include/ectty.h | 106 +
> ubuntu/igh-ecat/master/Kbuild.in | 112 +
> ubuntu/igh-ecat/master/Makefile | 47 +
> ubuntu/igh-ecat/master/Makefile.am | 76 +
> ubuntu/igh-ecat/master/api_usage_notes.md | 51 +
> ubuntu/igh-ecat/master/cdev.c | 281 ++
> ubuntu/igh-ecat/master/cdev.h | 53 +
> ubuntu/igh-ecat/master/coe_emerg_ring.c | 169 +
> ubuntu/igh-ecat/master/coe_emerg_ring.h | 70 +
> ubuntu/igh-ecat/master/datagram.c | 644 +++
> ubuntu/igh-ecat/master/datagram.h | 142 +
> ubuntu/igh-ecat/master/datagram_pair.c | 193 +
> ubuntu/igh-ecat/master/datagram_pair.h | 61 +
> ubuntu/igh-ecat/master/debug.c | 258 +
> ubuntu/igh-ecat/master/debug.h | 58 +
> ubuntu/igh-ecat/master/device.c | 716 +++
> ubuntu/igh-ecat/master/device.h | 150 +
> ubuntu/igh-ecat/master/domain.c | 719 +++
> ubuntu/igh-ecat/master/domain.h | 82 +
> ubuntu/igh-ecat/master/doxygen.c | 82 +
> ubuntu/igh-ecat/master/eoe_request.c | 80 +
> ubuntu/igh-ecat/master/eoe_request.h | 70 +
> ubuntu/igh-ecat/master/ethernet.c | 886 ++++
> ubuntu/igh-ecat/master/ethernet.h | 122 +
> ubuntu/igh-ecat/master/flag.c | 69 +
> ubuntu/igh-ecat/master/flag.h | 51 +
> ubuntu/igh-ecat/master/fmmu_config.c | 91 +
> ubuntu/igh-ecat/master/fmmu_config.h | 58 +
> ubuntu/igh-ecat/master/foe.h | 54 +
> ubuntu/igh-ecat/master/foe_request.c | 195 +
> ubuntu/igh-ecat/master/foe_request.h | 78 +
> ubuntu/igh-ecat/master/fsm_change.c | 615 +++
> ubuntu/igh-ecat/master/fsm_change.h | 84 +
> ubuntu/igh-ecat/master/fsm_coe.c | 2537 ++++++++++
> ubuntu/igh-ecat/master/fsm_coe.h | 74 +
> ubuntu/igh-ecat/master/fsm_eoe.c | 509 ++
> ubuntu/igh-ecat/master/fsm_eoe.h | 67 +
> ubuntu/igh-ecat/master/fsm_foe.c | 915 ++++
> ubuntu/igh-ecat/master/fsm_foe.h | 87 +
> ubuntu/igh-ecat/master/fsm_master.c | 1472 ++++++
> ubuntu/igh-ecat/master/fsm_master.h | 107 +
> ubuntu/igh-ecat/master/fsm_pdo.c | 806 +++
> ubuntu/igh-ecat/master/fsm_pdo.h | 76 +
> ubuntu/igh-ecat/master/fsm_pdo_entry.c | 541 ++
> ubuntu/igh-ecat/master/fsm_pdo_entry.h | 75 +
> ubuntu/igh-ecat/master/fsm_sii.c | 482 ++
> ubuntu/igh-ecat/master/fsm_sii.h | 82 +
> ubuntu/igh-ecat/master/fsm_slave.c | 685 +++
> ubuntu/igh-ecat/master/fsm_slave.h | 87 +
> ubuntu/igh-ecat/master/fsm_slave_config.c | 1864 +++++++
> ubuntu/igh-ecat/master/fsm_slave_config.h | 81 +
> ubuntu/igh-ecat/master/fsm_slave_scan.c | 1121 +++++
> ubuntu/igh-ecat/master/fsm_slave_scan.h | 75 +
> ubuntu/igh-ecat/master/fsm_soe.c | 844 ++++
> ubuntu/igh-ecat/master/fsm_soe.h | 67 +
> ubuntu/igh-ecat/master/globals.h | 314 ++
> ubuntu/igh-ecat/master/ioctl.c | 5591 +++++++++++++++++++++
> ubuntu/igh-ecat/master/ioctl.h | 879 ++++
> ubuntu/igh-ecat/master/mailbox.c | 203 +
> ubuntu/igh-ecat/master/mailbox.h | 64 +
> ubuntu/igh-ecat/master/master.c | 3350 ++++++++++++
> ubuntu/igh-ecat/master/master.h | 386 ++
> ubuntu/igh-ecat/master/module.c | 681 +++
> ubuntu/igh-ecat/master/pdo.c | 309 ++
> ubuntu/igh-ecat/master/pdo.h | 67 +
> ubuntu/igh-ecat/master/pdo_entry.c | 124 +
> ubuntu/igh-ecat/master/pdo_entry.h | 58 +
> ubuntu/igh-ecat/master/pdo_list.c | 338 ++
> ubuntu/igh-ecat/master/pdo_list.h | 71 +
> ubuntu/igh-ecat/master/reg_request.c | 125 +
> ubuntu/igh-ecat/master/reg_request.h | 59 +
> ubuntu/igh-ecat/master/rt_locks.h | 75 +
> ubuntu/igh-ecat/master/rtdm-ioctl.c | 1 +
> ubuntu/igh-ecat/master/rtdm.c | 259 +
> ubuntu/igh-ecat/master/rtdm.h | 50 +
> ubuntu/igh-ecat/master/rtdm_details.h | 60 +
> ubuntu/igh-ecat/master/rtdm_xenomai_v3.c | 193 +
> ubuntu/igh-ecat/master/sdo.c | 124 +
> ubuntu/igh-ecat/master/sdo.h | 61 +
> ubuntu/igh-ecat/master/sdo_entry.c | 69 +
> ubuntu/igh-ecat/master/sdo_entry.h | 64 +
> ubuntu/igh-ecat/master/sdo_request.c | 256 +
> ubuntu/igh-ecat/master/sdo_request.h | 75 +
> ubuntu/igh-ecat/master/slave.c | 1010 ++++
> ubuntu/igh-ecat/master/slave.h | 266 +
> ubuntu/igh-ecat/master/slave_config.c | 1652 ++++++
> ubuntu/igh-ecat/master/slave_config.h | 196 +
> ubuntu/igh-ecat/master/soe_errors.c | 88 +
> ubuntu/igh-ecat/master/soe_request.c | 333 ++
> ubuntu/igh-ecat/master/soe_request.h | 76 +
> ubuntu/igh-ecat/master/sync.c | 170 +
> ubuntu/igh-ecat/master/sync.h | 60 +
> ubuntu/igh-ecat/master/sync_config.c | 55 +
> ubuntu/igh-ecat/master/sync_config.h | 51 +
> ubuntu/igh-ecat/master/voe_handler.c | 553 ++
> ubuntu/igh-ecat/master/voe_handler.h | 65 +
> 108 files changed, 41590 insertions(+)
> create mode 100644 ubuntu/igh-ecat/Kconfig
> create mode 100644 ubuntu/igh-ecat/Makefile
> create mode 100644 ubuntu/igh-ecat/config.h
> create mode 100644 ubuntu/igh-ecat/devices/Makefile
> create mode 100644 ubuntu/igh-ecat/devices/ecdev.h
> create mode 100644 ubuntu/igh-ecat/devices/generic.c
> create mode 100644 ubuntu/igh-ecat/globals.h
> create mode 100644 ubuntu/igh-ecat/include/Makefile.am
> create mode 100644 ubuntu/igh-ecat/include/ecrt.h
> create mode 100644 ubuntu/igh-ecat/include/ectty.h
> create mode 100644 ubuntu/igh-ecat/master/Kbuild.in
> create mode 100644 ubuntu/igh-ecat/master/Makefile
> create mode 100644 ubuntu/igh-ecat/master/Makefile.am
> create mode 100644 ubuntu/igh-ecat/master/api_usage_notes.md
> create mode 100644 ubuntu/igh-ecat/master/cdev.c
> create mode 100644 ubuntu/igh-ecat/master/cdev.h
> create mode 100644 ubuntu/igh-ecat/master/coe_emerg_ring.c
> create mode 100644 ubuntu/igh-ecat/master/coe_emerg_ring.h
> create mode 100644 ubuntu/igh-ecat/master/datagram.c
> create mode 100644 ubuntu/igh-ecat/master/datagram.h
> create mode 100644 ubuntu/igh-ecat/master/datagram_pair.c
> create mode 100644 ubuntu/igh-ecat/master/datagram_pair.h
> create mode 100644 ubuntu/igh-ecat/master/debug.c
> create mode 100644 ubuntu/igh-ecat/master/debug.h
> create mode 100644 ubuntu/igh-ecat/master/device.c
> create mode 100644 ubuntu/igh-ecat/master/device.h
> create mode 100644 ubuntu/igh-ecat/master/domain.c
> create mode 100644 ubuntu/igh-ecat/master/domain.h
> create mode 100644 ubuntu/igh-ecat/master/doxygen.c
> create mode 100644 ubuntu/igh-ecat/master/eoe_request.c
> create mode 100644 ubuntu/igh-ecat/master/eoe_request.h
> create mode 100644 ubuntu/igh-ecat/master/ethernet.c
> create mode 100644 ubuntu/igh-ecat/master/ethernet.h
> create mode 100644 ubuntu/igh-ecat/master/flag.c
> create mode 100644 ubuntu/igh-ecat/master/flag.h
> create mode 100644 ubuntu/igh-ecat/master/fmmu_config.c
> create mode 100644 ubuntu/igh-ecat/master/fmmu_config.h
> create mode 100644 ubuntu/igh-ecat/master/foe.h
> create mode 100644 ubuntu/igh-ecat/master/foe_request.c
> create mode 100644 ubuntu/igh-ecat/master/foe_request.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_change.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_change.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_coe.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_coe.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_eoe.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_eoe.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_foe.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_foe.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_master.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_master.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_pdo.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_pdo.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_pdo_entry.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_pdo_entry.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_sii.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_sii.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_slave.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_slave.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_slave_config.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_slave_config.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_slave_scan.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_slave_scan.h
> create mode 100644 ubuntu/igh-ecat/master/fsm_soe.c
> create mode 100644 ubuntu/igh-ecat/master/fsm_soe.h
> create mode 100644 ubuntu/igh-ecat/master/globals.h
> create mode 100644 ubuntu/igh-ecat/master/ioctl.c
> create mode 100644 ubuntu/igh-ecat/master/ioctl.h
> create mode 100644 ubuntu/igh-ecat/master/mailbox.c
> create mode 100644 ubuntu/igh-ecat/master/mailbox.h
> create mode 100644 ubuntu/igh-ecat/master/master.c
> create mode 100644 ubuntu/igh-ecat/master/master.h
> create mode 100644 ubuntu/igh-ecat/master/module.c
> create mode 100644 ubuntu/igh-ecat/master/pdo.c
> create mode 100644 ubuntu/igh-ecat/master/pdo.h
> create mode 100644 ubuntu/igh-ecat/master/pdo_entry.c
> create mode 100644 ubuntu/igh-ecat/master/pdo_entry.h
> create mode 100644 ubuntu/igh-ecat/master/pdo_list.c
> create mode 100644 ubuntu/igh-ecat/master/pdo_list.h
> create mode 100644 ubuntu/igh-ecat/master/reg_request.c
> create mode 100644 ubuntu/igh-ecat/master/reg_request.h
> create mode 100644 ubuntu/igh-ecat/master/rt_locks.h
> create mode 120000 ubuntu/igh-ecat/master/rtdm-ioctl.c
> create mode 100644 ubuntu/igh-ecat/master/rtdm.c
> create mode 100644 ubuntu/igh-ecat/master/rtdm.h
> create mode 100644 ubuntu/igh-ecat/master/rtdm_details.h
> create mode 100644 ubuntu/igh-ecat/master/rtdm_xenomai_v3.c
> create mode 100644 ubuntu/igh-ecat/master/sdo.c
> create mode 100644 ubuntu/igh-ecat/master/sdo.h
> create mode 100644 ubuntu/igh-ecat/master/sdo_entry.c
> create mode 100644 ubuntu/igh-ecat/master/sdo_entry.h
> create mode 100644 ubuntu/igh-ecat/master/sdo_request.c
> create mode 100644 ubuntu/igh-ecat/master/sdo_request.h
> create mode 100644 ubuntu/igh-ecat/master/slave.c
> create mode 100644 ubuntu/igh-ecat/master/slave.h
> create mode 100644 ubuntu/igh-ecat/master/slave_config.c
> create mode 100644 ubuntu/igh-ecat/master/slave_config.h
> create mode 100644 ubuntu/igh-ecat/master/soe_errors.c
> create mode 100644 ubuntu/igh-ecat/master/soe_request.c
> create mode 100644 ubuntu/igh-ecat/master/soe_request.h
> create mode 100644 ubuntu/igh-ecat/master/sync.c
> create mode 100644 ubuntu/igh-ecat/master/sync.h
> create mode 100644 ubuntu/igh-ecat/master/sync_config.c
> create mode 100644 ubuntu/igh-ecat/master/sync_config.h
> create mode 100644 ubuntu/igh-ecat/master/voe_handler.c
> create mode 100644 ubuntu/igh-ecat/master/voe_handler.h
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260916/d9b18040/attachment-0001.sig>
More information about the kernel-team
mailing list