Lenovo ThinkSystem DE4000F detected as "generic device"

Hi there,

We have a Lenovo ThinkSystem DE4000F SAN (all-SSD drive array). When added via SNMPv3, it’s detected as “generic device” and doesn’t populate fan/temperature/etc data at all.

Output of ./validate.php:

Component | Version
--------- | -------
LibreNMS  | 24.12.0-45-g5beee764f (2025-01-07T17:14:18-06:00)
DB Schema | 2024_10_20_154356_create_qos_table (310)
PHP       | 8.3.6
Python    | 3.12.3
Database  | MariaDB 10.11.8-MariaDB-0ubuntu0.24.04.1
RRDTool   | 1.7.2
SNMP      | 5.9.4.pre2
===========================================

[OK]    Composer Version: 2.8.4
[OK]    Dependencies up-to-date.
[OK]    Database connection successful
[OK]    Database connection successful
[OK]    Database Schema is current
[OK]    SQL Server meets minimum requirements
[OK]    lower_case_table_names is enabled
[OK]    MySQL engine is optimal
[OK]    Database and column collations are correct
[OK]    Database schema correct
[OK]    MySQL and PHP time match
[OK]    Active pollers found
[OK]    Dispatcher Service is enabled
[OK]    Locks are functional
[OK]    No python wrapper pollers found
[OK]    Redis is unavailable
[WARN]  IPv6 is disabled on your server, you will not be able to add IPv6 devices.
[OK]    rrd_dir is writable
[OK]    rrdtool version ok
Done                    ./validate.php

Device as it appears in LibreNMS:

Bumping this, is there any information I need to provide to get this added to Libre? Thank-you

Yes, in the template when you created this post it had:

Please provide ALL info asked for here.

Hi @laf ,

Here’s the output of those commands. The last fails but the device is online and responding.

discovery.php

https://p.libren.ms//view//1ac2c60f

lnms device:poll

https://p.libren.ms//view//153abfeb

snmpbulkwalk

Using the provided flags (-OUneb), only returns “no response from device.” Device is online and responding to everything else.

Try changing the flags, maybe try -On.

Adding detection is easy:

sysDescr: LENOVO   DE_Series        0881
sysObjectID: .1.3.6.1.4.1.789.1123.2

OS Name: ThinkSystem System Manager (TSM)

Get me the snmpbulkwalk and I’ll add support.

This is what I tried:

snmpbulkwalk -On -v2c -c public 10.29.2.250  . | ./pbin.sh

Output:

Paste endpoint: https://p.libren.ms/api/create
Timeout: No Response from 10.29.2.250
title:
name: librenms
private: 1
expire: 0

lnms device:poll works successfully:

Starting polling run:

Hostname:  10.29.2.250
ID:        143
OS:        generic
IP:        10.29.2.250

#### Load poller module core ####

Uptime: 4 weeks 1 day 1 hour 46 minutes

>> SNMP: [3/0.11s] MySQL: [4/0.26s] RRD: [2/0.00s]
>> Runtime for poller module 'core': 0.0808 seconds with 131936 bytes
#### Unload poller module core ####


You have to change your community string to the one configured on your device. It’s not usually still set as public

It’s public in this case (silo’d VLAN for new device set up).

You’ve got to figure out your snmp query then.

Can you offer any guidance on the bulkwalk command? I’ve used it before successfully with other devices but the “no response” output is puzzling when the lnms device:poll works as expected.

You can do lnms device:poll -vvv -m os <deviceID> and LibreNMS will give you the correct options for the snmpget command.

SNMP['/usr/bin/snmpget' '-v2c' '-c' 'mysecretcommunity' '-OUQnt' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/zyxel' '-t' '10' '-r' '1' 'udp:192.168.100.2:161' '.1.3.6.1.4.1.890.1.15.3.1.11.0' '.1.3.6.1.4.1.890.1.15.3.1.6.0' '.1.3.6.1.4.1.890.1.15.3.1.12.0']
.1.3.6.1.4.1.890.1.15.3.1.11.0 = "GS1900-10HP"
.1.3.6.1.4.1.890.1.15.3.1.6.0 = "V2.90(AAZI.0) | 10/24/2024"
.1.3.6.1.4.1.890.1.15.3.1.12.0 = "xxxxxxxxxxxxx"  

You can then build the snmpwalk command out of it. The interesting ones are :
'-v2c' '-c' 'mysecretcommunity' 'udp:192.168.100.2:161'
which gives this snmpwalk command when you combine them with the -OUneb:
snmpwalk '-v2c' '-c' 'mysecretcommunity' 'udp:192.168.100.2:161' -OUneb . | ./pbin.sh