john@john-cnc:~$ linuxcnc -d /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini Debug mode on + getopts dvlhkr opt + shift 1 + case "3.4-9-rtai-686-pae" in ++ uname -r + '[' 3.4-9-rtai-686-pae '!=' 3.4-9-rtai-686-pae ']' + '[' -z ']' + tty -s + trap ErrorCheck EXIT + '[' '!' -z /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ']' + case "$1" in + INIFILE=/home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + shift + EXTRA_ARGS= + RUN_IN_PLACE=no + echo RUN_IN_PLACE=no + LINUXCNCVERSION=2.7.12 + export LINUXCNCVERSION + INIVAR=inivar + HALCMD='halcmd ' + PICKCONFIG='/usr/bin/wish8.5 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl' + LINUXCNC_EMCSH=/usr/bin/wish8.5 + echo LINUXCNC_DIR= + echo LINUXCNC_BIN_DIR=/usr/bin + echo LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc + echo LINUXCNC_SCRIPT_DIR= + echo LINUXCNC_RTLIB_DIR=/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc + echo LINUXCNC_CONFIG_DIR= + echo LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs + echo INIVAR=inivar + echo HALCMD=halcmd + echo LINUXCNC_EMCSH=/usr/bin/wish8.5 + export LINUXCNC_TCL_DIR + export LINUXCNC_EMCSH + export LINUXCNC_HELP_DIR + export LINUXCNC_LANG_DIR + export REALTIME + export HALCMD + export LINUXCNC_NCFILES_DIR + '[' -z ']' + echo 'LINUXCNC - 2.7.12' LINUXCNC - 2.7.12 + '[' '!' -z '' ']' + '[' '!' -n /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ']' + '[' '!' -n /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ']' ++ handle_includes /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ++ hdr='# handle_includes():' ++ inifile=/home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini +++ dirname /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ++ cd /home/john/linuxcnc/configs/john-cnc-xhc ++ grep '^#INCLUDE' /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ++ status=1 ++ '[' 1 -ne 0 ']' ++ echo /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ++ return 0 + INIFILE=/home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + INI_NAME=john-cnc-xhc.ini + INI_DIR=/home/john/linuxcnc/configs/john-cnc-xhc + CONFIG_DIR=/home/john/linuxcnc/configs/john-cnc-xhc + export CONFIG_DIR + export PATH=/home/john/linuxcnc/configs/john-cnc-xhc/bin:/usr/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PATH=/home/john/linuxcnc/configs/john-cnc-xhc/bin:/usr/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + '[' -z ']' + echo 'Machine configuration directory is '\''/home/john/linuxcnc/configs/john-cnc-xhc'\''' Machine configuration directory is '/home/john/linuxcnc/configs/john-cnc-xhc' + echo 'Machine configuration file is '\''john-cnc-xhc.ini'\''' Machine configuration file is 'john-cnc-xhc.ini' + '[' '!' -f /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ']' + echo INIFILE=/home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + retval= + GetFromIni PARAMETER_FILE RS274NGC + name=PARAMETER_FILE ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var PARAMETER_FILE -sec RS274NGC + retval=linuxcnc.var + '[' '!' -n PARAMETER_FILE ']' + echo PARAMETER_FILE=linuxcnc.var + RS274NGC_PARAMFILE=linuxcnc.var + GetFromIniEx MOT MOT EMCMOT EMCMOT motmod + original_var='[MOT]MOT' + '[' 5 -ge 2 ']' ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var MOT -sec MOT + retval= + shift 2 + '[' 3 -ge 2 ']' ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var EMCMOT -sec EMCMOT + retval=motmod + return + EMCMOT=motmod.ko + GetFromIniEx IO IO EMCIO EMCIO io + original_var='[IO]IO' + '[' 5 -ge 2 ']' ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var IO -sec IO + retval= + shift 2 + '[' 3 -ge 2 ']' ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var EMCIO -sec EMCIO + retval=io + return + EMCIO=io + GetFromIni TASK TASK + name=TASK ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var TASK -sec TASK + retval=milltask + '[' '!' -n TASK ']' + echo TASK=milltask + EMCTASK=milltask + '[' milltask = emctask ']' + EMCSERVER=linuxcncsvr + GetFromIniQuiet HALUI HAL + name=HALUI ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var HALUI -sec HAL + retval=halui + '[' '!' -n HALUI ']' + echo HALUI=halui + HALUI=halui + GetFromIni DISPLAY DISPLAY + name=DISPLAY ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var DISPLAY -sec DISPLAY + retval=axis + '[' '!' -n DISPLAY ']' + echo DISPLAY=axis ++ set -- axis ++ echo axis + EMCDISPLAY=axis ++ set -- axis ++ shift ++ echo + EMCDISPLAYARGS= + case $EMCDISPLAY in + GetFromIniEx NML_FILE LINUXCNC NML_FILE EMC /usr/share/linuxcnc/linuxcnc.nml + original_var='[LINUXCNC]NML_FILE' + '[' 5 -ge 2 ']' ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var NML_FILE -sec LINUXCNC + retval= + shift 2 + '[' 3 -ge 2 ']' ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var NML_FILE -sec EMC + retval= + shift 2 + '[' 1 -ge 2 ']' + '[' 1 -eq 0 ']' + retval=/usr/share/linuxcnc/linuxcnc.nml + NMLFILE=/usr/share/linuxcnc/linuxcnc.nml + export NMLFILE + KILL_TASK= + KILL_TIMEOUT=20 + LOCKFILE=/tmp/linuxcnc.lock + '[' -f /tmp/linuxcnc.lock ']' + echo Starting LinuxCNC... Starting LinuxCNC... + trap 'Cleanup ; exit 0' SIGINT SIGTERM + cd /home/john/linuxcnc/configs/john-cnc-xhc + touch /tmp/linuxcnc.lock ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var INTRO_GRAPHIC -sec DISPLAY + img=linuxcnc.gif ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var INTRO_TIME -sec DISPLAY + imgtime=5 + '[' 5 = '' ']' + '[' linuxcnc.gif '!=' '' ']' + '[' -e linuxcnc.gif ']' + '[' -e /home/john/linuxcnc/configs/john-cnc-xhc/linuxcnc.gif ']' + '[' -e /usr/share/linuxcnc/linuxcnc.gif ']' + img=/usr/share/linuxcnc/linuxcnc.gif + '[' /usr/share/linuxcnc/linuxcnc.gif '!=' '' ']' + '[' -x /usr/lib/tcltk/linuxcnc/bin/popimage ']' + echo 'Starting LinuxCNC server program: linuxcncsvr' + program_available linuxcncsvr + type -path linuxcncsvr + export INI_FILE_NAME=/home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + INI_FILE_NAME=/home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + sleep 1 + linuxcncsvr -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + /usr/lib/tcltk/linuxcnc/bin/popimage /usr/share/linuxcnc/linuxcnc.gif 5 + echo 'Loading Real Time OS, RTAPI, and HAL_LIB modules' + /etc/init.d/realtime start . + export HAL_RTMOD_DIR=/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc + HAL_RTMOD_DIR=/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc + '[' io '!=' '' ']' + echo 'Starting LinuxCNC IO program: io' + program_available io + type -path io + halcmd loadusr -Wn iocontrol io -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini + '[' -n halui ']' + echo 'Starting HAL User Interface program: halui' + program_available halui + type -path halui + halcmd loadusr -Wn halui halui -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini ++ inivar -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var TWOPASS -sec HAL -num 1 + TWOPASS= + '[' -n '' ']' + NUM=1 ++ inivar -tildeexpand -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var HALFILE -sec HAL -num 1 + CFGFILE=john-cnc-xhc.hal + '[' -n john-cnc-xhc.hal ']' + IFS='\ ' + read CFGFILE CFGFILE_ARGS + foundmsg= + saveIFS=' ' + IFS=: + explicit_file_in_hallib=john-cnc-xhc.hal + '[' -z john-cnc-xhc.hal ']' + '[' john-cnc-xhc.hal '!=' john-cnc-xhc.hal ']' + '[' j = / ']' + for pathdir in '$HALLIB_PATH' + foundfile=./john-cnc-xhc.hal + '[' -r ./john-cnc-xhc.hal ']' + '[' . = . ']' + foundmsg='Found file(REL): ./john-cnc-xhc.hal' + break + '[' -d ./john-cnc-xhc.hal ']' + IFS=' ' + '[' -z 'Found file(REL): ./john-cnc-xhc.hal' ']' + echo 'Found file(REL): ./john-cnc-xhc.hal' Found file(REL): ./john-cnc-xhc.hal + CFGFILE=./john-cnc-xhc.hal + case $CFGFILE in + halcmd -i /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -f ./john-cnc-xhc.hal + NUM=2 ++ inivar -tildeexpand -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var HALFILE -sec HAL -num 2 + CFGFILE=custom.hal + '[' -n custom.hal ']' + IFS='\ ' + read CFGFILE CFGFILE_ARGS + foundmsg= + saveIFS=' ' + IFS=: + explicit_file_in_hallib=custom.hal + '[' -z custom.hal ']' + '[' custom.hal '!=' custom.hal ']' + '[' c = / ']' + for pathdir in '$HALLIB_PATH' + foundfile=./custom.hal + '[' -r ./custom.hal ']' + '[' . = . ']' + foundmsg='Found file(REL): ./custom.hal' + break + '[' -d ./custom.hal ']' + IFS=' ' + '[' -z 'Found file(REL): ./custom.hal' ']' + echo 'Found file(REL): ./custom.hal' Found file(REL): ./custom.hal + CFGFILE=./custom.hal + case $CFGFILE in + halcmd -i /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -f ./custom.hal INFO CLASSICLADDER- No ladder GUI requested-Realtime runs till HAL closes. + NUM=3 ++ inivar -tildeexpand -ini /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -var HALFILE -sec HAL -num 3 + CFGFILE=xhc-hb04.hal + '[' -n xhc-hb04.hal ']' + IFS='\ ' + read CFGFILE CFGFILE_ARGS + foundmsg= + saveIFS=' ' + IFS=: + explicit_file_in_hallib=xhc-hb04.hal + '[' -z xhc-hb04.hal ']' + '[' xhc-hb04.hal '!=' xhc-hb04.hal ']' + '[' x = / ']' + for pathdir in '$HALLIB_PATH' + foundfile=./xhc-hb04.hal + '[' -r ./xhc-hb04.hal ']' + '[' . = . ']' + foundmsg='Found file(REL): ./xhc-hb04.hal' + break + '[' -d ./xhc-hb04.hal ']' + IFS=' ' + '[' -z 'Found file(REL): ./xhc-hb04.hal' ']' + echo 'Found file(REL): ./xhc-hb04.hal' Found file(REL): ./xhc-hb04.hal + CFGFILE=./xhc-hb04.hal + case $CFGFILE in + halcmd -i /home/john/linuxcnc/configs/john-cnc-xhc/john-cnc-xhc.ini -f ./xhc-hb04.hal xhc-hb04: waiting for XHC-HB04 device xhc-hb04: found XHC-HB04 device