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: 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
- JT808 device ID = 6 octets BCD = toujours 12 chiffres côté wire — peu importe ce qu’affiche le label produit
- Les fabricants chinois raccourcissent souvent l’ID imprimé en supprimant les leading zeros pour l’esthétique — ne pas leur faire confiance pour la valeur exacte à mettre côté serveur
- Le sniff du payload est la vérité : si tu vois
01 91 76 77 59 99dans la trame, c’est019176775999, point. La sérigraphie du boîtier ment. - Traccar ne loggue rien quand l’ID ne matche pas — il garde la connexion ouverte mais n’envoie pas la response de registration. Symptôme visible uniquement par sniff sortant vide
- Pas l’IMEI : sur les firmwares JT808, l’ID device est distinct de l’IMEI du module radio. Ne pas mélanger.