Issues with discovery-protocols and FS Switches

Hello community,

I’m having some issues with LLDP discovery with a FS S3400-48T6P.
If i run the discovery.php script i have this error:

Error discovering discovery-protocols module for xx.xx.xx.xx TypeError: Cannot access offset of type string on string in /opt/librenms/includes/discovery/discovery-protocols.inc.php:362

i’m able to poll LLDP data with snmpwalk / MIB browser using LLDP-MIB.

here’s the validation result

===========================================
Component | Version
--------- | -------
LibreNMS  | 25.4.0-102-ge7d6532dc (2025-05-06T14:31:09+02:00)
DB Schema | 2025_05_03_152418_remove_invalid_sensor_classes (338)
PHP       | 8.2.28
Python    | 3.11.2
Database  | MariaDB 10.11.11-MariaDB-0+deb12u1
RRDTool   | 1.7.2
SNMP      | 5.9.3
===========================================

[OK]    Composer Version: 2.8.8
[OK]    Dependencies up-to-date.
[OK]    Database Connected
[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 not detected
[OK]    Locks are functional
[OK]    Python poller wrapper is polling
[OK]    Redis is unavailable
[OK]    rrd_dir is writable
[OK]    rrdtool version ok


LLDP discovery on other Switches works.

Here you can find the whole discovery output:

https://p.libren.ms/view/5fa127ba

If you need any other information i will try to provide it promptly.

Thanks in advance

I should have fixed the issue, these switches are being recognized as FS-SWITCH not as FS-BDCOM.

i’ve modified the fs-switch.yaml file under /inlcudes/definitions/

os: fs-switch
text: 'Fiberstore Switch'
type: network
icon: fs
group: fs
over:
    - { graph: device_bits, text: 'Device Traffic' }
    - { graph: device_processor, text: 'Processor Usage' }
    - { graph: device_mempool, text: 'Memory Usage' }
mib_dir: fs
discovery:
    -
        sysObjectID:
            - .1.3.6.1.4.1.51134
            - .1.3.6.1.4.1.52642
            - .1.3.6.1.4.1.27975
            - .1.3.6.1.4.1.12345
            # - .1.3.6.1.4.1.52642.2.1.45.101 # S3900-24T4S
            # - .1.3.6.1.4.1.52642.2.1.45.103 # S3900-24F4S
        sysObjectID_except:
            - .1.3.6.1.4.1.52642.1.1.10.1.805
            - .1.3.6.1.4.1.52642.1.1.10.1.514
            - .1.3.6.1.4.1.52642.1.1.10.1.793 #S5860-20SQ
            - .1.3.6.1.4.1.52642.1.445.0 # S3400 Series
            - .1.3.6.1.4.1.52642.1.492.0 # S3400 48T6SP
            - .1.3.6.1.4.1.52642.1.458.0 # S3900-24F4S-R
            - .1.3.6.1.4.1.52642.1.446.0 # S3900-24T4S-R
            - .1.3.6.1.4.1.52642.1.2039.0 # S3900-48T6S-R
            - .1.3.6.1.4.1.52642.1.99 # S5800/S5850 Series (fs-centec)

and also the file fs-bdcom.yaml like this:

text: 'Fiberstore (BDCOM)'
type: network
icon: fs
group: fs
mib_dir: fs/bdcom
over:
    - { graph: device_bits, text: 'Device Traffic' }
    - { graph: device_processor, text: 'Processor Usage' }
    - { graph: device_mempool, text: 'Memory Usage' }
discovery:
    -
        sysObjectID:
            - .1.3.6.1.4.1.52642.1.445.0 # S3400 Series
            - .1.3.6.1.4.1.52642.1.492.0 # S3400 48T6SP
            - .1.3.6.1.4.1.52642.1.458.0 # S3900-24F4S-R
            - .1.3.6.1.4.1.52642.1.446.0 # S3900-24T4S-R
            - .1.3.6.1.4.1.52642.1.2039.0 # S3900-48T6S-R