Tormach 1100MX???
- LearningLinuxCNC
- Topic Author
- Offline
- Platinum Member
- Posts: 320
- Thank you received: 48
I am trying to figure out how to work with the Tormach EMC1 board and LinuxCNC. This board does not want to play well with LinuxCNC out of the box.
It does use hostmot2 and hm2_eth to connect. However they are special versions of the files to make it work correctly. In the tormach files there are versions of both of these files that are much larger than the ones installed by linuxcnc.
If I use the vanilla linuxcnc versions of the files then I get the following when I try to run a config that connects to the Tormach ECM1 board.
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.8.1
Machine configuration directory is '/home/operator/linuxcnc/configs/tormach'
Machine configuration file is 'gmoccapy_Tormach_XYZAB.ini'
INIFILE=/home/operator/linuxcnc/configs/tormach/gmoccapy_Tormach_XYZAB.ini
VERSION=1.1
PARAMETER_FILE=sim.var
TASK=milltask
HALUI=halui
DISPLAY=gmoccapy
COORDINATES=X Y Z A B
KINEMATICS=trivkins coordinates=xyzab
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
emc/iotask/ioControl.cc 702: can't load tool table.
Starting HAL User Interface program: halui
Found file(REL): ./tormach_mill_ecm1.hal
Shutting down and cleaning up LinuxCNC...
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:b0:81:62
hm2_eth: Unrecognized ethernet board found: ECM1 -- port names will be wrong
hm2_eth: discovered ECM1
hm2/hm2_EcM1.0: Low Level init 0.15
hm2/hm2_EcM1.0: Smart Serial Firmware Version 43
hm2/hm2_EcM1.0: 65 I/O Pins used:
hm2/hm2_EcM1.0: IO Pin 000 (??-00): StepGen #4, pin Step (Output)
hm2/hm2_EcM1.0: IO Pin 001 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 002 (??-00): StepGen #0, pin Direction (Output)
hm2/hm2_EcM1.0: IO Pin 003 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 004 (??-00): StepGen #0, pin Step (Output)
hm2/hm2_EcM1.0: IO Pin 005 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 006 (??-00): StepGen #1, pin Direction (Output)
hm2/hm2_EcM1.0: IO Pin 007 (??-00): StepGen #1, pin Step (Output)
hm2/hm2_EcM1.0: IO Pin 008 (??-00): StepGen #2, pin Direction (Output)
hm2/hm2_EcM1.0: IO Pin 009 (??-00): StepGen #2, pin Step (Output)
hm2/hm2_EcM1.0: IO Pin 010 (??-00): StepGen #3, pin Direction (Output)
hm2/hm2_EcM1.0: IO Pin 011 (??-00): StepGen #3, pin Step (Output)
hm2/hm2_EcM1.0: IO Pin 012 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 013 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 014 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 015 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 016 (??-00): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_EcM1.0: IO Pin 017 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 018 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 019 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 020 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 021 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 022 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 023 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 024 (??-00): Encoder #0, pin A (Input)
hm2/hm2_EcM1.0: IO Pin 025 (??-00): Encoder #0, pin B (Input)
hm2/hm2_EcM1.0: IO Pin 026 (??-00): Encoder #0, pin Index (Input)
hm2/hm2_EcM1.0: IO Pin 027 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 028 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 029 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 030 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 031 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 032 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 033 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 034 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 035 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 036 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 037 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 038 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 039 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 040 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 041 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 042 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 043 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 044 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 045 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 046 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 047 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 048 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 049 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 050 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 051 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 052 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 053 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 054 (??-00): Encoder #1, pin A (Input)
hm2/hm2_EcM1.0: IO Pin 055 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 056 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 057 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 058 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 059 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 060 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 061 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 062 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 063 (??-00): IOPort
hm2/hm2_EcM1.0: IO Pin 064 (??-00): IOPort
hm2/hm2_EcM1.0: registered
hm2_eth: ERROR: Failed to execute '/sbin/sysctl -q net.ipv6.conf.eth0.disable_ipv6=1'
hm2_eth: in hm2_eth_reset
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Debug file information:
Note: Using POSIX realtime
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
hm2/hm2_EcM1.0: hm2_read_pin_descriptors: invalid port width 13
sysctl: cannot stat /proc/sys/net/ipv6/conf/eth0/disable_ipv6: No such file or directory
names=tormachspindlem200: Invalid type character `1'
./tormach_mill_ecm1.hal:18: waitpid failed /usr/bin/rtapi_app tormachspindlem200
./tormach_mill_ecm1.hal:18: /usr/bin/rtapi_app exited without becoming ready
./tormach_mill_ecm1.hal:18: insmod for tormachspindlem200 failed, returned -1
3618
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
-----------------------------------------------------------------------
Info report created by linuxcnc_info:
The file: /tmp/linuxcnc_info.txt
can be posted to a forum or a web site like:
http://pastebin.com
in order to provide information about the linuxcnc
system and configuration.
Date: Tue Jun 22 06:18:02 CDT 2021
UTC Date: Tue Jun 22 11:18:02 UTC 2021
this program: /usr/bin/linuxcnc_info
uptime: 06:18:02 up 22 min, 1 user, load average: 0.92, 0.95, 0.64
lsb_release -sa: LinuxMint Linux Mint 17.3 Rosa 17.3 rosa
which linuxcnc: /usr/bin/linuxcnc
EDITOR:
VISUAL:
LANGUAGE:
TERM: dumb
COLORTERM:
DISPLAY: :0.0
DESKTOP: mate
display size: 1280x1024 pixels (339x271 millimeters)
PATH: /usr/bin:/home/operator/linuxcnc/configs/tormach/bin:/usr/bin:/home/operator/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/operator/teamviewerqs
uname items:
nodename -n: tormachpcnc
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Mon Jun 21 13:18:28 CDT 2021
machine -m: x86_64
processor -p: x86_64
platform -i: x86_64
oper system -o: GNU/Linux
/proc items:
cmdline: BOOT_IMAGE=/vmlinuz-4.19.1-rt3 root=UUID=a99288c5-4e9b-454a-b468-f4a14d883564 ro quiet splash intel_idle.max_cstate=1 ipv6.disable=1 cgroup_enable=memory,cpu,cpuset swapaccount=1 usbcore.autosuspend=-1 vt.handoff=7
model name: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
cores: 4
cpu MHz: 1763.994
parport: 0000-0000 : parport0 0000-0000 : parport0
serial: 0000-0000 : serial 0000-0000 : serial 0000-0000 : serial 0000-0000 : serial
Versions:
gcc: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
python: Python 2.7.6
git: git version 2.29.0
git commit: NA
tcl: 8.6
tk: 8.6
glade: glade 3.16.1
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.1
LINUXCNC_AUX_GLADEVCP: /usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES: /usr/share/linuxcnc/aux_examples
REALTIME: /etc/init.d/realtime
RTS: uspace
HALLIB_DIR: /usr/share/linuxcnc/hallib
dpkg -l '*linuxcnc*':
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===========================================-===================================================-============-=====================================================================================================================
un linuxcnc <none> <none> (no description available)
un linuxcnc-dev <none> <none> (no description available)
un linuxcnc-doc <none> <none> (no description available)
ii linuxcnc-doc-en 1:2.8.1 all motion controller for CNC machines and robots (English documentation)
un linuxcnc-sim <none> <none> (no description available)
un linuxcnc-sim-dev <none> <none> (no description available)
ii linuxcnc-uspace 1:2.8.1 amd64 motion controller for CNC machines and robots
ii linuxcnc-uspace-dev 1:2.8.1 amd64 PC based motion controller for real-time Linux
I have connected my install to a 7i76e and it connects and runs linuxcnc just fine.
I have copied the tormach hostmot2 and hm2_eth files to the /usr/lib/linuxcnc/modules folder and tried to run using their updated versions of the drivers. I get the following result.
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.8.1
Machine configuration directory is '/home/operator/linuxcnc/configs/tormach'
Machine configuration file is 'gmoccapy_Tormach_XYZAB.ini'
INIFILE=/home/operator/linuxcnc/configs/tormach/gmoccapy_Tormach_XYZAB.ini
VERSION=1.1
PARAMETER_FILE=sim.var
TASK=milltask
HALUI=halui
DISPLAY=gmoccapy
COORDINATES=X Y Z A B
KINEMATICS=trivkins coordinates=xyzab
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
emc/iotask/ioControl.cc 702: can't load tool table.
Starting HAL User Interface program: halui
Found file(REL): ./tormach_mill_ecm1.hal
Shutting down and cleaning up LinuxCNC...
hm2: loading Mesa HostMot2 driver version 0.15
hm2: unloading
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Debug file information:
Note: Using POSIX realtime
board_ip=10.10.10.10: Invalid type character `1'
./tormach_mill_ecm1.hal:11: waitpid failed /usr/bin/rtapi_app hm2_eth
./tormach_mill_ecm1.hal:11: /usr/bin/rtapi_app exited without becoming ready
./tormach_mill_ecm1.hal:11: insmod for hm2_eth failed, returned -1
4795
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
-----------------------------------------------------------------------
Info report created by linuxcnc_info:
The file: /tmp/linuxcnc_info.txt
can be posted to a forum or a web site like:
http://pastebin.com
in order to provide information about the linuxcnc
system and configuration.
Date: Tue Jun 22 06:25:20 CDT 2021
UTC Date: Tue Jun 22 11:25:20 UTC 2021
this program: /usr/bin/linuxcnc_info
uptime: 06:25:20 up 29 min, 2 users, load average: 0.54, 0.76, 0.68
lsb_release -sa: LinuxMint Linux Mint 17.3 Rosa 17.3 rosa
which linuxcnc: /usr/bin/linuxcnc
EDITOR:
VISUAL:
LANGUAGE:
TERM: dumb
COLORTERM:
DISPLAY: :0.0
DESKTOP: mate
display size: 1280x1024 pixels (339x271 millimeters)
PATH: /usr/bin:/home/operator/linuxcnc/configs/tormach/bin:/usr/bin:/home/operator/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/operator/teamviewerqs
uname items:
nodename -n: tormachpcnc
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Mon Jun 21 13:18:28 CDT 2021
machine -m: x86_64
processor -p: x86_64
platform -i: x86_64
oper system -o: GNU/Linux
/proc items:
cmdline: BOOT_IMAGE=/vmlinuz-4.19.1-rt3 root=UUID=a99288c5-4e9b-454a-b468-f4a14d883564 ro quiet splash intel_idle.max_cstate=1 ipv6.disable=1 cgroup_enable=memory,cpu,cpuset swapaccount=1 usbcore.autosuspend=-1 vt.handoff=7
model name: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
cores: 4
cpu MHz: 1565.309
parport: 0000-0000 : parport0 0000-0000 : parport0
serial: 0000-0000 : serial 0000-0000 : serial 0000-0000 : serial 0000-0000 : serial
Versions:
gcc: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
python: Python 2.7.6
git: git version 2.29.0
git commit: NA
tcl: 8.6
tk: 8.6
glade: glade 3.16.1
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.1
LINUXCNC_AUX_GLADEVCP: /usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES: /usr/share/linuxcnc/aux_examples
REALTIME: /etc/init.d/realtime
RTS: uspace
HALLIB_DIR: /usr/share/linuxcnc/hallib
dpkg -l '*linuxcnc*':
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===========================================-===================================================-============-=====================================================================================================================
un linuxcnc <none> <none> (no description available)
un linuxcnc-dev <none> <none> (no description available)
un linuxcnc-doc <none> <none> (no description available)
ii linuxcnc-doc-en 1:2.8.1 all motion controller for CNC machines and robots (English documentation)
un linuxcnc-sim <none> <none> (no description available)
un linuxcnc-sim-dev <none> <none> (no description available)
ii linuxcnc-uspace 1:2.8.1 amd64 motion controller for CNC machines and robots
ii linuxcnc-uspace-dev 1:2.8.1 amd64 PC based motion controller for real-time Linux
What are your thoughts? I will need 5 axis of coordinated motion I can't get that from the ECM1 board anyway. Should I scrap that board and rewire to the 7i76e? I will ultimately want 9 total stepgens four of which don't need to be coordinated motion but they will be used for functions on the machine (toolchanger, W axis adjustment).
If I don't scrap the ECM1 board, can I run both the ECM1 and the 7i76e off a dedicated gigabit switch with one connection back to the main control computer or do I need to add another NIC to the control computer? I found the following link as a reference about using a gigabit switch. hm2-eth-multiple
If I scrap the ECM1 board, what is the best way to get more than 5 axis of step direction commands. Can I put a 7i76 on one of the expansion headers of the 7i76e and get more stepgens? Do I need to run two 7i76e cards?
What do you think?
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17892
- Thank you received: 4774
Seems like a path or missing executable issue
You can run up to 4 hm2 Ethernet cards using a switch but the read functions in the
hal file need to be changed to use read-request so that you can overlap the read operations
on the multiple cards. The cards also need to have different IP addresses, say 10.10.10.10, 10.10.10.11 etc
You can add 5 more stepgens to a 7I76e with a 7I76 but if you don't need the extra field I/O a
7I85S (4 more stepgens) or 7I88 (8 more stepgens) would do.
Please Log in or Create an account to join the conversation.
- LearningLinuxCNC
- Topic Author
- Offline
- Platinum Member
- Posts: 320
- Thank you received: 48
However the file and path both exist. When I run /sbin/sysctl -a the variable "net.ipv6.conf.eth0.disable_ipv6" does not exist. In fact no "net.ipv6" variables exist. I believe this is turned off in the grub configuration kernel parameters.
quiet splash intel_idle.max_cstate=1 ipv6.disable=1 cgroup_enable=memory,cpu,cpuset swapaccount=1 usbcore.autosuspend=-1
I see that the missing directory is /proc/sys/net/ipv6
What is interesting is that this is the same for when I boot to the pathpilot partition and pathpilot works just fine.
To clear up how I am at the point I am at. I took an image of the existing pathpilot installation partition and replicated it to a new partition, lets call it the linuxcnc partition. I then installed linuxcnc 2.8.1 on the linuxcnc partition. I made a new configuration using information from the pathpilot .ini and .hal files to make a config that uses the linuxcnc 2.8 stuff and the pathpilot stuff.
I compiled the kernel 4.19.1-rt3 per Big John T's instructions for linux mint. That is what was installed on the pathpilot install from the factory.
Both of the kernels. 4.11.9-rt7 and 4.19.1-rt3 have terrible latency. Spikes between 100us and 200us are not uncommon. I have seen up to 215us.
I have not tried isolcpus yet. Do I put the isolcpus param in the grub line like the following? I have never had to do it to this point.
quiet splash intel_idle.max_cstate=1 ipv6.disable=1 cgroup_enable=memory,cpu,cpuset swapaccount=1 usbcore.autosuspend=-1 isolcpus=2,3
Peter, Thanks for the feedback on the use of the switch and the daughter cards for additional steppers. When I figure out if I can use the ECM1 card or not I will know which way to go.
What do you think about the sysctl issue and the latency issue?
Please Log in or Create an account to join the conversation.
- LearningLinuxCNC
- Topic Author
- Offline
- Platinum Member
- Posts: 320
- Thank you received: 48
names=doorlock: Invalid type character `1'
what does this mean?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23558
- Thank you received: 4858
I think that Tormach use a special USB IO module? How hard ./ expensive is it to not use that?
Please Log in or Create an account to join the conversation.
- LearningLinuxCNC
- Topic Author
- Offline
- Platinum Member
- Posts: 320
- Thank you received: 48
Maybe start with a fresh LinuxCNC and standard Mesa bitfile?
I think that Tormach use a special USB IO module? How hard ./ expensive is it to not use that?
I actually think that is the way I am going to proceed. I will just use a 7i76e and a 7i76 connected to an expansion header. Rewire the stuff that will remain standard on the Tormach and then add the additional drives, replacement spindle drive, etc to make this thing happen.
It looks like the Tormach Pathpilot software is made to run with LinuxCNC 2.7. None of the .ini files use the joint sections they are only using axis sections. This may have something to do with the compatibility issues i am having between LinuxCNC 2.8.1.
I think a fresh install with the standard LinuxCNC 2.8.1 build will be the best option for this machine.
I was hoping to use the tormach operator console. It looks like that won't be possible as the pins to access the controls on the console are built into the Tormach Pathpilot GUI and connected in a postgui.hal file. Since I am not able to use Pathpilot for this application those pins will not be available in LinuxCNC.
Now that I know the direction I will be heading, it is time to get down to business and actually start doing the work.
Thanks for the help everyone. I will probably start a new thread showing progress and what we are doing with this machine.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23558
- Thank you received: 4858
Adding a 7i76 to your 7i76E is an expensive way to add more GPIO. I would suggest starting with hooking something to the smart-serial port, such as a 7i84.
store.mesanet.com/index.php?route=product/category&path=83_88
Please Log in or Create an account to join the conversation.
- 93xshang
- Offline
- New Member
- Posts: 8
- Thank you received: 0
Please Log in or Create an account to join the conversation.
- LearningLinuxCNC
- Topic Author
- Offline
- Platinum Member
- Posts: 320
- Thank you received: 48
Please Log in or Create an account to join the conversation.
- 93xshang
- Offline
- New Member
- Posts: 8
- Thank you received: 0
Please Log in or Create an account to join the conversation.