Upgrading both Linux and LinuxCNC

More
3 years 6 months ago #269447 by JetForMe
My machine has been working very well for several years now, but now I'm trying to put into production some stuff I've been experimenting with on a VM. Part of that involves using GTK+ 3, and despite my best efforts, I can't seem to get that to work under my current OS, which is Debian 10 (my VM has Debian 11). I'm also running a pretty old LinuxCNC 2.9.x-pre version.

Any recommendations for how to approach this? Update one before the other? Save off my config and install a new OS from scratch (I wouldn't mind changing my desktop/window manager)?

Also, I don't remember how I got my initial Debian setup with the RT kernel. How do I do that?

Hmm, is it even possible to run on Debian 11 (“Bullseye”)?

Please Log in to join the conversation.

More
3 years 6 months ago #269449 by zz912
I can recommend use RIP installation:
linuxcnc.org/docs/2.9/html/code/building-linuxcnc.html


Debian install is old:
LinuxCNC v2.9.0-pre1 on Nov 8, 2022

Please Log in to join the conversation.

More
3 years 6 months ago #269453 by rodw
With Linuxcnc now being included in Debian 12 (Bookworm) repos and Debian 12 now on a hard freeze pending release as the Stable version of Debian, it is a no brainer to migrate to.

I've been playing with it ever since it Linuxcnc was included. Its not been an easy path, as there have been significant latency issues that first started in Bulleye's 5.1x kernels. This has been steadilly improving with each kernel release. Bookworm uses the 6.1x kernel. The yet to be released 6.3 kernel seems to have fully resolved latency if you care to build it.

The other significant isse has been poor network latency  particularly with realtek NIC hardware. This can be resolved by installing dkms drivers.

I've done the hard work for you. Just follow these instructions:
docs.google.com/document/d/1jeV_4VKzVmOI...diY/edit?usp=sharing
This includes links in my Google Drive to prebuilt 6.3 RT kernel debs. The linked folder also includes instructions on how to build the 6.3 kernel. 

With regards other graphical environments, Debian offers several which can be updated at any time using tasksel (used by the installer but may need to be installed first). These can be selected at will from the login screen by clicking on a gear icon which is displayed wile your cursor is in the login prompt. 

There is a caveat. Linux is mostly migrating from xorg to wayland for windows management. Linuxcnc due to its age is very much in the xorg world although recent changes do bestow wayland  compatibility. There have been breakages to linuxcnc due to upstream issues with Wayland/Xorg compatability. It is for this reason I recommend sticking with XFCE which is an Xorg only environment. Note that the gear icon also includes an option to use the default Debian GUI under Xorg.

Most of the other obvious Linux versions to consider (Mint, Ubuntu et al). are still behind with prerequisite versions of Python so its not worth wasting time on them. Eventually being Debian based, they will catch up. In fact, the linuxcnc-uspace packages are now available in the development version od Ubuntu but I figure if Debian has been good enough to include us, we should return the favour and use them.(Plus its easier!) 

Let me know how you get on...

Please Log in to join the conversation.

More
3 years 6 months ago #269462 by JetForMe
That sounds like the way to go.

Are there release notes for 2.10? The updating docs ( linuxcnc.org/docs/devel/html/getting-sta...dating-linuxcnc.html ) for 2.10 only talk about 2.9.

Please Log in to join the conversation.

More
3 years 6 months ago #269464 by rodw
Bookworm only has V 2.9.

The quickest way to add V 2.10 might be to use this buildbot
buildbot2.highlab.com/

I just downloaded v2.9 deb from it yesterday and it worked with sudo dpkg -i

Please Log in to join the conversation.

More
3 years 6 months ago #269721 by JetForMe
I more-or-less followed your instructions and got Debian 12 running on my machine, and I seem to be running my LinuxCNC config okay (2.9, though). I haven't tried cutting anything yet, but tool changing worked.

I did get a couple of messages while it was sitting idle:

hm2/hm2_7i76e.0: Smart Serial port 0: DoIt not cleared from previous servo thread. Servo thread rate probably too fast. This message will not be repeated, but the hm2_7i76e.0.sserial.0.fault-count pin will indicate if this is happening frequently.

Googling led to some latency questions, so I tried measuring that. One capture without CPU isolation (which I had forgotten to do) but also without abusing the machine:

 

Attachment not found



And here’s one with lots of abuse (several glxgears, some webgl):

 

Attachment not found



I'm not sure what acceptable values are, nor do I recall what my old install measured.

Please Log in to join the conversation.

More
3 years 6 months ago #269722 by rodw
God work. The error probably indicates that there is excessive network latency reesulting in a servo thread oveerun
Can you type  ip a to find the NIC name for the mesa card. say its enp2s0
Then type sudo ethtool -i enp2s0
The objective is to find the ethernet card name and also the ethernet driver deployed. 
If its a Realtek card in the list in my how to, installing the r8168-dkms driver shold resolve it.

I have logged a bug report with Debian, that is slowly getting in front of the right developers with a couple of emails going back and forth today.

Please Log in to join the conversation.

More
3 years 6 months ago #269724 by JetForMe
Code:
$ ip a 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000     link/ether e0:d5:5e:a5:ad:91 brd ff:ff:ff:ff:ff:ff     inet 10.10.10.1/24 brd 10.10.10.255 scope global enp5s0        valid_lft forever preferred_lft forever     inet6 fe80::e2d5:5eff:fea5:ad91/64 scope link         valid_lft forever preferred_lft forever 3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether e0:d5:5e:a5:ad:93 brd ff:ff:ff:ff:ff:ff     altname enp0s31f6     inet 192.168.1.109/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1        valid_lft 82799sec preferred_lft 82799sec     inet6 fe80::e2d5:5eff:fea5:ad93/64 scope link noprefixroute         valid_lft forever preferred_lft forever
Code:
$ sudo ethtool -i enp5s0     # Mesa card driver: igb version: 6.1.0-7-rt-amd64 firmware-version:  0. 6-1 expansion-rom-version:  bus-info: 0000:05:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes $ sudo ethtool -i eno1     # Network driver: e1000e version: 6.1.0-7-rt-amd64 firmware-version: 0.2-4 expansion-rom-version:  bus-info: 0000:00:1f.6 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes  

Please Log in to join the conversation.

More
3 years 6 months ago #269725 by zz912
Hello,

I have similar problem with smartserial. Can I ask you for MesaCT test:
forum.linuxcnc.org/27-driver-boards/4836...-755?start=10#266205
github.com/jethornton/mesact

Thank you

Please Log in to join the conversation.

More
3 years 6 months ago #269728 by JetForMe
Not sure I did it right:

Attachment not found

Please Log in to join the conversation.

Time to create page: 0.111 seconds
Powered by Kunena Forum