× Forum Header

LinuxCNC will not run after StepConf

More
01 Oct 2013 08:58 #39427 by crownGuy
I'm running LinuxCNC 2.5.2 and I'm new to the whole CNC thing but I know a decent bit of linux.

Linux CNC was running great, I had virtual configurations set up to practice using G-code/etc until my parts arrived.

I installed the drivers for my parallel port pci card and using 'lspci -v' saw that the card was registered with the OS.

Linux CNC still worked after that.

I ran a stepConf to include the address of my parallel port, and now Linux CNC crashes no matter what project I open, even sample projects.

I have attached my crash output and config folder for the project.

Thanks in advance!!!!
Attachments:

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

More
01 Oct 2013 10:09 #39428 by PCW
Maybe 0xE000 is not the parallel port address:

[ 1783.802503] PARPORT: ERROR: request_region(0xe000) failed

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

More
01 Oct 2013 15:01 #39436 by ArcEye

I installed the drivers for my parallel port pci card and using 'lspci -v' saw that the card was registered with the OS.


There are no drivers required for parport cards, any you install will conflict with the linuxcnc drivers, which may be the origin of this error

insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/linuxcnc/hal_parport.ko': -1 Device or resource busy


Remove the drivers and try again

If no joy, run lspci -vv (2 v's) again and post the output section for your card.
Not impossible that 0xe000 is a data register and the port is whatever address is also listed, normally have a pair of addresses for each port, only one of which is the actual address.

regards
The following user(s) said Thank You: crownGuy

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

More
01 Oct 2013 23:10 #39449 by crownGuy
I will try uninstalling the drivers when I get to the machine next.

So if the card doesn't require drivers does that mean its a direct pin to pin connection from the pci bus to the card? I guess I don't follow how the electrical connections work out without a driver. (I believe you, I'm just curious on the how).

Thanks for the swift response.

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

More
01 Oct 2013 23:15 #39450 by PCW
The short answer is that LinuxCNC has its own drivers for hardware that must be accessed in real time, including parallel ports

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

More
03 Oct 2013 09:23 - 03 Oct 2013 10:02 #39497 by crownGuy
So I've gotten the program up and running with no errors and uninstalled the MCS9865 drivers.

After running 'sudo lspci -vv' I get the follow output for my parport card:
02:08.0 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03)
	Subsystem: Device a000:2000
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at e400 [size=8]
	Region 1: I/O ports at e000 [size=8]
	Region 2: Memory at febde000 (32-bit, non-prefetchable) [size=4K]
	Region 4: Memory at febdd000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot-,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-

02:08.2 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03)
	Subsystem: Device a000:2000
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 10
	Region 0: I/O ports at d800 [size=8]
	Region 1: I/O ports at d400 [size=8]
	Region 2: Memory at febdc000 (32-bit, non-prefetchable) [size=4K]
	Region 4: Memory at febdb000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot-,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-

The card has two different parports on it. Which I assume accounts for the two different entries. When I check the parport pins themselves I see a voltage on pins 10,11,12,13,15 as I am supposed to for the input pins.

The problem I'm having now is that when I run the sample G-code in LinuxCNC I don't see any voltage changes on any of the pins. I have tried all 4 possible addresses: 0xd400, 0xd800, 0xe400, and 0xe000 with no luck on seeing any of the pins give a voltage.

Attached are my current .hal and .ini files

Thanks for your responses so far. Its been really encouraging and hopeful knowing that people are actively using these forums.


===== EDIT =====
I have now tried JT's port tester with no luck. I have tried all the following configurations with no luck:

"0x378 0xd400 out"
"0x378 0xd800 out"
"0x378 0xe400 out"
"0x378 0xe000 out"
"0xd400 out"
"0xd800 out"
"0xe400 out"
"0xe000 out"
Attachments:
Last edit: 03 Oct 2013 10:02 by crownGuy. Reason: New information

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

More
03 Oct 2013 15:12 #39499 by ArcEye

have now tried JT's port tester with no luck. I have tried all the following configurations with no luck:

"0x378 0xd400 out"
"0x378 0xd800 out"
"0x378 0xe400 out"
"0x378 0xe000 out"


Have you got a built in parport? Where does 0x378 come from?

The most like port addresses are 0xe000 and 0xd400 on the basis that netMos cards tend to display the port second, you will note that actually the first address is higher than the second.
If the second port is off a flyer cable, that may well be the lower of the 2 numbers (0xd400). Don't ask me why, that is how it is on the cards I have.

Forget stepconf and just edit the line in your hal file to read either
loadrt hal_parport cfg="0xe000 0xd400 out"
or
loadrt hal_parport cfg="0xe400 0xd800 out"
and test

To use the port tester you need to put a voltmeter between the relevant output pin (beware of the mirror effect and triple check the pin number is right when viewed from the correct side) and pins 18-25 which are ground.
The LED lighting on the tester means nothing, except that the button was pressed

regards

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

More
08 Oct 2013 12:23 #39639 by crownGuy
ArcEye,

You're a lifesaver. It turns out the addresses 0xe400 and 0xd800.

Looks like success should be happening very soon.

Looking at the outputs when the G-code is running I can see the direction pins changing appropriately, but the step pins do not seem to be showing any values. Is the "setp parport.0.pin-01-out-reset 1" line necessary or is it what's causing the problem in my .hal file. I tried taking those lines out with no luck.

Are the step pins high when the axis direction is moving? Or is this toggling for each "step" and my multimeter just can't keep up?

Any enlightenment on this issue would be appreciated.

Thanks!
Attachments:

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

More
08 Oct 2013 14:47 #39641 by cncbasher
the step pins switch with each step , so unless your using an led or a scope , chances are your just too slow
you may even have to slow the output step freq down to be able to see any step pin change

if all the other pins are working , i'd take it that they all are including the stepgen , if your not getting any reported errors in a terminal window

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

More
08 Oct 2013 16:48 #39645 by ArcEye

ArcEye,

You're a lifesaver. It turns out the addresses 0xe400 and 0xd800.

Looks like success should be happening very soon.


Glad you got it together

I had virtual configurations set up to practice using G-code/etc until my parts arrived.


Unfortunately there is a limit to what you can test without anything attached to the machine.

If you can open Machine > Hal Configuration and see the parports with the relevant pins, that is all you need until you start connecting them to drivers and motors.

As cncbasher says, you are hardly going to detect multi kHz pulses using a voltmeter, the dir pins work so that should reassure you

regards

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

Time to create page: 0.097 seconds
Powered by Kunena Forum