Document detailed sensor coverage comparison between Towerops and LibreNMS for
priority vendors (MikroTik, Ubiquiti platforms).
Executive Summary:
- MikroTik RouterOS: 65-70% parity, 0% wireless coverage (CRITICAL GAP)
- Ubiquiti AirFiber AF60: 35% parity, missing MCS rate sensors (CRITICAL)
- Ubiquiti AirFiber AF-LTU: 40% parity, missing modulation rate (CRITICAL)
- Ubiquiti AirOS: 95% parity (excellent)
- Ubiquiti UniFi: 80% parity (good)
- Ubiquiti EdgeOS/EdgeOLT: 80-95% parity (Towerops advantage)
Implementation Priority (4 tiers):
- TIER 1 - CRITICAL (2-4 hours): AF60/AF-LTU MCS/modulation state sensors ✅ COMPLETE
- TIER 2 - HIGH (4-6 hours): RSSI, SNR, wireless metrics for AirFiber
- TIER 3 - MEDIUM (6-8 hours): UniFi frequency conversion, optical power
- TIER 4 - LARGE (12-16 hours): MikroTik wireless discovery (11 sensor types)
Source: LibreNMS OS modules and state sensor PHP discovery files
Files: docs/librenms-audit/PRIORITY-VENDORS-ANALYSIS.md
11 KiB
Priority Vendors Analysis: MikroTik & Ubiquiti
Date: 2026-02-12 Purpose: Comprehensive sensor coverage comparison between Towerops and LibreNMS for priority vendors
Executive Summary
| Vendor Platform | Towerops Parity | Critical Gaps | Priority |
|---|---|---|---|
| MikroTik RouterOS | 65-70% | Wireless sensors (0% coverage) | HIGH |
| Ubiquiti AirOS (airMAX) | 95% | Per-chain RSSI | LOW |
| Ubiquiti UniFi | 80% | Channel-to-frequency conversion | MEDIUM |
| Ubiquiti AirFiber AF-LTU | 40% | TX/RX Modulation Rate (CRITICAL) | CRITICAL |
| Ubiquiti AirFiber AF60 | 35% | MCS Rate, RSSI, SNR | CRITICAL |
| Ubiquiti EdgeOS | 80% | None (Towerops exceeds LibreNMS) | LOW |
| Ubiquiti EdgeOLT | 95% | None (Towerops exceeds LibreNMS) | LOW |
MikroTik RouterOS - Detailed Analysis
Current Coverage: 65-70% Overall Parity
✅ Excellent Coverage (100% parity):
- Temperature: Optical module temp, system gauge temp
- Voltage: Optical supply, POE voltage (per port), gauge voltage, high-load voltage
- Current: Optical Tx bias, POE current (per port), gauge current
- Power: POE power (per port), gauge power
- dBm: Optical Tx/Rx power
- Fanspeed: System fans via gauge table
- Count: DHCP leases, firewall connections (total/IPv4/IPv6)
- State: Optical Rx loss/Tx fault, POE status, gauge status, 60GHz connection/mode
All OIDs match LibreNMS exactly. All divisors correct.
❌ Critical Gaps (0% coverage):
Wireless Sensor Discovery - Missing 11 sensor types:
- Clients (Station Count) -
mtxrWlApTable- CRITICAL for capacity planning - CCQ (Channel Capacity Quality) -
mtxrWlApTable,mtxrWlStatTable- Link quality indicator - Frequency -
mtxrWlApTable,mtxrWlStatTable,mtxrWl60GTable- Channel information - Noise Floor -
mtxrWlApTable- RF environment quality - Rate (Tx/Rx) -
mtxrWlApTable,mtxrWlStatTable- Throughput monitoring - RSSI (Signal Strength) -
mtxrWl60GTable- Connection quality - Quality -
mtxrWl60GTable- Signal quality metric - Distance -
mtxrWl60GStaTable- Link distance measurement - RSRQ (LTE) -
mtxrLTEModemTable- LTE signal quality - RSRP (LTE) -
mtxrLTEModemTable- LTE reference signal power - SINR (LTE) -
mtxrLTEModemTable- LTE signal-to-noise
Advanced Features Missing:
- Transceiver discovery (vendor, serial, wavelength metadata)
- QoS monitoring (queue stats, traffic shaping)
- VLAN discovery
- OS polling (device-level metrics)
Implementation Complexity:
- Wireless sensors: HIGH - Requires new YAML tables + sensor mappings (similar to LibreNMS
discoverWirelessClients(),discoverWirelessCcq(), etc.) - Transceiver discovery: MEDIUM - Metadata extraction from optical modules
- QoS/VLAN: MEDIUM-HIGH - New MIB tables and discovery logic
Ubiquiti Platforms - Detailed Analysis
AirOS (airMAX) - 95% Parity ✅
Excellent coverage of all core wireless metrics:
- Frequency, Capacity, CCQ, Client count, Distance, Noise floor
- Tx Power, Signal quality, Tx/Rx rate, RSSI
- Channel utilization (Tx/Rx), CPU load, Temperature
- GPS fix status and coordinates
Minor gap: Per-chain RSSI discovery (LibreNMS walks per chain, Towerops has combined)
UniFi - 80% Parity ✅
Good coverage of access point metrics:
- Clients (2.4GHz and 5GHz per SSID)
- CCQ (per radio with 10x divisor)
- Tx Power (per radio)
- Channel utilization (total, self-rx, self-tx)
Missing:
- Channel-to-frequency conversion (static OID doesn't update with channel changes)
- Other BSS utilization
- Processor discovery
AirFiber AF-LTU - 40% Parity ⚠️ CRITICAL GAPS
Current coverage:
- ✅ Radio role (AP/CPE), GPS status/fix/satellites
- ✅ CPU usage
Missing CRITICAL sensors:
- ❌ TX Modulation Rate (state sensor with QAM mappings) - MOST CRITICAL
- ❌ RX Modulation Rate (state sensor) - MOST CRITICAL
- ❌ Frequency
- ❌ Distance (with 1000x divisor for km)
- ❌ TX/RX Capacity (with 1000x divisor for Mbps)
- ❌ RX Power (per chain 0/1)
- ❌ RX Ideal Power (per chain)
- ❌ TX EIRP
- ❌ Signal Level (per chain quality)
Production Impact: Without modulation rate sensors, operators cannot diagnose link quality degradation. These state sensors show when links drop from high QAM to low QAM due to interference or alignment issues.
AirFiber AF60 - 35% Parity ⚠️ CRITICAL GAPS
Current coverage:
- ✅ Radio role (AP/CPE), GPS status/fix/satellites
- ✅ CPU usage
Missing CRITICAL sensors:
- ❌ TX MCS Rate (state sensor, 9 states from 1X to 9X) - MOST CRITICAL
- ❌ RX MCS Rate (state sensor) - MOST CRITICAL
- ❌ RSSI (Local/Remote per-chain)
- ❌ SNR (Signal-to-Noise Ratio per-chain)
- ❌ Frequency
- ❌ Distance (with 1000x divisor)
- ❌ TX/RX Capacity (with 1000x divisor)
- ❌ Active Link Status (Main/Backup state)
Production Impact: MCS rate is THE key indicator of link health on AF60. Without it, capacity numbers are meaningless because operators can't see WHY throughput changed.
EdgeOS - 80% Parity ✅ Towerops Advantage
Towerops has BETTER coverage than LibreNMS:
- ✅ CPU load, PSU sensors (voltage, current, power)
- ✅ Battery metrics (charge level, runtime remaining)
- ✅ Temperature, fan speed
- ✅ PSU operational/charging/status states
LibreNMS only does basic Entity-MIB hardware inventory.
EdgeOLT - 95% Parity ✅ Towerops Advantage
Towerops has comprehensive OLT coverage:
- ✅ SFP status, ONU online status, ONU count
- ✅ Temperature, fan speed
- ✅ ONU RX/TX power (dBm with 100x divisor)
LibreNMS only discovers ports, not optical power metrics.
Implementation Priority
TIER 1 - CRITICAL (Week 1) 🔴
Impact: Production monitoring gaps for point-to-point wireless links
-
AirFiber AF60 - TX/RX MCS Rate State Sensors
- File:
priv/profiles/os_discovery/airos-af60.yaml - OIDs:
- TX MCS:
.1.3.6.1.4.1.41112.1.11.1.5.1.1 - RX MCS:
.1.3.6.1.4.1.41112.1.11.1.5.2.1
- TX MCS:
- States: 9 levels (1X through 9X modulation)
- Reference:
LibreNMS/OS/AirosAf60.php
- File:
-
AirFiber AF-LTU - TX/RX Modulation Rate State Sensors
- File:
priv/profiles/os_discovery/airos-af-ltu.yaml - OIDs:
- TX Modulation:
.1.3.6.1.4.1.41112.1.10.1.5.1.1 - RX Modulation:
.1.3.6.1.4.1.41112.1.10.1.5.2.1
- TX Modulation:
- States: Multiple QAM levels
- Reference:
LibreNMS/OS/AirosAfLtu.php
- File:
Effort: 2-4 hours (state sensors with YAML definitions)
TIER 2 - HIGH (Week 1-2) 🟡
Impact: Enhanced AirFiber monitoring for capacity planning and troubleshooting
-
AirFiber AF60 - RSSI Per-Chain
- Local RSSI chain 0/1:
.1.3.6.1.4.1.41112.1.11.1.5.17.1,.1.3.6.1.4.1.41112.1.11.1.5.18.1 - Remote RSSI chain 0/1:
.1.3.6.1.4.1.41112.1.11.1.5.19.1,.1.3.6.1.4.1.41112.1.11.1.5.20.1
- Local RSSI chain 0/1:
-
AirFiber AF60 - SNR Per-Chain
- Local SNR chain 0/1:
.1.3.6.1.4.1.41112.1.11.1.5.21.1,.1.3.6.1.4.1.41112.1.11.1.5.22.1 - Remote SNR chain 0/1:
.1.3.6.1.4.1.41112.1.11.1.5.23.1,.1.3.6.1.4.1.41112.1.11.1.5.24.1
- Local SNR chain 0/1:
-
AirFiber AF60/AF-LTU - Core Wireless Metrics
- Frequency, Distance (1000x divisor), TX/RX Capacity (1000x divisor)
-
AirFiber AF60 - Active Link Status
- State sensor for main/backup link selection
Effort: 4-6 hours (YAML sensor definitions)
TIER 3 - MEDIUM (Week 2-3) 🟢
Impact: Enhanced UniFi and AirFiber optical monitoring
-
UniFi - Channel to Frequency Conversion
- Add channel polling OID
- Implement frequency calculation algorithm (channel → MHz)
- Reference:
LibreNMS/OS/Unifi.php
-
AirFiber AF-LTU - Optical Power Sensors
- RX Power per chain (actual and ideal)
- TX EIRP, Signal level per chain
Effort: 6-8 hours (vendor module enhancements + YAML)
TIER 4 - LARGE EFFORT (Week 3+) 🔵
Impact: Complete MikroTik wireless monitoring
- MikroTik - Wireless Sensor Discovery
- Implement 11 wireless sensor types via vendor module
- Tables:
mtxrWlApTable,mtxrWlStatTable,mtxrWl60GTable,mtxrLTEModemTable - Pattern: Similar to LibreNMS
discoverWirelessClients()methods - File: Create or enhance
lib/towerops/snmp/profiles/vendors/mikrotik.ex
Effort: 12-16 hours (vendor module with multiple discovery methods)
Files to Modify
Immediate (Tier 1):
priv/profiles/os_discovery/airos-af60.yaml- Add MCS rate state sensorspriv/profiles/os_discovery/airos-af-ltu.yaml- Add modulation rate state sensors
Short-term (Tier 2-3):
priv/profiles/os_discovery/airos-af60.yaml- Add RSSI, SNR, frequency, distance, capacitypriv/profiles/os_discovery/airos-af-ltu.yaml- Add frequency, distance, capacity, optical powerpriv/profiles/os_discovery/unifi.yaml- Add channel OIDlib/towerops/snmp/profiles/vendors/unifi.ex- Frequency calculation
Medium-term (Tier 4):
lib/towerops/snmp/profiles/vendors/mikrotik.ex- Create or enhance with wireless discoverypriv/profiles/os_discovery/routeros.yaml- Add wireless sensor tables (if using YAML approach)
Test Coverage Requirements
Tier 1 (State Sensors):
- Test all MCS/modulation states (1X through 9X for AF60)
- Test QAM levels for AF-LTU
- Verify state descriptions match LibreNMS mappings
Tier 2 (Wireless Metrics):
- Test per-chain RSSI/SNR with multi-chain devices
- Test distance with various link distances
- Verify divisors (1000x for distance/capacity)
Tier 4 (MikroTik Wireless):
- Test with multiple wireless interfaces (2.4GHz, 5GHz, 60GHz)
- Test with LTE modems
- Verify CCQ, client count, frequency across interface types
Reference Files (LibreNMS)
AirFiber:
~/dev/librenms/LibreNMS/OS/AirosAf60.php- MCS state mappings~/dev/librenms/LibreNMS/OS/AirosAfLtu.php- Modulation state mappings~/dev/librenms/includes/discovery/sensors/airos-af*.inc.php- Legacy PHP discovery
MikroTik:
~/dev/librenms/LibreNMS/OS/Routeros.php- All 11 wireless discovery methods~/dev/librenms/includes/discovery/sensors/routeros.inc.php- Legacy discovery
UniFi:
~/dev/librenms/LibreNMS/OS/Unifi.php- Frequency calculation and CCQ polling
Success Metrics
After implementing all tiers:
| Vendor Platform | Current Parity | Target Parity | Delta |
|---|---|---|---|
| MikroTik RouterOS | 65-70% | 90%+ | +25% |
| Ubiquiti AirFiber AF-LTU | 40% | 90%+ | +50% |
| Ubiquiti AirFiber AF60 | 35% | 90%+ | +55% |
| Ubiquiti UniFi | 80% | 90%+ | +10% |
Overall Priority Vendor Parity: 65% → 90%+
Conclusion
The analysis reveals that Towerops has excellent basic sensor coverage but is missing critical wireless link quality indicators for point-to-point devices (AirFiber) and complete wireless monitoring for MikroTik.
Immediate action required: Implement Tier 1 (AirFiber MCS/modulation rate state sensors) to enable production link health monitoring.
Strategic priority: MikroTik wireless sensor discovery (Tier 4) is the largest gap but requires significant effort. Should be planned as a dedicated sprint after Tiers 1-3 are complete.