You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2022-08-09 15:24:04

bananshar
Member
Registered: 2022-08-04
Posts: 11

GLPI Inventory Agent - missing monitors

Hello, I have an issue with GLPI Agent not incorrectly grabbing data of connected monitors.
I'm trying to deploy GPLI for my company and I need detailed information of all monitors currently in use.
Issue exists only with specific models of monitors, one of them is LG 24MP60G-B (P/N 24MP60G-BB.AEUZJSN) They've already been an issue with our in-house solution of getting this data from WMI using Powershell script. Problem with them is that LG inserts useless information in EDID chip on their monitors, and as a result all of them have the same model, one of two product codes, and serial number.

From what I've observed, GLPI Agent also looks for data in WMI classes, but the s/n is different than what it reports in our script and my perl isn't good enough to figure out why. Additionally, in GLPI inventory rules for importing I see the s/n is on the blacklist as /^(0|1)+$/ and I'm not touching that.

A fragment of computer.json with two of these monitors attached:

"monitors": [
    {
        "base64": <redacted>,
        "caption": "LG FHD",
        "description": "1\/2021",
        "manufacturer": "Goldstar Company Ltd",
        "name": "Generic PnP Monitor",
        "serial": "01010101",
        "type": "Generic PnP Monitor"
    }
],

And as a comparison info from our script:

"Monitors": [
        {
            "Manufacturer": "LG",
            "Model": "LG FHD",
            "SerialNumber": "16843009",
            "ProductCode": "5BCA",
            "YearOfManufacture": 2021,
            "WeekOfManufacture": 1,
            "MaxRefreshRate": 75.03,
            "MaxResolution": "1920 x 1080"
        },
        {
            "Manufacturer": "LG",
            "Model": "LG FHD",
            "SerialNumber": "16843009",
            "ProductCode": "5BC9",
            "YearOfManufacture": 2021,
            "WeekOfManufacture": 1,
            "MaxRefreshRate": 75.03,
            "MaxResolution": "1920 x 1080"
        }
    ]

I'm not sure where agent gets the 01010101 S/N, and more importantly, it completely skipped the second monitor. The correct S/N on the info plate of the monitor is something like: 201AAAAAA111

One idea I've come up with is changing registry value of EDID data for each monitor to include correct model and serial number, but due to nature of work our company does, monitors transfer to other computers fairly frequently and I'd like to avoid adding them manually. Changing registry wouldn't be an issue, but I'd rather avoid it for the sake of saving myself the hassle of keeping track of it.
Is there any way to automatically add these monitors to GLPI?

Offline

#2 2022-08-09 17:19:32

gbougard
Moderator
From: Montpellier, France
Registered: 2021-07-21
Posts: 537
Website

Re: GLPI Inventory Agent - missing monitors

Hi bananshar,

monitor inventory was always a pain with few manufacturers, as you noticed.

In your case, I don't think we can do anything as LF EDID datas are just wrong. You have filtered out the "base64" datas so I can't check myself (these datas are indeed the discovered EDID block encoded in base64 so we can debug such kind of problem).

Can you better share the result of the following command ?

glpi-inventory --debug --debug --partial monitor

As you're telling the second monitor is not inventoried, there's still can be another issue... but maybe this is just related to the fact they are both seen with the same serial...


GLPI-Agent developer from Teclib' and GLPI-Network team
Previously FusionInventory-Agent maintainer

Offline

#3 2022-08-10 08:37:32

bananshar
Member
Registered: 2022-08-04
Posts: 11

Re: GLPI Inventory Agent - missing monitors

Here you go:

[debug] Running GLPI::Agent::Task::Inventory::Generic
[debug] Running GLPI::Agent::Task::Inventory::Generic::Screen
[warning] Not merging not coherent BASE64 value for screen associated to 01010101 serial number
[debug] Running GLPI::Agent::Task::Inventory::Win32
[debug] Running GLPI::Agent::Task::Inventory::Win32::Bios
[debug] Running GLPI::Agent::Task::Inventory::Win32::Hardware
[debug] Running GLPI::Agent::Task::Inventory::Vmsystem
[debug] Running GLPI::Agent::Task::Inventory::Win32::Chassis
{
   "action": "inventory",
   "content": {
      "bios": {
         "bdate": "2018-12-24",
         "bmanufacturer": "American Megatrends Inc.",
         "bversion": "F3",
         "mmodel": "B450 AORUS M",
         "smanufacturer": "Gigabyte Technology Co., Ltd.",
         "smodel": "B450 AORUS M"
      },
      "hardware": {
         "chassis_type": "Desktop",
         "memory": 32719,
         "name": "ComputerName",
         "uuid": <redacted>,
         "vmsystem": "Physical",
         "winlang": "1033",
         "winowner": <redacted>,
         "winprodid": <redacted>,
         "winprodkey": <redacted>,
         "workgroup": <redacted>,
      },
      "monitors": [
         {
            "base64": "AP///////wAebcpbAQEBAQEfAQSlPCJ4+3tFpFVKoicLUFSlSwBxT4HAgQCBgJUAkECpwLMAKkSAoHA4J0AwIDUA4A4RAAAeAAAA/QAwS1VVEgEKICAgICAgAAAA/ABMRyBGSEQKICAgICAgAjqAGHE4LUBYLEUA4A4RAAAeAe4=",
            "caption": "LG FHD",
            "description": "1/2021",
            "manufacturer": "Goldstar Company Ltd",
            "name": "Generic PnP Monitor",
            "serial": "01010101",
            "type": "Generic PnP Monitor"
         }
      ],
      "versionclient": "GLPI-Inventory_v1.5-gite074b77e"
   },
   "deviceid":  "ComputerName.<redacted>-2022-08-10-08-28-54",
   "itemtype": "Computer",
   "partial": true
}

I had to redact some identifiable information, I thought before the base64 blob contains some. My employer would flip out if he found out about it wink

Offline

Board footer

Powered by FluxBB