Readiness report

LinuxCNC Machine Retrofit · 2026-09-04 00:07 · complete · 17 searches, 18 pages fetched

Download PDF

Cybersecurity — software & network: Review before networking · 5 findings

Details in the Cybersecurity section of the report below.

Readiness: LinuxCNC Machine Retrofit

Verdict: Ready with caveats · 2026-09-03 · est. parts cost $260–$460 (Raspberry Pi host plus one Mesa Ethernet card; the x86 desktop host path was not priced) Cybersecurity — software & network: Review before networking

This is the cold check for this lab — it establishes the baseline, so every line below carries its current price and availability for the next comparison. The lab is sourceable today: seven of its eight bill-of-materials lines are commodity computer hardware available cheaply from many sellers, and the Raspberry Pi 4 Model B carries a manufacturer commitment to stay in production until at least January 2034. The caveats are in the specialty item and in the paperwork. Mesa Electronics still sells Ethernet motion-control cards across the range the lab names, but the 7I92 / 7I92H / 7I92M the handout gives as an example now list at US$0.00 — no orderable price — with the 7I92T series at US$109.00 as the evident replacement, and Mesa publishes no stock figures at all, so lead time is unverified. Separately, the Raspberry Pi image checksum recorded in the lab materials no longer matches the checksum the project currently publishes, which will make a careful instructor think their download is corrupt.

Action required

Part Problem Recommended action
Mesa 7I92 / 7I92H / 7I92M Listed at US$0.00 on Mesa's store — no orderable price shown, while the newer 7I92T series is priced normally Order the 7I92TF / 7I92TH / 7I92TM at US$109.00 instead, matching the trailing connector letter to the existing wiring, and update the handout's example part numbers. Confirm stock and lead time with Mesa directly before a class order.

Cybersecurity — software & network

Review before networking — A high-severity privilege-escalation flaw affects the exact LinuxCNC version the lab pins and a fixed release is already published, and two documented host operating systems plus the RTAI kernel line are past end of life.

