Tiny Computer with Printer port

More
23 Jul 2012 11:20 #22338 by BigJohnT
Replied by BigJohnT on topic Re:Running Linuxcnc 2.5 on 8.04 on the NCBOX
If I recall correctly the original is still on the CF card.

I did the bios changes before trying to install the 8.04 LiveCD.

I'll be able to try your changes when I get back to the shop later this morning.

Thanks for all your work on this.

John

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

More
23 Jul 2012 13:18 #22340 by ArcEye

I did the bios changes before trying to install the 8.04 LiveCD

You had me doubting myself, so I went back into BIOS and reverted the settings to original.

That does not boot 2.6.24-16-rtai and drops into busybox shell
Changed IDE Operate Mode to Native Mode and still did not boot
Change Standard IDE Compatible to Enabled and it booted

Typically I had made 2 changes at once when I originally tested it, looks like only the second was needed, but just in case it needs the combination of the 2, do both.

Its a long time since I immersed myself in the minutiae of the linux boot sequence.
What I imagine is happening is, that with the default IDE settings, that kernel cannot probe IDE and discover what devices are available in order to build the devices in /dev
Then when it hits the root=xxx location, it cannot find the specified drive.

The error you get is something like 'device xxxxxxxxxxxx does not exist in /dev/disk/by-uuid/' which fits.

If you have the original CF card installation still intact you can upgrade that

I may have given you a duff steer there, seem to recall that whilst it had the 2.6.24-16-rtai kernel on it, it did not in fact have the realtime files or emc2.
You could put them on, but would probably be easier to do an install from the Live CD to CF card, by whatever method and start from there.

regards

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

More
23 Jul 2012 17:57 #22352 by BigJohnT
Replied by BigJohnT on topic Re:Running Linuxcnc 2.5 on 8.04 on the NCBOX
So far the only thing that I can make work is to boot on the Ubuntu 8.04 kernel 2.6.30-vortex86xAPM.

Booting from the thumb drive with the 8.04 LiveCD fails and gives me the busybox.

Interesting that when I opened up the synaptic package manager and went to resources > third party software and what do I find but www.linuxcnc.org/emc2/breezy emc2.1!

So I guess the big hurdle is getting the real time kernel installed.

John

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

More
25 Jul 2012 15:39 - 01 Aug 2012 14:46 #22460 by ArcEye
Hi

Today received the .configs and patches used by Anthony's engineer to build the 2.6.32-vortex86-sg-rtai kernel for the NCBOX, enabling Ubuntu 10.04 to run Linuxcnc.
Hoped they might be able to be tweaked to improve latency

The kernel patch for vortex is pretty much about updating the PCI IDs so that the chips are recognised and nothing to be done with that.

The kernel .config was very similar to the one I made myself in testing, no SMP, 486 instruction set used.
The only extra thing I did was to disable all the power management functions.

I rebuilt the kernel, realtime and a RIP of emc2-2.5~pre to test.

The results were quite disappointingly similar, indeed worse regards the servo thread.
base thread max jitter about 8% better at 27657 servo thread - awful at 344466

This all just goes to evidence that the NCBOX runs far better (very well actually) with the earlier 2.6.24 kernel on Ubuntu 8.04,
probably irrespective of whether you are using a stepper based machine or not.

regards
Last edit: 01 Aug 2012 14:46 by ArcEye.

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

More
02 Aug 2012 10:31 #22668 by ArcEye
Hi

After another week spent compiling kernels and testing resultant re-builds, I have consolidated everything that resulted into one download page
(location subject to change - see below)

The 10.04 install, with the new vortex kernel, does run Linuxcnc, but the latency figures are so poor, especially on servo thread that I have discounted it.
It is the old problem of newer kernels on old type processors, just not running well, even if built as non SMP etc

Accordingly I have posted 2 methods of upgrading the Live CD install of 8.04 with EMC2 2.3

The first replaces the kernel with a 2.6.30-vortex86mx-rtai kernel image I built, which has proper working network
This enables all the other files needed to upgrade, to be downloaded as sources and built.
It builds a RIP install of Linuxcnc 2.5, so that you can still dual boot kernels and use the original install version.

