Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

deconnexion ttyACMx si parametrage UART AMBA?...
#1

Bonjour à tous!

peut être pourrez vous me fournir quelques pistes pour résoudre le problème suivant:

je connecte sur une carte fille empilée sur le Pi (RPi2) un module GNSS (GPS) de la marque u-blox modèle M8N qui fonctionne très bien via sa connexion usb (celui-ci est vu comme un périphérique ACM, un modem donc) je reçois bien toutes les infos NMEA...
Maintenant pour les raisons de mon petit projet j'ai besoin d'utiliser l'UART interne du Pi (ttyAMA0) donc j'effectue une configuration des GPIO de telle manière que Tx/Rx soit en ALT0 et RTS/CTS en ALT5 via 'stty'. La configuration se met correctement en place et en utilisant un 'loopback' je valide le fonctionnement de la connexion via minicom.

=> le problème c'est qu'une fois la configuration de l'uart effectuée:

stty -F $UART_RPI speed $BAUD_RATE crtscts cs8 -parenb -cstopb
stty -F $UART9523 eof ^A
stty -F $UART9523 eol ^M
stty -F $UART9523 min 1
stty -F $UART9523 time 0
stty -F $UART9523 -brkint -icrnl -imaxbel
stty -F $UART9523 -opost onlcr
stty -F $UART9523 -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

avec UART_RPI=/dev/ttyAMA0

cela me déconnecte le ttyACM0? et je perds mon signal GPS. Comme on peut le voir dans l'extrait des traces fournit par dmesg

$ dmesg

[ 0.195070] Serial: AMBA PL011 UART driver
[ 0.195284] 3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011 rev2

[ 2.118433] usb 1-1.4: New USB device found, idVendor=1546, idProduct=01a8
[ 2.120315] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.122166] usb 1-1.4: Product: u-blox GNSS receiver
[ 2.123985] usb 1-1.4: Manufacturer: u-blox AG - www.u-blox.com

[ 15.647375] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
[ 15.651478] usbcore: registered new interface driver cdc_acm
[ 15.651518] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

configuration de l'UART

[ 957.453950] usb 1-1.4: USB disconnect, device number 4 <= ttyACM0
[ 957.890349] uart-pl011 3f201000.uart: no DMA platform data <- ??? pas trouvé vraiment d'infos...

Donc la métohde bourrins serait de ré-activer le device, sauf que je comprendrais toujours pas pourquoi ce problème survient et que je ne maîtriserais rien...
Toute infos ou pistes a creuser serons les bienvenues Wink

MErci par avance.
#2

Bonsoir,
ls -l de /dev, ttyAMA0 nombre mineur 204 nombre majeur 64

l'exécution du programme se fait bien sous root ou avec sudo?

ce programme peut-il contenir un set -x? trace de son exécution

strace le nom du programme parrait correct?

le GPS n'attend pas la vision des sarellites?
A+
JB1
#3

merci Jb1 de t'intérresser à mon problème,
donc oui execution via sudo , mais il est vrai que je pourrais très configurer les périphériques pour faire parti d'un groupe tel que l'accés puisse se faire depuis mon utilisateur principal
J'ai pas compris la remarque sur 'strace', que devrais je voir apparaître dans le cas d'un problème?
Quand je dis que le signal GPS est perdu, il serait plus exact de dire que le périphérique est totalement déconnecte!

Donc lorsqu'il y a une configuration de l'uart pl011 => une déconnexion de mon périphérique USB

Ce qui est curieux c'est que j'obtiens le msg système suivant "uart-pl011 3f201000.uart: no DMA platform data" qui si l'on regarde le code du driver http://lxr.free-electrons.com/source/dri...011.c#L163 ligne 306 semblerait indiquer que l'objet suivant n'est pas correctement initialisé:
struct amba_pl011_data *plat = dev_get_platdata(uap->port.dev);

A partir de là je séche un peu sur la méthode et la stratégie a adopté pour tracé le problème...
Mais surtout pourquoi l'init sérielle a un impact sur ttyACM0???
#4

Bonjour,
dans /etc/services le port 255 est libre:
pl011_setup_status_masks(struct uart_port *port, struct ktermios *termios)
1770 {
1771 port->read_status_mask = UART011_DR_OE | 255;

normalement le paramétrage de l'uart est fait dans pl011:
ligne 2237 à 2245

dans /var/log/messages rien d'inquiétant?

peux-ti lancer pl011 de cette manière sous root:
strace pl011

A+
JB1
#5

un jetté un coup d'oeil a:
http://infocenter.arm.com/help/topic/com...DI0183.pdf
JB1
#6

Bonjour jb1,
en ce moment j'ai pas trop de temps pour m'occuper de ça d'où ma réponse tardive :8
Merci pour la doc de l'UART je vais la lire avec attention.
Sinon rien d'étrange concernant l'uart dans le /var/log/messages si ce n'est l'erreur que j'ai remonté dans le premier post.
Faudrait que je me procure un oscillo pour vérifier qu'il ne s'agisse pas de mon module alim 3v3 qui tienne pas la charge pendant un court laps de temps lorsque je mets en fonction un carte annexe via un gpio. Cela pourrait être la cause de la déconnexion de l'usb?..
Faut que je trouve le temps maintenant mais déjà avec tes pistes j'ai de quoi faire.
Je vous tiendrais au courant dès que j'aurais avancé dessus.

A+
#7

Bonjour,
Code :
avec UART_RPI=/dev/ttyAMA0

cela me déconnecte le ttyACM0?  et je perds mon signal GPS. Comme on peut le voir dans l'extrait des traces fournit par dmesg

/dev/ttyACM0 je vois ce dev avec un Arduino

du bidouillage, un lien symbolique de /dev/ttyACM0 avec /dev/ttyACM00
au cas ou tu pourras supprimer ce lien
A+
JB1
#8

Bonjour,
intéressant, je regarderais cela aussi.
finalement le problème n'était pas logiciel mais bien matériel, j'utilise des modules d'alim qui a priori ne supporte pas les transitoires un peu raides et l'autre système au démarrage à un courant d'appel important ce qui fait chuter la tension d'alim 3v3 suffisamment pour provoquer une déconnexion du M8N.
La solution a été d'utiliser une alim séparée et maintenant cela fonctionne sans problème.

Donc c'est résolu en ce qui me concerne!!! :lol:

Merci pour ton aide JB1!
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)