• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Numéro de série écrans LG
#1
Bonjour,
Depuis les dernières versions des agents, les écrans LG remontent "des numéros de série" en provenance du code EDID renvoyé par le constructeur, mais la norme n'étant pas respectée par LG ça ne correspond pas au numéro de série réel.

Il y a quelques années, je m'était "amusé" à essayer de savoir si LG codait ses numéros, et si c'est non-standard c'est bien - au moins en partie - le cas.

Par exemple, le numéro "00052AF4" remonté par Fusion correspond au numéro de série "711xxxx9Y676".

00 05 2A F4 en hexa = 338 676 en décimal : voilà (en gras) les 3 derniers chiffres du numéro de série.

Quant aux 3 autres chiffres décimaux (338), c'est plus complexe mais il correspond bien aux deux caractères devant, à savoir le 9Y : il s'agit d'un codage sur une base 34 "by LG" : 0123456789ABCDEFGHJKLMNPQRSTUVWXYZ

J'ai déduit l'élimination des O et I par leur proximité du 0 et 1, et tout concorde parmi mes refs. :
- serial : xxxx0V690 => 000073Fa = 29 690 / 29 = 0V
- serial : xxxx69238 => 000340F6 = 213 238 / 213 = 69
- serial : xxxx9Y676 => 00052AF4 = 338 676 / 338 => 9Y

Il est aussi possible de récupérer les 3 premiers chiffres avec 2 octets supplémentaires qui contiennent la semaine et l'année de construction de la dalle.
Dans le numéro 711xxxx9Y676, le code EDID complet est "11 0B 00 05 2A F4"
11(h) = 17(d), soit 1990 + 17 = 2007, année de construction
0B(h) = 11(d), semaine de construction
=> ce qui nous donne bien "711" (edit : nous n'achetons plus de LG à cause du numéro de série à gérer, à voir si en 2010 les numéros de série on été "allongés" ou sont passés à ABC, voir un nouveau codage !)

Malheureusement, sans les 4 lettres centrales il est difficile d'avoir la totalité du numéro de série, mais je n'ai pas trouvé de logique, peut-être n'y en a-t-il même pas !

J'ai vu passer un hack pour une autre marque d'écrans, donc si ça vous dit de coder la fin du numéro de série dans l'agent pour LG... c'est plus significatif que l'hexa !
Glpi 0.85.2 + Plug'in Fusion Inventory 0.85+1.1 + Agents Fusion 2.3.15
Serveur Debian 7, Apache 2.2.22, PHP 5.4.36
  Reply
#2
Pour suivi, demande faite ici : http://forge.fusioninventory.org/issues/1848

J'ai depuis modifié pour ajouter quelques modèles et 3 ref. qui fonctionnent uniquement avec conversion décimale :
Code:
substr($edid->{serial_number2}->[0], 8, 4) ;
    } elsif (
        $edid->{EISA_ID} &&
        $edid->{EISA_ID} =~ /^GSM(4e4e|4e4f|43e5|43e6|4b20|4b21|4446|4447|4372)$/
    ) {
        # split serial in two parts
        my ($high, $low) = $edid->{serial_number} =~ /(\d+) (\d\d\d)$/x;
        # translate the first part using a custom alphabet
        my @alphabet = split(//, "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ");
        my $base     = scalar @alphabet;
        $info->{SERIAL} =
            $alphabet[$high / $base] . $alphabet[$high % $base] .
            $low;
    } elsif (
        $edid->{EISA_ID} &&
        $edid->{EISA_ID} =~ /^GSM(3b80|3b55|3b59)$/
    ) {
        my ($low) = $edid->{serial_number} =~ /(\d\d\d\d\d)$/x;
        $info->{SERIAL} =
            $low;
    } else {

95% des écrans semblent ok mais quelques uns de même référence semblent avoir des exceptions...
Glpi 0.85.2 + Plug'in Fusion Inventory 0.85+1.1 + Agents Fusion 2.3.15
Serveur Debian 7, Apache 2.2.22, PHP 5.4.36
  Reply
#3
Bonjour EmpereurZorg,

Guillaume a fait beaucoup de correction sur ce sujet. Peux-tu ouvrir un bug sur la forge et évoquer ce cas ?
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)