The second uses zips of packages to carry out the upgrade sequence required to change EMC2 2.3 to Linuxcnc 2.5 on a machine without networking
This may be of use to those wishing to do the same on an ordinary computer, in a shop with no network

There is nothing to prevent you doing both procedures and running Linuxcnc 2.5 on both dual booting kernels - that is what I have done

It can all be found at myweb.tiscali.co.uk/drahthaar/CNC / for now

Both kernels will run at between 10 -15K heavily loaded on Base thread and 10 - 50K on servo (the newer kernel is higher than the stock 2.6.24 one)

Both are perfectly usable for software stepper and external card setups, so now I really am going to stop fiddling with kernels etc and actually trial the NCBOX in the workshop!

regards

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

More
02 Aug 2012 11:44 #22673 by BigJohnT
Replied by BigJohnT on topic Re:Running Linuxcnc 2.5 on 10.04 on the NCBOX
Thanks for all your work on this. I'll see if this kernel noob can follow the instructions in a short while.

Thanks
John

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

More
03 Aug 2012 14:21 #22725 by BigJohnT
Replied by BigJohnT on topic Re:Running Linuxcnc 2.5 on 10.04 on the NCBOX
I followed the instructions and for some strange reason I upgraded the installed version to 2.5 which won't work with the vortec kernel... dumb mistake. Anyway reading on I ran the rip-environment then ran a latency test. I can't read the numbers well for jitter but servo is 6x,xxx and base is 2x,xxx after a few minutes.

So to run it you have to be su root? So I'm guessing it is not possible to just have a desktop launcher for this?

I'm amazed that the MCBOX didn't come with LinuxCNC installed...

John

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

More
03 Aug 2012 16:38 - 04 Aug 2012 10:55 #22727 by ArcEye
Hi JT

I can't read the numbers well for jitter but servo is 6x,xxx and base is 2x,xxx after a few minutes.

Yeah the figures aren't as good as one might hope, the best figures are still with the original 2.6.24 kernel.
Now that you have managed to boot 8.04, try upgrading the EMC2 2.3 to Linuxcnc 2.5 with the packages in the alternate method
That gives the best latency for me - just no internet

So to run it you have to be su root?

No that was just to install because I wanted to do things to files in /etc/udev and much more and it is just easier to run as root.
You can su root, then chown the whole RIP to your user account if you want, or put yourself in the root user group.

So I'm guessing it is not possible to just have a desktop launcher for this?

Not for a RIP installation because it is reliant upon a per terminal session instance of an environment, to ensure that all links and paths point into the build.

If you were happy with the build and the kernel, you could re-build Linuxcnc again with a ./configure --prefix=/usr and it would install onto the system and the shortcuts and menu would work.

Again I would suggest that you upgrade the packages for Linuxcnc that are built against the 2.6.24 kernel.
Then you can run that kernel and still run 2.5 from a shortcut or whatever.

If you want you can do the upgrade as your user name and insert sudo in front of everything, because unlike the automated script, you have to do everything yourself from the command line anyway.

Glad you got 8.04 to run at last, worth the extra push to upgrade the original EMC install

regards
Last edit: 04 Aug 2012 10:55 by ArcEye.

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

More
08 Aug 2012 11:51 - 08 Sep 2012 12:57 #22973 by ArcEye
Replied by ArcEye on topic Running a machine with the NCBOX
Finally got time to test the NCBOX in the workshop.

Was completely undramatic and just worked.

I had to change the config for parport address and edit out some references to a second parport, but other than that I just unplugged cables from the existing computer and plugged them into the NCBOX.

Interestingly I ended up using the 2.6.30-vortex86mx-rtai kernel that I had compiled.
This was not intentional, I just happened to have the development CF card inserted and hadn't realised.

It ran a config where the base thread was set to 35000 without a single realtime error.
Looks like it is a viable contender after all, if internet access is important.

The machine was a Denford Easimill ( a medium sized turret knee mill with Nema 34 steppers on all axes) and the task was quite heavy flycutting of a 100mm x 200mm steel plate.
It ran a config tuned to a computer with a 9300 base thread without error during the program.

