Updated linuxcnc 2.7 -> 2.9, now parallel port card not working with sherline

More
2 years 3 months ago #304408 by ffffrf
So... I recently got a sherline lathe, and opted to download linuxcnc 2.7 to my dell optiplex 7010. I used a startech pcie to parallel port card and followed the instructions but kept getting errors, however, towards the end, I realized the computer did detect it via lspci -v, and set up stepconf with the lathe and got everything to work.

Now, I eventually plan to use a mesa ethernet board with the lathe so I thought in the meantime to upgrade to the newest linuxcnc version and set up the lathe the same way.

However, it is not working. In stepconf when I test my axis they work, but when I compile, the software no longer moves the axis. When I do sudo lspci -v I do see my parallel port at the address e010 just as i did on linux 2.7. However, when I open up linuxcnc and type in a g code like g01 Z5 F100, I get "no parport registered at e010 (or 0xe010)" and nothing happens. I do not always get "no parport registered at e010 (or 0xe010)" when I restart linuxcnc but regardless the axis do not move.

I am at a loss on what to do as this is the exact same hardware I have been using. I tried clicking on the sherline pins in stepconf as I think that inverts them but nothing has worked. 

In stepconf the axis works, and the steppers are energized. If I change the parport address to anything other than e010 or 0xe010, the axis no longer work in stepconf, so I know it is the right address


