Aller au contenu
Sylvain Joffraud l4w
Retour

JT808 : l’ID du device est 12 chiffres BCD, pas 11

Tracker GPS qui parle JT808 (standard chinois GPS véhicule), correctement identifié par sniff hex (voir identifier le protocole d’un tracker GPS par sniff hex). Traccar écoute le bon protocole sur le bon port. J’ai déclaré le device dans Traccar admin avec l’ID imprimé au dos du boîtier — 19176775999. Le tracker se connecte, envoie son paquet de registration, et là encore : Traccar ne répond pas et la position ne remonte jamais.

Aucune erreur côté serveur. Le device reste marqué Offline dans l’admin.

Symptôme

$ netstat -tn | grep :5174
tcp  0  0  10.0.0.5:5174  78.x.x.x:24315  ESTABLISHED

Cette fois la connexion reste ouverte (Traccar ne ferme plus = bon signe), mais aucune réponse n’est jamais envoyée au tracker. Pas de paquet Flags [P.] sortant. La table tc_positions reste vide.

Cause

Le format JT808 transporte l’identifiant du device sur 6 octets en BCD (Binary Coded Decimal) = exactement 12 chiffres. Quand le tracker s’enregistre, il envoie son ID complet sur ces 12 chiffres, leading zero inclus si besoin.

Le label imprimé au dos du boîtier dit ID: 19176775999 — 11 chiffres, sans le 0 de tête. Le fabricant le « raccourcit » pour le rendre plus lisible, mais le firmware envoie sur 12 chiffres.

Sniff du payload :

7e 01 00 00 2d 01 91 76 77 59 99 00 2c ...
            └────────────┘
             01 91 76 77 59 99
             = BCD "019176775999"  (12 chars, leading 0)

Traccar cherche un device avec uniqueId = "019176775999". L’utilisateur a déclaré "19176775999". Pas de match → Traccar ne répond pas à la registration → tracker n’envoie pas de position.

Solution

Dans Traccar admin → édite le device → Identifier = 019176775999 (12 chiffres, leading 0). Pas l’IMEI, pas le numéro SIM, pas l’ID raccourci au dos du boîtier — l’ID BCD-aligné sur 12 caractères.

Vérification rapide après changement : tcpdump sortant depuis le serveur doit montrer une réponse JT808 dans les 30 secondes (msg 0x8100 = response to registration), puis les positions remontent.

Lessons learned


Partager cet article :

Article précédent
Traccar : forcer un protocole sur un port précis
Article suivant
Tracker GPS chinois : identifier le protocole par sniff hex