Hi, can we add Aruba CX devices with port sensors for fiberoptic values ?
Hi, can add Vertiv SmartCabinet 2-E (UPS, Digital Door Lock, AC & Fire Suppression Function)?
Discovery: Untitled - LibreNMS
poll: Untitled - LibreNMS
SNMPWALK: Untitled - LibreNMS
MIBs: Untitled - LibreNMS
Dear community,
The aruba access point (AP 304) with version “Version 8.13.0.1-8.13.0.1 LSR” are not recognized any more by librenms.
Is it possibile to add support?
Thank you.
Hello, can we add support for Moxa EDS-4000 and EDS-G4000 series switches?
The MIBs can be downloaded from here:
Or here if that path changes:
Could I request for support to be added for
Schneider Electric NetBotz 750 5.4.1.5027
Thanks
Ubiquiti USW-Pro-Max-16-PoE is being mis identified as Linux
This is my first post here. Apologies if I’m posting this in the wrong place.
I have 2 of these devices bought a few months apart. The newer one is identified correctly. The older one shows Linux, although they both have the latest firmware.
Comparing the outputs of discovery.php, I could see that the incorrect switch shows up as:
Linux USW-Pro-Max-16-PoE 4.4.153, but the correct one shows up as Linux UBNT 4.4.153
To fix this I made the following change to resources/definitions/os_detection/edgeswitch.yaml
git diff resources/definitions/os_detection/edgeswitch.yaml
diff --git a/resources/definitions/os_detection/edgeswitch.yaml b/resources/definitions/os_detection/edgeswitch.yaml
index 2e2def2f4..125491591 100644
--- a/resources/definitions/os_detection/edgeswitch.yaml
+++ b/resources/definitions/os_detection/edgeswitch.yaml
@@ -28,4 +28,5 @@ discovery:
- .1.3.6.1.4.1.27282.3.2.10
sysDescr_regex:
- '/^Linux UBNT/'
+ - '/^Linux USW/'
- '/^RTL8380/'
I don’t know how I can get this merged into the git repo.
Thanks,
Anwar
Hi,
I would love to see support for Bachmann Bluenet PDUs. The MIB Files can be found here: https://bluenet.de/wp-content/uploads/snmp-mibs-2.02.01.zip
I have a BN7000 that I did add/discover that is recognized as Linux OS only, I did add the most important OIDs via custom oid.
i would like request to add Engenius model ECS5512F
Could we get the USW Pro XG 10 PoE and USW Pro XG 24 added? They are getting discovered but mis-identified as either generic device or linux device.
I’d be happy to provide anything needed to help push this along. Thanks!
Manufacturer: Ubiquiti
Model: UniFi Building Bridge (UBB)
sysObjectID: .1.3.6.1.4.1.8072.3.2.10
sysDescr: Linux UniFi Building Bridge 4.9.241 #2 SMP Wed Dec 17 09:45:32 UTC 2025 armv7l
Request: > This device is a high-speed wireless bridge. It is currently detected as generic Linux. Please add official support with the dedicated icon. I have an icon (ubb.png) ready if needed.
Hi everyone,
I’ve been working on getting proper VLAN discovery working for D-Link DGS-1210-52/F1 switches running firmware 6.33.x, and I wanted to share my findings with the community in case someone has the time to integrate this properly via the official OS contribution process.
The problem
The DGS-1210 series (firmware revision F) does not expose VLAN information via the standard Q-BRIDGE-MIB::dot1qVlanStaticName or IEEE8021-Q-BRIDGE-MIB OIDs. LibreNMS discovery returns empty results for VLANs on these devices, and no VLAN tab is displayed in the interface.
Root cause
The firmware F revision uses a completely different OID tree from previous revisions. VLAN data is exposed under a proprietary D-Link subtree:
| Data | OID |
|---|---|
| VLAN names | 1.3.6.1.4.1.171.11.153.1000.7.6.1.1.<vlan_id> |
| Egress ports (tagged + untagged) bitmask | 1.3.6.1.4.1.171.11.153.1000.7.6.1.2.<vlan_id> |
| Untagged ports bitmask | 1.3.6.1.4.1.171.11.153.1000.7.6.1.4.<vlan_id> |
This was confirmed by snmpwalk on a DGS-1210-52/F1 running 6.33.004:
iso.3.6.1.4.1.171.11.153.1000.7.6.1.1.1 = STRING: "default"
iso.3.6.1.4.1.171.11.153.1000.7.6.1.1.2 = STRING: "ProxyVLAN"
iso.3.6.1.4.1.171.11.153.1000.7.6.1.1.3 = STRING: "GuestLAN"
iso.3.6.1.4.1.171.11.153.1000.7.6.1.1.90 = STRING: "PROLAN"
iso.3.6.1.4.1.171.11.153.1000.7.6.1.1.4094 = STRING: "VoiceVLAN"
The egress and untagged port data is returned as hex bitmasks, identical in structure to what StringHelpers::bitsToIndices() already handles for other OS implementations (e.g. Boss.php).
The fix
We extended LibreNMS/OS/Dlink.php to implement VlanDiscovery and VlanPortDiscovery interfaces. The key points:
-
Try standard Q-BRIDGE-MIB first (fallback for other D-Link models that do support it)
-
Fall back to proprietary OIDs if Q-BRIDGE-MIB returns nothing
-
Use
SnmpQuery::walk()->pluck()instead ofmapTable()—mapTable()does not work correctly with raw numeric OIDs without a MIB mapping
php
public function discoverVlans(): Collection
{
$vlans = parent::discoverVlans();
if ($vlans->isNotEmpty()) {
return $vlans;
}
$vlans = new Collection;
foreach (SnmpQuery::walk('.1.3.6.1.4.1.171.11.153.1000.7.6.1.1')->pluck() as $vlan_id => $vlan_name) {
$vlans->push(new Vlan([
'vlan_vlan' => $vlan_id,
'vlan_domain' => 1,
'vlan_name' => $vlan_name ?: 'VLAN' . $vlan_id,
]));
}
return $vlans;
}
public function discoverVlanPorts(Collection $vlans): Collection
{
$ports = parent::discoverVlanPorts($vlans);
if ($ports->isNotEmpty()) {
return $ports;
}
$egress_data = SnmpQuery::walk('.1.3.6.1.4.1.171.11.153.1000.7.6.1.2')->pluck();
$untagged_data = SnmpQuery::walk('.1.3.6.1.4.1.171.11.153.1000.7.6.1.4')->pluck();
if (empty($egress_data)) {
return $ports;
}
foreach ($vlans as $vlan) {
$vlan_id = $vlan->vlan_vlan;
if (empty($egress_data[$vlan_id])) {
continue;
}
$egress_ids = StringHelpers::bitsToIndices($egress_data[$vlan_id]);
$untagged_ids = StringHelpers::bitsToIndices($untagged_data[$vlan_id] ?? '');
foreach ($egress_ids as $baseport) {
$ports->push(new PortVlan([
'vlan' => $vlan_id,
'baseport' => $baseport,
'untagged' => in_array($baseport, $untagged_ids) ? 1 : 0,
'port_id' => PortCache::getIdFromIfIndex(
$this->ifIndexFromBridgePort($baseport),
$this->getDeviceId()
) ?? 0,
]));
}
}
return $ports;
}
Tested on
-
Device: D-Link DGS-1210-52/F1
-
Firmware: 6.33.004
-
LibreNMS: 26.4.1
VLAN names and port memberships (tagged/untagged) are correctly discovered and displayed in the LibreNMS VLAN tab.
OID tree origin
The OID structure was reverse-engineered from the MIB file DGS-1210_Fx_FW_6-31_MIB provided by D-Link. The relevant path is:
enterprises(171) → d-link(171) → dlink-mgmt(11) → dlink-DGS-1210SeriesProj(153)
→ dlink-dgs-1210-Common(1000) → companyDot1qVlanGroup(7)
What’s needed for a proper PR
We don’t have the bandwidth to go through the full official contribution process (test data generation, unit tests, snmprec file, potential separate OS detection yaml for DGS-1210 firmware F). If someone in the community has a DGS-1210 and the time to do this properly, here’s everything you need to get started. Happy to answer questions.
The MIBs for the DGS-1210 Fx firmware series are available on the D-Link FTP server.
Thanks