SHERLINE INI, HAL and terminal
Code:
# Generated by stepconf 1.1 at Thu Jul  4 12:14:30 2024 # If you make changes to this file, they will be # overwritten when you run stepconf again [EMC] MACHINE = sherline DEBUG = 0 VERSION = 1.1 [DISPLAY] DISPLAY = axis EDITOR = gedit POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL ARCDIVISION = 64 GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in MAX_FEED_OVERRIDE = 1.2 MIN_SPINDLE_OVERRIDE = 0.5 MAX_SPINDLE_OVERRIDE = 1.2 DEFAULT_LINEAR_VELOCITY = 2.50 MIN_LINEAR_VELOCITY = 0 MAX_LINEAR_VELOCITY = 25.00 CYCLE_TIME = 0.100 INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 PROGRAM_PREFIX = /home/maksym/linuxcnc/nc_files INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm LATHE = 1 [KINS] JOINTS = 2 KINEMATICS = trivkins coordinates=XZ [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .py Python Script PROGRAM_EXTENSION = .nc,.tap G-Code File png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python [TASK] TASK = milltask CYCLE_TIME = 0.010 [RS274NGC] PARAMETER_FILE = linuxcnc.var [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 BASE_PERIOD = 100000 SERVO_PERIOD = 1000000 [HAL] HALFILE = sherline.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui_call_list.hal [TRAJ] COORDINATES =  X Z LINEAR_UNITS = mm ANGULAR_UNITS = degree DEFAULT_LINEAR_VELOCITY = 2.50 MAX_LINEAR_VELOCITY = 25.00 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl #*** AXIS_X ******************************* [AXIS_X] MAX_VELOCITY = 23.75 MAX_ACCELERATION = 750.0 MIN_LIMIT = -0.001 MAX_LIMIT = 200.0 [JOINT_0] TYPE = LINEAR HOME = 0.0 MIN_LIMIT = -0.001 MAX_LIMIT = 200.0 MAX_VELOCITY = 23.75 MAX_ACCELERATION = 750.0 STEPGEN_MAXACCEL = 937.5 SCALE = 400.0 FERROR = 1 MIN_FERROR = .25 HOME_OFFSET = 0.0 #****************************************** #*** AXIS_Z ******************************* [AXIS_Z] MAX_VELOCITY = 23.75 MAX_ACCELERATION = 750.0 MIN_LIMIT = -100.0 MAX_LIMIT = 0.001 [JOINT_1] TYPE = LINEAR HOME = 0.0 MIN_LIMIT = -100.0 MAX_LIMIT = 0.001 MAX_VELOCITY = 23.75 MAX_ACCELERATION = 750.0 STEPGEN_MAXACCEL = 937.5 SCALE = 400.0 FERROR = 1 MIN_FERROR = .25 HOME_OFFSET = 0.0 #****************************************** SHERLINE HAL: [code]# Generated by stepconf 1.1 at Thu Jul  4 12:14:30 2024 # If you make changes to this file, they will be # overwritten when you run stepconf again loadrt [KINS]KINEMATICS loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS loadrt hal_parport cfg="0xe010 out" setp parport.0.reset-time 5000 loadrt stepgen step_type=0,0 loadrt pwmgen output_type=1 addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf pwmgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset base-thread addf stepgen.capture-position servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf stepgen.update-freq servo-thread addf pwmgen.update servo-thread net spindle-cmd-rpm => pwmgen.0.value net spindle-on <= spindle.0.on => pwmgen.0.enable net spindle-pwm <= pwmgen.0.pwm setp pwmgen.0.pwm-freq 100.0 setp pwmgen.0.scale 1166.6666666666665 setp pwmgen.0.offset 0.11428571428571428 setp pwmgen.0.dither-pwm true net spindle-cmd-rpm     <= spindle.0.speed-out net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs net spindle-cmd-rps     <= spindle.0.speed-out-rps net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs net spindle-at-speed    => spindle.0.at-speed net spindle-cw <= spindle.0.forward net estop-out       => parport.0.pin-01-out net xstep           => parport.0.pin-02-out setp parport.0.pin-02-out-reset 1 net xdir            => parport.0.pin-03-out net ystep           => parport.0.pin-04-out setp parport.0.pin-04-out-reset 1 net ydir            => parport.0.pin-05-out net zstep           => parport.0.pin-06-out setp parport.0.pin-06-out-reset 1 net zdir            => parport.0.pin-07-out net astep           => parport.0.pin-08-out setp parport.0.pin-08-out-reset 1 net adir            => parport.0.pin-09-out net spindle-cw      => parport.0.pin-14-out net spindle-pwm     => parport.0.pin-16-out net xenable         => parport.0.pin-17-out setp stepgen.0.position-scale [JOINT_0]SCALE setp stepgen.0.steplen 1 setp stepgen.0.stepspace 0 setp stepgen.0.dirhold 35000 setp stepgen.0.dirsetup 35000 setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb net xstep <= stepgen.0.step net xdir <= stepgen.0.dir net xenable joint.0.amp-enable-out => stepgen.0.enable setp stepgen.1.position-scale [JOINT_1]SCALE setp stepgen.1.steplen 1 setp stepgen.1.stepspace 0 setp stepgen.1.dirhold 35000 setp stepgen.1.dirsetup 35000 setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL net zpos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd net zpos-fb stepgen.1.position-fb => joint.1.motor-pos-fb net zstep <= stepgen.1.step net zdir <= stepgen.1.dir net zenable joint.1.amp-enable-out => stepgen.1.enable net estop-out <= iocontrol.0.user-enable-out net estop-out => iocontrol.0.emc-enable-in loadusr -W hal_manualtoolchange net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared TERMINAL: [code]02:00.0 Serial controller: Asix Electronics Corporation Device 9105 (prog-if 02 [16550])     Subsystem: Asix Electronics Corporation (Wrong ID) Device 1000     Flags: fast devsel, IRQ 16, IOMMU group 10     I/O ports at e020 [size=8]    Memory at f7c03000 (32-bit, non-prefetchable) =4K%    Memory at f7c02000 (32-bit, non-prefetchable) =4K%    Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+     Capabilities: [78] Power Management version 3     Capabilities: [80] Express Legacy Endpoint, MSI 00     Capabilities: [100] Virtual Channel     Capabilities: [800] Advanced Error Reporting 02:00.2 Parallel controller: Asix Electronics Corporation AX99100 PCIe to Multi I/O Controller (prog-if 03 [IEEE1284])     Subsystem: Asix Electronics Corporation (Wrong ID) Parallel Port     Flags: bus master, fast devsel, latency 0, IRQ 3, IOMMU group 10     I/O ports at e010 [size=8]    I/O ports at e000 [size=8]    Memory at f7c01000 (32-bit, non-prefetchable) =4K%    Memory at f7c00000 (32-bit, non-prefetchable) =4K%    Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+     Capabilities: [78] Power Management version 3     Capabilities: [80] Express Legacy Endpoint, MSI 00     Capabilities: [100] Advanced Error Reporting  [/size][/size][/size]
[/code][/code]

Please Log in to join the conversation.

More
2 years 3 months ago #304589 by andypugh
What does it actually say? One of the messages includes "this is not ncessarily an error"

If it works in stepconf then it ought to work in LinuxCNC. The most common cause for not doing is that the linuxcnc config drives the stepper driver enable pins and stepconf never does. And many stepper drivers have high-to-disable inputs. If you defined drive enable pins, suspect this.

Please Log in to join the conversation.

More
2 years 3 months ago #304605 by PCW
Does lspci show the parallel port I/O  addresses as enabled?
(there is a possibly identical issue is a recent thread)

forum.linuxcnc.org/9-installing-linuxcnc...rallel-port?start=10

Please Log in to join the conversation.

Time to create page: 0.081 seconds
Powered by Kunena Forum