This is from Gecko's site:
"PROBLEM: G540 UNRESPONSIVE (RED LED LIT CONSTANTLY)
SOLUTION: This is the most common fault and can be caused by several problems. First, double check that a jumper wire or normally closed switch is present between PIN 10 and PIN 12 on the 12 POSITION TERMINAL BLOCK. Next, turn the CHARGE PUMP SWITCH to the OFF position; if the green LED comes on then there is a problem with your CNC program not putting out a charge pump signal on PIN 16. If those do not work, check the motor for holding torque; if you do not have holding torque move on to the next section."
My LED is constantly red as well. When I manually flip the charge pump switch it turns green and I do get holding torque on my motor. So either my port is not putting out the 10khz signal or mach is not reading it. I've swapped cables so know it isn't a bad cable. I've swapped G540s so know it isn't that. I've tried it on 2 different PCs, one with XP and one with Win7, and 2 different PCI parallel ports. I can't definitely say any of this hardware isn't bad, without measuring the individual pinouts directly with an oscilloscope I guess. But it seems unlikely that none of these hardware combinations would work--that they'd all be bad, so it seems more likely I have some wrong setting in Mach3.