jmri: deploy udev rules for stable /dev/jmri/* symlinks

Rules were documented but never deployed — /dev/jmri/nce was missing
entirely, only /dev/jmri/loconet existed (created manually).

Adds:
- templates/99-jmri-devices.rules.j2: LocoBuffer-NG -> loconet,
  NCE Power Pro (Microchip CDC) -> nce
- Task to deploy rules + trigger udev settle
- Trigger udev handler (reload-rules alone is insufficient)
This commit is contained in:
Hermes Agent service account committed 2026-08-01 21:18:06 -05:00
1 parent 02af5d26dc
commit 63b0bc72fe
3 files changed
+35

No files matched your search

+4
View File
@@ -3,6 +3,10 @@
ansible.builtin.command: udevadm control --reload-rules ansible.builtin.command: udevadm control --reload-rules
changed_when: false changed_when: false
- name: Trigger udev
ansible.builtin.command: udevadm trigger --subsystem-match=tty
changed_when: false
- name: Reload systemd - name: Reload systemd
ansible.builtin.systemd: ansible.builtin.systemd:
daemon_reload: true daemon_reload: true
+21
View File
@@ -43,6 +43,27 @@
groups: dialout groups: dialout
append: true append: true
# ---------------------------------------------------------------------------
# Phase 1 — Stable USB device symlinks
# Creates /dev/jmri/loconet and /dev/jmri/nce via udev ID_SERIAL matching.
# ---------------------------------------------------------------------------
- name: Create /dev/jmri directory (udev will populate it)
ansible.builtin.file:
path: /dev/jmri
state: directory
mode: '0755'
- name: Deploy udev rules for JMRI USB devices
ansible.builtin.template:
src: 99-jmri-devices.rules.j2
dest: /etc/udev/rules.d/99-jmri-devices.rules
owner: root
group: root
mode: '0644'
notify:
- Reload udev
- Trigger udev
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Phase 2 — LocoNet traffic monitor # Phase 2 — LocoNet traffic monitor
@@ -0,0 +1,10 @@
# JMRI USB device symlinks — managed by Ansible, do not edit manually.
# Creates stable /dev/jmri/* symlinks regardless of USB enumeration order.
# LocoNet interface — RR-CirKits LocoBuffer-NG
SUBSYSTEM=="tty", ENV{ID_SERIAL}=="RR-CirKits_LocoBuffer-NG_CDC_ACM_SERIAL_DEVICE_AA5700218A", \
SYMLINK+="jmri/loconet", MODE="0666"
# NCE command station — Microchip CDC (Power Pro)
SUBSYSTEM=="tty", ENV{ID_SERIAL}=="Microchip_Technology_Inc._Simple_CDC_Device_Demo", \
SYMLINK+="jmri/nce", MODE="0666"