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 (cf [[71-identifier-protocole-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: 1917677599911 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