I did take a video, but the quality wasn't good and at the end of the day it just shows a machine working, I get bored s***less watching some of the videos on youtube, so won't inflict the same on others.

Overall thoughts.

Came well packaged.
The box is a pressed steel with a die-cast alloy heat sink top. A lot squeezed into a small space, is approx 4" square by 1.5" deep.
Whilst pretty robust, it is not splash proof and needs to be mounted accordingly
4 mounting holes and machine screws are provided at 100mm centres.

Boots quickly from the CF card and can boot from USB stick or external USB device (DVD-ROM - not tried a USB HDD)
There is an option to boot from Pxe (network) in BIOS but not tried

In common with many older type chips (the chip instruction set is essentially i486/i586) it does not run well with Ubuntu 10.04, but runs well with Ubuntu 8.04 and the latest Linuxcnc version.
With the kernel and Linuxcnc upgrades sorted out, there is nothing much more to do.

There is a GPIO (General Purpose I/O) port on the front and for complete usability an adaptor plug and possibly a parport socket would be required for additional I/O

It is just a pretty capable computer with an incredibly small footprint, allowing mounting within a control cabinet, or on the back of a monitor even.

Could be just the ticket for a limited space project
Last edit: 08 Sep 2012 12:57 by ArcEye.

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

More
08 Sep 2012 12:11 - 08 Sep 2012 12:12 #24064 by ArcEye
Replied by ArcEye on topic Re:Running a machine with the NCBOX
Update time

Anthony sent me a hal component to access the GPIO header on the NCBOX and I have just had time to test it.

The NCBOX has a 26 pin header.
First pin on each row is power - +5v top and GND below and the rest of the 24 IO pins are divided into 3 x 8 pin virtual ports. (VP00 VP01 VP03)
The defaults for these pins can be programmed in BIOS, but standard is default to Input.

The component, hal_mxgpio.c compiled and installed without issue.
It is loaded and configured from the load_rt line in the .hal file

loadrt hal_mxgpio cfg="VP00 0x00"
for example loads the module, with Virtual port 00 activated and all bits set to 0, which is input.

To set all bits to output you would use cfg="VP00 0xFF", because 0xFF is the hexi-decimal encapsulation of binary 11111111, ie all bits set to 1
and so forth for all possible values in between.

The sample config supplied by Anthony used the GPIO to completely replace parport.0
Whilst a good demonstration of what it was capable of, I would never waste the IO setting it to the same as I could get from a parport, so I used it as a second port

To test it, I made up a 26 pin plug by cutting down an IDE ribbon cable and then connected to a parport plug, matching the existing pinouts for my MPG pendant on my big mill.

Assignments in my mpg.hal file were made as below, the syntax is just the same as a parport

net scale1 mux4.0.sel0 <= mxgpio.0.pin-04-in

net pend-scale axis.0.jog-scale <= mux4.0.out
net pend-scale axis.1.jog-scale
net pend-scale axis.2.jog-scale

net mpg-a encoder.1.phase-A <= mxgpio.0.pin-05-in
net mpg-b encoder.1.phase-B <= mxgpio.0.pin-06-in

net mpg-x axis.0.jog-enable <= mxgpio.0.pin-00-in-not
net mpg-y axis.1.jog-enable <= mxgpio.0.pin-01-in-not
net mpg-z axis.2.jog-enable <= mxgpio.0.pin-02-in-not
net mpg-4 axis.3.jog-enable <= mxgpio.0.pin-03-in-not

Tested and it just worked!

The 24 pin GPIO has great potential and should satisfy most IO requirements for stepper machines, allowing many more
input pins than a second parport would

Yet again the NCBOX has proved itself a good performer.

The only minor problem I have had, is regards parport voltage, which in common with most newer ports I suspect is 3.3V.
I have some long parport cables going through an old printer switch hub to allow one computer to easily switch between 2 machines.
This works fine with a 5V port but I had to plug directly into the relevant machine when using the NCBOX, having done so however it functioned perfectly.



regards
Attachments:
Last edit: 08 Sep 2012 12:12 by ArcEye.

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

Time to create page: 0.102 seconds
Powered by Kunena Forum