π
<-
Chat plein-écran
[^]

[LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+CE !

Assembleur, Axe, C/C++, ICE...

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Epharius » 08 Mar 2024, 16:47

C'est quand même lmao cette histoire, je regarde le code d'AOSP même pour savoir comment il fait de son côté (CF https://github.com/aosp-mirror/kernel_c ... dis_host.c) et le truc bah... c'est qu'il fait pas grand chose de plus, en tout cas rien qui me paraisse suffisamment important.

Est-ce que tu peux essayer le programme suivant ? Dis moi :
- Si tu vois des points "." des virgules "," des points d'exclamations "!"
- La dernière chaine de caractère que tu vois parmis :
-> Correct config
-> RNDIS initialized
-> Getting IP...
-> DHCP 1
-> DHCP 2

Normalement elles devraient apparaitre dans cet ordre là. Perso je m'attends à ce que tu vois que les 3 premières strings, que tu vois 1 virgule, peut-être un ! mais fais moi rêver 8-)
(oublie pas de bien charger ton tel 0:] )
Fichiers joints
INTERNET.8xp
(15.8 Kio) Téléchargé 16 fois
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Wistaro » 12 Mar 2024, 22:15

Epharius a écrit:C'est quand même lmao cette histoire, je regarde le code d'AOSP même pour savoir comment il fait de son côté (CF https://github.com/aosp-mirror/kernel_c ... dis_host.c) et le truc bah... c'est qu'il fait pas grand chose de plus, en tout cas rien qui me paraisse suffisamment important.

Est-ce que tu peux essayer le programme suivant ? Dis moi :
- Si tu vois des points "." des virgules "," des points d'exclamations "!"
- La dernière chaine de caractère que tu vois parmis :
-> Correct config
-> RNDIS initialized
-> Getting IP...
-> DHCP 1
-> DHCP 2

Normalement elles devraient apparaitre dans cet ordre là. Perso je m'attends à ce que tu vois que les 3 premières strings, que tu vois 1 virgule, peut-être un ! mais fais moi rêver 8-)
(oublie pas de bien charger ton tel 0:] )


Coucou,

voici les résultats (tel android 7.0 + calculatrice chargés à fond) :

1) Je lance le programme sur la calculatrice. Le câble n'est pas connecté.
Rien ne s'affiche à ce stade sur la calculatrice.

2) Je connecte le câble (calculatrice -> téléphone). Le partage de connexion USB est possible sur le téléphone maitenant.

3) J'active le partage de connexion USB sur le téléphone.

Sur la calculatrice, j'ai des comportements différents.

Le plus souvent, ça affiche:

Code: Tout sélectionner
Correct Config
RNDIS initialized
Getting IP...
,


Parfois (assez rarement), du texte s'affiche très rapidement, et s'efface, laissant seule la "," visible en haut de l'écran.
Code: Tout sélectionner
,




Et parfois (beaucoup moins souvent, mais je l'avais au début de mes tests il me semble et j'arrive plus à le reproduire..) la virgule ne s'affiche pas mais le reste oui.

Code: Tout sélectionner
Correct Config
RNDIS initialized
Getting IP...


4) Au bout de quelques secondes, le partage de connexion USB se désactive et se grise sur le téléphone. Rien ne change sur la calculatrice.

5) Si je déconnecte le câble de la calculatrice, j'ai le message suivant qui s'affiche:

Code: Tout sélectionner
,W Failed to send packet
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Epharius » 13 Mar 2024, 10:11

C'est quand même incroyable qu'il arrive à initialiser la connection RNDIS mais pas à envoyer/recevoir de paquets.

Mais j'ai l'impression de comprendre là où ça bloque, je pense qu'il est bloqué dans un appel à `usb_Transfer`. Plusieurs raisons possibles :
- Le canal de communication (endpoint) pour le data n'est pas prêt et envoie des NACK en boucle -> je ne vois pas trop comment c'est possible, d'autant que le canal de contrôle qui me permet d'initialiser RNDIS fonctionne bien.
- J'essaie d'envoyer quelque chose d'interdit (paquet trop gros ? ça n'a pas l'air vu la config)
- La lib USB a un bug (mais je n'y crois qu'à moitié)

Que des raisons qui ne me convainquent pas vraiment...

Par ailleurs j'ai capturé les échanges USB entre mon ordi et mon téléphone au moment du partage de co tout comme tu avais fait, et j'ai exactement les mêmes paquets que toi dans la capture. Pour ainsi dire, j'ai même EXACTEMENT le même configuration descriptor que toi (à l'exception de 2/3 champs sans importance). Donc bon, voilà qui est vraiment très étrange.

