Trucs&Astuces

Manuels d'utilisation

Bug GPS du Reversale


Si le carnet de vol de votre Reversale vous envoie dans le futur (ou bientôt dans le passé), c'est que vous êtes victimes du fameux bug du 6 avril 2019. La littérature sur le sujet étant déjà suffisamment abondante, on ne revient pas dessus.

Peut-on y faire quelque chose? Bonne nouvelle, oui !

Les remèdes envisageables:

- Modifier après déchargement la date de la trace IGC. Ça se fait à la main ou en utilisant LogFly mais c'est contraignant, ça ne corrige pas le carnet de vol du Reversale et la signature de la trace IGC est perdue. Je ne vous parle pas de la compétition...

- Corriger ce bug au niveau du firmware du Reversale. Ça serait de loin le plus simple mais à moins d'une résurrection de l'équipe de développement ou de la publication des sources, ça semble compromis...

- Mettre à jour le firmware du module GPS. C'est par là qu'on a voulu commencer mais malheureusement le module en question, un PA6E-V01, est très ancien et le dernier firmware disponible était déjà chargé dessus. Donc pas d'issue.

- Changer le module par un non buggué. C'est ce qu'on vous propose ici pour un coût de l'ordre de 20 euros.

Les étapes du processus:

1- Acheter un nouveau module GPS

2- Vérifier/Paramétrer le nouveau module (plus ou moins facultatif...)

3- Dessouder l'ancien module sans tout arracher

4- Souder le nouveau module

5- Petit nettoyage interne du Reversale

6- Voler !

Le Reversale traité ici est un VGP2011 en version 6.15 option compétition.

1- Acheter un nouveau module GPS

Tant qu'à faire, on en a choisi un qui pouvait se souder en place et lieu de l'ancien. Il valait donc mieux rester dans la même marque à savoir Global Top. Et là, bonne surprise, plusieurs modèles seraient compatibles (PA6E-CAM, PA6C, PA6H). Nous avons choisi le PA6C en raison de sa disponibilité et de son prix. Bon il est obsolète aussi mais moins que le PA6E ! Et il tourne avec le chipset Mediatek MT3339 (au lieu du MT3329) qui est toujours très populaire. Par rapport à l'ancien module, non seulement on corrige le bug mais en plus on devrait gagner en performance et en consommation.

Les premiers modules PA6C utilisés avec succès viennent d'ici:

https://fr.aliexpress.com/item/32688077493.html?spm=a2g0w.search0104.3.7.3852135ci0sJ2m&ws_ab_test=searchweb0_0%2Csearchweb201602_10_10065_10068_319_317_10696_10084_453_10083_454_10618_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_321_322_10103%2Csearchweb201603_52%2CppcSwitch_0&algo_expid=2dbf1981-1e8f-4969-9f08-f8554e1a9312-0&algo_pvid=2dbf1981-1e8f-4969-9f08-f8554e1a9312&transAbTest=ae803_3

A noter que nous avons rencontré des soucis avec une autre source qui livrait à la place des PA6C, des PA6B qui étaient buggués. Ne pas hésiter à demander un remboursement dans ce cas.

Edit du 02/09/2019:

Suite à des problèmes récurrents de disponibilité sur le PA6C, nous avons essayé aussi le PA6H avec succès. Il faut même savoir que c'est cette référence qui est montée sur les derniers Reversale ne présentant pas le bug GPS.

Nous les avons pris ici:

https://fr.aliexpress.com/item/623742154.html?spm=a2g0s.9042311.0.0.564e6c37MrRpqd

2- Vérifier/Paramétrer le nouveau module (plus ou moins facultatif...)

Pas de panique, il est probable que le nouveau module soit directement compatible et que cette étape puisse être sautée. Cependant si vous n'êtes pas joueur il y a un certain nombre de points qu'il vaut mieux vérifier avant de souder le module car ensuite les modifications sont plus délicates. Ces paramètres sont:

- Le baudrate à 9600 bauds.

- Les messages NMEA présents et leurs fréquences d'émission. Nous avons par exemple constaté que le Reversale avait besoin de la trame $GPVTG car il envoie au moment du démarrage, une requête au module pour activer cette trame. Ce qui est amusant c'est qu'il le fait avec une commande au format SiRF ($PSRF103,05,00,01,01*20) alors qu'on est ici chez Mediatek ! Le module ne comprend évidemment rien mais pas grave puisqu'il la propose déjà. C'est probablement un vestige de la période de développement. Il n'y a que moi qui trouve ça amusant ? Bon passons... Toujours est-il que cette trame n'est pas toujours présente par défaut car redondante mais là elle l'était.

Et donc pour tout ça, il faut entrer en communication avec le module de préférence avant de le souder. Il faut l'alimenter et connecter RX et TX. En tout 4 fils en logique 3,3V (pas en 5V ni en niveau RS232 j'aurai prévenu !)

On utilise par exemple ce convertisseur USB qui a la bonne idée de fournir aussi du 3,3V:

https://fr.aliexpress.com/item/32673467746.html?spm=a2g0s.9042311.0.0.27426c379RxHdR

Ensuite on ouvre TeraTerm à 9600 baud 8n1 sans contrôle de flux.

On vérifie que le module communique bien et on devrait obtenir toutes les secondes un truc du genre:

$GPRMC,235943.036,V,,,,,0.00,0.00,050180,,,N*4E

$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,235944.036,,,,,0,0,,,M,,M,,*40

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,235944.036,V,,,,,0.00,0.00,050180,,,N*49

