7I96S isolated inputs (InM) stopped updating live — read fine at load, then froz

More
20 Jul 2026 16:41 #347880 by andreas0480
Hello,

I have a 7I96S that has developed a specific fault: the 11 isolated field inputs (TB3-01…11, the InM module) stopped updating during operation. They read the correct state once when the hostmot2 driver loads, and then freeze — actuating a switch or the E-stop no longer changes the value in software. The card's own input status LEDs do still follow the switches correctly.

Everything else on the card works normally: Ethernet comms are solid (no packet errors, no watchdog trips), all 5 stepgens drive motors correctly, PWM works.

Setup
- 7I96S, Smart Serial Firmware Version 43, BoardName MESA7I96 per mesaflash --readhmid
- LinuxCNC 2.9.10 (uspace), hostmot2 0.15, hm2_eth 0.2
- Raspberry Pi CM5, Debian 12, PREEMPT_RT kernel; card on a dedicated NIC at 192.168.1.121
- Standard 24 V field sensors; input common (TB3-12) tied to field 0 V

What I have established by testing
1. It worked, then stopped. Early on, inputs updated live (two limit inputs flipped TRUE→FALSE on halmeter when actuated). Later in the same session they froze and have not recovered.
2. Not comms/packet loss. With a stepgen commanded to move, stepgen.NN.position-fb updates live in the same read cycle that the InM inputs stay frozen. A lost/stale read packet would freeze position feedback too — it doesn't.
3. Not debounce. raw-input-NN (undebounced) is frozen as well, so the scan itself is not advancing (scan_rate/fast_scans/slow_scans at defaults).
4. Survives full cold power cycles. The card powers down completely with the Pi; it was fully powered off several times after the freeze and stayed frozen.
5. Firmware config intact. mesaflash --readhmid reads a complete, correct HostMot2 cM module (base 8500).
6. Adding hm2_7i96s.0.read-request to the servo thread did not change the behaviour.

Possible cause on my end: a contactor in the machine failed (fried) shortly before the inputs froze. Its coil ran on the 24V field power. I suspect a transient may have coupled into the input section via a shared ground.

My question: given the inputs read correctly at load but never update live, while thunctional and the firmware reads back intact — does this look like a damaged inputsection that needs repair/replacement, or is there something else I can test first?

Thank you,
Andreas

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

More
20 Jul 2026 16:52 #347881 by PCW
Very strange, Do the GPIO inputs work?
 (GPIO0..GPIO10 match INM0..INM10 on a 7I96S)

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

More
02 Aug 2026 08:01 #348372 by andreas0480
Thanks for the reply. I now also monitored the GPIOs.

Correction to my earlier post in this thread first: the InM is not frozen. That was a monitoring-timing mistake on my end — IN4 (E-stop) tracks perfectly in both inm.00.input-04 and gpio.004.in. Card, InM and Ethernet are all fine.

System: LinuxCNC 2.9.10 (uspace), Raspberry Pi CM5, Debian 12 PREEMPT_RT, 7I96S via hm2_eth.
config="num_encoders=1 num_pwmgens=1 num_stepgens=5 sserial_port_0=0xxxxxxx"

Bank is wired sourcing (common on 0 V) — confirmed by several known-good and working inputs:

E-stop: 24V+ → NC switch → IN4. Released (24 V on pin) → TRUE; pressed (open) → FALSE. Tracks perfectly.
Driver alarms: 24V+ → ALM → IN0–3, working.

Problem input: IN8 has an M8 NPN-NC inductive sensor (sinking). Bare, its target-present level only reached ~13 V, so it read active in both states; I added a ~470 Ω pull-up from the pin to +24 V. The pin now measures:

target absent: 0.1 V
target present: 23.85 V

The sensor's own LED and the card's IN8 input LED both follow the target correctly — but inm.00.input-08 and gpio.008.in read stuck TRUE regardless.

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

Moderators: PCWjmelson
Time to create page: 0.240 seconds
Powered by Kunena Forum