Bref, je continue d'y réfléchir et je te redis, encore merci pour le temps que t'accorde à faire tous ces tests !


PS: Petite question, quand tu dis "se grise au bout de quelques secondes". C'est plutôt 2s ou 10s ?
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Wistaro » 13 Mar 2024, 18:32

Epharius a écrit:C'est quand même incroyable qu'il arrive à initialiser la connection RNDIS mais pas à envoyer/recevoir de paquets.

Mais j'ai l'impression de comprendre là où ça bloque, je pense qu'il est bloqué dans un appel à `usb_Transfer`. Plusieurs raisons possibles :
- Le canal de communication (endpoint) pour le data n'est pas prêt et envoie des NACK en boucle -> je ne vois pas trop comment c'est possible, d'autant que le canal de contrôle qui me permet d'initialiser RNDIS fonctionne bien.
- J'essaie d'envoyer quelque chose d'interdit (paquet trop gros ? ça n'a pas l'air vu la config)
- La lib USB a un bug (mais je n'y crois qu'à moitié)

Que des raisons qui ne me convainquent pas vraiment...

Par ailleurs j'ai capturé les échanges USB entre mon ordi et mon téléphone au moment du partage de co tout comme tu avais fait, et j'ai exactement les mêmes paquets que toi dans la capture. Pour ainsi dire, j'ai même EXACTEMENT le même configuration descriptor que toi (à l'exception de 2/3 champs sans importance). Donc bon, voilà qui est vraiment très étrange.

Bref, je continue d'y réfléchir et je te redis, encore merci pour le temps que t'accorde à faire tous ces tests !


PS: Petite question, quand tu dis "se grise au bout de quelques secondes". C'est plutôt 2s ou 10s ?


Okay :)

Ca pourrait pas venir d'un problème de charge au niveau de la calculatrice? Une batterie ancienne qui n'arriverait pas à alimenter le bus suffisamment longtemps?

Sinon, entre le moment ou je clique sur le bouton du téléphone et le moment où il se grise, c'est exactement 2 secondes :)
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Epharius » 14 Mar 2024, 15:01

Ca pourrait pas venir d'un problème de charge au niveau de la calculatrice? Une batterie ancienne qui n'arriverait pas à alimenter le bus suffisamment longtemps?

C'est vrai qu'au premier abord on a l'impression que c'est un pb de puissance, on a un peu les mêmes symptomes. Mais:
- Ma calculatrice date de 2015 et tout fonctionne bien malgré l'utilisation assez intensive que j'en fais, donc la tienne devrait pas être dans un état bien pire
- Je crois que j'ai eu un pb similaire avec le tel d'un pote, je pourrai essayer de chercher de ce côté là aussi
- La perte de co arrive toujours au même moment, si c'était un pb de puissance, ce serait plus aléatoire
- Et de toute façon la transaction DHCP qui est censé se produire ensuite prend moins d'une seconde, donc même si c'était ça le pb on réussirait quand même à acquérir une IP.


Sinon, entre le moment ou je clique sur le bouton du téléphone et le moment où il se grise, c'est exactement 2 secondes :)

OK 2 secondes c'est trop court pour que le téléphone mette fin à la co à cause d'une absence de paquets. Normalement sur RNDIS ça doit être de l'ordre de 20s, et encore, la co USB est censée restée, c'est juste que ce dernier envoie un paquet RNDIS Reset.

A suivre.......................
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Wistaro » 14 Mar 2024, 21:49

okay :)
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Wistaro » 05 Avr 2024, 15:41

Coucou Epharius,

J'ai peut-être une piste.

Je suis partis de la toolchain et des lib nightly, et j'ai tout réinstallé sur ma calculatrice.

J'ai testé le projet example de usbdrvce, "device_tree".

J'arrive à afficher le descripteur du téléphone, uniquement lorsque je fais la séquence suivante:

1) Je lance le programme "device_tree" sur la calculatrice, et je connecte UNIQUEMENT le téléphone au câble

Image

2) Je connecte l'autre bout du câble dans la calculatrice.

Image

Au bout de quelques secondes, le descripteur USB s'affiche sur la calculatrice, et le USB Tethering devient possible sur le téléphone ;

3) Si j'active le USB Tthering sur le téléphone, le descripteur disparait de la calculatrice, et le USB Tethering se grise.