Component Version How known Support status
LinuxCNC (linuxcnc-uspace) 2.9.8 inferred (Stated in the lab documentation (getting-linuxcnc.adoc / updating-linuxcnc.adoc) and matched by the published image linuxcnc_2.9.8-amd64.hybrid.iso; no project manifest fetched this run pins it.) —
LinuxCNC APT install path (apt-get install linuxcnc-uspace) not determined unpinned (The fetched install script (fetched/01-linuxcnc-install.sh) runs 'apt-get install linuxcnc-uspace' with no version constraint; extraction this run returned linuxcnc-uspace, linuxcnc-doc-[lang] and linuxcnc-dev, none pinned.) —
LinuxCNC repository setup script (linuxcnc-install.sh) not determined unpinned (Unversioned; fetched fresh from https://www.linuxcnc.org/linuxcnc-install.sh (2001 bytes this run). It installs archive signing keys from hkp://keyserver.ubuntu.com and writes HTTPS deb/deb-src lines with signed-by keyrings.) —
Debian GNU/Linux 13 (Trixie) 13 inferred (Listed as a supported host variant in the lab documentation (system-requirements.adoc) and the target of the current LinuxCNC ISO.) supported until 2028-08-09
Debian GNU/Linux 12 (Bookworm) 12 inferred (Listed as a supported host variant in the lab documentation and carried as an APT suite in the recorded sources.list lines.) extended/LTS support only until 2028-06-30
Debian GNU/Linux 11 (Bullseye) 11 inferred (Listed as a supported host variant in the lab documentation and carried as an APT suite in the recorded sources.list lines.) unsupported since 2024-08-14
Debian GNU/Linux 10 (Buster) 10 inferred (Named in the recorded APT sources.list line 'deb http://linuxcnc.org buster base'; the LinuxCNC repository still carries a buster suite.) unsupported since 2022-09-10
Ubuntu 20.04 LTS (Focal Fossa) 20.04 inferred (Documentation names 'Ubuntu 20.04 (Focal Fossa) or newer' as a supported host.) extended/LTS support only until 2030-04-23
Preempt-RT real-time kernel (linux-image-rt-amd64) 6.1 inferred (The APT meta-package is unpinned; 6.1.0-10-rt-amd64 is the example kernel version stated in the documentation, so the 6.1 line was checked.) supported until 2027-12-31
RTAI real-time kernel (5.4.258-rtai) 5.4.258-rtai inferred (Release named in the documentation and supplied by the LinuxCNC 2.9-rt repositories; the upstream 5.4 kernel line it is built on was checked.) unsupported since 2025-12-03
Media flashing and download utilities (balenaEtcher, Rufus, Raspberry Pi Imager, Infra Recorder, zsync) not determined not determined (The lab materials name these tools and their download pages but state no version for any of them; zsync is installed unpinned via apt.) —
Renderer and graphics runtime (OpenGL 3.3 core profile, Mesa llvmpipe, libgpiod) not determined not determined (System runtime libraries supplied by the host distribution; the documentation states a required OpenGL feature level but no library versions.) —
Component Finding Severity Fix available?
LinuxCNC (linuxcnc-uspace) The exact version this lab documents, 2.9.8, is affected: the rtapi_app helper in linuxcnc-uspace is installed with root privileges and loads a code module whose name the user supplies, and it does not check that name properly, so anyone who can log in at the controller can take over the machine as root. — DEBIAN-CVE-2026-58302 high Yes — update to 2.9.10, the release linuxcnc.org currently publishes; the advisory affects LinuxCNC before 2.9.9, and the fixed Debian package is 1:2.9.4-2+deb13u1.
Debian GNU/Linux 11 (Bullseye) and 10 (Buster) Two of the host systems the lab still offers as install targets are past end of life — Debian 11 Bullseye's extended support ran out on 2026-08-31 and Debian 10 Buster's on 2024-06-30 — so a machine built on either stops receiving security fixes, and the LinuxCNC repository still serves both suites, so nothing stops an instructor from doing it. posture No — requires platform migration: build on Debian 13 Trixie, which is supported to 2028-08-09 and is what the project's current ISO installs. See https://endoflife.date/debian
LinuxCNC APT install path (apt-get install linuxcnc-uspace) The documented install script pins no version — it runs 'apt-get install linuxcnc-uspace' — so the version each student machine ends up running is whatever the repository serves that day and cannot be known in advance, while the offline path documented alongside it pins 2.9.8, the last release the advisory above affects. posture Mitigation only — record the installed version at setup ('apt list --installed linuxcnc-uspace') and require 2.9.9 or newer before the machine is used; prefer the apt path over the pinned 2.9.8 offline .deb and ISO.
mqtt-publisher HAL component LinuxCNC ships an mqtt-publisher component that sends the machine's internal state to an external message broker on the standard MQTT ports 1883 or 8883, and the lab materials record no authentication, encryption or broker hardening for it — port 1883 carries traffic in the clear. posture Mitigation only — leave mqtt-publisher out of the HAL configuration unless it is needed; if it is used, keep the controller and broker on an isolated network segment and require broker authentication and TLS on 8883 rather than plain 1883.
RTAI real-time kernel (5.4.258-rtai) The RTAI path pins a kernel built on the Linux 5.4 line, which reached end of life on 2025-12-03, so that kernel no longer receives upstream security fixes; the documentation also notes RTAI cannot be used with Mesa Ethernet cards at all. posture No — requires platform migration: use the Preempt-RT path (the 6.1 line, supported to 2027-12-31), which is also the only option for the Mesa Ethernet card this lab specifies. See https://endoflife.date/linux

What this means for your lab

The most concrete problem is on the controller itself rather than on the network: the LinuxCNC version this lab documents, 2.9.8, contains a flaw that lets anyone who can log in at that machine gain full administrator control of it. Updating to 2.9.10 fixes that, and it is a straightforward apt update. Beyond that, treat a retrofitted CNC controller as an appliance, not a classroom PC. Two of the operating systems the handout still lists as options, Debian 11 and Debian 10, no longer get security fixes, so build on Debian 13 instead. LinuxCNC can optionally publish live machine state to a message broker over the network, and nothing in the lab materials sets up a password or encryption for that, so anyone on the same network could read what the machine is doing if that feature is switched on — leave it off unless you need it. Nothing checked this run showed a remote login service, a web interface or a default password on the controller, and the documentation deliberately steers installers away from setting a root password. Put the controller and its Mesa card on their own isolated network segment, keep it off the campus network unless your IT group has agreed to it, and confirm the LinuxCNC version on each machine before students use it.

Not checked

  • LinuxCNC 2.9.10 (confirmation that the fix is present): A lookup of 2.9.10 this run still matched the same advisory, because the Debian advisory's fixed version carries an epoch (1:2.9.4-2+deb13u1) that a bare upstream version string does not compare against cleanly. The advisory text itself states the flaw affects releases before 2.9.9, so 2.9.10 should carry the fix — but that was not independently confirmed this run.
  • balenaEtcher, Rufus, Raspberry Pi Imager, Infra Recorder: no version is stated anywhere in the lab materials, so there is no exact version to check against an advisory database
  • zsync: installed unpinned via apt; no exact version to check
  • OpenGL 3.3 core profile, Mesa llvmpipe, libgpiod: system runtime libraries supplied by the host distribution and left unversioned in the documentation
  • Raspberry Pi custom image builder (rpi-img-builder-lcnc): the repository is live but the images it builds are assembled at build time from whatever the chosen distribution serves; no manifest pins a version to check

Parts

Part Spec/Package Status Stock Price Source
Host Compute Platform (Raspberry Pi 4 Model B, 4 GB) Raspberry Pi form factor, 85.00 mm x 56.00 mm, 0 °C ~ 50 °C, 5 V DC via USB-C ≥ 3 A readily available — Active; 4 GB variant not pinned by the evidence (see note) 983 $55.00 DigiKey, SC0193(13) "RASPBERRY PI 4 DUAL RAM VARIANT"
Host Compute Platform — retail alternative 4 GB starter kit readily available — $61.05 Vilros, "Raspberry Pi 4 Model B Vilros Basic Starter Kit / 4GB"
Host Compute Platform — x86-64 desktop / industrial PC path Any 64-bit PC ≥ 1.2 GHz passing the LinuxCNC latency test; laptops excluded not checked — — not priced — commodity COTS, no comparable single product to price
System Random-Access Memory (RAM) 4 GB DDR4-2133 unbuffered DIMM (x86 host path only; on-SoC on the Pi) readily available — $14.00 Memory.NET, Crucial CT4G4DFS8213
Mass Storage Medium (internal SSD/HDD ≥ 8 GB) 120 GB 2.5" SATA SSD readily available — $13.99 – $59.99 eBay (Kingston SSDNow V300) to Newegg (Gigastone, new retail)
Boot / Installation Medium (USB flash drive) 16 GB, USB 2.0/3.0, Type-A readily available — $10.99 Walmart, 16 GB 2-pack (SanDisk singles from $7.85)
Boot / Installation Medium (MicroSD card) 32 GB UHS-I / Class 10, 11 mm x 15 mm readily available — $14.95 Adorama, SanDisk Extreme SDSQXVF-032G-GN6MA
Boot / Installation Medium (blank DVD-R, optional) DVD-R / DVD+R, 4.7 GB, 120 mm readily available — shrinking category — $7.20 Walmart, Maxell 4.7 GB 16X
Visual Display & Graphics Adapter Monitor ≥ 1024 x 768 with HDMI; GPU must do OpenGL 3.3 core or fall back to llvmpipe readily available — $59.99 Best Buy, AOC 22" 22b30hm2 FHD
Machine Interface Hardware — Mesa 7I76E Industrial PCB, screw terminals, RJ45; 5 V DC logic, 24 V DC field I/O readily available — current not published US$219.00 Mesa Electronics store
Machine Interface Hardware — Mesa 7I96 / 7I96S as above readily available — 7I96 reachable only via store search, not the category listing not published US$119.00 / US$149.00 Mesa Electronics store
Machine Interface Hardware — Mesa 7I92 / 7I92H / 7I92M as above no orderable price — all three list at US$0.00 not published US$0.00 Mesa Electronics store — see Substitutes

Note on the Raspberry Pi: DigiKey stocks the board under packaging variants of the base part number SC0193 — SC0193(13) is described only as "RASPBERRY PI 4 DUAL RAM VARIANT" with no capacity stated, while SC0193(11) at the same $55.00 is described as the 2 GB board. PiShop's product page for the 4 GB board also cites SC0193 and specifies 4 GB LPDDR4-3200. The evidence therefore does not establish which orderable variant carries 4 GB — confirm "4GB" on the order line. The snapshot's floor is 512 MB with 4 GB recommended, so a 2 GB board would still run, just below the recommendation. Mesa cards are single-source and Mesa's storefront publishes no stock quantities on any page fetched for this report, so every Mesa row above is priced but not stock-verified.

Substitutes

For part Substitute Differences Verified Judgment
Mesa 7I92 / 7I92H / 7I92M Mesa 7I92TF / 7I92TH / 7I92TM — US$109.00 Same vendor, same product family, and the same store description ("a low cost, general purpose, FPGA based programmable..."), differing only in the trailing connector-code letter F/H/M — exactly as the superseded 7I92/H/M did. Price US$109.00 against no listed price for the original. verified: vendor, product family and current catalog price (Mesa store search page fetched this run). not verified: connector type, pinout, I/O count, field-I/O voltage rating, physical footprint and FPGA bitfile compatibility — Mesa's listing carries no parametrics and no datasheet was fetched. What the F/H/M letters encode is assumed, not evidenced. Acceptable as the like-for-like replacement — match the connector letter to the existing wiring before ordering.
Mesa 7I92 / 7I92H / 7I92M Mesa 7I96 — US$119.00 or 7I96S — US$149.00 A different card, described by Mesa as an Ethernet-connected motion-control card rather than a general-purpose FPGA card. Not a footprint hard stop, because the snapshot's own substitution latitude reads "Mesa 7i76E, 7i92, 7i96, or equivalent Ethernet-connected driver card" — the lab explicitly permits changing card within Mesa's Ethernet range. verified: that the snapshot permits substitution across Mesa's Ethernet range (snapshot, "Substitution latitude"); current catalog prices (Mesa store search page fetched this run). not verified: I/O count, terminal layout, step/dir channel count, field-voltage rating, enclosure fit and HAL driver/bitfile compatibility — none appear in the evidence. Acceptable per the lab's stated latitude, but treat it as a rewiring job, not a swap.

Verify any substitute against its datasheet — and, for the Mesa cards, against your machine's existing I/O wiring — before ordering.

Other dependencies

  • Live hybrid ISO linuxcnc_2.9.8-amd64.hybrid.iso — still published. The project's ISO directory lists it at 4.0G, dated 2026-01-04, so the URL in the handout still resolves.
  • A newer release is out. The same index lists linuxcnc_2.9.10-amd64.hybrid.iso (3.9G, 2026-07-13), and the downloads page now leads with "LinuxCNC 2.9.10 Debian 13 Trixie PREEMPT-RT ISO (Download this then update to 2.9.10 with Synaptic or apt. 2.9.10 .iso image is WIP)". A pre-release linuxcnc_2.10.pre1-amd64.hybrid.iso (3.1G, 2026-01-11) is also on the server, matching the handout's note about a 2.10 upgrade path.
  • Raspberry Pi image checksum no longer matches — fix the handout. The lab materials record the arm64 Pi image with MD5 4547e8a72433efb033f0a5cf166a5cd2. The downloads page currently publishes the Pi 4/5 SD card image with "MD5SUM 705b7f3c2f7b385f6cb094d05e01070e", the current file being image_2026-01-21-raspios-lcnc-2.9.8-trixie-arm64.zip (1.7G). An instructor who verifies the download against the recorded value will get a mismatch and may wrongly conclude the file is corrupt. The amd64 ISO's recorded MD5/SHA256 were not verified — that needs a 4 GB download and hash.
  • Offline Debian packages — linuxcnc-uspace_2.9.8_amd64.deb (25M, 2026-03-27) is present in the ISO directory, alongside linuxcnc-uspace_2.9.8_amd64_probe2.deb. The linuxcnc-uspace_2.9.8_arm64.deb the handout names does not appear there; treat it as not located rather than gone — it may be served from the package repository instead.
  • Package repository https://linuxcnc.org/dists/ — live, and every suite the handout's sources.list lines use is present and recently rebuilt: buster/ (2026-06-27), bullseye/ (2026-07-02), bookworm/ (2026-07-10), trixie/ (2026-07-11).
  • Installer script https://www.linuxcnc.org/linuxcnc-install.sh — live, 2001 bytes.
  • Raspberry Pi image builder https://github.com/rodw-au/rpi-img-builder-lcnc — live and maintained. Worth knowing before you try it: its README names the supported builder host systems as Debian Bookworm (testing), Ubuntu Jammy Jellyfish (recommended) and Ubuntu Noble Numbat (recommended) — so the machine you build the image on has its own requirements.
  • Mesa Modbus driver documentation — live, but the driver is on a deprecation path. The page's own opening note reads: "The Mesa Modbus framework (modcompile and mesa_modbus) is superseded by the hm2_modbus driver and mesambccc-compiled MBCCB files. It remains available throughout the 2.9 series, but new configurations are encouraged to migrate." The lab names mesa_modbus as one of the HAL interfaces its card must use, so a configuration built on it today will need rework at 2.10.
  • HAL GPIO driver documentation — live.
  • Hardware Requirements wiki page — live, but obsolete by its own admission, and it fails over HTTPS. Its first line reads: "This information was current when LinuxCNC was called EMC2 and when Ubuntu 8.04 was new. ie some time around 2008. It should be viewed as currently unreliable". Its figures ("at least 256MB of RAM", "later Pentium II or III, 400MHz or higher", "Currently an x86 PC is required") contradict the lab's own current requirements. The HTTPS form of the URL presents a certificate that could not be validated, so it is reachable only over plain HTTP. Drop this link in favour of system-requirements.adoc.
  • Windows zsync port https://www.assembla.com/spaces/zsync-windows/documents — effectively dead as a public download. The page returns only "Granting access, please wait..." — an access wall, not a document listing. Windows users following this link get nothing.
  • balenaEtcher download page — live.
  • Rufus https://rufus.ie/ — reachable, but the page is script-rendered and no readable text could be extracted, so its current download was not confirmed this run.
  • Raspberry Pi Imager https://www.raspberrypi.com/software/ — not confirmed this run; the fetch was blocked, which for this domain most likely means bot protection rather than a dead link.
  • Infra Recorder https://infrarecorder.org/ — not reachable this run, and the host was seen presenting a TLS certificate issued for a different domain, so an instructor clicking through may face a browser security warning ahead of a binary download. balenaEtcher and Rufus cover the same job.
  • Fabrication — none. The lab package contains no PCB, CAD or custom fabrication files; the build is commercial off-the-shelf hardware wired to existing machine actuators.

Watch list

  • Mesa 7I92 family — the plain 7I92/H/M already show no orderable price. Expect them to disappear from the store entirely; the handout's example part numbers should move to the 7I92T series or the 7I96S now.
  • Mesa 7I96 — still priced at US$119.00 but reachable only through store search, not the Ethernet card category listing. That is the usual shape of a part being wound down in favour of the 7I96S; check it again next cycle.
  • Mesa stock and lead time generally — a single-source vendor publishing no stock figures is the biggest sourcing unknown in this lab. Nothing in a catalog page tells you whether a card ships this week.
  • The DVD-R install path — the ISO has grown release over release (2.9.1 3.4G → 2.9.4 3.5G → 2.9.8 4.0G) and a single-layer DVD-R holds about 4.38 GiB. The current images still fit, but not for many more releases — and neither a Raspberry Pi nor most current desktops have an optical drive at all. Plan on USB.
  • Recorded checksums — they drifted once already. Any handout that pins an MD5 against a moving "latest image" link will drift again at the next image rebuild.
  • The 4 GB Raspberry Pi variant — DigiKey's variant descriptions do not state capacity consistently. If the 2 GB and 4 GB boards keep sharing a base part number, ordering the wrong one stays easy.
  • Debian 11 and 10 as documented targets — both are already past end of life and the LinuxCNC repository still serves suites for them, so the handout can still be followed onto an unsupported platform.