From dd12a57c2dbf4bd22670a50634fffa7c70b2257e Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Mon, 30 Mar 2026 13:44:49 -0500 Subject: [PATCH] Fix SNMP polling: remove invalid timeout option and normalize OID format System.cmd :timeout option doesn't exist in Elixir 1.19, causing every poll to crash silently. Also translate SNMPv2-SMI::enterprises prefix to numeric OID so the lookup maps match correctly. --- lib/microwaveprop/commercial/snmp_client.ex | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/microwaveprop/commercial/snmp_client.ex b/lib/microwaveprop/commercial/snmp_client.ex index 558e490e..be4c5548 100644 --- a/lib/microwaveprop/commercial/snmp_client.ex +++ b/lib/microwaveprop/commercial/snmp_client.ex @@ -47,8 +47,6 @@ defmodule Microwaveprop.Commercial.SnmpClient do 19 => {:remote_tx_power, :raw} } - @snmp_timeout 5_000 - def poll(host, community, "af11x"), do: poll_af11x(host, community) def poll(host, community, "af60"), do: poll_af60(host, community) @@ -134,7 +132,7 @@ defmodule Microwaveprop.Commercial.SnmpClient do end defp run_cmd(cmd, args) do - System.cmd(cmd, args, stderr_to_stdout: true, timeout: @snmp_timeout) + System.cmd(cmd, args, stderr_to_stdout: true) rescue ErlangError -> {"command not found: #{cmd}", 127} end @@ -154,6 +152,7 @@ defmodule Microwaveprop.Commercial.SnmpClient do defp normalize_oid(oid) do oid + |> String.replace(~r/^SNMPv2-SMI::enterprises\./, "1.3.6.1.4.1.") |> String.replace(~r/^iso\./, "1.") |> String.replace(~r/^\./, "") end