Note: Si je fais l'inverse avec les câbles, c'est à dire si je connecte d'abord le côté "calculatrice", puis que je lance le programme et que ensuite je connecte le côté "téléphone", le descripteur n'apparaît jamais sur l'écran de la calculatrice (il ne détecte rien).

Probablement que le fait de physiquement connecter le câble côté calculatrice ça produit un reset ou un truc du genre....


A partir de là, j'ai tenté de faire les même étapes (1) e (2), avec le programme "INTERNET" (minimal).

Voilà ce que j'ai remarqué:

> Lorsque je connecte le côté "calculatrice" (le côté téléphone" est déjà connecté) lorsque le programme tourne sur la calculatrice (affiche "WEB Connection..."'), des fois j'arrive à activer le USB Tethering sans qu'il se dégrise (toujours "WEB Connection.." sur la calculatrice), des fois il se désactive tout seul au bout de 2-3 secondes. En déconnectant puis reconnectant uniquement le câble côté "calculatrice", ça finit généralement par stabiliser le comportement (le USB Tethering côté téléphone ne se désactive pas et reste actif!)

> Lorsque je connecte le côté "calculatrice" (le côté téléphone" est déjà connecté)puis que ensuite je lance le programme INTERNET, j'ai le même comportement assez aléatoire.

> Par moment j'ai l'impression que le programme freeze côté calculatrice (notamment quand j'active le USB Tthering, je ne peux plus quitter le programmer, si je débranche le câble côté calculatrice ça ram clear ou ne fait rien).
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: [LIB C] INTERNETCE : Internet pour 83 Premium CE et 84+C

Message non lude Epharius » 05 Avr 2024, 16:09

Yow, très intéressant tout ça ! Effectivement je fais comme ça d'habitude : je lance le programme, je connecte au téléphone puis en dernier à la calculatrice. J'ai remarqué que c'était l'ordre qui rendait la connexion la plus stable. Mais ça m'arrive de changer l'ordre des étapes et ça marche quand même chez moi. Bref, peut-être encore là un pb de puissance/voltage : on peut imaginer que connecter le câble en dernier sur la calculatrice fournit un pic de tension plus facilement détectable que l'inverse (je sors ça de mon imagination donc pas à prendre au maxi sérieux non-plus).

50% bonne nouvelle, 50% mauvaise nouvelle du coup : d'un côté ça donne une piste, de l'autre cette piste aboutit très certainement au fait que ton téléphone n'aura jamais une co stable avec le téléphone. On peut quand même espérer que ce soit suffisant pour lancer le programme...

Bref, en refaisant ces étapes dans cet ordre avec un tel branché à 100%, tu peux lancer les deux programmes en pièce jointe ? Le premier est programme qui affiche des traces de debug, et qui utilise la nouvelle façon de faire dont je t'ai parlé sur le chat ce matin. Le deuxième est le même programme mais sans aucune trace de debug : s'il t'affiche OK c'est que le programme fonctionne ! Ça vaut le coup d'essayer parce qu'afficher des trucs prend beaucoup de temps et plus on arrive à avoir une exécution rapide, plus il y a des chances que ça fonctionne si le problème vient de là. Si ça fonctionne, on aura la quasi confirmation que le problème vient de la stabilité de la connexion et pas d'autre part !


Par moment j'ai l'impression que le programme freeze côté calculatrice (notamment quand j'active le USB Tthering, je ne peux plus quitter le programmer, si je débranche le câble côté calculatrice ça ram clear ou ne fait rien).

Ca du coup ça a été quasi confirmé que c'est un problème lié à USBDRVCE, j'ai créé un ticket y'a quelques jours à ce propos. Mais grosso modo ce qu'il faut retenir c'est qu'à partir du moment où tu choisis une configuration USB (exemple : "Partage de fichier" et "USB tethering" sont des configurations possibles), débrancher le cable fait tout planter. Ca implique que si la calculatrice perd le signal du téléphone à cause de l'instabilité de la co, ça plantera aussi. Bref, un peu chiant mais je peux pas y faire grand chose. J'ai essayé de regarder le code de USBDRVCE y'a aucun commentaire et tout j'ai vite abandonné :p
Fichiers joints
INTERNET.8xp
Sans trace de debug
(8.85 Kio) Téléchargé 5 fois
INTERNET.8xp
Avec traces de debug
(18.11 Kio) Téléchargé 5 fois
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Précédente

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 40 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1727 utilisateurs:
>1710 invités
>12 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)