Tormach 1100MX???

  • LearningLinuxCNC
  • LearningLinuxCNC's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
22 Jun 2021 11:37 - 22 Jun 2021 11:41 #212663 by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Tormach 1100MX???
Time goes by and. . . There is a Tormach 1100M setting in my shop ready to be converted into a 5 axis machine.

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?
Last edit: 22 Jun 2021 11:41 by LearningLinuxCNC.

Please Log in or Create an account to join the conversation.

More
22 Jun 2021 15:22 - 22 Jun 2021 15:23 #212680 by PCW
Replied by PCW on topic Tormach 1100MX???
hm2_eth: ERROR: Failed to execute '/sbin/sysctl -q net.ipv6.conf.eth0.disable_ipv6=1'

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.
Last edit: 22 Jun 2021 15:23 by PCW.

Please Log in or Create an account to join the conversation.

  • LearningLinuxCNC
  • LearningLinuxCNC's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
22 Jun 2021 18:03 - 22 Jun 2021 18:09 #212690 by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Tormach 1100MX???
Good catch Peter. I did not notice where it was looking for /sbin/sysctl. I don't know how many times i had looked at the error logs.

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?
Last edit: 22 Jun 2021 18:09 by LearningLinuxCNC. Reason: added path to missing directory

Please Log in or Create an account to join the conversation.

  • LearningLinuxCNC
  • LearningLinuxCNC's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
22 Jun 2021 20:17 #212697 by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Tormach 1100MX???
For any of the Tormach hal component .so files, when linuxcnc tries to load them they return the following error about an invalid type character.
names=doorlock: Invalid type character `1'

what does this mean?

Please Log in or Create an account to join the conversation.

More
23 Jun 2021 13:28 #212740 by andypugh
Replied by andypugh on topic Tormach 1100MX???
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?

Please Log in or Create an account to join the conversation.

  • LearningLinuxCNC
  • LearningLinuxCNC's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
23 Jun 2021 15:10 #212752 by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Tormach 1100MX???

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.
The following user(s) said Thank You: Clive S

Please Log in or Create an account to join the conversation.

More
24 Jun 2021 14:09 #212825 by andypugh
Replied by andypugh on topic Tormach 1100MX???
I think it is worth asking in the Pathpilot section , there is a fair bit of expertise there, but they might look in this section.

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.

More
26 Jul 2021 19:20 #215979 by 93xshang
Replied by 93xshang on topic Tormach 1100MX???
Hi, I wanted to check if there's any update on your project? I'm also planning to overwrite PathPilot with LinuxCNC so I can use the Python interface. Any updates are appreciated!

Please Log in or Create an account to join the conversation.

  • LearningLinuxCNC
  • LearningLinuxCNC's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
26 Jul 2021 20:48 #215987 by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Tormach 1100MX???
I do have updates. But I am afraid that my path is probably not the path you will want to take. I am removing the Tormach ECM interface board and replacing it with a 7i76e. This means rewiring the machine. If you want to take the same route I should be able to start posting some info in another thread soon.

Please Log in or Create an account to join the conversation.

More
27 Jul 2021 23:43 #216082 by 93xshang
Replied by 93xshang on topic Tormach 1100MX???
Cool, but why did you decided to do so? Is the Tormach ECM no longer compatible with linuxcnc?

Please Log in or Create an account to join the conversation.

Time to create page: 0.117 seconds
Powered by Kunena Forum