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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
10
ansible/roles/jmri/templates/99-jmri-devices.rules.j2
Normal file
10
ansible/roles/jmri/templates/99-jmri-devices.rules.j2
Normal file
@@ -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"
|
||||||
Reference in New Issue
Block a user