Кто-нибудь пробовал подключиться к устройству EtherCAT через SOEM в WSL linux?
В то время как TwinCAT успешно подключается к моему Maxon EPOS4 и перемещает двигатель постоянного тока на моем ноутбуке под Windows 10 с помощью промежуточного драйвера RT-Ethernet, SOEM slaveinfo не возвращает подчиненных устройств, найденных на eth0 под WSL.
Пс. Я использую адаптер локальной сети ethernet-usb-c с моим ноутбуком, автоматический IP-адрес, Ubuntu 18.04 на WSL 2 с установленным Hyper-V, а также тестировал отключение брандмауэра Windows. Я еще не использовал SOEM под Windows из-за проблем с компиляцией. Первоначально у меня не было обнаружено сокета по проблеме eth0, но она была решена после установки Hyper-V и обновления моей текущей установки WSL Ubuntu-18.04 до WSL 2.
У меня такая же проблема с WSL Ubuntu 20, когда брандмауэр деактивирован, если я отключу все службы TwinCAT и удалю элементы TwinCAT из окна свойств Ethernet!
Вот что я делаю и какие результаты:
$ sudo setcap cap_net_raw+ep /opt/ros/melodic/bin/slaveinfo
$ sudo /opt/ros/melodic/bin/slaveinfo
SOEM (Simple Open EtherCAT Master)
Slaveinfo
Usage: slaveinfo ifname [options]
ifname = eth0 for example
Options :
-sdo : print SDO info
-map : print mapping
Available adapters
Description : lo, Device to use for wpcap: lo
Description : bond0, Device to use for wpcap: bond0
Description : dummy0, Device to use for wpcap: dummy0
Description : eth0, Device to use for wpcap: eth0
Description : sit0, Device to use for wpcap: sit0
End program
$ sudo /opt/ros/melodic/bin/slaveinfo eth0
SOEM (Simple Open EtherCAT Master)
Slaveinfo
Starting slaveinfo
ec_init on eth0 succeeded.
No slaves found!
End slaveinfo, close socket
End program