$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,235945.036,,,,,0,0,,,M,,M,,*41

$GPGSA,A,1,,,,,,,,,,,,,,,*1E 

Ensuite on vérifie la version du firmware avec la commande:

$PMTK605*31

et en retour on devrait obtenir mélangé à tout le reste:

$PMTK705,AXN_2.10_3339_11092201,5013,,*20

où 2.10 est la version du firmware du module. Même si cette version 2.10 n'est pas la toute dernière disponible, comme ça fonctionne bien comme ça, pour le moment on ne se lance pas dans une mise à jour avec ses éventuels effets de bord à gérer même si le risque est faible.

Et enfin on vérifie l'absence du bug en plaçant le module en vue du ciel et en attendant un peu (la toute première position peut prendre un peu de temps car le module est vierge). On devrait finir par voir la bonne date du jour apparaître:

$GPGGA,131857.081,,,,,0,0,,,M,,M,,*48

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,131857.081,V,,,,,0.00,0.00,010719,,,N*43

$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

A ce stade tout est bon, le module est prêt à être soudé.

Si ça se passe vraiment différemment chez vous, je ne peux que vous inviter à consulter le protocole Mediatek ici:

https://cdn-shop.adafruit.com/datasheets/PMTK_A11.pdf

Il peut y avoir quelques variations en fonction de la provenance de votre module. Par exemple le marché des drones utilise les mêmes modules à 115200 bauds avec un rafraîchissement à 10 fois par seconde.

Mais de notre côté, jusqu'à présent sur le peu de modules reçus, tous auraient pu être soudés directement. A vous de voir.

3- Dessouder l'ancien module sans tout arracher

Evidemment avant de commencer à dessouder, il faut débrancher la batterie du Reversale !

Ensuite oubliez la pince coupante ou autre Dremel. Ceux qui ont essayé, savent de quoi je parle...  La technique la plus simple et la moins stressante pour la carte est d'utiliser une brasure très basse température à base d'indium. Ça consiste à "diluer" l'étain avec cette brasure pour en abaisser la température de fusion à tel point qu'on a le temps de chauffer toutes les soudures avant que la première ne se soit re-solidifiée. Pour ce type de module, je trouve que c'est encore mieux qu'une machine à air chaud ou infrarouge.

Pour plus de détails voir par exemple:

https://www.youtube.com/watch?v=7kyaz4Zrd78

et la vidéo du dessoudage du module sur un Reversale:

https://www.youtube.com/watch?v=WGFxaQ_yxLw&feature=youtu.be

Un exemple d'approvisionnement de ce kit ici:

https://www.amazon.fr/Removal-ChipQuik-Alloy-2-5ft-alcohol/dp/B00HKJP8GU/ref=sr_1_1?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=chipquik+removal&qid=1562021816&s=hi&sr=1-1

Ce n'est pas donné mais avec un kit, on doit pouvoir traiter une bonne dizaine de modules.

Une fois dessoudé et nettoyé on obtient ça:

4- Souder le nouveau module

C'est la partie la plus facile. Pour autant ce n'est quand même pas le moment d'apprendre à souder. C'est comme cuire des pâtes. C'est pas compliqué mais quand on sait pas faire, c'est pas bon... Commencez par positionner le module en soudant un pad en évitant une masse qui est souvent plus longue à chauffer. Mais on ne s'étend pas là-dessus, ce n'est pas le sujet.

Il y a un pad de masse supplémentaire sur le nouveau module. On ne s'en occupe pas, ça ne change rien. Si le nouveau module est un PA6H, il y a encore plus de pads orphelins. Pareil, on ne s'en occupe pas.

La vidéo du soudage sur un Reversale:

https://www.youtube.com/watch?v=ZaGnhrTaxaY&feature=youtu.be

L'ancien et le nouveau module:

Le nouveau module monté:

Le nouveau module monté

5- Petit nettoyage interne du Reversale

Remontez tout comme il faut mais avant d'aller faire une jolie trace, il y a encore un peu de travail de nettoyage dans les répertoires du Reversale.

Se connecter au PC et allez supprimer (après les avoirs sauvegardés ailleurs) toutes les dernières traces à la date décalée ainsi que le fichier ANN2099.TXT dans le répertoire VOLS. Et enfin supprimez après sauvegarde de précaution les fichiers PARAM.VGP et PARAM.BAK de la racine. Ça remet les paramètres par défaut qu'il vous faudra reprendre si besoin mais sans ça, le carnet de vol reste bloqué en 2099.

Moins bourrin: Pour ceux qui tiennent à actualiser leur carnet de vol Reversale avec les vols buggués et ne pas réinitialiser les paramètres, c'est possible aussi grâce au travail de Gej sur le forum du chant du vario:

http://www.parapentiste.info/forum/reversale/bug-6-avril-2019-t53573.50.html

Cela permet selon ses propres mots de faire comme si le bug n'avait jamais eu lieu.

6- Voler

Allez faire une jolie trace pour vous réjouir de retrouver le carnet de vol et les traces revenus à notre époque !

Avant:

Avant

Après:

Après

Vous l'aurez compris, le point un peu technique du processus est de dessouder le module sans tout fracasser. Si le module est vierge de toute personnalisation, la suite se passe facilement. S'il faut le re-paramétrer ou même le mettre à jour, c'est une autre histoire mais ça reste faisable.

N'hésitez pas à nous faire part de vos succès ou difficultés à tuto_reversale@lespiafsmigrateurs.fr

On enrichira ce tuto avec d'autres photos et commentaires au fur et à mesure.