Les datas de la version 4.9.1 (290) bloquent le flux vidéo du prochain lancement de Dronelink DJI.
04 avril 2024 19 :00
Pour l’utiliser avec le DJI Mini 3 et une radiocommande RC-N1, la version 491 (290) a été téléchargée et installée sur un Samsung A34 5G.
Le tableau ci-dessus récapitule les 6 tests effectués avec la version la plus récente de Dronelink DJI.
Test 1 installation puis lancement.
Pour l’utiliser avec le DJI Mini 3 et une radiocommande RC-N1, la version 491 (290) Kermel 4.9.2 a été téléchargée et installée sur un Samsung A34 5G.
Le flux vidéo de la caméra s’affiche correctement. 😊
Test 2 lancement simple
L’application Dronelink DJI est fermée, puis relancée. Le flux vidéo de la caméra refuse de s’afficher et l’application se referme pour se mettre en arrière-plan.
Test 3 lancement sans se connecter au réseau.
Le résultat est identique au précédent : Le flux vidéo de la caméra refuse de s’afficher et l’application se referme pour se mettre en arrière-plan.
En insistant plusieurs fois, le message ci-dessous affiche la présence d’un bug.
Test 4 effacement des données, puis lancement
L’effacement des données (Paramètres => Applications => Dronelink DJI => Stockage => effacement des données) est le seul moyen pour obtenir à nouveau le flux vidéo de la caméra. 😊
Test 5 effacement des données + réseau déconnecté
Lors du lancement de Dronelink DJI, le message …SDK to register… s’affiche
Test 6 connexion au réseau + lancement simple
L’application est refermée. La connexion au réseau est rétablie.
Dronelink DJI est relancé sans avoir effacé les données qui s’étaient créées lors du précédent test.
Le flux vidéo de la caméra s’affiche correctement. 😊
Conclusions et propositions d’action
Ces 6 tests démontrent que les données qui sont créées après la phase …DJI SDK to register…, produisent un bug qui se retrouvent lors du lancement suivant de Dronelink DJI.
D’autres tests ont été effectués en enlevant que les données du cache. Cela n’a pas changé le résultat.
Le volume des données (sans le cache) est d’environ 56 Mo.
Dans le dossier Android/data/ se trouve un dossier com.dronelink.dronelink.dji d’une taille d’environ 18 Mo.
Pour permettre à Dronelink d’analyser ce dossier (qui n’est qu’une partie des données), il a été créé trois dossiers com.dronelink.dronelink.dji :
- 01regSDK obtenu après la fermeture de Dronelink DJI qui affichait ……DJI SDK to register… (test 5)
- 02FluxVideo obtenu après la fermeture de Dronelink DJI qui affichait correctement le flux video de la caméra (test 6)
- 03Bug obtenu après la fermeture de Dronelink DJI qui s’était mis en arrière-plan suite au bug (test 2)
Le contenu de ces com.dronelink.dronelink.dji sont dans un dossier de 29.33 Mo comprimé et téléchargeable à https://transfert.free.fr/K0z2Z4p
Ce lien est valable jusqu’au 3 mai 2024.
Conscient que le bug peut très bien être ailleurs que dans le dossier com.dronelink.dronelink.dji pour les raisons exposées ci-dessus, merci à Dronelink de créer un « bout de logiciel » pour décharger l’ensemble de ces données dans un répertoire qui serait copié par votre serviteur à l’issue des tests 5 ; 6 et 2.
Quels sont vos avis pour rechercher et corriger ce bug ?
Matériel et logiciel utilisés pour ce test
Drone DJI mini 3 ; firmware : v01.00.0410
Radiocommande RC-N1 ; Firmware v04.16.0500
DroneLink DJI Version 4.9.1 (290) ; Kernel 4.9.2
Smartphone Android :
Samsung Galaxy A34 5G sans carte SIM ;
wifi : Free, Orange ou SFR
code du modèle : SM-A346BZKAEUC
Android 14 ; OneUI 6.0 ;
Build : UP1A.231005.007.A346BXXSBWL2
Avec ce smartphone, la version beta de DroneLink DJI 4.8.3 (278) ; Kernel 4.8.0 fonctionnait correctement.
Comments
80 comments
If the bug is related to DJI SDK registration, we won’t be able to find or fix it as that is not part of our codebase, but instead would just have to forward the details to DJI, which we can do.
5 avril 2024 10 :15
Merci de demander à DJI quelles seraient les données qui seraient à supprimer au moment de fermer (ou de lancer) Dronelink DJI afin que le flux vidéo de la caméra se réalise correctement lors du lancement de l’application.
Bien entendu, les données à effacer ne devraient pas inclure celles qui sont utilisées lors de l’enregistrement du SDK de DJI.
Merci pour ce nouveau sujet et pour la persistance de la communauté à résoudre ce bug! :)
08 avril 2024 10 :40
L’affichage de la demande de DJI d’enregistrement du SDK n’apparait qu’au test 5 lorsque toutes les données avaient été préalablement effacées et que le réseau était déconnecté.
En conséquence, le bug ne peut provenir du code lié au SDK de DJI. En effet, le test 6 montre qu’une fois la connexion au réseau rétablie et sans avoir effacé les données, le flux vidéo s’affiche correctement.
De plus, c’est la même version 5.8.0 (Android) du DJI SDK qui est utilisée depuis le 13 décembre 2023 avec la version beta 4.8.3 de Dronelink DJI. Or, cette version 4.8.3 (278) de Dronelink DJI n’avait pas le bug.
Pour mémoire, le bug se manifeste par la fermeture de l’application au moment d’afficher le flux vidéo de la caméra.
C’est en 3 février 2024 qu’est apparu ce bug lors du déploiement de la version 4.9.0 de Dronelink DJI. La version du SDK de DJI est restée à la version 5.8.0.
Depuis la mi-mars, le bug semble avoir évolué dans le bon sens. En effet, à l’issue des tests 1 ; 4 et 6, il devenu possible d’afficher le flux vidéo en agissant sur les datas juste avant chaque lancement de l’application. Cette situation interdit l’utilisation de Dronelink DJI en l’absence de réseau (tests 3 et 5).
Voici un relevé des tailles mémoires utilisées par les datas qui ont été constatées lors de la fermeture de Dronelink DJI après chacun des tests 1 à 6.
A mon humble avis, il suffirait de réutiliser le « bout de code » de la version 4.8.3 qui effaçait les quelques données qui se créent entre les tests 5 et 6, pour que le problème rencontré par une minorité d’utilisateurs avec la version actuellement en exploitation 4.9.1 (290), soit résolu.
La taille maximale des données qui génèrent le bug au prochain lancement de Dronelink DJI, est inférieure à 27 Mo (= 47 - 20). Dans ces données se trouvent aussi celles liées à l’enregistrement du SDK par DJI. Bien entendu, ces dernières seraient à conserver.
Ces utilisateurs ont conscience que Dronelink n’a pas sur place une configuration pour tester l’effet de l’ajout de ce « bout de code ». En conséquence, il est suggéré à Dronelink de créer une version béta comportant ce « bout de code » afin que les utilisateurs évoqués plus haut, puissent s’assurer que le bug ait bien disparu en réalisant les tests 2 et 3.
Il est à remarquer que les tests 1 et 3 peuvent être réalisés sur place par Dronelink, avant la mise en ligne de la beta, pour être certain que les datas liées à l’enregistrement du SDK de DJI sont bien présentes.
Quand pourrait être mis en ligne cette version beta ?
Matériel et logiciel utilisés pour ce test
Drone DJI mini 3 ; firmware : v01.00.0410
Radiocommande RC-N1 ; Firmware v04.16.0500
DroneLink DJI Version 4.9.1 (290) ; Kernel 4.9.1
Smartphone Android :
Samsung Galaxy A34 5G sans carte SIM ;
wifi : Free, Orange ou SFR
code du modèle : SM-A346BZKAEUC
Android 14 ; OneUI 6.0 ;
Build : UP1A.231005.007.A346BXXSBWL2
Avec ce smartphone, la version beta de DroneLink DJI 4.8.3 (278) ; Kernel 4.8.0 fonctionnait correctement.
We did not change any code between 278 and 279 that would have affected the data in this folder, and all the data in the folder is generated by the DJI SDK. The logic of it not being the DJI SDK is only partially valid - the issue is that the DJI SDK registration calls out to a network server that DJI is hosting, and the data payload coming back from that server can and has changed over time due to changes DJI makes on the code running on the server. Without being able to reproduce the issue it actually makes it very difficult for us to identify where the bug is (either in our code or theirs).
Quelle a été la réponse de DJI à ce sujet ?
De quoi aurait besoin DJI pour identifier l’origine de ce bug ?
Pour information, un fil de discussion pour ce sujet, a été ouvert sur l'un des forums de DJI :
https://forum.dji.com/forum.php?mod=viewthread&tid=310518
Une courte vidéo présente en images le résultat de ces 6 tests sur la version 4.9.1 (288) qui avait été téléchargée le 09 avril 2024
https://youtu.be/U4djOeQZ6qI
Unless I’m misunderstanding something else I can see the live feed is working most of the time. I understand there is an issue but it seems it does work most of the time according to the video so of you if you can get it to work then I’d do it that way to use it. At least for now since DL cannot reproduce it on their end.
Mike : ça ne fonctionne pas pour tout le monde. Quoi que je fasse, sur la galaxy active tab 3 et un galaxy S24, le flux vidéo n'arrive pas et l'application plante.
Pour information,
à partir de la page intitulée « Comment résoudre l’échec de l’enregistrement de MSDK ? »
https://sdk-forum.dji.net/hc/en-us/articles/4403568500121-How-to-solve-the-fail-registration-of-MSDK
une demande a été soumise https://sdk-forum.dji.net/hc/en-us/requests/new
A suivre …
Matt. Understood but the Tab 3 is ancient which would more than likely not work anyway. The S24 is very new. Just seems like this issue keeps going on and it works for 99% of pilots. As Jim stated, if they can not reproduce it then there’s not much they can do. Use a device which works and enjoy. Just thought I’d put my 2 cents in. I’ll move on. Good luck.
Voici la réponse de DJI
Cher client
Merci d'avoir contacté DJI.
Salutations !
Voici l'équipe d'assistance technique de DJI SDK.
Nous avons été en contact avec DroneLink concernant ce problème, car DroneLink utilise MSDK 5.8 depuis longtemps et le service d'enregistrement du SDK n'a subi aucune modification pertinente. Par conséquent, nous ne savons actuellement pas s'il s'agit d'un problème causé par le SDK DJI.
Ce problème serait-il résolu si vous restaurez la version de l'application DroneLink ?
Cordialement,
Assistance aux développeurs DJI
Avant de formuler une réponse, quels sont vos avis ?
Downgrading isn’t going to solve this problem because we are not willing to let users run on outdated versions of Dronelink indefinitely, so please stop asking. We have already stated multiple times that we are not willing to do this.
When we contacted DJI they reported that this issue may be caused by this error in the SDK:
https://sdk-forum.dji.net/hc/en-us/articles/30404722342169-When-encountering-the-crash-java-lang-NullPointerException-Attempt-to-invoke-virtual-method-int-java-lang-Integer-intValue-on-a-null-object-reference-how-should-it-be-handled
They say it is corrected in 5.9, but we do not have access to this version of the SDK yet and they have not given a timeline on it. In the event that is does not fix the issue, we will be in the same place as today, which is we cannot reproduce the issue, meaning we can’t correct it.
15 avril 09:30 UTC
Pour information, voici une copie de la réponse transmise à DJI
" 14 avril 2024 17h00 UTC
....
Dronelink a été contacté pour savoir s'il était possible de télécharger la version qui fonctionnait avant le 2 février 2024 et qui utilisait MSDK 5.8.0.
La réponse de Dronelink est qu'il n'est pas possible d'assurer la maintenance des anciennes versions. En effet, celles-ci comportent des dysfonctionnements qui sont résolus dans les versions les plus récentes. Il semblerait que ce soit le même principe qui est appliqué, par exemple, par DJI pour l'application DJI Fly.
Pour votre information, il avait été tenté en février d'installer l'apk de l'ancienne version de Dronelink DJI. Une fois lancée, celle-ci se bloque pour demander de mettre à jour l'application vers une version plus récente.
A ce jour, la seule version disponible de Dronelink DJI pour Mini 3 est la 4.9.1 (288) ou (290). Celle-ci est la plus récente. En suivant votre conseil, celle-ci a été téléchargée à nouveau et installée. Le bug est toujours présent lors des tests 2 et 3. Pour mémoire, la pièce jointe envoyée avec le message précédent, détaille le contenu de ces tests.
Ce bug qui est principalement rencontré sur le sol français, ne peut pas être résolu par Dronelink. En effet, le bug est généré par un programme codé par DJI.
La difficulté principale est que ce bug n'a pu être reproduit aux USA où se trouvent les développeurs de Dronelink.
D'autre part, certains utilisateurs français rencontrent ce bug à tous les tests.
Depuis la mi-mars, j'ai découvert qu'en effaçant les données générées lors de l'enregistrement du MSDK, il devenait possible d'afficher l'image de la caméra lors du prochain lancement. Cela correspond au test 4 décrit dans la pièce jointe.
Par contre, dès que le réseau est absent, il est impossible de démarrer Dronelink qui se ferme au moment d'afficher l'image de la caméra (test 3).
De même, en lançant Dronelink sans avoir effacé au préalable les données, l'application se ferme au moment d'afficher l'image de la caméra (test 2).
Ce bug est bloqué, car il est impossible d'utiliser les DJI Mini 3 pour toutes les missions qui ont été préparées durant l'hiver dernier avec Dronelink via le web.
Suivant la disposition géographique des serveurs DJI dans le monde, ce crash pourrait provenir d'un délai insuffisant pour une initialisation incomplète de certains scénarios dans le MSDK.
https://sdk-forum.dji.net/hc/en-us/articles/30404722342169-When-encountering-the-crash-java-lang-NullPointerException-Attempt-to-invoke-virtual-method-int-java- lang-Integer-intValue-sur-une-référence-d'objet-null-comment-doit-il-être-géré
Dans cet article, il est évoqué une version 5.9 du MDSK. Quand DJI prévoit-il de rendre disponible cette mise à jour ?
Pour aider DJI à résoudre ce bug, il est possible de rendre téléchargeable les 27 Mo (= 47 - 20) de données qui sont chargées lors de la phase d'enregistrement du MSDK (test 6). En effet, c'est dans ces données que se trouve le bug qui empêche le MSDK de fonctionner correctement lors du prochain lancement de Dronelink DJI (test 2)... "
A suivre...
18 avril 2024 13 :00 UTC
La nouvelle version de Dronelink DJI 4.9.2 (291) | Kernel 4.9.2 a été téléchargée et installée.
Le bug persiste aux tests 2 et 3.
Sans prévenir, DJI avait classé le bug comme résolu.
Comme cela n’est pas le cas, un suivi de la précédente demande a été lancée avec la référence 105405.
De même, un fil de discussion a été ouvert sur un autre forum proposé par DJI :
https://sdk-forum.dji.net/hc/en-us/community/posts/31376967258009-Data-created-when-registering-MSDK-5-8-0-blocks-future-DJI-Dronelink-launches
A suivre …
Écrit le 19 avril à 13h30 UTC
Voici la réponse et les suggestions de DJI pour résoudre le bug.
Quels sont vos avis ?
------------------------------------
Si vous rencontrez un crash, pourriez-vous nous fournir les journaux de crash ?
D'après les résultats de vos tests, il semble que Dronelink puisse récupérer avec succès le flux vidéo du drone après avoir vidé le cache.
Cependant, l'exemple de code de MSDK (l'outil de test standard de MSDK) peut toujours récupérer le flux vidéo sans vider le cache. Par conséquent, pour le problème que vous rencontrez, il serait très utile que vous nous fournissiez un journal des incidents.
Lorsque vous reproduisez le crash sur Dronelink, si les options de développement de votre appareil sont activées et que des outils de débogage tels que ADB sont installés sur votre ordinateur, vous pouvez utiliser la commande "adb logcat -b crash" dans la fenêtre de commande pour imprimer les journaux de crash qui viennent de se produire.
Les journaux d'accidents sont des informations cruciales qui nous permettent d'identifier la cause du crash.
La version 5.9 devrait sortir en avril ou mai.
21 avril 2024 16:30 UTC - pour information, voici une copie de la réponse transmise à DJI
-----------------------------
Nous vous remercions pour la promptitude de votre réponse.
Huit fichiers incidents de type logcat ont été créés et placés dans un dossier compressé qui est téléchargeable à : https://transfert.free.fr/zhmiF5W
Ce lien est valable jusqu’au 20 mai 2024.
Les fichiers concernent chacun des 6 tests évoqués en topic.
Test 1 : logcat_04-21-2024_09-27-46test01ok.txt
La version téléchargée le 18 avril 2024 de Dronelink DJI a le numéro 4.9.2 (291) | Kernel 4.9.3
Test 2 : logcat_04-21-2024_09-29-49test02crash.txt
Ce test s’est terminé par un crash.
Test 3 : logcat_04-21-2024_09-33-01test03crash.txt
Ce test s’est aussi terminé par un crash. Android a proposé d’effacer le cache.
Un nouveau test a été effectué et s’est aussi terminé par un crash.
Il avait été constaté que l’effacement du cache ne change rien au résultat.
Test 5 : logcat_04-21-2024_09-35-19test05dskToRegister.txt
L’application a été fermée après l’affichage demandant de se connecter au réseau pour enregistrer le SDK de DJI
Test 6 : logcat_04-21-2024_09-37-02test06ok.txt
Le test s’est correctement terminé.
Test 4 : logcat_04-21-2024_09-38-43locApproTest04ok.txt
Il a été sélectionné une localisation approximative. Le test s’est correctement terminé.
Tests 4 :
logcat_04-21-2024_09-40-30locPreciseTest04ok.txt et
logcat_04-21-2024_09-42-36locPreciseTest04ok.txt
Ces deux tests ont été effectués avec une sélection de la localisation précise.
Ces deux tests se sont correctement bien terminés alors qu’auparavant la localisation précise entrainait un crash.
A votre disposition pour fournir de plus amples informations pour aider à faire fonctionner (en France) Dronelink DJI pour un DJI mini 3.
Matériel et logiciel utilisés pour ces tests
Drone DJI mini 3 ; firmware : v01.00.0410
Radiocommande RC-N1 ; Firmware v04.16.0500
DroneLink DJI Version 4.9.2 (291) ; Kernel 4.9.2
Smartphone Android :
Samsung Galaxy A34 5G sans carte SIM ;
wifi : Free, Orange ou SFR
code du modèle : SM-A346BZKAEUC
Android 14 ; OneUI 6.0 ;
Build : UP1A.231005.007.A346BXXSBWL2
21 avril 2024 15:40 UTC - réponse de DJI
Cher client
Merci d'avoir contacté DJI.
Je suis arrivé aux informations du journal que vous avez fournies. J'aurai besoin d'un peu de temps pour analyser ces informations de journal, veuillez patienter un moment.
Cordialement,
Assistance aux développeurs DJI
A suivre ...
There is no reference to Dronelink crashing in any of the logs that you uploaded.
Voici une autre vidéo qui détaille les différentes étapes de ces 6 tests : https://youtu.be/bjHasTPaRIY
Aux tests 2 et 3, l'application ne crashe pas à proprement parler. En effet, il suffit d'appuyer dessus pour qu'elle continue à fonctionner comme si rien s'était passé.
Néanmoins, il y a un bug dans les données qui la fait mettre en arrière-plan au moment d'afficher le flux vidéo de la caméra.
Ce bug est difficile à débusquer car il ne produit pas aux USA.
Espérons que les fichiers logcats envoyés à DJI permettront de dénicher l'origine de ce bug qui semble se produire principalement en France.
A suivre...
Here is a quick update from my side after a few trips over the last few months:
With my Android S20, Dronelink has worked perfectly fine in Switzerland, Romania, Poland, the USA, and Mexico, with no crash/app coming in the background, irrespective of the settings/configuration.
In France, however, I can never receive the video feed, and the app goes in the background (also with the most recent version). This reinforces the view that the problem only comes from the network the phone is registered with (or geographical location). I doubt it comes from the phone version (US or Europe), as it was previously assumed in the thread.
I hope this helps, and thanks for your efforts to solve this issue.
Merci à Loïc pour ce retour.
en France : Un utilisateur arrive à tout avoir. Prochainement, je serais près de la frontière Suisse et autre fois près de la frontière Espagnole pour faire des essais.
En attendant, voici la réponse de DJI qui rejoint celle de Jim :
"...J'ai examiné les journaux logcat que vous avez fournis, mais ils ne contiennent aucune information relative au MSDK ou aux plantages. Nous ne sommes pas en mesure d'analyser les exceptions dans le SDK sur la base de ces journaux.
Comment capturez-vous ces journaux ? Si vous souhaitez enregistrer tous les journaux pendant l'exécution de l'application, vous devrez utiliser la fonction de débogage à distance adb. En règle générale, cela implique de connecter votre téléphone à l'ordinateur exécutant adb sur le même réseau local, puis d'utiliser la fonction de capture réseau d'adb pour obtenir les journaux logcat de votre téléphone..."
J'utilisais l'application LogCat Reader. La méthode préconisée par DJI sera mise en oeuvre par votre serviteur.
A suivre ...
Pour ajouter un élément, j'ai actuellement un plantage avec un OnePlus 7 (Android 12) et une RC-N1 et DJI Mini 3. Je copie-colle mes tests (moins poussés) que j'avais indiqué dans une autre enfilade (désolé en anglais car j'avais fait toute en anglais):
Now, what I've tested:
De ce que je comprends des échanges précédents, mon plantage a lieu lors de la connexion vidéo. Je vais essayer ce soir avec nettoyage des données pour voir si cela résout partiellement le problème.
Bonjour, pour information moi rien ne fonctionne non plus... Même en supprimant les données. Dès que le drone se connecte, il me donne son nom, niveau de batterie et crash directement! Un peu énervant quand on paye l'application et que rien ne fonctionne dès la première utilisation.
We are doing our best to resolve the issue, but if you are unable to wait for a fix you can request a refund: https://www.dronelink.com/refund
J'ai testé ce soir et cela plante même après suppression des données. C'est vraiment dommage, j'espérai tant réussir à faire avec mon DJI ce que je fais avec mon vieux Parrot et mon vieil iPad (via Pix4D capture). Je cherche quelque chose de plus pérenne, pour l'instant pas rassurant si cela plante comme cela.
Est-ce qu'il est prévu de porter le support DJI Mini 3 sur iOs?
I tested again this evening in France with apparently a "kernel update" (4.9.3), but the problem is still the same.
In my case, I do not want a refund because the app used to work better than any other, and I am sure a solution will be found. However, it is getting frustrating... How we went from an app allowing us to do this with super safety involved a year ago (with follow and focus mode) to being unable to open it without a crash for six months is beyond my understanding...
Thanks again for your renewed efforts,
Loïc
25 avril 2024 09 :30 UTC
Voici le lien pour télécharger deux fichiers logcat obtenus avec Android Studio relié par Wi-Fi au Samsung A34 lors de tests 2, c’est-à-dire, sans effacer les données avant le lancement de Dronelink DJI
https://transfert.free.fr/OlDnLaO
Comme l’utilisation d’Android Studio est une découverte, merci de m’indiquer si ces fichiers logcats sont suffisants pour se faire une idée de l’origine du bug.
25 avril 2024 15 :45 UTC
Voici le lien pour un autre fichier logcat généré avec Android Studio qui montre un test d’installation (test 1) qui affiche bien le flux vidéo de la caméra.
Ce test est suivi de 3 tentatives de test 2 qui consistent à relancer l’application Dronelink DJI sans effacer préalablement les données. Les test 2 aboutissent tous au bug.
Ce lien de téléchargement https://transfert.free.fr/xNiPMak est valable jusqu’au 24 mai 2024
Please sign in to leave a comment.